programación estructurada - programacion.ucoz.com · paradigma estilo, enfoque, paradigma, modelo,...

37
PROGRAMACIÓN ESTRUCTURADA Programación estructurada

Upload: others

Post on 26-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PROGRAMACIÓN ESTRUCTURADA Programación estructurada

Page 2: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PARADIGMAS DE PROGRAMACIÓN

Page 3: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo

comprendemos, lo interpretamos e intervenimos sobre él.

Forma aceptada de resolver un problema en la ciencia.

Diversas formas que, a lo largo de la evolución de los lenguajes, han sido utilizadas como estilos para programar.

Page 4: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PARADIGMAS DE PROGRAMACIÓN Existen diversos paradigmas: Se diferencian en:

Conceptos que manejan Abstracciones usadas para representar los elementos

de un programa (objetos, funciones, variables, etc.)

Programación imperativa

Programación declarativa

Tarea

¿Cómo?

Descripción de acciones a realizar

¿Qué? Descripción del problema

Solución

Page 5: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PARADIGMAS (II) Diversos paradigmas:

Paradigma Descripción Leng. En foques

Imperativo Enunciados que cambian el estado de un programa. Expresan cómo el programa debe realizar alguna tarea.

C, Basic

Modular, estructurado, orientado a objetos

Declarativo Indican qué es lo que el programa debe realizar. Determina las propiedades de la solución, sin atender el algoritmo que busca dicha solución.

SQL Lógico, funcional

Presenter
Presentation Notes
Enfoque lógico: definición de reglas lógicas Enfoque funcional: evaluación de funciones matemáticas
Page 6: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PARADIGMAS (III) Información de alumnos: nombre, edad, sexo,

grupo, etc. Formato: texto plano y BD.

Identificar alumnos con edad > 20 años. BD: Lenguaje SQL (declarativo)

SELECT * FROM Alumnos WHERE edad > 20

Texto plano: C (imperativo) Abrir archivo

Repetir Leer secuencialmente las líneas Buscar campo correspondiente a edad

Si el campo edad > 20, almacenar la línea

Cerrar archivo

Page 7: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

SENTENCIAS Y ESTRUCTURAS DE CONTROL

Page 8: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PROGRAMACIÓN ESTRUCTURADA Forma o estilo de programación enfocada al

control de la ejecución de un programa. Fortran: instrucción de salto goto modificaba la

secuencia de ejecución (programas poco legibles y difíciles de comprender).

Elimina las dificultades provocadas por la instrucción de salto.

Todo programa estructurado es: Fácil de leer y comprender. Fácil de mantener. Eficiente. Fácil de codificar en diversos lenguajes.

Page 9: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PROGRAMACIÓN ESTRUCTURADA (II) Teorema de la estructura (Bohm y Jacopini,

1966): Todo programa propio, realice el trabajo que realice, tiene siempre al menos un programa propio equivalente que solo utiliza las estructuras básicas de la programación, que son: La secuencia La selección (condición) La repetición

Estructuras de control: permiten controlar el flujo de ejecución de un programa.

Page 10: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

LECTURA/ESCRITURA Lectura Leer <variable>;

Por ejemplo: Leer calif;

Escritura Escribir <expresión>;

Por ejemplo: Escribir “Ingrese calif”;

Page 11: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIO Hacer un programa que lea un número desde el

teclado, y lo escriba en pantalla

Page 12: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

SECUENCIAL Instrucciones que se ejecutan de

manera consecutiva. … Escribir “ingrese número”; Leer num; doble num * 2; Escribir doble; …

Page 13: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONDICIONAL SIMPLE Evalúa una expresión y ejecuta una acción si

resulta verdadera, sino, no hace nada. Si <expresión> Entonces <instrucciones> FinSi

Por ejemplo: Si calif >= 8.5 Entonces

Escribir “Exento”;

FinSi

Page 14: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONDICIONAL DOBLE Evalúa una expresión. De ser verdadera, ejecuta

ciertas acciones, caso contrario, ejecuta otras. Si <expresión> Entonces <instrucciones> Sino <instrucciones> FinSi

Si calif >= 8.5 Entonces

Escribir “Exento”;

Sino

Escribir “¡A final!”;

FinSi

Page 15: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIO Actualizar el programa anterior, para que

además escriba si el valor ingresado es positivo o negativo

Page 16: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONDICIONAL MÚLTIPLE Evalúa una expresión, la cual puede ser tratada

según diversos valores. Segun <variable> Hacer

<número1>: <instr>

<número2>,<número3>: <instr>

<...>

De Otro Modo: <instr>

FinSegun

Page 17: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONDICIONAL MÚLTIPLE (II) Segun num Hacer 1, 3, 5, 7, 8, 10, 12: dias 31; 4, 6, 9, 11: dias 30; 2: dias 28; De Otro Modo: dias 0;

FinSegun

Page 18: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIO Utilice el ejemplo para que su programa escriba

en pantalla los días que le corresponderían al número que se lee desde teclado

Page 19: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CICLOS O BUCLES

Estructura de control que permite la ejecución repetida de una o varias instrucciones

Page 20: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJEMPLO “En tanto no cumplas los 18 años, barrerás la

cochera”

Page 21: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJEMPLO “En tanto no cumplas los 18 años, barrerás la

cochera”

• Límite: 18 años • Acción a repetir: barrer

Page 22: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJEMPLO “En tanto no cumplas los 18 años, barrerás la

cochera”

• Límite: 18 años • Acción a repetir: barrer • Edad de inicio • Incremento de años (natural

para el ser humano)

Page 23: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

REPETICIÓN: MIENTRAS (WHILE) Mientras una expresión sea cierta, ejecuta una o

varias acciones. Mientras <condición> Hacer <instrucciones> FinMientras i <- 0;

Mientras i < 10 Hacer Escribir “itera”; i <- i + 1; FinMientras

Page 24: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONSIDERACIONES

Instrucciones

¿Con qué valor inicia?

¿Con qué valor finaliza?

¿El contador se incrementa o decrementa?

¿con qué valor?

Page 25: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIO Imprimir los números del 1 al 25 Pida un número desde teclado mayor a cero e

imprima desde el valor ingresado hasta cero

Page 26: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

PARA (FOR) Ejecuta una o varias acciones un número determinado

de veces. Para <var> <ini> Hasta <fin> Con Paso <val> Hacer

<instrucciones>

FinPara Para i 0 Hasta 10 Con Paso 1 Hacer

<instrucciones>

FinPara

Page 27: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

REPETIR-HASTA QUE (REPEAT-UNTIL) Ejecuta una o varias acciones mientras una

expresión sea evaluada como cierta. Repetir <instrucciones> Hasta Que <condición> i <- 0; Repetir Escribir “itera”; i <- i + 1; Hasta Que i > 10

Presenter
Presentation Notes
Until loops are almost identical to while loops except that they will loop as long as the conditional statement is false. The while loop will loop while the condition is true, the until loop will loop until the condition is true
Page 28: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIO Usar el ciclo Repeat-Until para imprimir los

números del 1 al 25

Page 29: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJEMPLO/EJERCICIO Impresión de 5 a 10, con incremento de 1 Para cont <- 5 Hasta 10 Con Paso 1 Hacer Escribir cont; FinPara

Imprimir los números del 1 al 25 usando el ciclo For, con incrementos de 2

Page 30: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONSIDERACIONES Las estructuras de control tienen un único punto

de entrada y un único punto de salida. Se componen de sentencias o de otras estructuras

de control (e. g. anidamiento de condicionales, bucles). Si <expresión> <acción> Sino Si <expresión> <acción> FinSi FinSi

Page 31: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONSIDERACIONES Mientras <condición> Mientras <condición> <acciones> FinMientras FinMientras Para <var> <ini> Hasta <fin> Con Paso <val> Hacer

Para <var2> <ini> Hasta <fin> Con Paso <val> Hacer <instrucciones>

FinPara

FinPara

Page 32: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIO Solicite un número desde teclado. Si el número es

negativo, imprima los siguientes 10 números mayores a él, de lo contrario, imprima los siguientes 10 números menores a él. Para el primer caso, utilice un ciclo Mientras, para el segundo un ciclo Para

Page 33: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONTADOR Y ACUMULADOR Contador

Espacio de memoria cuyo contenido puede variar incrementándose o decrementándose de manera constante

contador <- contador + 1;

Al valor de contador se le suma 1, y el resultado se vuelve a almacenar en la misma variable

otro <- otro - 5;

El valor de otro se le resta 5, y el resultado se

almacena nuevamente en la misma variable

Page 34: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONTADOR Y ACUMULADOR (II) Los contadores siempre se deben inicializar

contador <- 0; otro <- 25;

Los valores en los que se inicialicen dependerán de los requerimientos del problema

contador <- contador + 1

1 0 + 1

2 1 + 1

3 2 + 1

otro <- otro - 5

20 25 - 5

15 20 - 5

10 15 - 5

Page 35: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONTADOR Y ACUMULADOR (III) Acumulador

Espacio de memoria cuyo contenido puede variar incrementándose o decrementándose de manera variable

promedio <- promedio + calif;

Al valor de promedio se le suma el valor de calif, y el resultado se vuelve a almacenar en la misma variable

total <- total - descuento;

El valor de total se le resta el valor de descuento, y el

resultado se almacena nuevamente en la misma variable

Page 36: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

CONTADOR Y ACUMULADOR (IV) Los acumuladores siempre se deben inicializar

promedio <- 0; total <- 5500;

Los valores en los que se inicialicen dependerán de los requerimientos del problema

promedio <- promedio +

calif

10 0 + 10

19 10 + 9

27 19 + 8

otro <- total - descuento

5000 5500 - 500

3700 5000 - 1300

3600 3700 - 100

Page 37: Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo, filosofía. Marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos

EJERCICIOS 1. Hacer un programa que lea dos números, e

imprima los números comprendidos entre ellos en orden decreciente

2. Sumar los números pares desde el 2 hasta el valor que indique el usuario

3. Imprimir (escribir en pantalla) la tabla de multiplicar del 1 al 10 de un número ingresado desde el teclado.

4. Hacer un programa que lea cinco números desde teclado e imprima cuál es el menor y cuál es el mayor