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

Post on 02-Feb-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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.

top related