programación estructurada - programacion.ucoz.com · paradigma estilo, enfoque, paradigma, modelo,...
TRANSCRIPT
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
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
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