220 likes | 489 Views
Metodología de la programación. L.I. Gustavo Soriano Jiménez. Sesión 4. Objetivos: 1.1 Identificar los elementos básicos del proceso de información (entrada – proceso – salida). 1.2 Reconocer la diferencia entre un algoritmo, pseudocódigo y diagrama de flujo.
E N D
Metodología de la programación L.I. Gustavo Soriano Jiménez
Sesión 4 Objetivos: 1.1 Identificar los elementos básicos del proceso de información (entrada – proceso – salida). 1.2 Reconocer la diferencia entre un algoritmo, pseudocódigo y diagrama de flujo. 1.3 Identificar los diferentes tipos de datos utilizados en la programación, aplicándolos en la resolución de un problema.
Problemas y algoritmos Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema. Estos P-P-A, comenzamos a aplicarlas desde que empieza el día, cuando por ejemplo, decidimos bañarnos. La historia se repite innumerables veces al día. En realidad todo el tiempo estamos aplicando algoritmos para resolver problemas.
Características de los algoritmos Son las siguientes: • Precisión: Los pasos a seguir en el algoritmo se deben precisar claramente. • Determinismo: El algoritmo, dado un conjunto de datos de entrada idéntico, siempre debe arrojar los mismos resultados. • Finitud: El algoritmo, independiente-mente de la complejidad del mismo, siempre debe tener longitud finita.
Secciones o módulos El algoritmo consta de tres secciones o módulos principales.
Algoritmo Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.
Medios de expresión de un algoritmo Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
Descripción en tres niveles La descripción de un algoritmo usualmente se hace en tres niveles: • Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. • Descripción formal. Se usa pseudocódigo o diagrama de flujo para describir la secuencia de pasos que encuentran la solución. • Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
Diagramas de flujo Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
Pseudocódigo El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.
Pseudocódigo El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.
Introducción Antes de meternos de lleno en los diferentes tipos de datos, veamos la descripción de dato para que todo quede claro desde el principio. Dato: Elemento que manejamos o almacenamos en un sistema informático. Los datos manejados en un algoritmo deben llevar asociado un identificador, un tipo de dato y su valor.
Datos simples Los datos que procesa una computadora se clasifican en simples y estructurados. La principal característica de los tipos de datos simples es que ocupan sólo una casilla de memoria. Dentro de este grupo de datos se encuentran principalmente los enteros, los reales, los caracteres, las cadenas y los lógicos.
Estructura a seguir (sugerencia) • Programa: nombre_del_programa • Módulo: nombre_del_modulo • Inicio • Tipos de datos: • Constantes: identificador : tipo_de_dato : valor • Variables: identificador : tipo_de_dato • Instrucciones (escribir, leer, asignar) • Fin
Ejemplo Programa que calcula el área de un cuadrado. Programa: area_cuadrado Modulo: main (se puede llamar principal)Inicio Variables: lado: realarea: real Escribir "Introduce el lado del cuadrado" Leer ladoarea lado * lado Escribir "El área del cuadrado es: ", areaFin
Ejercicios • Leer un número y determinar si es positivo, negativo o neutro. • Leer dos número y determinar cuál es el mayor, en caso de que sean iguales, que lo indique. • Programa que calcule el volumen de un cilindro (V = * r2 * h).
Tarea… Investigue los siguientes conceptos: • Identificador. • Variable. • Constante.