PROGRAMACION ESTRUCTURADA
La programación estructurada significa escribir un programa de acuerdo a las siguientes reglas:
a) El programa tiene un diseño modular
b) Los módulos son diseñados de modo descendente
c) Cada módulo se codifica utilizando las tres estructuras de control básicas: secuencial,
selección y repetición.
El término de programación estructurada se refiere a un conjunto de técnicas que han ido
evolucionando desde los primeros trabajos de Edgar Dijksra. Estas técnicas aumentan
considerablemente la productividad del programa reduciendo en elevado grado el tiempo
requerido para escribir, verificar, depurar y mantener los programas.
La programación estructurada utiliza un número limitado de estructuras de control que minimizan
la complejidad de los programas y por consiguiente reducen los errores; hace los programas más
fáciles de escribir, verificar, leer y mantener. Los programas deben estar dotados de una
estructura. La programación estructurada es el conjunto de técnicas que incorporan:
- Recursos abstractos
- Diseño descendente (top-down)
- Estructuras básicas.
TECNICAS DE SEGMENTACION
Plantea que un problema se puede dividir en problemas más pequeños (módulos) y más
simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el
resultado de la solución total de éste.
La forma gráfica que lo representa es la siguiente
Modulo
principal
Modulo
1
Modulo
2
Modulo
3
El diseño descendente (top-down) es el proceso mediante el cual un problema se descompone en
una serie de niveles o pasos sucesivos de refinamiento (stepwise). La metodología descendente
consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se
relacionasen unas con otras mediante entradas y salidas de información. Es decir, se descompone
el problema en etapas o estructuras jerárquicas, de forma que se puede considerar cada
estructura desde dos puntos de vista ¿Qué hace? Y ¿Cómo lo hace?
Si se considera un nivel n de refinamiento, las estructuras se consideran de la siguiente manera:
Estructuras de Control
Son métodos de especificar el orden en que las instrucciones de un algoritmo se ejecutan. El orden
de ejecución de las sentencias o instrucciones determinan el flujo de control Son fundamentales
en los lenguajes de programación y en los diseños de algoritmos.
Existen 3 tipos de estructuras de control:
• Secuencial
• Selectiva
• Repetitiva
Estructura Secuencial
Es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se
suceden de tal modo que la salida de una es la entrada de la siguiente y así
sucesivamente hasta el final del proceso.
Ejemplo:
Calcular la suma de dos números
Ejercicio:
Se trata de calcular el salario neto de un trabajador en función del número de horas trabajadas,
precio de la hora de trabajo y considerando unos descuentos fijos, el sueldo bruto en conjunto de
impuestos (20%)
Leer (nombre, horas, precio_hora)
Salario bruto horas*precio hora
Impuestos 0.20 *salario bruto
Salario netosalario bruto-impuestos
Escribir nombre, salariobruto, salario neto
Acción 1
Acción 2
Acción 3
ESTRUCTURAS SELECTIVAS
La estructura selectiva se utiliza para tomar decisiones lógicas; de ahí que se suelan
denominar también estructuras de decisión o alternativas.
En las estructuras selectivas se evalúa una condición y en función del resultado de la misma
se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas.
La representación se hace con palabras en pseudocódigo (if, then, else; en español si,
entonces, si no) con el símbolo de decisión.
Las estructuras selectivas o alternativas pueden ser:
a) Simples
b) Dobles
c) Múltiples
ALTERNATIVA SIMPLE (SI-ENTONCES / IF-THEN)
La estructura alternativa simple si-entonces (if-then) ejecuta una determinada
acción cuando se cumple una determinada condición. La selección si-entonces
evalúa la condición y:
 Si la condición es verdadera, entonces ejecuta la acción SI
 Si la condición es falsa, entonces no hacer nada
Esta es la representación gráfica de la estructura condicional simple:
ALTERNATIVA DOBLE (SI-ENTONCES- SINO / IF-THEN-ELSE)
La estructura anterior es muy limitada y normalmente se necesitará una estructura que
permita elegir entre dos opciones o alternativas posibles, en función del cumplimiento o no
de una determinada condición. Si la condición C es verdadera, se ejecuta la acción S1 y si
es falsa, se ejecuta la acción S2.
Inicio
Mostrar Introduce un número
Leer n
Si n>0 entonces
Mostrar “el número es positivo”
Si_no
Mostrar “el número es negativo”
Fin_si
Fin
Ejercicio: Realiza un algoritmo para averiguar si un año leído del teclado es o no bisiesto
Inicio
Mostrar Introduce el año
Leer anio
Si (anio MOD 4 = 0) y (año MOD 100 < > 0) o (año MOD 400 = 0) entonces
Mostrar “el año es bisiesto”
Si_no
Mostrar “el año no es bisiesto”
Fin_si
Fin
ALTERNATIVA MULTIPLE (SEGÚN_SEA, CASO DE / CASE)
La estructura de decisión multiple evaluará una
expresión que podrá tomar n valores distintos,
1,2,3,4,…, n. según que elija uno de estos
valores en la condición, se realizara una de las n
acciones, o lo que es igual, el flujo del algoritmo
seguirá un determinado camino entre los n
posibles.
Se desea diseñar un algoritmo que
escriba los nombres de los días de la
semana en función del valor de una
variable DIA introducida por el teclado.
Inicio
Mostrar “introduce el número del dia”
Leer dia
Según_sea DIA hacer
1. Mostrar (“Lunes”)
2. Mostrar (“Martes”)
3. Mostrar (“Miercoles”)
4. Mostrar (“Jueves”)
5. Mostrar (“Viernes”)
6. Mostrar (“Sabado”)
7. Mostrar (“Domingo”)
Si-no
Mostrar “error”
Fin-según
Fin
Ejercicio: se desea convertir las
calificaciones alfabéticas A,B,C,D y E a
calificaciones numéricas 4,5,6,7 y 8
respectivamente. Los valores de a,b,c, se
representan por la variable LETRA:
Inicio
Mostrar “introduce calificación en letra”
Leer letra
Según_sea letra hacer
A. Mostrar (“calificación 4”)
B. Mostrar (“calificación 5”)
C. Mostrar (“calificación 6”)
D. Mostrar (“calificación 7”)
E. Mostrar (“calificación 8”)
Si-no
Mostrar “error”
Fin-según
Fin

Est de control topdown

  • 1.
    PROGRAMACION ESTRUCTURADA La programaciónestructurada significa escribir un programa de acuerdo a las siguientes reglas: a) El programa tiene un diseño modular b) Los módulos son diseñados de modo descendente c) Cada módulo se codifica utilizando las tres estructuras de control básicas: secuencial, selección y repetición. El término de programación estructurada se refiere a un conjunto de técnicas que han ido evolucionando desde los primeros trabajos de Edgar Dijksra. Estas técnicas aumentan considerablemente la productividad del programa reduciendo en elevado grado el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los programas y por consiguiente reducen los errores; hace los programas más fáciles de escribir, verificar, leer y mantener. Los programas deben estar dotados de una estructura. La programación estructurada es el conjunto de técnicas que incorporan: - Recursos abstractos - Diseño descendente (top-down) - Estructuras básicas. TECNICAS DE SEGMENTACION Plantea que un problema se puede dividir en problemas más pequeños (módulos) y más simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultado de la solución total de éste. La forma gráfica que lo representa es la siguiente Modulo principal Modulo 1 Modulo 2 Modulo 3
  • 2.
    El diseño descendente(top-down) es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento (stepwise). La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionasen unas con otras mediante entradas y salidas de información. Es decir, se descompone el problema en etapas o estructuras jerárquicas, de forma que se puede considerar cada estructura desde dos puntos de vista ¿Qué hace? Y ¿Cómo lo hace? Si se considera un nivel n de refinamiento, las estructuras se consideran de la siguiente manera: Estructuras de Control Son métodos de especificar el orden en que las instrucciones de un algoritmo se ejecutan. El orden de ejecución de las sentencias o instrucciones determinan el flujo de control Son fundamentales en los lenguajes de programación y en los diseños de algoritmos. Existen 3 tipos de estructuras de control: • Secuencial • Selectiva • Repetitiva
  • 3.
    Estructura Secuencial Es aquellaen la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el final del proceso. Ejemplo: Calcular la suma de dos números Ejercicio: Se trata de calcular el salario neto de un trabajador en función del número de horas trabajadas, precio de la hora de trabajo y considerando unos descuentos fijos, el sueldo bruto en conjunto de impuestos (20%) Leer (nombre, horas, precio_hora) Salario bruto horas*precio hora Impuestos 0.20 *salario bruto Salario netosalario bruto-impuestos Escribir nombre, salariobruto, salario neto Acción 1 Acción 2 Acción 3
  • 4.
    ESTRUCTURAS SELECTIVAS La estructuraselectiva se utiliza para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas. En las estructuras selectivas se evalúa una condición y en función del resultado de la misma se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La representación se hace con palabras en pseudocódigo (if, then, else; en español si, entonces, si no) con el símbolo de decisión. Las estructuras selectivas o alternativas pueden ser: a) Simples b) Dobles c) Múltiples ALTERNATIVA SIMPLE (SI-ENTONCES / IF-THEN) La estructura alternativa simple si-entonces (if-then) ejecuta una determinada acción cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y:  Si la condición es verdadera, entonces ejecuta la acción SI  Si la condición es falsa, entonces no hacer nada Esta es la representación gráfica de la estructura condicional simple:
  • 5.
    ALTERNATIVA DOBLE (SI-ENTONCES-SINO / IF-THEN-ELSE) La estructura anterior es muy limitada y normalmente se necesitará una estructura que permita elegir entre dos opciones o alternativas posibles, en función del cumplimiento o no de una determinada condición. Si la condición C es verdadera, se ejecuta la acción S1 y si es falsa, se ejecuta la acción S2. Inicio Mostrar Introduce un número Leer n Si n>0 entonces Mostrar “el número es positivo” Si_no Mostrar “el número es negativo” Fin_si Fin Ejercicio: Realiza un algoritmo para averiguar si un año leído del teclado es o no bisiesto Inicio Mostrar Introduce el año Leer anio Si (anio MOD 4 = 0) y (año MOD 100 < > 0) o (año MOD 400 = 0) entonces Mostrar “el año es bisiesto” Si_no Mostrar “el año no es bisiesto” Fin_si Fin
  • 6.
    ALTERNATIVA MULTIPLE (SEGÚN_SEA,CASO DE / CASE) La estructura de decisión multiple evaluará una expresión que podrá tomar n valores distintos, 1,2,3,4,…, n. según que elija uno de estos valores en la condición, se realizara una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. Se desea diseñar un algoritmo que escriba los nombres de los días de la semana en función del valor de una variable DIA introducida por el teclado. Inicio Mostrar “introduce el número del dia” Leer dia Según_sea DIA hacer 1. Mostrar (“Lunes”) 2. Mostrar (“Martes”) 3. Mostrar (“Miercoles”) 4. Mostrar (“Jueves”) 5. Mostrar (“Viernes”) 6. Mostrar (“Sabado”) 7. Mostrar (“Domingo”) Si-no Mostrar “error” Fin-según Fin Ejercicio: se desea convertir las calificaciones alfabéticas A,B,C,D y E a calificaciones numéricas 4,5,6,7 y 8 respectivamente. Los valores de a,b,c, se representan por la variable LETRA: Inicio Mostrar “introduce calificación en letra” Leer letra Según_sea letra hacer A. Mostrar (“calificación 4”) B. Mostrar (“calificación 5”) C. Mostrar (“calificación 6”) D. Mostrar (“calificación 7”) E. Mostrar (“calificación 8”) Si-no Mostrar “error” Fin-según Fin