Clase Programación 2

July 23, 2017 | Author: gmullerb | Category: Algorithms, Computer Programming, Computer Science, Areas Of Computer Science, Technology
Share Embed Donate


Short Description

Descripción: Clase 2 de Programación, Prof. Gonzalo Müller [email protected], Facultad de Ingenier&a...

Description

Programación

Clase 2. Algoritmos Prof. Gonzalo Müller [email protected]

Facultad de Ingeniería Universidad Central de Venezuela

Clase Anterior

 Pautas de curso.  www.scribd.com/gmullerb

 Definición de Programador.  Fases de la Programación.  Metodología para resolución de un problema:  Definición, Análisis, Diseño del algoritmo, Prueba del Algoritmo e Implementación

 Algoritmo  Definición, Características, Partes. Programación – Prof. Gonzalo Müller – Clase 2 – GM - 2

Representación de un algoritmo

 Existen básicamente tres formas de representar los algoritmos:  Pseudo código.  Diagramas de Flujo.  Diagramas Rectangulares Estructurados.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 3

Representación de un algoritmo

 Pseudo Código (PC): Expresa a través de frases cada uno de los pasos  Casi código.  Exige una adecuada indentación.  Se debe enfocar a la lógica y no hay los detalles de implementación.  Es flexible.  Permite una analogía que facilita la codificación.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 4

Representación de un algoritmo

 Diagramas de Flujo (DF): Constituyen una representación gráfica de la secuencia de pasos a realizar.  La operaciones se escriben con símbolos normalizados.  Las líneas de flujo indica la secuencia de ejecución.  Pueden resultar inadecuados debido a que propicia algoritmos no estructurados (excesivas líneas de flujo).

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 5

Representación de un algoritmo

 Diagramas Rectangulares Estructurados (DRE): Constituyen una representación gráfica de la secuencia de pasos a realizar.  La operaciones se escriben con símbolos normalizados.  También conocidos como: Diagramas de NassiSchneiderman.  Permiten mantener el orden.  Permiten una analogía que facilita la codificación.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 6

Representación de un algoritmo

 Símbolos Básico de un Diagramas de Flujo:  Líneas de Flujo: Establece la dirección de la secuencia de pasos 

Una línea de flujo con la dirección saliendo de un bloque, se conoce como una línea de flujo de salida del bloque.



Una línea de flujo con la dirección entrando en un bloque, se conoce como una línea de flujo de entrada del bloque.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 7

Representación de un algoritmo  Bloque Terminal: Señala el inicio o el fin del algoritmo. Inicio

Fin

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 8

Representación de un algoritmo  Bloque Terminal: Señala el inicio o el fin del algoritmo. Inicio

Nombre

Fin

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 9

Representación de un algoritmo  Bloque Terminal: Señala el inicio o el fin del algoritmo. Nombre El bloque inicio siempre tiene solo una línea y es de salida

El bloque fin siempre tiene solo líneas de entrada

Fin

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 10

Representación de un algoritmo  Bloque Proceso: Se utiliza para indicar un proceso ó operación.



Programación – Prof. Gonzalo Müller – Clase 2 – GM - 11

Representación de un algoritmo  Bloque Proceso: Se utiliza para indicar un proceso ó operación.



El bloque de proceso siempre tiene una línea de salida (puede tener varias de entrada) Programación – Prof. Gonzalo Müller – Clase 2 – GM - 12

Representación de un algoritmo  Bloque Genérico Entrada-Salida: Indica una operación de entrada salida sin especificar un dispositivo especifico para realizar la operación.



Programación – Prof. Gonzalo Müller – Clase 2 – GM - 13

Representación de un algoritmo  Bloque Genérico Entrada-Salida: Indica una operación de entrada salida sin especificar un dispositivo especifico para realizar la operación.



El bloque entrada-salida siempre tiene una línea de salida (puede tener varias de entrada) Programación – Prof. Gonzalo Müller – Clase 2 – GM - 14

Representación de un algoritmo  Bloque de Decisión: Establece la dirección de los subsecuentes pasos en función de una condición dada.



Programación – Prof. Gonzalo Müller – Clase 2 – GM - 15

Representación de un algoritmo  Bloque de Decisión: Establece la dirección de los subsecuentes pasos en función de una condición dada.



Programación – Prof. Gonzalo Müller – Clase 2 – GM - 16

Representación de un algoritmo  Bloque de Decisión: Establece la dirección de los subsecuentes pasos en función de una condición dada.



El bloque de decisión siempre tiene dos de salida (puede tener varias de entrada) Programación – Prof. Gonzalo Müller – Clase 2 – GM - 17

Representación de un algoritmo  Conectores: Establece la conexión entre dos bloques que espacialmente no puede ser conectados. 

Se usan en pares.



Programación – Prof. Gonzalo Müller – Clase 2 – GM - 18

Representación de un algoritmo

 Reglas de construcción de Diagramas de Flujo:  Contiene un único bloque terminal que indica inicio.  Puede contener varios bloques terminal que indican el final.  Debe ser organizado de tal forma que la secuencia sea leída de arriba abajo y de izquierda a derecha.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 19

Representación de un algoritmo  Cada bloque debe tener al menos una línea de flujo de entrada, exceptuando el bloque de inicio.  Cada bloque puede tener a lo sumo una línea de flujo de salida, exceptuando el bloque de decisión.  El bloque de decisión debe tener dos líneas de flujo de salida.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 20

Representación de un algoritmo Ejemplo: Construir el diagrama de flujo para leer y sumar dos números.

Fase 1: Análisis y Diseño: DES y DF

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 21

Representación de un algoritmo Ejemplo: Construir el diagrama de flujo para indicar si un número es mayor o igual que otro.

Fase 1: Análisis y Diseño: DES y DF

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 22

Representación de un algoritmo Ejemplo: Construir el diagrama de flujo para comprar el libro de Harry Potter 8.

Fase 1: Análisis y Diseño: DES y DF

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 23

Ejercicios Construir el diagrama de flujo para: a. Bajar de peso. b. Lavar la loza. c. Restar 2 de un número si es negativo y dejarlo igual de lo contrario. Fase 1: Análisis y Diseño: DES y DF

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 24

Representación de un algoritmo

 Reglas de construcción de DRE:  Toda la secuencia de pasos se coloca dentro de un rectángulo: Paso 1 Paso 2 … Paso n

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 25

Representación de un algoritmo  En el primer bloque se debe colocar el nombre del algoritmo.  En el último bloque se debe colocar Fin. Nombre Paso 1 Paso 2 … FIN Programación – Prof. Gonzalo Müller – Clase 2 – GM - 26

Representación de un algoritmo

 Reglas de construcción de Pseudo Código:  En la primera línea se debe colocar el nombre del algoritmo.  Todo el cuerpo del algoritmo debe ser encerrado entre llaves {}. Nombre { Paso 1 Paso 2 … Paso n } Programación – Prof. Gonzalo Müller – Clase 2 – GM - 27

Representación de un algoritmo Ejemplo 2.2: Construir el PC y DRE para leer y sumar dos números.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 28

Estructuras Básicas  Todo algoritmo se construye con 3 estructuras básicas: 

Secuencial.



Selectiva.



Repetitiva.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 29

Estructura Secuencial Un paso se ejecuta uno detrás de otro. PC Paso 1

DF Paso 1

Paso 2 …

Paso 2

Paso n Paso n

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 30

DRE

Paso 1 Paso 2 Paso n

Estructura Secuencial Ejemplo 2.3: Construir el PC y DRE para leer y sumar dos números.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 31

Estructura Selectiva Una secuencia de pasos se ejecuta dependiendo de una condición dada.  También se le llama condicional.  Dos tipos: Sencilla  Doble 

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 32

Estructura Selectiva

 Estructura Condicional Sencilla: Se ejecuta una instrucción si la condición dada es verdadera. PC

DF

DRE

Si (Condición) { Paso }

Condición

F

Condición V

V

Paso

Paso

Ejemplo: fruta Programación – Prof. Gonzalo Müller – Clase 2 – GM - 33

Estructura Selectiva

 Estructura Condicional Sencilla: Se ejecuta una instrucción si la condición dada es verdadera. PC

DF

DRE

Si (Condición) { Paso }

Condición

F

Condición V

V

Paso

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 34

Paso

Estructura Selectiva Ejemplo 2.4: Construir el DF, DRE y PC del algoritmo para convertir un número en negativo si es positivo.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 35

Estructura Selectiva

El paso contenido en las estructuras selectiva es ejecutado SIEMPRE y cuando la condición sea VERDADERA

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 36

Estructura Selectiva

 Estructura Condicional Doble: Se ejecuta una de dos de instrucciones dependiendo de la condición dada.

PC Si (Condición) { Paso } sino { Paso’ }

DF

V

Condición

DRE

F

Condición V

Paso

Paso’

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 37

Paso

F

Paso’

Estructura Selectiva Ejemplo 2.5: Construir el DF, DRE y PC del algoritmo para convertir un numero según la siguiente regla: Sumar 1 si es negativo o Restar 1 de lo contrario.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 38

Estructura Repetitiva Una secuencia de pasos se repite en forma consecutiva dependiendo de una condición dada.  También se le llama Bucle o Lazo.  Cada repetición se conoce como ciclo o iteración.  Dos tipos: 

Hacer Mientras 



Se ejecuta al menos una vez la secuencia.

Mientras 

Puede que nunca se ejecute la secuencia. Programación – Prof. Gonzalo Müller – Clase 2 – GM - 39

Estructura Repetitiva

 Estructura Repetitiva Hacer Mientras: Se repite una instrucción verdadera.

mientras

PC Hacer { Paso }

una

condición

DF

dada

sea

DRE

Paso

Paso

Mientras (Condición) Condición V

Mientras (Condición) F

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 40

Estructura Repetitiva

 Estructura Repetitiva Hacer Mientras: Se repite una instrucción verdadera.

mientras

PC Hacer { Paso }

una

condición

DF

dada

sea

DRE

Paso

Paso

Mientras (Condición) Condición V

Mientras (Condición) F

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 41

Estructura Repetitiva Ejemplo 2.6: Se requiere leer un número no negativo. Construir el DF, DRE y PC del algoritmo para leer un numero hasta que este sea válido, y presentar en la salida.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 42

Estructura Repetitiva

 Estructura Repetitiva Mientras: Se repite instrucción verdadera.

mientras

PC Mientras (Condición ) { Paso }

una

condición

DF

una dada sea

DRE

Condición

F

Mientras (Condición) V

Paso

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 43

Paso

Estructura Repetitiva

 Estructura Repetitiva Mientras: Se repite instrucción verdadera.

mientras

PC Mientras (Condición ) { Paso }

una

condición

DF

una dada sea

DRE

Condición

F

Mientras (Condición) V

Paso

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 44

Paso

Estructura Repetitiva Ejemplo 2.7: Construir el DF, DRE y PC de un algoritmo para convertir un numero dado, incrementándolo de 2 de 2 mientras sea negativo.

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 45

Estructura Repetitiva

El paso contenido en una estructura repetitiva es ejecutado SIEMPRE y cuando la condición sea VERDADERA

Las corridas en frío son de gran utilidad para algoritmos con estructuras repetitivas

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 46

Representación de un algoritmo

 Cuadro comparativo:

Fácil codificación Mantiene el Orden Rápida Comprensión Uso Sencillo

PC

DF

DRE

Si

No

Si

+/–

No

Si

No

+/–

+/–

+/–

Si

Si

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 47

Metodología para resolución de un problema Definición del problema Análisis del problema Diseño del algoritmo

Prueba del Algoritmo

Codificación del Algoritmo Programación – Prof. Gonzalo Müller – Clase 2 – GM - 48

Corrida en frío La corrida en frío permite realizar la prueba de un algoritmo antes de pasar a la codificación

 Partiendo del Problema se definen una o más pruebas. Se debe conocer de antemano o estimar que resultados generan los datos de entrada para cada prueba: Entrada Salida conocida 1

esperada 1 …

Entrada conocida

Salida esperada

n

n Programación – Prof. Gonzalo Müller – Clase 2 – GM - 49

Corrida en frío

 Para cada prueba se debe ejecutar uno a uno los pasos del algoritmo desde los valores de entrada hasta obtener los valores de salida. Entrada conocida

Salida esperada

Algoritmo Correcto

Entrada conocida

Salida no esperada

Algoritmo Incorrecto

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 50

Corrida en frío Una de las formas de realizar una corrida en frío es utilizando una tabla.

 La tabla de corrida en frío debe contener: 1. Sentencia a ejecutar. 2. Columnas para las datos utilizados. 3. Columnas para las condiciones. 4. Una columna de salida. Programación – Prof. Gonzalo Müller – Clase 2 – GM - 51

Corrida en frío

 A partier del Algoritmo se construye la Tabla: Sentencia

Dato 1

Dato 2









Datos

Dato N

Condición 1

Condición 2









Condiciones

Programación – Prof. Gonzalo Müller – Clase 2 – GM - 52

Condición M

Salida





Corrida en frío Ejemplo: Realizar una corrida en frio para el algoritmo del ejemplo 2.5. Convertir un numero según la siguiente regla: Sumar 1 si es negativo o Restar 1 de lo contrario • entradas y salidas, • requerimientos, • teoría asociada, • restricciones, • etc. Programación – Prof. Gonzalo Müller – Clase 2 – GM - 53

1. Se realiza el análisis

Corrida en frío Ejemplo: Realizar una corrida en frio para el algoritmo del ejemplo 2.5. Convertir un numero según la siguiente regla: Sumar 1 si es negativo o Restar 1 de lo contrario Entrada conocida 2

Salida esperada 1

-1

0

0

-1 Programación – Prof. Gonzalo Müller – Clase 2 – GM - 54

2. Se definen las pruebas

Corrida en frío Ejemplo: Realizar una corrida en frio para el algoritmo del ejemplo 2.5. Convertir un numero según la siguiente regla: Sumar 1 si es negativo o Restar 1 de lo contrario Algoritmo Convertidor Leer n V

n
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF