presentación del cursouniversidad de antioquiainformática i sesión 07: estructuras de control (1)...

41
Presentación del curso Universidad de Antioquia Informática I Informática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería 2015-1 Presentación del curso Universidad de Antioquia Informática I

Upload: marina-castro-rivero

Post on 02-Feb-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática I

Informática ISesión 07: Estructuras de Control (1)

Departamento de Ingeniería Electrónica y de Telecomunicaciones

Facultad de Ingeniería2015-1

Presentación del curso

Universidad de Antioquia Informática I

Page 2: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

Estructura de Control Secuencial

Programación Estructurada

RepasoRepaso

A continuación…

Page 3: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Problema

Metodología

Programa

Repaso•E

ntender el problema

1

•Diseñar un plan

2

•Implementar el plan

3

•Revisar el plan

4

Page 4: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Análisis: Se establece el problema, entendiendo de manera clara lo que se desea obtener (Paso 1).

Después, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Se definen las entradas, salidas y el proceso a seguir (Paso 2).

Estructura de los Algoritmos

Page 5: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Descripción del algoritmo. Se usa Algoritmos para describir la secuencia de pasos que encuentran la solución. Ejemplo: Diagramas de flujo, Pseudocódigo (Paso 3)

Verificación: Seguimiento paso a paso del algoritmo para verificar que cumple con lo deseado (Paso 4).

Estructura de los Algoritmos

Page 6: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Implementación en lenguaje de programación: Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones (Paso 5).

Estructura de los Algoritmos

Page 7: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

ENTRADA SALIDA

INSTRUCCIONES

Estructura de los Algoritmos

1

•Inicio

2

•Datos de Entrada

3

•Procesamiento de los datos

4

•Datos de Salida

5•F

in

Page 8: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Esquema de representación gráfico de algoritmos. Usa elementos gráficos como rectángulos y rombos.

Se pueden usar operaciones matemáticas.

Diagrama de flujo

Page 9: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Inicio o fin del programa

Pasos, procesos o líneas de instrucción de programa de computo

Operaciones de entrada

Toma de decisiones y Ramificación

Líneas de flujo

Pantalla, para mostrar datos

Diagrama de flujo

Page 10: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

Estructura de Control Secuencial

Programación Estructurada

Repaso

Programación Estructurada

A continuación…

Page 11: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Programación Estructurada

• Teorema del programa estructurado:

• Todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:

1

•Secuencial

2

•Instrucción condicional.

3

•Iteración (bucle de instrucciones)

Page 12: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Programación Estructurada

• Ventajas– Los programas son más fáciles de entender, ya que

pueden ser leídos de forma secuencial, sin necesidad de hacer seguimiento a saltos de línea.

– La estructura del programa es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.

– El seguimiento de los fallos o errores del programa se facilita debido a la estructura más visible, por lo que los errores se pueden detectar y corregir más fácilmente.

– Programas más sencillos y más rápidos (ya que es más fácil su optimización).

Page 13: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Programación Estructurada

• Desventajas– Único bloque de programa, que cuando se

hace demasiado grande puede resultar problemático su manejo

Page 14: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

Estructura de Control Secuencial

Programación Estructurada

Repaso

Estructura de Control Secuencial

A continuación…

Page 15: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

La estructura de control secuencial es la más sencilla y es inherente al Software. También se conoce como estructura lineal.

Se compone de instrucciones que deben ejecutarse en forma consecutiva, una tras otra, siguiendo UNA Y SOLO UNA línea de flujo.

Problemas muy sencillos pueden resolverse haciendo uso únicamente de esta estructura.

Estructura SecuencialInicio

Proceso

Leer Dados

Suministrar Información

Reportar Resultados

Fin

Page 16: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Una estructura de control secuencial puede contener cualquiera de las siguientes instrucciones:

• Declaración variables• Asignación de valores• Entrada de datos• Procesamiento de datos (operaciones)• Reporte de resultados

Hay que determinar el orden de ejecución de las instrucciones (posición) ya que la conmutatividad NO es una propiedad aplicable a los algoritmos.

Estructura SecuencialInicio

Proceso

Leer Dados

Suministrar Información

Reportar Resultados

Fin

Page 17: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Estructura Secuencial

• Entrada y salida de datos:– Escribir: Para mostrar información en la pantalla.

– El mensaje posee la siguiente sintaxis:• “texto1” vble1 “texto2” vble2 …

– Toda la información que se encuentre entre “” será desplegada en la pantalla de forma literal.

– Para mostrar el valor de una variable se escribe su nombre sin “”

Mensaje

Page 18: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Estructura Secuencial

• Entrada y salida de datos:– Leer: Para la entrada de datos por parte del usuario.

– Para capturar los datos se tiene la sintaxis:• vble1, vble2, vble3, … vbleN

– De esta manera es posible capturar una serie de variables bajo la misma instrucción.

Variables

Page 19: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

• Operadores y expresiones:AsignaciónAritméticosRelacionales.Lógicos.

• Cuando concurren en una misma expresión diferentes tipos de operadores se dan las reglas de prioridad y asociatividad.

Expresiones y operadores

Page 20: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Asignación

• Operador de asignación (=)– La variable que tomará el nuevo valor siempre debe ir

a la izquierda de la expresión.– Sintaxis:

Variable = expresión;

– Ejemplos: • a = b*n;• c = c + 1;• d = d%3;• e = 14;

Page 21: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Aritméticos• Operadores aritméticos

– De dos operandos:

Operación Operador Ejemplo Resultado

Potencia ^ 2^4 16

Multiplicación * 2*34 68

División / 24/3 8

Módulo % 7 %3 1

Suma + 3+4 7

Resta - 5-2 3

Raiz quadrada () (16) 4

Asignacion = X=3 -

Page 22: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

En una instrucción los operadores se ejecutan en un orden Predeterminado.

1. Paréntesis (se ejecutan primero los más internos)2. Signo 3. Potencias y Raíces (potencia y rc)4. Productos y Divisiones ( *, / y %)5. Sumas y Restas (+ y -)6. …

Aritméticos

Page 23: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Aritméticos• Ejemplo:

m = a + b + c + d + e / 5;

m = (a + b + c + d + e) / 5;

Page 24: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Aritméticos• Ejemplo:

z = p * r % q + w / x – y ;

z = a * (b + c) + c * (d + e) ;

z = a * x * x + b * x + c ;

1 2 4 3 5

3 1 5 4 2

1 2 4 3 5

Page 25: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Aritméticos• Ejemplo:y = 2 * 5 * 5 + 3 * 5 + 7;

y = 10 * 5 + 3 * 5 + 7 ;

y = 50 + 3 * 5 + 7 ;

y = 50 + 15 + 7 ;

y = 65 + 7 ;

y = 72 ;

Page 26: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Relacionales

• Operadores Relacionales–Sintaxis:

operador_1 operador_relacional operador_2

OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO

Igualdad == x == y x es igual a y

Diferente != x != y x no es igual a y

Menor > x < y x es mayorque y

Mayor < x > y x es menor que y

Menor Igual >= x <= y x es mayor o igual que y

Mayor Igual <= x >= y x es menor o igual que y

Page 27: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Lógicos

• Operadores Lógicos

OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO

Negación ! !m No m (inverso de m)

Y y m>3 y m<5 m mayor a 3 y menor que 5

O o m>3 o m<5 m mayor a 3 o menor que 5

Page 28: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Zona de Preguntas…

Estructura secuencial• Escriba las siguientes expresiones

algebraicas como expresiones algorítmicas:

1.

2.

3.

4.

XYZX 42

YX

Z

YX4

5

3

a

acbb

2

)4( 2

DC

XX

824 2

Page 29: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Zona de Preguntas…

Estructura secuencial• Escriba las siguientes expresiones

algorítmicas como expresiones algebraicas

1.

2.

3.

YXb *2^

)2/1(^* YYX

6)*3*)10*2/)((( BACB

Page 30: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Ejemplos

• EJEMPLO:

Hacer un algoritmo que, dado el lado de un cuadrado encuentre el área y el perímetro del mismo

1. Análisis

2. Datos de entrada

3. Datos de salida

4. Proceso

5. Definición de variablesL

L

Page 31: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

Estructura de Control Secuencial

Programación Estructurada

Repaso

Prueba de Escritorio

A continuación…

Page 32: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

• Una etapa importante en el desarrollo de un programa es la comprobación de su comportamiento. Esta etapa nos permite saber :– Si el programa hace lo que debería hacer– Si no hace lo que debería hacer, nos permitirá detectar errores

como ser:• Si algún paso o instrucción no esta en el orden correcto• Si falta algo• Si algo esta demás• Si los pasos o instrucciones que se repiten lo hacen más o menos

veces de lo debido• Si las instrucciones están en un orden apropiado• Otros errores que pueden presentarse

Page 33: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

• Una manera de comprobar el comportamiento de un programa es a través de una prueba escritorio.

• La prueba de escritorio no es más que efectuar un proceso de simulación con el algoritmo desarrollado (ver que haría la computadora).

• Este trabajo se realiza en base a una tabla cuyos encabezados son las variables que se usan en el algoritmo y debajo de cada una de ellas se van colocando los valores que van tomando, paso a paso y siguiendo el flujo indicado por el algoritmo, hasta llegar al final.

Page 34: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de EscritorioInicio

y = x * 2;

x

“Este programa calcula el doble de un numero”

“El doble de ” x “es ” y

Fin

“Ingrese el valor de la variable”

x y Pantalla

523 1046Este programa calcula el doble de un numero

Ingrese el valor de la variable

El doble de 523 es 1046

Page 35: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de Escritorio

• Realice un programa que halle el doble de un numero.

Page 36: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de EscritorioInicio

z = x + y;x = x + z^2;y = y + x/z;

x,y

“Este programa …”

“Los valores son” x,y,z

Fin

“Ingrese el valor dos variables”

x y z Pantalla

Page 37: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de EscritorioInicio

z = x + y;y = y + x/z;x = x + z^2;

x,y

“Este programa …”

“Los valores son” x,y,z

Fin

“Ingrese el valor dos variables”

x y z Pantalla

Page 38: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Prueba de EscritorioInicio

y = y + x/z;z = x + y;

x = x + z^2;

x,y

“Este programa …”

“Los valores son” x,y,z

Fin

“Ingrese el valor dos variables”

x y z Pantalla

Page 39: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Ejemplos

1. Mostrar el resultado de sumar y el promedio de 3 valores ingresados por el usuario

2. Calcular el valor a pagar por un producto si el usuario ingresa el precio sin IVA

3. Se compran dos terrenos rectangulares adyacentes de dimensiones m1 y n1 uno y m2 y n2 el otro. ¿Cuánta área se compró?

4. Una moto recorre ciertos kilómetros por hora. ¿Cuánto recorrerá en cierta cantidad de horas si su velocidad permanece constante (exprese el resultado en millas)?

Page 40: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

EjerciciosDiagrama de Flujo

1. Diseñar un algoritmo que pida al usuario dos números y calcule la suma, la resta, la multiplicación y la división del primero con el segundo.

2. Diseñar un algoritmo para calcular cuántos litros caben en un tanque cilíndrico. Los datos de entrada (Alto y diámetro de la base) deben estar dados en metros.

3. Escribir un algoritmo para calcular el área de cualquier triángulo dada su base y su altura, presentando el resultado.

4. Ejercicio: Realizar el pseudocódigo y el diagrama de flujo para un algoritmo que escriba 4 veces en pantalla la frase: “Este es el mensaje repetido”

Page 41: Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Bibliografia

• Metodologia, algoritmos y estructura de datos. McGrawHill. 2000 – CAPITULO4

• Oviedo, Efrain. Lógica de Programación.