PDF de programación - Instrucciones estructuradas

Imágen de pdf Instrucciones estructuradas

Instrucciones estructuradasgráfica de visualizaciones

Publicado el 26 de Abril del 2020
468 visualizaciones desde el 26 de Abril del 2020
379,3 KB
39 paginas
Creado hace 13a (20/08/2010)
Instrucciones estructuradas

Para escribir programas que traten problemas más arduos es
necesario combinar las acciones primitivas para producir otras
acciones más complejas.

Estos tres métodos se describen informalmente como sigue:

•La forma más simple de concatenar acciones es la composición, en
ella se describe una tarea compleja como una sucesión de tareas
más elementales.

•La selección de una alternativa tras valorar una determinada
circunstancia se refleja mediante las instrucciones if (en sus dos
formas) y case.

•Finalmente, las instrucciones repetitivas (while, for y repeat)
permiten expresar en Pascal la repetición de acciones, ya sea un
número de veces prefijado o no.

Instrucciones estructuradas

En Pascal la composición de instrucciones se realiza concatenando las

instrucciones y separándolas con el carácter punto y coma (;). La
construcción de una instrucción compleja como una sucesión de
instrucciones simples se muestra en el siguiente segmento de
programa, que intercambia los valores de dos variables numéricas a
y b sin hacer uso de ninguna variable auxiliar:

Instrucciones de selección

La instrucción if-then-else
• Es el equivalente en Pascal a una expresión condicional del tipo si
apruebo entonces iré de vacaciones y si no tendré que estudiar en
verano, con la cual se indica que dependiendo del cumplimiento o
no de una condición se hará una cosa u otra.

A efectos de la colocación de los puntos y comas debe tenerse en cuenta
que toda la construcción if-then-else corresponde a una sola instrucción,
y no es una composición de las instrucciones if, then y else; en particular,
la aparición de un punto y coma justo antes de un then o de un else dará
como resultado un error sintáctico (bastante frecuente, por cierto)

Instrucciones de selección

La instrucción case
La instrucción case permite la selección entre una cantidad variable de posibilidades, es

decir, es una sentencia de selección múltiple. Un ejemplo de esta selección en
lenguaje natural podrá ser el siguiente \menú semanal": según sea el día de la semana,
hacer lo siguiente: lunes, miércoles y viernes tomar pescado, martes, jueves y sábado
tomar carne, el domingo comer fuera de casa.

Esta instrucción consta de una expresión (llamada selector ) y una lista de sentencias

etiquetadas por una o varias constantes del mismo tipo que el selector; al ejecutarse
esta instrucción se evalúa el valor actual del selector y se ejecuta la instrucción que
tenga esa etiqueta, si no existe ninguna instrucción con esa etiqueta se produce un
error

Instrucciones de iteración

Instrucciones de iteración

Las instrucciones iterativas permiten especficar que ciertas acciones sean
ejecutadas repetidamente; esto es lo que se llama usualmente un bucle.

Se dispone en Pascal de tres construcciones iterativas (while, repeat y for), no

obstante se puede demostrar que todas ellas pueden ser especificadas
sólo con la instrucción while.

La instrucción while
• En algunas ocasiones es necesario especificar una acción que se repite

siempre que se cumpla una determinada condición; una frase en lenguaje
natural tal como mientras haga calor usar manga corta es un ejemplo de
este tipo de construcciones.

• En Pascal esta construcción se hace mediante la instrucción while.

Instrucciones de iteración

La instrucción repeat

• Cómo se podrá modificar el ejemplo anterior para que fuera válido también para

quien no sabe qué tiempo hace fuera hasta que ya es demasiado tarde?

• Una forma será llevar un jersey puesto hasta que haga calor; de este modo se



evitarán bastantes enfriamientos indeseados.
La instrucción repeat permite la construcción de bucles similares al de este último
ejemplo, con características ligeramente distintas a la del bucle while.

En este tipo de bucles las palabras reservadas repeat y until funcionan
como delimitadores, no siendo necesario usar begin-end para delimitar la
lista de instrucciones.

Programación estructurada

Introducción (diferentes características)











La corrección del programa que, obviamente, es el criterio indispensable, en
el sentido de que se desean obtener programas correctos que resuelvan El
(los) problema(s) para los que están diseñados.

La comprensibilidad, que incluye la legibilidad y la buena documentación,
características que permiten una mayor facilidad y comodidad en el
mantenimiento de los programas.

La eficiencia, que expresa los requerimientos de memoria y el tiempo de
ejecución del programa.

La flexibilidad o capacidad de adaptación del programa a variaciones del
problema inicial, lo cual permite la utilización del programa durante mayor
tiempo.

La transportabilidad, que es la posibilidad de usar el mismo programa sobre
distintos sistemas sin realizar cambios notables en su estructura.

Programación estructurada

• Las ideas que dieron lugar a la programación estructurada ya fueron
expuestas por E.W. Dijkstra en 1965, aunque el fundamento teórico
(teoremas de la programación estructurada) está basado en los
trabajos de Bóhm Jacopini publicados en 1966.

• La programación estructurada es una técnica de programación cuyo

objetivo es, esencialmente, la obtención de programas fiables y
fácilmente mantenibles. Su estudio puede dividirse en dos partes
bien diferenciadas: por un lado su estudio conceptual teórico, y por
otro su aplicación práctica.

• Por una parte, el estudio conceptual se centra en ver qué se

entiende por programa estructurado para estudiar con detalle sus
características fundamentales.

• Por otra parte, dentro del enfoque práctico se presentará la

metodología de refinamientos sucesivos que permite construir
programas estructurados paso a paso, detallando cada vez m¶as
sus acciones componentes.

Programación estructurada

Programas y diagramas de flujo

• Una práctica muy común de programación ha sido la utilización de

diagramas de flujo (también llamados organigramas) como una
descripción gráfica del algoritmo que se pretende programar. Sin
embargo, esta popularidad ha ido menguando debido al débil (o
nulo) soporte riguroso de su utilización; nosotros presentaremos los
diagramas de flujo precisamente para mostrar lo que no es
programación estructurada.

• Para comprender mejor los problemas que surgen del uso

incorrecto de los diagramas de flujo es necesario conocerlos un
poco. Un diagrama de flujo se compone de bloques (que
representan las acciones y las decisiones) y de líneas (que indican
el encadenamiento entre los bloques).

Programación estructurada

Los bloques de un diagrama de flujo

pueden ser de cuatro clases
distintas

• Símbolos terminales, que indican el
principio y el final del algoritmo. Se
representan usando óvalos.

• Símbolos de entrada y salida de

datos. Respectivamente, significan
lectura y escritura.

• Bloques de procesamiento de datos,

que realizan operaciones con los
datos leídos o con datos privados.
Se representan mediante
rectángulos que encierran la
especificación del proceso.

• Nudos de decisión, en los que se

elige entre dos o más alternativas.
Según las alternativas sean dos
(generalmente dependiendo de una
expresión lógica) o más de dos.

Programación estructurada

Diagramas y diagramas propios

Diagramas y diagramas propios

Se destaca la subclase de los diagramas propios, que representan, desde cierto punto

de vista, a los programas correctamente estructurados.

En este apartado se restringe el concepto de diagrama, que será utilizado

• más adelante en la definición de programa estructurado. Consideraremos que





un diagrama se construye usando como elementos básicos únicamente las tres

siguientes piezas:

Acción, que sirve para representar una
instrucción (por ejemplo de lectura,
escritura, asignación. . . ).

Condición, que sirve para bifurcar el flujo
del programa dependiendo del
valor (verdadero o falso) de una expresión
lógica.

Agrupamiento, que sirve, como su nombre
indica, para agrupar l¶³neas de
flujo con distintas procedencias.

Diagramas propios: Se dice que un diagrama, construido con los

elementos citados arriba, es un diagrama propio (o limpio) si reúne
las dos condiciones siguientes:

1. Todo bloque posee un único punto de entrada y otro único punto de

salida.

2. Para cualquier bloque, existe al menos un camino desde la entrada

hasta el y otro camino desde el hasta la salida.

Diagramas BJ (de Bóhm y Jacopini)

Un diagrama se dice que es un diagrama BJ
(diagrama privilegiado), si está construido
a partir de los siguientes esquemas:

Programas estructurados

Definición: Diremos que un diagrama representa a

un programa estructurado si está formado
combinando los diagramas privilegiados de
secuencia, selección y/o repetición.

Todo programa estructurado presenta una

descomposición arborescente en la que cada
nodo se corresponde directamente con una
instrucción de Pascal o con una condición.

Cualquier acción (instrucción o subprograma) de
un programa estructurado puede ser sustituida
por su descomposición arborescente y viceversa.

Equivalencia de diagramas

Dos diagramas propios se dice que son equivalentes si designan los
mismos cálculos; esto es, si para una misma entrada de datos las
líneas de flujo llevan a bloques idénticos.

Teoremas de la programación estructurada

• La corrección de un programa

estructurado se puede estudiar mediante
pasos sucesivos, examinando cada
esquema (nodo) de su estructura
arborescente y validando localmente la
descomposición realizada en ese nodo.

Aspectos metodológicos

En este apartado comienza la exposición de la técnica de diseño

descendente, que permite aplicar la teoría introducida para construir
programas estructurados.

La técnica de diseño descendente (en inglés, top-down) está basada

en un proceso de aproximación sucesiva a la solución del problema
planteado. El apelativo de diseño descendente surge del hecho de
que se parte de una es
  • Links de descarga
http://lwp-l.com/pdf17563

Comentarios de: Instrucciones estructuradas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad