INTRODUCCIÓN A LA PROGRAMACIÓN

51
INTRODUCCIÓN A LA PROGRAMACIÓN

description

INTRODUCCIÓN A LA PROGRAMACIÓN. CONCEPTOS BÁSICOS EN LA SOLUCIÓN DE PROBLEMAS. Elaboración de un algoritmo. obtener una solución aceptable al problema propuesto. AL-KHOWÂRIZMÎ Y EUCLIDES –EL GRAN MATEMÁTICO GRIEGO DEL SIGLO IV ANTES DE CRISTO. - PowerPoint PPT Presentation

Transcript of INTRODUCCIÓN A LA PROGRAMACIÓN

Diapositiva 1

INTRODUCCIN A LA PROGRAMACIN

CONCEPTOS BSICOS EN LA SOLUCIN DE PROBLEMASobtener una solucin aceptable al problema propuestoElaboracin de un algoritmoMOHAMMED AL-KHOWRIZM, MATEMTICO PERSA QUE VIVI EN EL SIGLO IXAL-KHOWRIZM Y EUCLIDES EL GRAN MATEMTICO GRIEGO DEL SIGLO IV ANTES DE CRISTOFORMAS DE ESCRIBIR UN ALGORITMOPalabras clave, que usan reglas muy sencillas que describen el algoritmoRepresentacin grfica de un algoritmoFcil hacer cambios si nos equivocamos en la lgica del programa.

Es independiente del lenguaje de programacin que vaya a usarse.

Fcilmente traducible a muchos lenguajes de programacin.

VentajasTIPOS DE ALGORITMOALGORITMOSacar la bombilla vieja.1.1 SI la bombilla est encendida, apagarla1.2 Colocar una escalera 1.3 Subir por la escalera 1.4 Subir un escaln1.5 Si se alcanza la bombilla, fin; y saltar al punto 1.7 1.6 caso contrario repetir el paso anterior 1.4 1.7 Desenroscar la bombilla vieja 2. Colocar la nueva bombilla 2.1 Enroscar la bombilla nueva 2.2 Bajar la escalera 2.3 retirar la escalera 3. Encender la bombillaEJEMPLO DE UN ANALISIS DE ALGORITMO CUALITATIVOEJEMPLO DE UN ANALISIS DE ALGORITMO CUANTITATIVO{ algoritmo para la conversin de kilos a libras }var Peso_libras, peso_kilos: real;InicioLeer (peso_kilos);Peso_libras (2.2) * peso_kilos;Escribir (Peso_libras);Fin;Libras = (cantidad de kilos) x 2.2

EJEMPLO.

Suponga que un familiar suyo estuvo de viaje, visit Japn, y le trajo de presente un robot, que solamente atiende dos tipos de ordenes:avanzar X centmetros, girar X grados.Una secuencia de ellas es posible drselas al robot, para que recorra un camino determinado. Si queremos indicarle al robot (la carita feliz de color turquesa) se desplace hasta donde est el objetivo debemos de algn modo decirle lo que debe hacer, si suponemos que cada rectngulo de la cuadricula tiene diez centmetros de lado, las ordenes le daramos a nuestro alegre amigo para alcanzar el objetivo podran ser algo como:

1 avanzar 70cm.2 girar 90 grados a la izquierda.3 avanzar 250cm.4 girar 90 grados a la izquierda.5 avanzar 80 cm.

TIPOS DE DATOSUn dato es la expresin general que describe los objetos con los cuales opera un computadorSimples (sin estructura) y compuestos (estructurados).

TIPOS DE DATOS NUMERICOS

El tipo de dato caracter representa un conjunto finito de caracteres que la computadora reconoce gracias a que cada elemento del conjunto tiene una equivalencia en cdigo ASCII desde el 0 hasta el 255.(American Standard Code for Information Interchange) es un cdigo internacional de 8 bits que permite que el computador interprete letras, dgitos, signos de puntuacin u otros smbolos que se le proporcionen. Puede definir hasta 256 smbolos.Los dgitos del 0 al 9Los caracteres alfabticos de la a-A a la z-Z.Gran variedad de caracteres especiales como +, * , /, $, @, &.TIPOS DE DATO CARACTERLa cadena de caracteres o String, es una sucesin ordenada de datos de tipo de caracter delimitados por una comilla simple o apstrofe tanto al inicio como al final de la sucesin.

Para conocer cual es la longitud de una cadena de caracteres, basta con contar el nmero de caracteres existentes entre los limitadores.

Algunos ejemplos de cadenas de caracteres son: Hola Mundo, 09558348, 17 de agosto de 1973.El tipo de dato lgico, tambin conocido como tipo de dato booleano representa el conjunto formado por dos posibles valores: Verdadero o Falso.

El tipo de dato lgico es muy til cuando se evalan condiciones dentro de un algoritmo o dentro de un programa.Por proceder de la lgica booleana o aristotlica. TIPOS DE DATOS LOGICO(3>2)= 1 = verdadero

(7>9)= 0 = falsoEl tipo de dato apuntador consiste en una representacin abstracta de lo que se conoce como direcciones de memoria de un computador.

Es importante sealar que no es realmente una direccin fsica de memoria, sino que al contrario simplemente seala o apunta hacia una direccin en la memoria del computador.

El tipo de dato apuntador es muy til en la creacin y procesamiento con estructuras de datos de tipo dinmico.

Se le denomina as a las estructuras de datos que van asignndose memoria de manera automtica conforme lo necesitan en el transcurso de la ejecucin de un programa.TIPOS DE DATOS APUNTADORpx = &x; //Al apuntador px se le asign la direccin de la variable xpc = &c; //Al apuntador pc se le asign la direccin de la variable cVariable es un objeto cuyo valor puede o no cambiar durante el desarrollo de un algoritmo, o ejecucin de un programa.

Toda variable declarada en un programa de computador ocupar para sus posibles valores una porcin de memoria que deber ser asignada de manera explcita el momento de su definicin.

Luego de realizada la asignacin de memoria el programador puede estar seguro de que ninguna otra variable ocupar el mismo, ya sea que pertenezca o no al mismo programa.VARIABLEToda variable utilizada en un algoritmo o en un programa de computacin se compone de tres partes esenciales:

Nombre

Tipo

Valor COMPONENTES DE UNA VARIABLEEl nombre de una variable, tambin conocido como identificador, es el conjunto de caracteres permitidos, letras y nmeros, con los cuales se denomina a una variable dentro de un algoritmo o de un programa.

debe cumplir con las siguientes reglas:

Debe comenzar con una letra

Puede contener letras, nmeros o el caracter subrayado ( _ )

No debe coincidir con el nombre de alguna palabra clave del lenguaje de programacin utilizado.

La mxima longitud de un nombre depende del compilador[1] que utilice la herramienta de programacin que est siendo utilizada, por ejemplo en algunas versiones de PASCAL el lmite es de 80 caracteres, en C no tiene un nmero mximo sin embargo solo son significativos para ciertas versiones de compiladores los primeros 31 caracteres, etc.

Es preferible utilizar nombres ms descriptivos, con el fin de que el lector del programa o del pseudocdigo identifique claramente el propsito de una variable.

NOMBRE DE UNA VARIABLENombres correctos de variables son:

contador,prueba23, BALANCE_TOTAL, num2, cosas_del_tiempo.

nombres incorrectos de variables son:

1contador, Prueba23$, BALANCE...TOTAL, personal de escuela, 234, J/85.EJEMPLOS DE VARIABLEEl tipo de una variable permite describir el uso que se le dar a la misma dentro de un algoritmo o de un programa.

Dependiendo del lenguaje de programacin en el cual se implementar el algoritmo, existen diferentes tipos de variables tales como enteras, flotantes o reales, de caracter, lgicas o booleanas, de cadena.

Es importante anotar que tanto en los lenguajes de programacin como en el pseudocdigo se deben considerar las siguientes reglas sobre el tipo de una variable:

Si se intenta asignar un valor de un tipo a una variable de otro tipo se producir un error de tipo.

Cuando las variables son utilizadas en expresiones deben ser todas del mismo tipo[1]

A manera de ayuda en el cumplimiento de esta regla se pueden combinar variables de distintos tipos siempre y cuando se incluya una operacin de casting o conversin entre tipos. Esta operacin se tratar con detalle ms adelante.EL TIPO DE UNA VARIABLEEl valor de una variable es el contenido que tiene asociado en un determinado momento de la ejecucin de un programa o desarrollo de un algoritmo.El valor de una variable depende del tipo de la misma, as por ejemplo una variable de un tipo entero podr almacenar solo valores enteros mientras que una variable de tipo booleano podr almacenar los valores VERDADERO o FALSO.

EL VALOR DE UNA VARIABLELas variables se suelen declarar al principio del programa, y esta ser la norma que vamos a usar; toda variable utilizada, debe haber sido previamente declarada. Para ello, escribiremos algo como esto: i,j,k; ENTERO; x,y,z: REAL; a,b,c: CARACTER;Esto querr decir que las variables i, j, k sern enteras (con signo), que las variables x, y, z sern reales (con signo) y que las variables a, b, c sern caracteres.

Al escribir la declaracin de variables de esta forma, si alguna se nos ha olvidado, es muy fcil incluirla.

DECLARACIONES DE VARIABLESUna variable, en el momento que la declaramos, est vaca, hueca, sin vida, sentido ni VALOR. Y hasta que dicha variable no tenga valor, lo mejor ser no hacer cosas con ella. Entonces, aqu viene la pregunta: y cmo asigno en mi variable un 7? Puedo asignar un 23? Para poder asignar cosas en las variables, lo que hacemos es asignarles un valor, es decir, "Pepe es una variable de tipo entero. Si a Pepe le asigno 14, a partir de ahora, poner Pepe es tanto como poner 14".

Para ello, nosotros vamos a usar un smbolo, una flechita hacia la izquierda. Cuando queramos hacer asignaciones, haremos esto: COMO PONGO VALORES A LAS VARIABLES Pepe 14 (asignamos un entero)

Carolina -9.65 (asignamos un real)

Juan 'a' (asignamos un caracter)Se denomina constante a todo valor que no debe cambiar durante el desarrollo de un algoritmo o durante la ejecucin de un programa.Al igual que las variables, las constantes tambin poseen una estructura, la misma que est compuesta por un identificador (nombre de la constante) y un valor (contenido de la constante). En lo que se refiere al tipo de dato que maneja una constante se debe decir que es implcito y tiene correspondencia directa con el valor que se le asigna el momento de la declaracin.Respecto a las reglas que se aplican a los identificadores de las variables, tienen la misma validez para el caso de las constantes.CONSTANTEUna expresin aritmtica es una agrupacin vlida de operandos (variables y/o constantes) que se encuentran relacionados entre s por medio de operadores aritmticos.

Cada operador aritmtico tiene correspondencia directa con una operacin aritmtica, as por ejemplo operadores de suma, resta, exponenciacin.

Las variables y constantes que constituyen los operandos de una expresin, deben ser del mismo tipo de dato, o por lo menos de tipos de datos compatibles entre los cuales puede haber una conversin de tipos.El valor que toma una expresin se suele denominar resultado de la expresin y su tipo de dato depende del tipo que tengan los operandos.A continuacin se listan los operadores aritmticos disponibles as como los tipos de datos de sus operandos resultado.Tambin llamada casting, es la conversin de enteros a reales y de reales a enteros, esta operacin depende de la versin del compilador con el que se trabaje.EXPRESIONES ARITMTICASOperador Operacin Tipos de Operandos Tipo de Resultado^,* *Exponenciacin Entero o Real Entero o Real +Suma Entero o RealEntero o Real-Resta Entero o RealEntero o Real*Multiplicacin Entero o RealEntero o Real/Divisin Real Real Div Divisin entera Entero Entero Mod Mdulo (resto o residuo de la divisin)Entero Entero

Si la expresin aritmtica contiene ms de un operador, el computador debe identificar que operacin debe realizar primero. Las reglas que permiten realizar esta identificacin se denominan reglas de precedencia y son las siguientes:Las operaciones que estn encerradas entre parntesis se evaluarn primero. Si existen parntesis anidados estos se resolvern de adentro hacia fuera.

Ante la ausencia de parntesis el orden en el que debern ejecutarse las operaciones es el siguiente:

Exponenciaciones Multiplicaciones y Divisiones, Divisiones enteras (div) y Resto (mod)Sumas y Restas

Si existen operadores con la misma prioridad, estos deben evaluarse de izquierda a derechaPRECEDENCIA DE OPERADORES3 + 6 * 14Primero se ejecuta la multiplicacin entre 6 y 14, obtenindose la expresin 3 + 84 que se suman resultando 87.

4 * 7 + 2 ^ 3 / 4 5 + 2Primero se efecta la exponenciacin entre 2 y 3, obtenindose la expresin: 4 * 7 + 8 / 4 5 + 2.Luego se realiza la multiplicacin entre 4 y 7, obtenindose la expresin: 28 + 8 / 4 5 + 2Luego se realiza la divisin entre 8 y 4, obtenindose la expresin: 28 + 2 5 + 2Luego se efecta la suma entre 28 y 2, obtenindose la expresin: -26 5 + 2Luego se realiza la resta entre 26 y -5, obtenindose la expresin: 31 + 2Finalmente se realiza la suma entre 31 y 2, obtenindose 29 EJEMPLO DE EXPRESIONES ARITMTICAS Y SU EVALUACIONUna expresin relacional es una agrupacin vlida de variables lgicas y/o constantes lgicas que se encuentran relacionados entre si por medio de operadores lgicos y operadores relacionales. Una expresin lgica siempre ser evaluada a Verdadera o Falsa.EXPRESIONES RELACIONALES (LGICAS O BOOLEANAS) OPERADOR LGICOOPERADOR LGICO OPERADOR LGICOnot, Negacin not, ppAnd, ^Conjuncin (interaccin) p and q, p^qo, vDisyuncin (unin)p or q, p v qOPERADORES LGICOS

Los operadores lgicos bsicos se resumen en el siguiente cuadro:

Las definiciones de las operaciones lgicas y sus respectivos operadores se resumen en una tabla de valores denominadas tablas de verdad.Operador Relacional Significado Operador de Complemento >Mayor que =Mayor o igual que 0) and (3=3)Primero se evala la expresin 1 > 0, obtenindose la expresin Verdadero and (3=3)Luego se evala la expresin 3=3, obtenindose la expresin Verdadero and Verdadero

Finalmente se evala la expresin Verdadero and Verdadero, obtenindose como resultado Verdadero.OPERADORES RELACIONALESSon estructuras a travs de las cuales se le asigna un valor (constante o variable) o el resultado de una operacin (expresin) a una variable. En pseudocdigo la asignacin se suele representar con el smbolo u operador . La operacin de asignacin dentro de los lenguajes de programacin es conocida como instruccin o sentencia de asignacin.Las estructuras o enunciados de asignacin son de gran utilidad cuando se desea definir el valor que tomar una constante o cuando deseamos establecer el valor de una variable.La estructura de asignacin tiene el siguiente formato:Variable de destino expresin Esto significa que a la variable se le puede asignar valores provenientes de la evaluacin de una expresin.ESTRUCTURA DE ASIGNACINdias_semana 7

respuesta temp_fahrenheit

kilos 2.2* libras

temp_fahrenheit (9/5) * temp_celcius + 32

Como se observa, la expresin puede tener solo nmeros (expresiones matemticas) , o solo variables, o una combinacin de todo.EJEMPLOSe trata de una asignacin aritmtica cuando la variable de destino de la parte izquierda de la estructura es de tipo numrico y se cumple con una de las siguientes tres condiciones:

La expresin de la parte derecha de la asignacin tiene un resultado de tipo numrico.

La variable origen de la parte derecha de la asignacin es tipo numrico.

La constante de la parte derecha de la asignacin es de tipo numrico.ASIGNACIN ARITMTICASe trata de una asignacin lgica cuando la variable de destino de la parte izquierda de la estructura es de tipo lgico y se cumple con una de las siguientes tres condiciones:

La expresin de la parte derecha de la asignacin tiene un resultado de tipo lgico.

La variable origen de la parte derecha de la asignacin es de tipo lgica.

La constante de la parte derecha de la asignacin es de tipo lgica.ASIGNACIN LGICASe trata de una asignacin de caracteres cuando la variable de destino de la parte izquierda de la estructura es de tipo caracter y se cumple con una de las siguientes tres condiciones:

La expresin de la parte derecha de la asignacin tiene un resultado de tipo caracter.

La variable origen de la parte derecha de la asignacin es de tipo carcter.

La constante de la parte derecha de la asignacin es de tipo caracter.ASIGNACIN DE CARACTERLos operadores que se utilizan para efectuar operaciones de tipo complejo tales como: raz cuadrada, valor absoluto, redondeo, etc., se denominan funciones internas, estndar o incorporadas y pueden recibir como argumentos expresiones, variables o constantes de tipo real o entero.

Se denomina argumento al valor que se le pasa a una funcin con el fin de que dicha funcin pueda cumplir con su objetivo.FUNCIONES INTERNAS, INCORPORADAS O ESTNDARFUNCIONDESCRIPCINTIPO DE DATO DEL ARGUMENTO (X)TIPO DE DATO DEL RESULTADOabs (x)Valor absoluto de xEntero o real Entero o realarctan (x)Arco tangente de xEntero o realReal cos (x)Coseno de xEntero o realRealexp (x)Exponencial de xEntero o realRealln (x)Logaritmo natural de xEntero o realReallog (x)Logaritmo en base 10 de xEntero o realRealround (x)Redondeo de xReal Entero sen (x)Seno de xEntero o realRealsqr (x)Cuadrado de xEntero o realRealsqrt (x)Raz cuadrada de xEntero o realRealtan (x)Tangente de x Entero o realRealtochar (x)Convierte x a caracterEntero Caracter trunc (x)Truncar la parte decimal de xReal lEntero EJEMPLORESULTADOabs (-3)3arctan (12.34)85.36703cos (0.7854)0.999906049exp (3.1)22.197913ln (20)2.9957323log (15)1.176091259round (3.75)4sen (0.5236)0.0091384sqr (6.2)38.44sqrt (15.4)3.9242834tan (15)0.267949tochar (66)Btrunc (6.56)6Un programa de computacin es un conjunto de instrucciones que le indica al computador como llevar a cabo una determinada tarea. Sin importar qu lenguaje de programacin se est utilizando, un programa tiene ciertas secciones o partes.Un programa en Pseudocdigo posee las siguientes partes: 2. Seccin de Cabecera o Encabezado, donde se puede colocar un comentario opcional sobre el propsito del algoritmo.3. Seccin Declarativa, donde se declaran las variables y constantes que intervendrn en el algoritmo.

Seccin Ejecutable, donde se expresa la lgica del algoritmo por medio de sentencias que sern ejecutadas de acuerdo a las estructuras de control propias del pseudocdigo.ESTRUCTURA DE UN PROGRAMA PSEUDOCDIGO

43Si un algoritmo utiliza dentro de su desarrollo algunas variables, estas deben ser declaradas antes de poder ser referenciadas.La declaracin de variables en un bloque de pseudocdigo, comienza con la palabra reservada var a continuacin de la cual se coloca la lista de variables a utilizarse en el algoritmo con el siguiente formato: uno o ms identificadores de variables, un espacio en blanco (opcional), el signo de dos puntos (:), el tipo de dato de la variable o variables, un espacio en blanco y el signo de punto y coma (;) que indica el fin de una lnea; as por ejemplo:.DECLARACIN DE VARIABLES EN PSEUDOCDIGOPrograma SUMA;varcontador, numero, sumatoria: Entero;raiz : real;carcter : Char;Para que un algoritmo pueda utilizar una constante dentro de su desarrollo, sta debe ser definida con anterioridad en la seccin de declaraciones del pseudocdigo.La declaracin de constantes en un bloque de pseudocdigo comienza con la palabra reservada const a continuacin de la cual se coloca la lista de constantes a ser referenciadas en el algoritmo con el siguiente formato: el identificador de la constante, un espacio en blanco (opcional), el signo igual (=), un espacio en blanco (opcional), el valor de la constante y el signo de punto y coma (;) que indica el fin de una lnea, as por ejemplo:DECLARACIN DE CONSTANTES EN PSEUDOCDIGOconstdias_semana =7;horas_dia = 24;msg_inicial = Hola Mundo;

Para que un algoritmo pueda utilizar una constante dentro de su desarrollo, sta debe ser definida con anterioridad en la seccin de declaraciones del pseudocdigo.La declaracin de constantes en un bloque de pseudocdigo comienza con la palabra reservada const a continuacin de la cual se coloca la lista de constantes a ser referenciadas en el algoritmo con el siguiente formato: el identificador de la constante, un espacio en blanco (opcional), el signo igual (=), un espacio en blanco (opcional), el valor de la constante y el signo de punto y coma (;) que indica el fin de una lnea, as por ejemplo:DECLARACIN DE VARIABLES EN PSEUDOCDIGOconstdias_semana =7;horas_dia = 24;msg_inicial = Hola Mundo;

En todo lenguaje de programacin es importante contar con alguna regla para poder insertar lneas de comentario dentro del cdigo fuente de un programa.Poner comentarios de lo que vamos haciendo es muy til, sobre todo cuando llega la hora de revisar el algoritmo, si no, ms de una vez nos encontraremos diciendo "uumm... qu cosa haca esto?" No cuesta nada documentar el cdigo y nos ahorrar dolores de cabeza.

Los comentarios permiten aclarar el propsito de la utilizacin de una instruccin determinada, as como tambin pueden servir para aclarar la lgica de solucin que se sigui en la confeccin del programa. Todo esto es importante para hacer que nuestros programas sean ms entendibles y sobre todo para poder dar mantenimiento a un programa sin tener que preocuparse por recordar o no la lgica del mismo.La convencin que seguiremos ser poner los comentarios entre llaves. As, por ejemplo {esto ser un comentario} COMENTARIOS EN PSEUDOCDIGOEn la mayora de las ocasiones, los programas necesitan para su ejecucin, de valores que deben ser proporcionados por el usuario a travs del teclado. Por lo tanto, considerando que un programa tiene su origen en un algoritmo debe existir una estructura en pseudocdigo que permita representar esa introduccin de datos por medio del teclado.

Dicha estructura se denomina estructura de lectura y permite representar el ingreso por teclado de los valores requeridos por el algoritmo, asignndolos inmediatamente a variables de entrada.La estructura de lectura de datos tiene el siguiente formato:Leer (variables de entrada)ESTRUCTURA DE LECTURA DE DATOSVariables de EntradaAlgunos lineamientos para la construccin de estructuras de lectura de datos son:Se puede utilizar una estructura de lectura para representar el ingreso de valores para ms de una variable de entrada, siempre y cuando sean del mismo tipo. De todas maneras se aconseja utilizar una estructura de lectura por cada variable de entrada con el fin de dar mayor claridad al cdigo.Si se va a utilizar una sola estructura de lectura para ms de una variable de entrada, los identificadores de las mismas se separarn por comas.Todas las variables de entrada que sean referenciadas por una estructura de lectura debern hacer sido declaradas con anticipacin.Considerando las siguientes declaraciones:var a, b, c: Entero;x, y : RealInicioLeer (a);Leer (b);Leer (c);Leer (x, y);FinEl objetivo fundamental de un programa, y por ende de un algoritmo, es el de entregar al usuario la solucin a un programa planteado. Dicha solucin en la mayora de los casos est formada por una serie de informacin que debe ser desplegada en la pantalla del computador.De esta manera similar a las operaciones de lectura de datos, las operaciones de salida de resultados tambin poseen una estructura en pseudocdigo que permite representar el despliegue en la pantalla de la informacin que se obtendr en el desarrollo de un algoritmo, dicha estructura se denomina estructura de salida de resultados y tiene el siguiente formato:ESTRUCTURA DE LECTURA DE DATOSEscribir (variables y/o constantes de salida);EscribirySaltar((variables y/o constantes de salida);

Variables y/o Constantes de salidaEl diagrama de flujo de la estructura de salida es:Algunos lineamientos para la construccin de estructuras de salida de resultados son:Se puede utilizar una sola estructura de salida de resultados para desplegar en pantalla los valores de las variables o constantes sin importar el tipo de dato de las mismas.Si se va utilizar ms de una variable y/o constante de salida, los identificadores de las mismas debern separarse por comas.Es muy comn anteponer al valor de salida de una variable una constante formada por una cadena de caracteres que contengan un texto explicativo que permite dar una mayor claridad al momento del despliegue de los resultados en pantalla.

Escribir (temp_Fahrenheit)Escribir (sumatoria)Escribir(viva la vida)Escribir (La suma de los 10 primeros nmeros pares es, suma_pares)Escribir (El factorial del nmero, numero,es, factorial)