Algoritmos I Lenguaje de Programación Ingº JORGE AUGUSTO MARTEL TORRES Ingenierías
CONTENIDO Introducción Herramientas de Resolución DF, D-NS, Pseudocódigo UNTELS Jorge Augusto Martel Torres 2
ALGORITMO Conjunto de Instrucciones que especifican la secuencia de operaciones a realizar, pero en orden lógico para resolver una clase de problema (o sistema específico). Es un método, fórmula para resolver un problema Son más importantes que los LP o las PC CARACTERISTICAS Preciso.- Tiene orden de realización de cada paso. Definido.- Debe obtener resultados Finito.- Debe tener un número finito de pasos, se debe terminar en algún momento PARTES Entrada Proceso Salida UNTELS Jorge Augusto Martel Torres 3
LENGUAJE DE PROGRAMACION Es el conjunto limitado de palabras y de símbolos que representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar con un ordenador Es el conjunto de reglas conocidas por sintaxis, palabras y símbolos o instrucciones que se usa en la computadora por el LP Es un medio para expresar un algoritmo TIPOS DE LP Lenguaje Máquina. 00010001 11011112 Lenguaje de Bajo Nivel. Add, Mov, Lenguaje de Alto Nivel. { }, cin, cout, ; UNTELS Jorge Augusto Martel Torres 4
RESOLUCION DE PROBLEMAS CON LA PC?
FASES Análisis del Problema Diseño o desarrollo del Algoritmo Resolución del Algoritmo con la PC UNTELS Jorge Augusto Martel Torres 6
HERRAMIENTAS DE RESOLUCION DE ALGORITMOS
Herramientas de RESOLUCION DE ALGORITMOS Sirven para representar un algoritmo. Sirve de método que permita independizar el algoritmo del lenguaje de programación elegido. La utilización de una herramienta permite que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje de programación. NO falso NO Acciones por o Verdad Acciones por No o Falsedad DOBLE V F SELECCION DOBLE si Acciones Si la condición es verdad si_no Acciones Si la condición es Falso fin_si verdad UNTELS Jorge Augusto Martel Torres 8
Los más más usados Diagrama de Flujo Diagrama N-S Lenguaje de especificación de algoritmos (pseudocódigo) Fórmulas NO Acciones por o Verdad Acciones por No o Falsedad V F SELECCION DOBLE si Acciones Si la condición es verdad si_no Acciones Si la condición es Falso fin_si NO falso DOBLE verdad UNTELS Jorge Augusto Martel Torres 9
DIAGRAMA DE FLUJO DE DATOS INICIO FIN INGRESO POR EL TECLADO INICIO / FIN DEL ALGORITMO ENTRADA DE DATOS A TRAVES DEL TECLADO, CUALQUIER TIPO DE OPERACION QUE PUEDA ORIGINAR CAMBIO DE VALOR ENTRADA/ SALIDA ENTRADA / SALIDA DE DATOS USANDO CUALQUIER TIPO DE PERIFERICO (*) SALIDA POR PANTALLA SALIDA POR IMPRESORA SALIDA DE RESULTADOS POR PANTALLA O IMPRESORA UNTELS Jorge Augusto Martel Torres 10
DIAGRAMA DE FLUJO DE DATOS LINEA DE FLUJO DE DATOS, INDICA EL SENTIDO DE EJECUCION DE LAS OPERACIONES LLAMADA A SUBRUTINA (void FUNCION) O PREDETERMINADO CONECTOR DOS PARTES CUALESQUIERA DEL DF UTILIZANDO LINEAS DE FLUJO DE DATOS. SOLO SE USA EN LA MISMA PAGINA CONECTOR DE PAGINA, CONECTA DOS PUNTOS DEL DF. SE USO EN PAGINAS DIFERENTES DECIÓN, INDICA OPERACIONES LOGICAS DE COMPARACION ENTRE DATOS, DEPENDIENDO DEL RESULTADOS DETERMINA EL CAMINOS QUE PUEDE TOMAR EL FLUJO DE DATO UNTELS Jorge Augusto Martel Torres 11
INICIO DIAGRAMA DE FLUJO MPLE DOBLE NO MIENTRAS NO SALIDA POR PANTALLA NO verdad falso verdad REPETIR FIN SELECTOR DE CASOS INICIO ( variable ) NO INGRESO POR EL TECLADO SALIDA POR PANTALLA Caso 1 ACCIONES S1 Caso 2 Defecto ACCIONES S2 ACCIONES OTROS DESDE PARA VI, VF, INCR Si NO UNTELS Jorge Augusto Martel Torres 12 FIN
DIAGRAMA NAS-SCHNEIDERMAN (D-NS) Nombre del Algoritmo; Inicio Acción 1; Acción 2; Acción 1;... Acción n; Fin. Acciones por o Verdad MIENTRAS Acciones que se ejecutaran si la CONDICION es VERDAD Acciones por o Verdad NO Acciones por No o Falsedad Acciones que se ejecutaran mientras QUE explogica es VERDAD MIENTRAS ; ACCIONES S1 ACCIONES S2 N = 1 2 3 OTRO ACCIONES S3 ACCIONES OTROS PARA Var = VI ; ; INCREMENTO FIN_PARA Acciones que se ejecutaran mientras QUE explogica sea VERDAD UNTELS Jorge Augusto Martel Torres 13
PSEUDOCODIGO V V F SELECCION MPLE si fin_si Acciones Solo Si la condición es Verdad SELECCION DOBLE si Acciones Si la condición es verdad si_no Acciones Si fin_si la condición es Falso SELECTOR DE CASOS selector ( variable ) CASO (n1) V Acciones CASO (n2) Acciones CASO (n3) Acciones fin_seleccionar V V MIENTRAS mientras Acciones Solo Si la condición es Verdad fin_mientras HACER PARA /DESDE/ HASTA hacer Acciones Solo Si la condición es Verdad mientras ; para ( Vari; Vini ; ; Incre ) Acciones Que Solo Si la Vari >= Incre fin ( Condición ) UNTELS Jorge Augusto Martel Torres Regresar 14
ESTRUCTURA DEL ALGORITMO // NombreAlgoritmo: // Autor: Martel Torres, Jorge Augusto // Ciclo: 3 // Grupo: a, b, c // Declaración de Variables Globales CABECERA DEL ALGORITMO // Declaración de Constantes Funcion_Principal_Inicio() // Declaración de Variables Locales TipoVariable NombreVariable; Bloque de instrucciones y/u operaciones CUERPO PRINCIPAL DEL ALGORITMO Fin UNTELS Jorge Augusto Martel Torres 15
PSEUDOCODIGO //, Indica Línea de Comentario /*, Indica Inicio de Bloque de Comentario */, Indica Fin de Bloque de Comentario Incio, Indica Principio del algoritmo Fin, Indica Terminación del Algoritmo LimpiarPantalla(), Indica Limpiar la Pantalla ;, Indica separador de Instrucciones o de operaciones csalida, Permite la SALIDA o Impresión de datos por el Monitor centrada, Permite la ENTRADA o Captura de datos desde el teclado ObtenerCaracter(). Permite obtener carácter desde el teclado. IrHastaXY(X, Y). Permite colocar el cursor en una determinada coordenada de la pantalla (X = Columna, Y = Fila) UNTELS Jorge Augusto Martel Torres 16
csalida cout << csalida, Permite la SALIDA o Impresión de datos por el Monitor Formatos: csalida << Palabras ; csalida << NombreVariable ; csalida << Palabras << NombreVariable ; csalida << Palabras << NombreVariable << Palabras ; csalida << Palabras << NombreVariable1 << NombreVariable2 ; csalida << NombreVariable1 << NombreVariable2 ; UNTELS Jorge Augusto Martel Torres 17
centrada cin >> centrada, Permite la ENTRADA o Captura de datos desde el teclado Formatos: centrada >> NombreVariable ; centrada >> NombreVariable1 >> NombreVariable2 ; UNTELS Jorge Augusto Martel Torres Regresar 18
CONTADORES Y ACUMULADORES CONTADORES, Es una variable cuyo valor se incrementa o decremento en una cantidad constante en cada iteración. Puede ser positivo o negativo Ejemplo: a = a + 1; b = a - 2; d = a + 3; e = a - 4; UNTELS Jorge Augusto Martel Torres Regresar 19
ACUMULADORES, Un acumulador o totalizador es una variable cuya misión es almacenar cantidades variables resultantes de sumas sucesivas. Realiza la misma función que un contador, con la diferencia de que el incremento o decremento de cada suma es variable en lugar de contante, como en el caso del contador. Ejemplo: X = 4 ; a = 3 ; a = a + 2 X = X + a; UNTELS Jorge Augusto Martel Torres 20