SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Lenguajes de Programación:
Estructuras de Control
doras.
Estructuras básicas
La programación estructurada es una forma de escribir programas de
computadora deforma clara, utilizando únicamente tres estructuras:
secuencia, selección e
de
iteración; siendo innecesario y no
depermitiéndose el uso la instrucción o instrucciones
transferencia incondicional.
La programación estructurada surge a finales de los años 1960 con el
objetivo de realizar programas confiables y eficientes, y que además
fueran escritos de manera de facilitar su comprensión posterior.
Hoy en día las aplicaciones informáticas son mucho más ambiciosas
que las necesidades de aquellos años, por lo que se desarrollaron
nuevas técnicas, tales como la programación orientada a objetos y el
desarrollo de entornos de programación que facilitan la programación
de grandes aplicaciones.
De todas formas, el paradigma estructurado tiene vigencia en
muchos ámbitos de desarrollo de programas y constituye una buena
forma de iniciarse en la programación de computa
Estructuras básicas
El teorema del programa
estructurado,
demuestra que
de
todo
Böhm-Jacopini,
programa puede
escribirse utilizando únicamente las
tres instrucciones de control
siguientes:
.
Estructuras básicas
N o
NO Condicion NO CondicionSI SI
1 2
d icion N o
S I
.
io n esA c c
C on
Accion AccionAccion
A C C I O N 1
A C C I O N 2
A C C I O N N
C o n
S
d ic io n
i
A c c io n e s
Estructuras básicas
El flujo de control de un programa
La expresión flujo de control hace referencia al orden en el que se
ejecutarán las instrucciones de un programa, desde su comienzo hasta
que finaliza. El flujo normal de ejecución es el secuencial. Si no se
programa empezaría por la
a una en el orden en que
especifica lo contrario, la
primera instrucción e iría
aparecen, hasta llegar a la
ejecución de un
procesando una
última.
Algunos programas muy simples pueden escribirse sólo con este flujo
unidireccional. No obstante, la mayor eficacia y utilidad de cualquier
lenguaje de programación se deriva de la posibilidad de cambiar el orden
de ejecución según la necesidad de elegir uno de entre varios caminos en
función de ciertas condiciones, o de ejecutar algo repetidas veces, sin
tener que escribir el código para cada vez.
Con frecuencia, el programador necesita que el programa no se
comporte sólo de modo secuencial. Por ejemplo, calcular una funcion f(x)
para los X > 0.
.
Estructuras básicas
El flujo de control de un programa
También puede ocurrir que interese que un grupo de instrucciones se
ejecute repetidamente hasta que se le indique que se detenga. Por
ejemplo, calcular el promedio de notas para cada uno de los alumnos de
un curso, o realizar algún cálculo con cada uno de los elementos de un
vector.
Para las dos situaciones planteadas existen dos soluciones: las
que
con
sentencias de control selectivas y las repetitivas. Éstas permiten
el flujo secuencial del programa sea modificado. También cumplen
este objetivo las sentencias denominadas de invocación o salto.
.
Estructuras básicas
Según lo expresado, las estructuras de decisión simple y doble
permiten seleccionar entre dos alternativas posibles. Sin embargo, la
instrucción SI-ENTONCES puede ser utilizada también en casos de
selección de más de dos alternativas. Esto es posible anidando estas
instrucciones. Es decir, una estructura SI-ENTONCES puede contener a
otra, y esta a su vez a otra.
siguiente:
La representación en pseudocódigo es la
Como se puede
de
permite
observar, el
anidamiento
alternativas
instrucciones
ir descartando
al bloque deSI <condición_1> ENTONCES
< sentencias_1 >
SINO
SI <condición_2> ENTONCES
< sentencias_2 >
SINO
SI <condición_3> ENTONCES
< sentencias_3 >
SINO
.
.
FIN-SI
FIN-SI
FIN-SI
valores hasta llegar
instrucciones que se debe ejecutar.
En las instrucciones SI anidadas, las
instrucciones ENTONCES y FIN-SI se
aplican automáticamente a la
instrucción SI anterior más próxima.
A fin de que las estructuras anidadas
sean más fáciles de leer, es práctica
habitual aplicar sangría al cuerpo de
cada una.
.
Estructuras básicas
Ejemplo: Un sensor toma (lee) la temperatura ambiente y de
acuerdo al rango en que se encuentre, debe emitir un mensaje.
La escala es la siguiente:
Mayor que 100 “Temperatura muy alta – Mal funcionamiento”
Entre 91 y 100 “Rango normal”
Entre 51 y 90 “Bajo el rango normal”
Menor que 50 “Muy frío – Apague el equipo”
ALGORITMO Sensor
INICIO
LEER temperatura
SI temperatura > 100 ENTONCES
ESCRIBIR “Temperatura muy alta – Mal funcionamiento”
SINO
SI temperatura > 90 ENTONCES
ESCRIBIR “Rango normal”
SINO
SI temperatura > 50 ENTONCES
ESCRIBIR “Bajo el rango normal”
SINO
ESCRIBIR “Muy frío – Apague equipo”
FIN-SI
FIN-SI
FIN-SI
FIN.
Estructuras básicas
La sentencia IR-A (go to)
La sentencia GO TO pertenece a un grupo de sentencias conocidas
como sentencias de salto (jump). La característica de este grupo es
hacer que el flujo de control salte a otra parte del programa. Otras
sentencias de este grupo son interrumpir o romper (BREAK),
continuar (CONTINUE), volver (RETURN), lanzar (THROW). Las dos
primeras se utilizan generalmente con sentencias de alternativa
múltiple. Para retornar de la ejecución de funciones o métodos se
usa RETURN.
La sentencia GO TO se utilizaba mucho en los primeros lenguajes de
programación porque era la única manera de saltar de una
instrucción del programa a otra.
Esta instrucción consta de una sentencia IR_A y una sentencia
asociada con una etiqueta.
Cuando se ejecuta esta instrucción, se transfiere el control del
programa a la etiqueta asociada.
.
La sentencia IR-A (go to)
La representación en pseudocódigo es la siguiente:
INICIO
.
.
IR_A etiqueta_1
.
. FIN
etiqueta_1:
. // El flujo salta aquí
El efecto de esta instrucción es transferir sin
etiqueta especificada. Es una de las operaciones
condiciones el control del programa a la
más primitivas para traspasar el control de
una parte del programa a otra. Sin
incompleto o complicado de mantener.
surgió la programación estructurada, la
sentencias de control (IF ó bucles FOR y
embargo, su uso produce código inconsistente,
Justamente por ello en los años 60 y 70, cuando
comunidad informática se expresó a favor de otras
DO-WHILE) en lugar del GOTO.
.
Estructuras básicas
Estructuras básicas
La sentencia IR-A (go to)
Tal creencia está tan arraigada que el GOTO es muy criticado y
ladesaconsejado
programación.
por todos los que se dedican a la enseñanza de
Si bien la instrucción GOTO puede
donde
parecer útil y muy flexible,
motivos
es
deprecisamente en esa flexibilidad radica su peligro y los
su obsolescencia.
.
Estructuras básicas
En muchas ocasiones la forma más apropiada de expresar
algoritmo consiste en la repetición de una misma instrucción
manera controlada, una cantidad finita de veces determinada
un
de
de
antemano (al diseñar el programa) o en tiempo de ejecución
(cada vez que se corre el programa).
Por ejemplo, podría ser necesario diseñar un algoritmo similar al
de los cajeros automáticos, que solicite una clave al usuario y
bloquee el acceso en caso de no ingresar la contraseña correcta
luego de tres intentos. O bien, si se desea procesar grupos de
datos ingresados por teclado o leídos desde un archivo, hasta que
no se encuentren más datos.
Las estructuras algorítmicas que permiten realizar operaciones de este
tipo se conocen con el nombre de estructuras repetitivas o iterativas.
Definicion: Las estructuras que repiten una secuencia de
instrucciones un número determinado de veces se
denominan repetitivas o bucles; y se denomina iteración
a la ejecución de cada repetición.
.
Estructuras básicas
Ejemplo
Se desea sumar una lista de números que ingresa desde teclado
(por ejemplo, edades de los alumnos de una clase). El
algoritmo debería
SUMA que contenga
ingresar el valor y sumarlo a una variable
las sucesivas sumas parciales.
ALGORITMO
INICIO
Suma=0
suma
LEER
Suma
LEER
Suma
….
FIN
número
= suma + número
número
= suma + número
.
Es evidente que el método no es óptimo, pero el ejemplo sirve para
identificar las instrucciones que se repiten. En este caso, el bucle está
formado por las instrucciones:
LEER número
suma = suma + número
y la cantidad de iteraciones estará relacionada con el número de
alumnos que se procesen durante la ejecución.
Entonces, las dos cuestiones importantes cuando se utilizan
estructuras repetitivas son:
se repite?
¿qué contiene el bucle? y ¿cuántas veces
Las estructuras repetitivas
produce la condición de fin
se diferencian en la forma en que se
del bucle y deberá utilizarse aquella más
apropiada al problema particular de que se trate.
A continuación, veremos las más usuales:
.
Estructuras básicas
Estructuras básicas
6.3.1 La estructura PARA (for)
Problema: Se desea un
1 y
programa
99.
que muestre en pantalla los
números pares entre
INICIO
ESCRIBIR
ESCRIBIR
[…]
ESCRIBIR
ESCRIBIR
FIN
2
4
96
98
Se dijo que la computadora es muy hábil para repetir tareas sencillas,
como la del problema. Cuando se necesita que la computadora repita.
una operación, con una pequeña variación cada vez, se deben identificar
49
Estructuras básicas
6.3.1 La estructura PARA (for)
Problema: Se desea un programa que muestre en pantalla los
números pares entre 1 y 99.
En este caso, lo que se desea es una secuencia de números pares,
que van desde 2 hasta 98. Estos números pueden expresarse como 2
x k, siendo k un entero que varía entre 1 y 98/2 = 49.
Cuando se conoce exactamente la cantidad de veces que es necesario
repetir una instrucción, la estructura más apropiada para
caso
expresarlo
como algoritmo es la estructura PARA. En este se puede
escribir:
INICIO
PARA k DESDE 1
*
HASTA
2ESCRIBIR
FIN-PARA
FIN
k
.
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
6.3.1 La estructura PARA (for)
Problema: Se desea un programa que muestre en pantalla los
números pares entre 1 y 99.
En este caso, lo que se desea es una secuencia de números pares,
que van desde 2 hasta 98. Estos números pueden expresarse como 2
x k, siendo k un entero que varía entre 1 y 98/2 = 49.
Cuando se conoce exactamente la cantidad de veces que es necesario
repetir una instrucción, la estructura más apropiada para expresarlo
como algoritmo es la estructura PARA. En este caso se puede
escribir:
INICIO
PARA k DESDE 1 Otra opción sería:
INICIO
PARA i DESDE 2 HASTA 98 INCREMENTO 2
ESCRIBIR i
FIN-PARA
FIN
HASTA 49
ESCRIBIR
FIN-PARA
FIN
k * 2
.
Estructuras básicas
6.3.1 La estructura PARA (for)
Si ahora se solicita:
Problema: Se desea un programa
que muestre en pantalla los
200.números pares entre 1 y
la solución mantiene su sencillez de expresión:
INICIO
PARA N DESDE
2
N HASTA 200
INCREMENTO
ESCRIBIR i.
6.3.1 La estructura PARA (for)
La estructura
es:
PARA en forma general
PARA variable DESDE inicial HASTA final [INCREMENTO incremento]
INSTRUCCIÓN
[…]
INSTRUCCIÓN
FIN-PARA
Donde:
variable es el nombre de una variable de tipo numérico, en particular entero,
definida en el programa, cuyos valores
repetición. Es común utilizar como nombre
de la palabra índice (index en inglés), y si
se irán modificando en cada
de esta variable i, que proviene
se utilizan varias instrucciones
PARA, emplear las letras siguientes del abecedario: j, k, l.
inicial es el valor que toma la variable en la primera repetición.
final es el valor que toma la variable en la última repetición..
Estructuras básicas
Estructuras básicas
6.3.2 La estructura MIENTRAS (while…do) y la estructura
HASTA (repeat…until)
En algunos casos no se conoce de antemano la cantidad de veces que
será necesario repetir un conjunto de instrucciones para solucionar el
problema, o bien es conveniente que estas instrucciones sean
repetidas hasta alcanzar una determinada condición (llamada
condición de parada). En estas situaciones se emplean estructuras
repetitivas más generales que PARA, como las estructuras
MIENTRAS y HASTA.
.
Estructuras básicas
6.3.2 La estructura MIENTRAS (while…do) y la estructura HASTA
(repeat…until)
Problema: Se desea un programa que calcule e informe el precio de
una llamada telefónica, a partir del número de minutos ingresado
por el operador, sabiendo que el precio por minuto es de $0,23.
Esta operación debe repetirse cada vez que el operador ingrese
una cantidad
contrario.
de minutos mayor que 0, y detenerse en caso
Como se desconoce la cantidad de veces que se repetirá el
cálculo del precio, y tampoco puede solicitarse al operador que
indique este dato al inicio del programa,
apropiada para resolver el problema.
la estructura PARA no es
INICIO
LEER minutos
HACER
precio = minutos * 0,23
ESCRIBIR precio
LEER minutos
HASTA minutos <= 0
FIN.
Estructuras básicas
6.3.2 La estructura MIENTRAS (while…do) y la estructura HASTA
(repeat…until)
Puede cuestionarse que si el operador ingresa un número menor que 0 la
primera vez, el programa mostrará
nuevo dato antes de detenerse.
un valor incorrecto y solicitará un
Una solución alternativa
INICIO
LEER minutos
sería:
En este caso, el operador puede ingresar un número
menor o igual a cero la primera vez que el programa
le solicita un dato, y el programa se detendrá sin
informar un precio erróneo.
MIENTRAS minutos > 0
precio = minutos
ESCRIBIR precio
LEER minutos
FIN-MIENTRAS
* 0,23
Es importante notar que las condiciones de parada
son diferentes. Existen muchas posibilidades
expresar la solución a este problema
para
FIN
.
Estructuras básicas
6.3.2 La estructura MIENTRAS (while…do)
(repeat…until)
La estructura MIENTRAS tiene la forma:
y la estructura HASTA
MIENTRAS condición
INSTRUCCIÓN
[…]
INSTRUCCIÓN
FIN-MIENTRAS
Al ejecutarse se evalúa condición, y en caso de resultar verdadera se
ejecutan las instrucciones del bloque, mientras condición mantenga
verdadero.
su valor
La estructura HASTA toma la forma:
HACER
INSTRUCCIÓN
[…]
INSTRUCCIÓN
HASTA condición
. Se dice que MIENTRAS y HASTA son formas más generales de iterar que
Estructuras básicas
Problema: Se desea un programa que muestre en pantalla
los números pares entre
que se resolvió utilizando PARA
INICIO
PARA k DESDE 1 HASTA 49
1 y 99.
de la siguiente manera:
ESCRIBIR k
FIN-PARA
FIN
* 2
también puede
MIENTRAS:
expresarse utilizando
O utilizando HASTA:
INICIO
k = 1
MIENTRAS
INICIO
k = 1
HACER
ESCRIBIR k * 2
k = k + 1
HASTA k > 49
FIN
k <= 49
ESCRIBIR k
k = k + 1
FIN-MIENTRAS
FIN
* 2
.
Estructuras básicas
Instrucción INTERRUMPIR
(BREAK)
Esta instrucción se utiliza cuando se desea terminar un bucle en un
lugar determinado del cuerpo del bucle sin esperar a que este
termine de modo natural por su entrada o su salida. Esta instrucción
corta el ciclo de ejecución, debe ser utilizada con precaución.
Ejemplo:
LEER número
HACER
IF número <= 0 INTERRUMPIR
suma
LEER
= suma + número
número
.
HASTA número > 100
Estructuras básicas
Instrucción CONTINUAR
(CONTINUE)
Esta instrucción hace que el flujo de ejecución salte el resto de un cuerpo
del bucle para continuar con el siguiente bucle o iteración. Esta
característica suele ser útil en algunas condiciones.
Ejemplo:
PARA i DESDE 0 HASTA 20
SI (i mod 4 = 0 ) ENTONCES
CONTINUAR
FIN-SI
ESCRIBIR
FIN-PARA
i, “ , “
.
Estructuras básicas
En un algoritmo puede existir y es muy frecuente que existan 2 o más
bucles. Dependiendo de la forma en que estén dispuestos, estos
pueden ser anidados o independientes.
Decimos que los bucles están anidados cuando están dispuestos de
forma tal que unos son interiores a otros; y los bucles serán
independientes cuando son extremos unos con otros.
Así como se podían anidar estructuras de selección, también es posible
insertar un bucle dentro de otro. Las reglas para construir estructuras
repetitivas anidadas son iguales en ambos casos: la estructura interna
debe estar incluida
solapamiento.
totalmente dentro de la externa y no puede existir
.
Estructuras básicas
PE RM ITID AS Y PR O HIB ID
A S
IND EP EN D IE NT
E S
AN IDA D A
S
N ID O S C R UZAD O
S
SA LIR D EL B U CL
E
EN TR AR A L BU C L
E
.
Estructuras básicas
.

Más contenido relacionado

La actualidad más candente

Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaCataMaya2
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaLuis Miguel
 
Estructuras de control repetitivo
Estructuras de control repetitivoEstructuras de control repetitivo
Estructuras de control repetitivoyeisoncenteno1
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de controlmariaisabelg
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en cArmando Jori
 
5.2 instruccion switch
5.2  instruccion switch5.2  instruccion switch
5.2 instruccion switchSNPP
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónIng Cabrera
 

La actualidad más candente (12)

Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
Ordinogramas
OrdinogramasOrdinogramas
Ordinogramas
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Estructuras de control repetitivo
Estructuras de control repetitivoEstructuras de control repetitivo
Estructuras de control repetitivo
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
5.2 instruccion switch
5.2  instruccion switch5.2  instruccion switch
5.2 instruccion switch
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Yy
YyYy
Yy
 

Similar a Lenguajes Programación: Estructuras Control

Estructuras complejas de datos (Programación estructurada)
Estructuras complejas de datos (Programación estructurada)Estructuras complejas de datos (Programación estructurada)
Estructuras complejas de datos (Programación estructurada)KareliaRivas
 
programación
programaciónprogramación
programaciónlaura2041
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNKarol Moreno
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaRubixita12
 
Pricipios de Programación
Pricipios de Programación Pricipios de Programación
Pricipios de Programación Adolfo Vazcoy
 
Python_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptxPython_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptxFedericoMartearena
 
Actividad de Inicio Programación
Actividad de Inicio ProgramaciónActividad de Inicio Programación
Actividad de Inicio ProgramaciónYesicaMendoza18
 
Seudocodigos1
Seudocodigos1Seudocodigos1
Seudocodigos1jafp21
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN Karol Moreno
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyradaguestefc95b
 
Lenguaje maquina
Lenguaje maquinaLenguaje maquina
Lenguaje maquinaErnes 28
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica IINoe Altamirano
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica iiNoe Altamirano
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaMariannis Ortega
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaMariannis Ortega
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 

Similar a Lenguajes Programación: Estructuras Control (20)

Estructuras de Control
Estructuras de Control Estructuras de Control
Estructuras de Control
 
Estructuras complejas de datos (Programación estructurada)
Estructuras complejas de datos (Programación estructurada)Estructuras complejas de datos (Programación estructurada)
Estructuras complejas de datos (Programación estructurada)
 
programación
programaciónprogramación
programación
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
Pricipios de Programación
Pricipios de Programación Pricipios de Programación
Pricipios de Programación
 
Python_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptxPython_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptx
 
Actividad de Inicio Programación
Actividad de Inicio ProgramaciónActividad de Inicio Programación
Actividad de Inicio Programación
 
Seudocodigos1
Seudocodigos1Seudocodigos1
Seudocodigos1
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Sophia leonzio tarea4
Sophia leonzio tarea4Sophia leonzio tarea4
Sophia leonzio tarea4
 
Lenguaje maquina
Lenguaje maquinaLenguaje maquina
Lenguaje maquina
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica II
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica ii
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Evolución de la programación
Evolución de la programaciónEvolución de la programación
Evolución de la programación
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 

Más de Jaime Alberto Sousa Adames

Practicas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menorPracticas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menorJaime Alberto Sousa Adames
 
Rubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de InformáticaRubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de InformáticaJaime Alberto Sousa Adames
 
Rubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de ContenidoRubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de ContenidoJaime Alberto Sousa Adames
 
Rubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de MetodologíaRubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de MetodologíaJaime Alberto Sousa Adames
 
Metodología de la Investigación - Conceptos básicos
Metodología de la Investigación  -  Conceptos básicosMetodología de la Investigación  -  Conceptos básicos
Metodología de la Investigación - Conceptos básicosJaime Alberto Sousa Adames
 
Metodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECsMetodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECsJaime Alberto Sousa Adames
 
Metodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software EducativoMetodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software EducativoJaime Alberto Sousa Adames
 

Más de Jaime Alberto Sousa Adames (20)

Guía básica para programar en PSeint
Guía básica para programar en PSeintGuía básica para programar en PSeint
Guía básica para programar en PSeint
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación
 
Practicas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menorPracticas de flujogramas 5 - mayor de 3 números y menor
Practicas de flujogramas 5 - mayor de 3 números y menor
 
Rubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de InformáticaRubrica de Evaluación de Experto de Informática
Rubrica de Evaluación de Experto de Informática
 
Rubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de ContenidoRubrica de Evaluación de Experto de Contenido
Rubrica de Evaluación de Experto de Contenido
 
Rubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de MetodologíaRubrica de Evaluación de Experto de Metodología
Rubrica de Evaluación de Experto de Metodología
 
Evaluación de Software Educativo - 2021
Evaluación de Software Educativo - 2021Evaluación de Software Educativo - 2021
Evaluación de Software Educativo - 2021
 
Resolución de Problemas
Resolución de ProblemasResolución de Problemas
Resolución de Problemas
 
Metodología de la Investigación - Conceptos básicos
Metodología de la Investigación  -  Conceptos básicosMetodología de la Investigación  -  Conceptos básicos
Metodología de la Investigación - Conceptos básicos
 
Metodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECsMetodología para Selección o Desarrollo de MECs
Metodología para Selección o Desarrollo de MECs
 
Metodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software EducativoMetodologías para el Desarrollo de Software Educativo
Metodologías para el Desarrollo de Software Educativo
 
Flujogramas 2021
Flujogramas 2021Flujogramas 2021
Flujogramas 2021
 
Modulo 1 - Qué es un Software Educativo
Modulo 1 - Qué es un Software EducativoModulo 1 - Qué es un Software Educativo
Modulo 1 - Qué es un Software Educativo
 
Modulo 1 -_algoritmos
Modulo 1 -_algoritmosModulo 1 -_algoritmos
Modulo 1 -_algoritmos
 
Modulo 1 resolucion de problemas
Modulo 1   resolucion de problemasModulo 1   resolucion de problemas
Modulo 1 resolucion de problemas
 
Introducción al PSeint
Introducción al PSeintIntroducción al PSeint
Introducción al PSeint
 
Guía de la herramienta PSeint
Guía de la herramienta PSeintGuía de la herramienta PSeint
Guía de la herramienta PSeint
 
Practicas de Flujogramas 7
Practicas de Flujogramas 7Practicas de Flujogramas 7
Practicas de Flujogramas 7
 
Practicas de Flujogramas - 4
Practicas de Flujogramas - 4Practicas de Flujogramas - 4
Practicas de Flujogramas - 4
 
Practicas de Flujogramas - 6
Practicas de Flujogramas - 6Practicas de Flujogramas - 6
Practicas de Flujogramas - 6
 

Último

plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 

Último (20)

plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 

Lenguajes Programación: Estructuras Control

  • 2. doras. Estructuras básicas La programación estructurada es una forma de escribir programas de computadora deforma clara, utilizando únicamente tres estructuras: secuencia, selección e de iteración; siendo innecesario y no depermitiéndose el uso la instrucción o instrucciones transferencia incondicional. La programación estructurada surge a finales de los años 1960 con el objetivo de realizar programas confiables y eficientes, y que además fueran escritos de manera de facilitar su comprensión posterior. Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de aquellos años, por lo que se desarrollaron nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones. De todas formas, el paradigma estructurado tiene vigencia en muchos ámbitos de desarrollo de programas y constituye una buena forma de iniciarse en la programación de computa
  • 3. Estructuras básicas El teorema del programa estructurado, demuestra que de todo Böhm-Jacopini, programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes: .
  • 4. Estructuras básicas N o NO Condicion NO CondicionSI SI 1 2 d icion N o S I . io n esA c c C on Accion AccionAccion A C C I O N 1 A C C I O N 2 A C C I O N N C o n S d ic io n i A c c io n e s
  • 5. Estructuras básicas El flujo de control de un programa La expresión flujo de control hace referencia al orden en el que se ejecutarán las instrucciones de un programa, desde su comienzo hasta que finaliza. El flujo normal de ejecución es el secuencial. Si no se programa empezaría por la a una en el orden en que especifica lo contrario, la primera instrucción e iría aparecen, hasta llegar a la ejecución de un procesando una última. Algunos programas muy simples pueden escribirse sólo con este flujo unidireccional. No obstante, la mayor eficacia y utilidad de cualquier lenguaje de programación se deriva de la posibilidad de cambiar el orden de ejecución según la necesidad de elegir uno de entre varios caminos en función de ciertas condiciones, o de ejecutar algo repetidas veces, sin tener que escribir el código para cada vez. Con frecuencia, el programador necesita que el programa no se comporte sólo de modo secuencial. Por ejemplo, calcular una funcion f(x) para los X > 0. .
  • 6. Estructuras básicas El flujo de control de un programa También puede ocurrir que interese que un grupo de instrucciones se ejecute repetidamente hasta que se le indique que se detenga. Por ejemplo, calcular el promedio de notas para cada uno de los alumnos de un curso, o realizar algún cálculo con cada uno de los elementos de un vector. Para las dos situaciones planteadas existen dos soluciones: las que con sentencias de control selectivas y las repetitivas. Éstas permiten el flujo secuencial del programa sea modificado. También cumplen este objetivo las sentencias denominadas de invocación o salto. .
  • 7. Estructuras básicas Según lo expresado, las estructuras de decisión simple y doble permiten seleccionar entre dos alternativas posibles. Sin embargo, la instrucción SI-ENTONCES puede ser utilizada también en casos de selección de más de dos alternativas. Esto es posible anidando estas instrucciones. Es decir, una estructura SI-ENTONCES puede contener a otra, y esta a su vez a otra. siguiente: La representación en pseudocódigo es la Como se puede de permite observar, el anidamiento alternativas instrucciones ir descartando al bloque deSI <condición_1> ENTONCES < sentencias_1 > SINO SI <condición_2> ENTONCES < sentencias_2 > SINO SI <condición_3> ENTONCES < sentencias_3 > SINO . . FIN-SI FIN-SI FIN-SI valores hasta llegar instrucciones que se debe ejecutar. En las instrucciones SI anidadas, las instrucciones ENTONCES y FIN-SI se aplican automáticamente a la instrucción SI anterior más próxima. A fin de que las estructuras anidadas sean más fáciles de leer, es práctica habitual aplicar sangría al cuerpo de cada una. .
  • 8. Estructuras básicas Ejemplo: Un sensor toma (lee) la temperatura ambiente y de acuerdo al rango en que se encuentre, debe emitir un mensaje. La escala es la siguiente: Mayor que 100 “Temperatura muy alta – Mal funcionamiento” Entre 91 y 100 “Rango normal” Entre 51 y 90 “Bajo el rango normal” Menor que 50 “Muy frío – Apague el equipo” ALGORITMO Sensor INICIO LEER temperatura SI temperatura > 100 ENTONCES ESCRIBIR “Temperatura muy alta – Mal funcionamiento” SINO SI temperatura > 90 ENTONCES ESCRIBIR “Rango normal” SINO SI temperatura > 50 ENTONCES ESCRIBIR “Bajo el rango normal” SINO ESCRIBIR “Muy frío – Apague equipo” FIN-SI FIN-SI FIN-SI FIN.
  • 9. Estructuras básicas La sentencia IR-A (go to) La sentencia GO TO pertenece a un grupo de sentencias conocidas como sentencias de salto (jump). La característica de este grupo es hacer que el flujo de control salte a otra parte del programa. Otras sentencias de este grupo son interrumpir o romper (BREAK), continuar (CONTINUE), volver (RETURN), lanzar (THROW). Las dos primeras se utilizan generalmente con sentencias de alternativa múltiple. Para retornar de la ejecución de funciones o métodos se usa RETURN. La sentencia GO TO se utilizaba mucho en los primeros lenguajes de programación porque era la única manera de saltar de una instrucción del programa a otra. Esta instrucción consta de una sentencia IR_A y una sentencia asociada con una etiqueta. Cuando se ejecuta esta instrucción, se transfiere el control del programa a la etiqueta asociada. .
  • 10. La sentencia IR-A (go to) La representación en pseudocódigo es la siguiente: INICIO . . IR_A etiqueta_1 . . FIN etiqueta_1: . // El flujo salta aquí El efecto de esta instrucción es transferir sin etiqueta especificada. Es una de las operaciones condiciones el control del programa a la más primitivas para traspasar el control de una parte del programa a otra. Sin incompleto o complicado de mantener. surgió la programación estructurada, la sentencias de control (IF ó bucles FOR y embargo, su uso produce código inconsistente, Justamente por ello en los años 60 y 70, cuando comunidad informática se expresó a favor de otras DO-WHILE) en lugar del GOTO. . Estructuras básicas
  • 11. Estructuras básicas La sentencia IR-A (go to) Tal creencia está tan arraigada que el GOTO es muy criticado y ladesaconsejado programación. por todos los que se dedican a la enseñanza de Si bien la instrucción GOTO puede donde parecer útil y muy flexible, motivos es deprecisamente en esa flexibilidad radica su peligro y los su obsolescencia. .
  • 12. Estructuras básicas En muchas ocasiones la forma más apropiada de expresar algoritmo consiste en la repetición de una misma instrucción manera controlada, una cantidad finita de veces determinada un de de antemano (al diseñar el programa) o en tiempo de ejecución (cada vez que se corre el programa). Por ejemplo, podría ser necesario diseñar un algoritmo similar al de los cajeros automáticos, que solicite una clave al usuario y bloquee el acceso en caso de no ingresar la contraseña correcta luego de tres intentos. O bien, si se desea procesar grupos de datos ingresados por teclado o leídos desde un archivo, hasta que no se encuentren más datos. Las estructuras algorítmicas que permiten realizar operaciones de este tipo se conocen con el nombre de estructuras repetitivas o iterativas. Definicion: Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan repetitivas o bucles; y se denomina iteración a la ejecución de cada repetición. .
  • 13. Estructuras básicas Ejemplo Se desea sumar una lista de números que ingresa desde teclado (por ejemplo, edades de los alumnos de una clase). El algoritmo debería SUMA que contenga ingresar el valor y sumarlo a una variable las sucesivas sumas parciales. ALGORITMO INICIO Suma=0 suma LEER Suma LEER Suma …. FIN número = suma + número número = suma + número .
  • 14. Es evidente que el método no es óptimo, pero el ejemplo sirve para identificar las instrucciones que se repiten. En este caso, el bucle está formado por las instrucciones: LEER número suma = suma + número y la cantidad de iteraciones estará relacionada con el número de alumnos que se procesen durante la ejecución. Entonces, las dos cuestiones importantes cuando se utilizan estructuras repetitivas son: se repite? ¿qué contiene el bucle? y ¿cuántas veces Las estructuras repetitivas produce la condición de fin se diferencian en la forma en que se del bucle y deberá utilizarse aquella más apropiada al problema particular de que se trate. A continuación, veremos las más usuales: . Estructuras básicas
  • 15. Estructuras básicas 6.3.1 La estructura PARA (for) Problema: Se desea un 1 y programa 99. que muestre en pantalla los números pares entre INICIO ESCRIBIR ESCRIBIR […] ESCRIBIR ESCRIBIR FIN 2 4 96 98 Se dijo que la computadora es muy hábil para repetir tareas sencillas, como la del problema. Cuando se necesita que la computadora repita. una operación, con una pequeña variación cada vez, se deben identificar
  • 16. 49 Estructuras básicas 6.3.1 La estructura PARA (for) Problema: Se desea un programa que muestre en pantalla los números pares entre 1 y 99. En este caso, lo que se desea es una secuencia de números pares, que van desde 2 hasta 98. Estos números pueden expresarse como 2 x k, siendo k un entero que varía entre 1 y 98/2 = 49. Cuando se conoce exactamente la cantidad de veces que es necesario repetir una instrucción, la estructura más apropiada para caso expresarlo como algoritmo es la estructura PARA. En este se puede escribir: INICIO PARA k DESDE 1 * HASTA 2ESCRIBIR FIN-PARA FIN k .
  • 17. Estructuras básicas 6.3 Estructuras de repeticion. Bucles 6.3.1 La estructura PARA (for) Problema: Se desea un programa que muestre en pantalla los números pares entre 1 y 99. En este caso, lo que se desea es una secuencia de números pares, que van desde 2 hasta 98. Estos números pueden expresarse como 2 x k, siendo k un entero que varía entre 1 y 98/2 = 49. Cuando se conoce exactamente la cantidad de veces que es necesario repetir una instrucción, la estructura más apropiada para expresarlo como algoritmo es la estructura PARA. En este caso se puede escribir: INICIO PARA k DESDE 1 Otra opción sería: INICIO PARA i DESDE 2 HASTA 98 INCREMENTO 2 ESCRIBIR i FIN-PARA FIN HASTA 49 ESCRIBIR FIN-PARA FIN k * 2 .
  • 18. Estructuras básicas 6.3.1 La estructura PARA (for) Si ahora se solicita: Problema: Se desea un programa que muestre en pantalla los 200.números pares entre 1 y la solución mantiene su sencillez de expresión: INICIO PARA N DESDE 2 N HASTA 200 INCREMENTO ESCRIBIR i.
  • 19. 6.3.1 La estructura PARA (for) La estructura es: PARA en forma general PARA variable DESDE inicial HASTA final [INCREMENTO incremento] INSTRUCCIÓN […] INSTRUCCIÓN FIN-PARA Donde: variable es el nombre de una variable de tipo numérico, en particular entero, definida en el programa, cuyos valores repetición. Es común utilizar como nombre de la palabra índice (index en inglés), y si se irán modificando en cada de esta variable i, que proviene se utilizan varias instrucciones PARA, emplear las letras siguientes del abecedario: j, k, l. inicial es el valor que toma la variable en la primera repetición. final es el valor que toma la variable en la última repetición.. Estructuras básicas
  • 20. Estructuras básicas 6.3.2 La estructura MIENTRAS (while…do) y la estructura HASTA (repeat…until) En algunos casos no se conoce de antemano la cantidad de veces que será necesario repetir un conjunto de instrucciones para solucionar el problema, o bien es conveniente que estas instrucciones sean repetidas hasta alcanzar una determinada condición (llamada condición de parada). En estas situaciones se emplean estructuras repetitivas más generales que PARA, como las estructuras MIENTRAS y HASTA. .
  • 21. Estructuras básicas 6.3.2 La estructura MIENTRAS (while…do) y la estructura HASTA (repeat…until) Problema: Se desea un programa que calcule e informe el precio de una llamada telefónica, a partir del número de minutos ingresado por el operador, sabiendo que el precio por minuto es de $0,23. Esta operación debe repetirse cada vez que el operador ingrese una cantidad contrario. de minutos mayor que 0, y detenerse en caso Como se desconoce la cantidad de veces que se repetirá el cálculo del precio, y tampoco puede solicitarse al operador que indique este dato al inicio del programa, apropiada para resolver el problema. la estructura PARA no es INICIO LEER minutos HACER precio = minutos * 0,23 ESCRIBIR precio LEER minutos HASTA minutos <= 0 FIN.
  • 22. Estructuras básicas 6.3.2 La estructura MIENTRAS (while…do) y la estructura HASTA (repeat…until) Puede cuestionarse que si el operador ingresa un número menor que 0 la primera vez, el programa mostrará nuevo dato antes de detenerse. un valor incorrecto y solicitará un Una solución alternativa INICIO LEER minutos sería: En este caso, el operador puede ingresar un número menor o igual a cero la primera vez que el programa le solicita un dato, y el programa se detendrá sin informar un precio erróneo. MIENTRAS minutos > 0 precio = minutos ESCRIBIR precio LEER minutos FIN-MIENTRAS * 0,23 Es importante notar que las condiciones de parada son diferentes. Existen muchas posibilidades expresar la solución a este problema para FIN .
  • 23. Estructuras básicas 6.3.2 La estructura MIENTRAS (while…do) (repeat…until) La estructura MIENTRAS tiene la forma: y la estructura HASTA MIENTRAS condición INSTRUCCIÓN […] INSTRUCCIÓN FIN-MIENTRAS Al ejecutarse se evalúa condición, y en caso de resultar verdadera se ejecutan las instrucciones del bloque, mientras condición mantenga verdadero. su valor La estructura HASTA toma la forma: HACER INSTRUCCIÓN […] INSTRUCCIÓN HASTA condición . Se dice que MIENTRAS y HASTA son formas más generales de iterar que
  • 24. Estructuras básicas Problema: Se desea un programa que muestre en pantalla los números pares entre que se resolvió utilizando PARA INICIO PARA k DESDE 1 HASTA 49 1 y 99. de la siguiente manera: ESCRIBIR k FIN-PARA FIN * 2 también puede MIENTRAS: expresarse utilizando O utilizando HASTA: INICIO k = 1 MIENTRAS INICIO k = 1 HACER ESCRIBIR k * 2 k = k + 1 HASTA k > 49 FIN k <= 49 ESCRIBIR k k = k + 1 FIN-MIENTRAS FIN * 2 .
  • 25. Estructuras básicas Instrucción INTERRUMPIR (BREAK) Esta instrucción se utiliza cuando se desea terminar un bucle en un lugar determinado del cuerpo del bucle sin esperar a que este termine de modo natural por su entrada o su salida. Esta instrucción corta el ciclo de ejecución, debe ser utilizada con precaución. Ejemplo: LEER número HACER IF número <= 0 INTERRUMPIR suma LEER = suma + número número . HASTA número > 100
  • 26. Estructuras básicas Instrucción CONTINUAR (CONTINUE) Esta instrucción hace que el flujo de ejecución salte el resto de un cuerpo del bucle para continuar con el siguiente bucle o iteración. Esta característica suele ser útil en algunas condiciones. Ejemplo: PARA i DESDE 0 HASTA 20 SI (i mod 4 = 0 ) ENTONCES CONTINUAR FIN-SI ESCRIBIR FIN-PARA i, “ , “ .
  • 27. Estructuras básicas En un algoritmo puede existir y es muy frecuente que existan 2 o más bucles. Dependiendo de la forma en que estén dispuestos, estos pueden ser anidados o independientes. Decimos que los bucles están anidados cuando están dispuestos de forma tal que unos son interiores a otros; y los bucles serán independientes cuando son extremos unos con otros. Así como se podían anidar estructuras de selección, también es posible insertar un bucle dentro de otro. Las reglas para construir estructuras repetitivas anidadas son iguales en ambos casos: la estructura interna debe estar incluida solapamiento. totalmente dentro de la externa y no puede existir .
  • 28. Estructuras básicas PE RM ITID AS Y PR O HIB ID A S IND EP EN D IE NT E S AN IDA D A S N ID O S C R UZAD O S SA LIR D EL B U CL E EN TR AR A L BU C L E .