Clase Informática 2

63
Informática 2 Prof. Gonzalo Müller [email protected] Facultad de Ingeniería Universidad Central de Venezuela

description

Clase 2 de Informática para Ingenieros, Prof. Gonzalo Müller [email protected], Facultad de Ingeniería, UCV

Transcript of Clase Informática 2

Page 1: Clase Informática 2

Informática2

Prof. Gonzalo Müller [email protected]

Facultad de IngenieríaUniversidad Central de Venezuela

Page 2: Clase Informática 2

Clase Anterior

� Pautas de curso.

� www.scribd.com/gmullerb

� Definición de Programador.

� Fases de la Programación.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 2

� Metodología para resolución de un problema:

� Definición, Análisis, Diseño del algoritmo, Pruebadel Algoritmo e Implementación

� Algoritmo

� Definición, Características, Partes.

Page 3: Clase Informática 2

Representación de un algoritmo

� Existen básicamente tres formas de representar los algoritmos:

� Pseudo código.

� Diagramas de Flujo.

� Diagramas Rectangulares Estructurados.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 3

� Diagramas Rectangulares Estructurados.

Page 4: Clase Informática 2

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

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 4

� Se debe enfocar a la lógica y no hay los detalles deimplementación.

� Es flexible.

� Permite una analogía que facilita la codificación.

Page 5: Clase Informática 2

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ímbolosnormalizados.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 5

� Las líneas de flujo indica la secuencia de ejecución.

� Pueden resultar inadecuados debido a que propiciaalgoritmos no estructurados (excesivas líneas deflujo).

Page 6: Clase Informática 2

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ímbolosnormalizados.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 6

� También conocidos como: Diagramas de Nassi-Schneiderman.

� Permiten mantener el orden.

� Permiten una analogía que facilita la codificación.

Page 7: Clase Informática 2

Representación de un algoritmo

� Símbolos Básico de un Diagramas de Flujo:

� Líneas de Flujo: Establece la dirección de lasecuencia 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

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 7

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.

Page 8: Clase Informática 2

Representación de un algoritmo

� Bloque Terminal: Señala el inicio o el fin delalgoritmo.

Inicio

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 8

Inicio

Fin

Page 9: Clase Informática 2

Representación de un algoritmo

� Bloque Terminal: Señala el inicio o el fin delalgoritmo.

Inicio

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 9

Inicio

Fin

Nombre

Page 10: Clase Informática 2

Representación de un algoritmo

� Bloque Terminal: Señala el inicio o el fin delalgoritmo.

Nombre

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 10

Nombre

Fin

El bloque fin siempre tiene

solo líneas de entrada

El bloque inicio siempre tiene

solo una línea y es de salida

Page 11: Clase Informática 2

Representación de un algoritmo

� Bloque Proceso: Se utiliza para indicar un proceso óoperación.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 11

Page 12: Clase Informática 2

Representación de un algoritmo

� Bloque Proceso: Se utiliza para indicar un proceso óoperación.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 12

El bloque de proceso siempre tiene una línea

de salida (puede tener varias de entrada)

Page 13: Clase Informática 2

Representación de un algoritmo

� Bloque Genérico Entrada-Salida: Indica unaoperación de entrada salida sin especificar undispositivo especifico para realizar la operación.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 13

Page 14: Clase Informática 2

Representación de un algoritmo

� Bloque Genérico Entrada-Salida: Indica unaoperación de entrada salida sin especificar undispositivo especifico para realizar la operación.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 14

El bloque entrada-salida siempre tiene una

línea de salida (puede tener varias de entrada)

Page 15: Clase Informática 2

Representación de un algoritmo

� Bloque de Decisión: Establece la dirección de lossubsecuentes pasos en función de una condicióndada.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 15

Page 16: Clase Informática 2

Representación de un algoritmo

� Bloque de Decisión: Establece la dirección de lossubsecuentes pasos en función de una condicióndada.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 16

Page 17: Clase Informática 2

Representación de un algoritmo

� Bloque de Decisión: Establece la dirección de lossubsecuentes pasos en función de una condicióndada.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 17

El bloque de decisión siempre tiene dos

de salida (puede tener varias de entrada)

Page 18: Clase Informática 2

Representación de un algoritmo

� Conectores: Establece la conexión entre dosbloques que espacialmente no puede serconectados.

� Se usan en pares.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 18

� Se usan en pares.

Page 19: Clase Informática 2

Representación de un algoritmo

� Reglas de construcción de Diagramas de Flujo:

� Contiene un único bloque terminal que indicainicio.

� Puede contener varios bloques terminal que indicanel final.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 19

el final.

� Debe ser organizado de tal forma que la secuenciasea leída de arriba abajo y de izquierda a derecha.

Page 20: Clase Informática 2

Representación de un algoritmo

� Cada bloque debe tener al menos una línea de flujode entrada, exceptuando el bloque de inicio.

� Cada bloque puede tener a lo sumo una línea deflujo de salida, exceptuando el bloque de decisión.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 20

flujo de salida, exceptuando el bloque de decisión.

� El bloque de decisión debe tener dos líneas de flujode salida.

Page 21: Clase Informática 2

Representación de un algoritmo

Ejemplo 2.1: Construir el diagramas de flujo para leer y sumar dos números.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 21

Page 22: Clase Informática 2

Representación de un algoritmo

� Reglas de construcción de DRE:

� Toda la secuencia de pasos se coloca dentro de unrectángulo:

Paso 1

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 22

Paso 1

Paso 2

Paso n

Page 23: Clase Informática 2

Representación de un algoritmo

� En el primer bloque se debe colocar el nombre delalgoritmo.

� En el último bloque se debe colocar Fin.

Nombre

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 23

Paso 1

Paso 2

FIN

Page 24: Clase Informática 2

Representación de un algoritmo

Ejemplo 2.2: Construir el DRE para leer y sumar dos números.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 24

Page 25: Clase Informática 2

Estructuras básicas

� Todo algoritmo se construye con 3 estructurasbásicas:

� Secuencial.

� Selectiva.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 25

� Selectiva.

� Repetitiva.

Page 26: Clase Informática 2

Estructura Secuencial

Un paso se ejecuta uno detrás de otro.

DF DRE

Paso 1

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 26

Paso 1

Paso 2

Paso n

Paso 1

Paso 2

Paso n

Page 27: Clase Informática 2

Estructura Secuencial

Ejemplo 2.3: Construir el DF y DRE para leer y sumar dos números.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 27

Page 28: Clase Informática 2

Estructura Selectiva

Una secuencia de pasos se ejecuta dependiendo de una condición dada.

� También se le llama condicional.

� Dos tipos:

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 28

� Dos tipos:

� Sencilla

� Doble

Page 29: Clase Informática 2

Estructura Selectiva

� Estructura Condicional Sencilla: Se ejecuta unainstrucción si la condición dada es verdadera.

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 29

Paso

CondiciónV

Paso

Condición

V

F

Ejemplo: fruta

Page 30: Clase Informática 2

Estructura Selectiva

� Estructura Condicional Sencilla: Se ejecuta unainstrucción si la condición dada es verdadera.

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 30

Paso

CondiciónV

Paso

Condición

V

F

Page 31: Clase Informática 2

Estructura Selectiva

Ejemplo 2.4: Construir el DF y DRE del algoritmopara convertir un número en negativo si es positivo.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 31

Page 32: Clase Informática 2

Estructura Selectiva

El paso contenido en las estructuras selectiva es ejecutado

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 32

El paso contenido en las estructuras selectiva es ejecutado

SIEMPRE y cuando la condición sea VERDADERA

Page 33: Clase Informática 2

Estructura Selectiva

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

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 33

CondiciónV F

Paso’

CondiciónFV

Paso Paso Paso’

Page 34: Clase Informática 2

Estructura Selectiva

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

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 34

Page 35: Clase Informática 2

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.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 35

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

Page 36: Clase Informática 2

Estructura Repetitiva

� Estructura Repetitiva Hacer Mientras: Se repite unainstrucción mientras una condición dada seaverdadera.

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 36

Paso

Mientras (Condición)

Paso

CondiciónV

F

Page 37: Clase Informática 2

Estructura Repetitiva

� Estructura Repetitiva Hacer Mientras: Se repite unainstrucción mientras una condición dada seaverdadera.

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 37

Paso

Mientras (Condición)

Paso

CondiciónV

F

Page 38: Clase Informática 2

Estructura Repetitiva

Ejemplo 2.6: Se requiere leer un número no negativo.Construir el DF y DRE del algoritmo para leer unnumero hasta que este sea válido, y presentar en lasalida.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 38

Page 39: Clase Informática 2

Estructura Repetitiva

� Estructura Repetitiva Mientras: Se repite unainstrucción mientras una condición dada seaverdadera.

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 39

Mientras (Condición)

PasoPaso

Condición

V

F

Page 40: Clase Informática 2

Estructura Repetitiva

� Estructura Repetitiva Mientras: Se repite unainstrucción mientras una condición dada seaverdadera.

DF DRE

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 40

Mientras (Condición)

PasoPaso

Condición

V

F

Page 41: Clase Informática 2

Estructura Repetitiva

Ejemplo 2.7: Construir el DF y DRE de un algoritmopara convertir un numero dado, incrementándolo de 2de 2 mientras sea negativo.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 41

Page 42: Clase Informática 2

Estructura Repetitiva

El paso contenido en una estructura repetitiva es ejecutado

SIEMPRE y cuando la condición sea VERDADERA

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 42

Las corridas en frío son de gran utilidad

para algoritmos con estructuras repetitivas

Page 43: Clase Informática 2

Representación de un algoritmo

� Cuadro comparativo:

DF DRE

Mantiene el

OrdenNo Si

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 43

Orden

Fácil

codificaciónNo Si

Rápida

Comprensión+/– +/–

Uso Sencillo Si Si

Page 44: Clase Informática 2

Metodología para resolución de un problemaMetodología para resolución de un problema

Definición del problema

Análisis del problema

Diseño del

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 44

Diseño del algoritmo

Codificación del Algoritmo

Prueba del

Algoritmo

Page 45: Clase Informática 2

Corrida en frío

La corrida en frío permite realizar la prueba de unalgoritmo antes de pasar a la codificación.

� Una de las formas de realizar una corrida en frío esutilizando una tabla.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 45

� La tabla de corrida en frío debe contener:

1. Columnas para las datos utilizados.

2. Columnas para las condiciones.

3. Una columna de salida.

Page 46: Clase Informática 2

Corrida en frío

� Partiendo del Problema se definen una o más pruebas.Se debe conocer de antemano o estimar queresultados generan los datos de entrada para cadaprueba:

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 46

Entrada

conocida

Salida

esperada

Entrada

conocida

Salida

esperada

Page 47: Clase Informática 2

Corrida en frío

� Partiendo del Algoritmo se construye la Tabla:

Dato 1 Dato 2Dato

NCondición

1

Condición

2

Condición

M Salida

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 47

… … … … … … … … …

Datos Condiciones

Page 48: Clase Informática 2

Corrida en frío

� Para cada prueba se debe ejecutar uno a uno los pasosdel algoritmo desde los valores de entrada hastaobtener los valores de salida.

Entrada

conocida

Salida

esperada

Algoritmo

Correcto

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 48

conocida esperada

Entrada

conocida

Salida no

esperada

Algoritmo

Incorrecto

Correcto

Page 49: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrario

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 49

1. Se realiza el análisis

Page 50: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrario

Entrada Salida

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 50

2 1

-1 0

0 -1

Entrada

conocida

Salida

esperada

2. Se definen las pruebas

Page 51: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 51

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

3. Se construye el algoritmo

Page 52: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 52

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

4. Se construye la tabla

Page 53: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 53

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

2

Entrada

conocida

5. Se realizan las corridas

Page 54: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 54

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

22

Entrada

conocida

Page 55: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 55

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

2

2 < 0

Page 56: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 56

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

2

2 < 0

F

Page 57: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 57

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

2

2-1

1

2 < 0

F

Page 58: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 58

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

2

2-1

1

2 < 0

F

1

2

Page 59: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 59

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

n n<0 Salida

2

2-1

2 < 0

F

1

… … …

Page 60: Clase Informática 2

Corrida en frío

Ejemplo: Realizar una corrida en frio para el algoritmodel ejemplo 2.5.

Convertir un numero según la siguiente regla: Sumar 1si es negativo o Restar 1 de lo contrarioAlgoritmo Corrida en frío

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 60

Convertidor

Leer n

n=n+1 n=n-1

Escribir n

Fin

n < 0V F

1

Salida

esperada

2

Entrada

conocida

n n<0 Salida

2

2-1

2 < 0

F

1

… … … �

Page 61: Clase Informática 2

Corrida en frío

Ejemplo 2.9: Realizar una corrida en frio para elalgoritmo del ejemplo 2.7.

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 61

Page 62: Clase Informática 2

Ejercicio

2. Para cada uno de los siguientes problemas:

a) Sumar 3 números.

b) Sumar 2 números si son iguales y los multiplique de lo contrario.

c) Dividir 2 números, el menor entre el mayor.

d) Leer números hasta que el leído sea 5 y escribir en

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 62

d) Leer números hasta que el leído sea 5 y escribir en la salida el último número.

e) Disminuir un número de 2 en 2 hasta que este sea negativo y escribir resultado en la salida.

Realizar el análisis.

Construir el DF y el DRE.

Realizar una corrida en frío.

Page 63: Clase Informática 2

Resumen

� Representación de un algoritmo:

� Pseudo Código.

� Diagramas de Flujo.

� Diagramas de Rectangulares Estructurados.

� Estructura Secuencial.

� Estructura Selectiva:

Informática – Prof. Gonzalo Müller – Clase 2 – GM - 63

� Estructura Selectiva:

� Sencilla

� Doble

� Estructura Repetitiva:

� Hacer Mientras

� Mientras

� Corrida en frío