Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo,...

Post on 26-Mar-2020

7 views 0 download

Transcript of Programación estructurada - programacion.ucoz.com · PARADIGMA Estilo, enfoque, paradigma, modelo,...

PROGRAMACIÓN ESTRUCTURADA Programación estructurada

PARADIGMAS DE PROGRAMACIÓN

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.

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

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

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

SENTENCIAS Y ESTRUCTURAS DE CONTROL

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.

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.

LECTURA/ESCRITURA Lectura Leer <variable>;

Por ejemplo: Leer calif;

Escritura Escribir <expresión>;

Por ejemplo: Escribir “Ingrese calif”;

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

teclado, y lo escriba en pantalla

SECUENCIAL Instrucciones que se ejecutan de

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

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

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

EJERCICIO Actualizar el programa anterior, para que

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

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

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

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

CICLOS O BUCLES

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

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

cochera”

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

cochera”

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

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)

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

CONSIDERACIONES

Instrucciones

¿Con qué valor inicia?

¿Con qué valor finaliza?

¿El contador se incrementa o decrementa?

¿con qué valor?

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

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

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

EJERCICIO Usar el ciclo Repeat-Until para imprimir los

números del 1 al 25

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

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

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

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

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

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

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

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

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