1. 2 3 los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos...

22
Metodología de la programación L.I. Gustavo Soriano Jiménez 1

Upload: maria-del-rosario-robles-cardenas

Post on 24-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

1

Metodología de la

programación

L.I. Gustavo Soriano Jiménez

Page 2: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

2

Sesión 4Objetivos: 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.

Page 3: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

3

Proceso de información

Page 4: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

4

Problemas y algoritmosLos 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.

Page 5: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

5

Etapas para solucionar un problema

Page 6: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

6

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.

Page 7: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

7

Secciones o módulosEl algoritmo consta de tres

secciones o módulos principales.

Page 8: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

8

Algoritmo, pseudocódig

o y diagrama de

flujo

Page 9: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

9

AlgoritmoEs 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.

Page 10: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

10

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.

Page 11: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

11

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.

Page 12: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

12

Diagramas de flujoLos 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.

Page 13: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

13

PseudocódigoEl 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.

Page 14: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

14

PseudocódigoEl 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.

Page 15: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

15

Tipos de datos

Page 16: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

16

IntroducciónAntes 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.

Page 17: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

17

Datos simplesLos 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.

Page 18: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

18

Estructura de un

algoritmo

Page 19: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

19

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

Page 20: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

20

EjemploPrograma que calcula el área de un cuadrado.Programa: area_cuadrado

Modulo: main (se puede llamar principal)Inicio Variables:    lado: real    area: real    Escribir "Introduce el lado del cuadrado"    Leer lado    area lado * lado    Escribir "El área del cuadrado es: ", areaFin

Page 21: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

21

Ejercicios

1) Leer un número y determinar si es positivo, negativo o neutro.

2) Leer dos número y determinar cuál es el mayor, en caso de que sean iguales, que lo indique.

3) Programa que calcule el volumen de un cilindro (V = * r2 * h).

Page 22: 1. 2 3 Los humanos efectuamos cotidianamente series de pasos, procedimientos o acciones que nos permiten alcanzar algún resultado o resolver algún problema

22

Tarea…

Investigue los siguientes conceptos:

Identificador.Variable.Constante.