390 likes | 725 Views
INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA. Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa. Datos y tipos de datos. Tipos de datos primitivos. Expresiones Expresiones aritméticas. Expresiones relacionales.
E N D
MENU DEL DIA • Fases para el desarrollo de un programa. • Partes de un programa. • Ejecución de un programa. • Anatomía de un programa. • Datos y tipos de datos. • Tipos de datos primitivos. • Expresiones • Expresiones aritméticas. • Expresiones relacionales. • Expresiones lógicas. • Prioridad y asociatividad. • Entrada y salida. • Entrada. • Salida. • Sobre el LEA y el ESCRIBA
FASES PARA EL DESARROLLO DE UN PROGRAMA Problema Computadora mata a Flanders Algoritmo Programa C ???????
FASES PARA EL DESARROLLO DE UN PROGRAMA Paso 1. Definición y análisis del programa • Comprensión del problema (que me piden?) • Análisis del problema. • Establecer una estrategia de solución del problema (entradas, salidas, proceso). Computadora mata a Flanders ???????
FASES PARA EL DESARROLLO DE UN PROGRAMA Paso 2. Diseño del algoritmo • Diagrama de flujo. (FreeDFD: http://wiki.freaks-unidos.net/freedfd/index ) • Pseudocódigo. (PseInt: http://pseint.sourceforge.net/ ).
FASES PARA EL DESARROLLO DE UN PROGRAMA Paso 3. Codificación del programa Recordemos, un programa es un conjunto de instrucciones (dadas a la maquina) que producirán la ejecución de determinada tarea. C
FASES PARA EL DESARROLLO DE UN PROGRAMA Paso 4. Depuración • Probar el funcionamiento del programa bajo condiciones reales para buscar errores y corregirlos. • Hacer mas robusto el programa.
FASES PARA EL DESARROLLO DE UN PROGRAMA Paso 5. Documentación • Explicación breve de los diferentes elementos del programa para facilitar la comprensión de su funcionamiento. http://en.wikipedia.org/wiki/Comparison_of_documentation_generators
FASES PARA EL DESARROLLO DE UN PROGRAMA Paso 6. Mantenimiento • Mejoras. • Corrección de nuevos fallas. • Soporte.
PARTES DE UN PROGRAMA ENTRADA SALIDA INSTRUCCIONES
EJECUCION DE UN PROGRAMA 1 2 3 N 1 2 3 N . . . . . . LINEAL (Ejecución secuencial) NO LINEAL (Interrupción mediante instrucciones de bifurcación).
ANATOMIA DE UN PROGRAMA Algoritmo(sumar) Variables: a, b, c: entero INICIO ESCRIBA(“Introduzca el primer numero (entero)”) LEA(a) ESCRIBA(“Introduzca el segundo numero (entero)”) LEA(b) c a + b ESCRIBA(“La suma es: ”,c) FIN_INICIO Fin(sumar) Declaración de variables Instrucciones Algoritmo(Nombre_algoritmo) Declaracion_de_variables INICIO INSTRUCCIÓN_1 INSTRUCCIÓN_2 INSTRUCCIÓN_3 . . . INSTRUCCIÓN_N FIN_INICIO Fin(Nombre_algoritmo)
ANATOMIA DE UN PROGRAMA Algoritmo(Nombre_algoritmo) Declaracion_de_variables INICIO INSTRUCCIÓN_1 INSTRUCCIÓN_2 INSTRUCCIÓN_3 . . . INSTRUCCIÓN_N FIN_INICIO Fin(Nombre_algoritmo) Operador de asignación (,=) variable variable, constante, expresión b a c f d ñ b 3 c -9.8 d “Nerón Navarrete” b a + 4*g c c + 1 z (x+y)/w + v^3 variable variable variable constante variable expresión
DATOS Y TIPOS DE DATOS Dato Expresión general la cual describe los objetos con los cuales opera la computadoras. NO LINEAL (Interrupción mediante instrucciones de bifurcación). Compuestos Tipo Los distintos tipos de datos se representan en forma diferente en la computadora Simples 10010100111 . . . 1001 Tipo de dato (Abstracción) Representación en la maquina Lenguajes de alto nivel
TIPOS DE DATOS PRIMITIVOS • Numéricos (Enteros, reales). • Lógicos (booleanos). • Alfanuméricos (Carácter, cadenas). Tipos de datos simples Enteros: Representan los números enteros, no poseen parte decimal, ejemplo: 5, 6, -15, -100,1000,… Reales: Representan números reales, poseen parte decimal, ejemplo: 0.08, 3.14, 3.7452, -8.003, 3.0. Alfanuméricos: Conjunto finito y ordenado que el computador reconoce Booleanos: Aquellos que pueden tomar dos posibles valores; falso (false) o verdadero(true).
EXPRESIONES Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales Variables Constantes Operadores Función raíz cuadrada
EXPRESIONES ARITMETICAS Las expresionesaritméticas son análogas a las formulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.
REGLAS DE PRIORIDAD Y ASOCIATIVIDAD • Cuando se tiene una expresión con dos o mas operandos, las operaciones se llevan a cabo siguiendo un orden. Las reglas que dictan que operaciones se hacen primero y que operaciones se hacen de ultimo se conocen como reglas de prioridad o precedencia, y son: • Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen paréntesis anidados (unos dentro de otros), las expresiones mas internas se evalúan primero. • Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad. Cuando coinciden varios operadores de igual prioridad en una expresión, hablamos de asociatividad. La asociatividad dicta el orden en que se ejecutan las operaciones de igual prioridad. D: Derecha I: Izquierda
REGLAS DE PRIORIDAD Y ASOCIATIVIDAD 4/2*3/6 + 6/2/1/5^2/4*2 -4*7 + 2^3/4 - 5 4/2*3/6 + 6/2/1/25/4*2 -4*7 + 8/4 - 5 8*3/6 + 6/2/1/25/4*2 -28 + 8/4 - 5 24/6 + 6/2/1/25/4*2 -28 + 2 - 5 4 + 6/2/1/25/4*2 -26 - 5 4 + 3/1/25/4*2 -31 4 + 3/25/4*2 4 + 0.12/4*2 4 + 0.03*2 4 + 0.06 4.06
EXPRESIONES RELACIONALES Las expresionesrelacionales son operaciones que dan como resultado dos posibles valores, falso (F)o verdadero (V), estaspermiten realizar comparaciones de valores de tipo numérico o carácter. El formato general para este tipo de operaciones es: expresion1 OPERADOR_RELACIONAL expresion2
EXPRESIONES LOGICAS Las expresioneslógicas son operaciones que dan como resultado dos posibles valores, falso (F)o verdadero (V). Los operadores logicos basicos son NOT (no), AND (y) y OR (o).
PRIORIDAD DE LOS OPERADORES LOGICOS Y RELACIONALES Al igual que los operadores aritméticos, los operadores lógicos y relacionales presentan un orden de prioridad, la siguiente tabla resume este orden:
PRIORIDAD Y ASOCIATIVIDAD La siguiente tabla resume la prioridad y asociatividad de todos los tipos de operadores anteriormente vistos
ENTRADA Y SALIDA Las instrucciones de entrada y salida permiten interactuar con el programa. Instrucciones de entrada (LEA) Instrucciones de salida (ESCRIBA)
SALIDA Permite mostrar en pantalla los valores almacenados en variables o valores constantes asociados a mensajes. ESCRIBA(‘cadena1’,…,’cadenaN’,var1,var2,…,varN); Variables Constantes Lo que se encuentra entre comillas sencillas (‘’) es constante, lo que no se encuentra entre comillas es variable. Ejemplo: Supóngase que se tienen las variables enteras: a=3, b = 8 y c = 11. ESCRIBA(‘a + b = ’,a,’ + ’,b,’ = ’,c)
ENTRADA Permite asignar valores a variables desde un dispositivo de entrada como el teclado. LEA(var1,var2,…,varN); Variables Ejemplo: Supóngase que se tiene la variable n y que se usa una instruccion lea para asignarle a esta un nuevo valor, la siguiente figura muestra el funcionamiento de dicha instrucción: LEA(n)
SOBRE EL LEA Y EL ESCRIBA Cuando se invoca la instrucción LEA, el programa se queda esperando hasta que el usuario digite el valor a ingresar y presione la letra entre para continuar. Generalmente antes de una instrucción LEA hay una instrucción ESCRIBA . ESCRIBA(‘Digite el nombre: ’’,c) LEA(nom) ESCRIBA(‘Meta la edad y el sexo (F: Femenino, M: Masculino) LEA(edad, sexo) ESCRIBA(nom,‘ usted tiene ’,edad,‘ años.’)
FUNCIONES INTERNAS Las operaciones que se requieren en los programas exigen en numerosas ocasiones, además de las operaciones aritméticas básicas, un numero determinado de operadores especiales que se llaman funciones internas, incorporadas o internas.
FUNCIONES INTERNAS Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que realice la función.
BIBLIOGRAFIA Titulo: Lógica de Programación. Autor: Efraín M. Oviedo. Editorial: ECOE Ediciones. Fecha de publicación: 11/20/2008 ISBN: 9586483088. OLC: http://ingenieria.udea.edu.co/~eoviedo/ Titulo: Fundamentos de Programación. Autor: Luis Joyanes Aguilar. Editorial: ECOE Ediciones. Fecha de publicación: 27/05/2008 ISBN: 8448161114 OLC: http://www.mhe.es/joyanes