ALGORITMOS Lic. Carla Aguirre Montalvo Programación Estructurada Primitivas de delimitación de Acción La mayoría de las primitivas tienen un rango de acción. Necesitamos indicar donde comienza y donde termina la acción de una primitiva. Ejemplo : Algoritmo para lavarse las manos inicio 1.2.3.4.5.6.- Fin Activar el agua Mojarse las manos Aplicar jabón Enjuagarse las manos Desactivar el agua Secarse las manos Programación Estructurada Primitivas de Entrada y Salida de Datos Los algoritmos para solucionar un problema necesitaran datos, y de la misma manera necesitaran entregar resultados. Esto nos lleva a la necesidad de utilizar algún medio para poder comunicarnos con el algoritmo. Leer (variable1, variable2,...) algoritmo Imprimir(variable1, variable2,...) Programación Estructurada Instrucciones de Asignación Ejemplo 1 A = 80 La variable A toma el valor de 80 Ejemplo 2 A = 12 B =A C =B Antes de la ejecución de las tres instrucciones, el valor de A, B y C es indeterminado. Si se desea darles un valor inicial habrá que hacerlo explícitamente. A =0 B =0 C =0 Ejemplo3 A = 10 B = 20 AUX = A A =B B = AUX A toma el valor 10; B toma el valor 20; AUX toma el valor de A, o sea, 10; A toma el valor de B, o sea, 20; B toma el valor de AUX, o sea, 10. Programación Estructurada Instrucciones de Lectura de Datos Leer (numero, horas, tasa) Lea del teclado los valores de las variables NUMERO, HORAS y TASA almacenándolas en la memoria. Si los tres números que se digitan en respuesta a la instrucción son 12325, 32, 1200, significaría que se han asignado a las variables esos valores y equivaldría a la ejecución de las instrucciones : Numero = 12325 horas = 32 tasa = 1200 La sintaxis de estas primitivas es un poco más compleja…ya se darán cuenta Problema N°1 Estructuras Secuenciales DEFINICION DEL PROBLEMA. Construir un algoritmo que permita sumar dos números. ANALISIS DEL PROBLEMA. ¿Cuál es la información que debemos dar como salida? ¿Qué datos se necesitan para resolver el problema? Entrada ¿Qué información necesitamos que nos proporcione el usuario para poder obtener una solución al problema? Proceso Salida ¿Qué información debe proporcionar la resolución del problema? Problema N°1 Estructuras Secuenciales DEFINICION DEL PROBLEMA. Construir un algoritmo que permita sumar dos números. ANALISIS DEL PROBLEMA. ¿ Qué es sumar? ¿ Generalizando? 4 + 3 = 7 3 + (-4) = -1 A=4 A=3 B=3 B = -4 C=7 C = -1 A+B=C ¿ Esto significa que? Debo obtener dos números cual quiera, luego sumarlos para obtener el resultado Problema N°1 Estructuras Secuenciales ANALISIS DEL PROBLEMA. Entrada Variables: A B Proceso Sumar: C =A+ B ¿Existen variables de proceso?: No. Salida Variable: C Identificadores Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido.. Un identificador es un nombre simbólico que se refiere a un dato o programa determinado. Es muy fácil elegir identificadores cuyo nombre guarde estrecha relación con el sentido físico, matemático o real del dato que representan Identificadores Ejemplo, es lógico utilizar un identificador llamado salario_bruto o salarioBruto para representar el coste anual de un empleado. El usuario no tiene nunca que preocuparse de direcciones físicas de memoria: el sistema se preocupa por él por medio de una tabla, en la que se relaciona cada identificador con el tipo de dato que representa y la posición de memoria en la que está almacenado. A B C Identificadores Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco. Puede tener una longitud hasta 255 caracteres No se admiten espacios o caracteres en blanco, ni puntos (.), ni otros caracteres especiales. Los caracteres pueden ser letras, dígitos, el carácter de subrayado (_) y los caracteres de declaración del tipo de la variable (%, &, #, !, @, y $ ). Identificadores El nombre de una variable no puede ser una palabra reservada del lenguaje (For, If, Loop, Next, Val, Hide, Caption, And, ...). Para saber cuáles son las palabras reservadas en un lenguaje puede utilizarse el Help del lenguaje de programación, buscando la referencia Reserved Words La declaración de una variable o la primera vez que se utiliza determnan cómo se escribe en el resto del programa. Por tanto, las variables LongitudTotal y longitudtotal son consideradas como idénticas. Variable Una variable es un nombre que designa a una zona de memoria (se trata por tanto de un identificador), que contiene un valor de un tipo de información. Tal y como su nombre indica, las variables pueden cambiar su valor a lo largo de la ejecución de un programa. . Las variables son valores expresados en letras que van variando en la estructura de un algoritmo por ejemplo tenemos como variables a: A=5 significa que la variable A vale 5 XYZ=1 significa que la variable XYZ tiene un valor en un algoritmo = 1 C=”hola” significa que la variable C tiene el valor de una palabra que es “hola” Constante Una constante es un valor continuo en la estructura de un programa que no tiende a cambiar como una variable sino es fijo como por ejemplo: Completando a las variables existe lo que se denomina constantes las cuales son identificadores pero con la particularidad de que el valor que se encuentra en ese lugar de la memoria sólo puede ser asignado una única vez. PI = 3.14163 E = 2.718282 Operadores Los operadores son símbolos que utilizamos para realizar operaciones y comparaciones. Tipos de operadores: Operadores aritméticos Operadores relacionales Operadores lógicos Operadores II Operadores aritméticos + * / ^ mod \ o div suma resta multiplica divide potencia o exponenciación Residuo División entera Representación Operando (operador) Operando Valor Entero o real Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. Operadores III Lista de operadores relacionales: = > >= < <= <> igual que mayor que mayor o igual que menor que menor o igual que diferente que Operadores IV Lista de operadores logicos: AND OR NOT significa y (and) significa o (or) significa negacion no (not) Representación Expresión (operador) Expresión Relacional Relacional Falso o Verdadero Los operadores Lógicos están compuestos por expresiones relacionales, para obtener un resultado de Falso o Verdadero. Jerarquía de Operadores Las expresiones tienden a tener una regla de prioridad, ya que puede haber confusión por cual operación el computador debe comenzar es por eso que a continuación se describen éstas reglas: a) Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen diferentes paréntesis anidados(interiores unos a otros), las expresiones más internas se evalúan primero. b) Las operaciones aritméticas dentro de una expresión pueden seguir el siguiente orden de prioridad. · Operador exponencial · Operador de *, / · Operadores +, · Operadores div, mod En caso de coincidir varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de prioridad en éste caso es de izquierda a derecha. Jerarquía de Operadores (Ejercicios) . 7 * - 15 10 mod 35 15 mod 12 3 * 4 + 9 + 9 mod 13 21