presentación del cursouniversidad de antioquiainformática i sesión 07: estructuras de control (1)...
TRANSCRIPT
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
Presentación del curso
Universidad de Antioquia Informática I
Prueba de Escritorio
Estructura de Control Secuencial
Programación Estructurada
RepasoRepaso
A continuación…
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
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
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
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
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
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
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
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…
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)
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).
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
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…
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
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
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
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
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
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;
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 -
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
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;
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
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 ;
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
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
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
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
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
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…
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
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.
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
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.
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
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
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
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)?
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”
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.