El flujo de control de un programa
El control de flujo se refiere al orden en que se ejecutan las instrucciones que tenemos en el programa.
El orden puede ser ascendente, descendente o podemos ejecutar un conjunto de instrucciones alguna determinada cantidad de veces en donde se modifique algunos valores y hasta que el valor cumple alguna condición se dejen de ejecutar esas instrucciones.
Determinar el orden de las instrucciones depende primordialmente de el algoritmo que queremos desarrollar en el programa.
Flujo secuencial
Se refiere a la ejecución de instrucciones una trás otra, es decir de una línea, a la siguiente sin saltarse ninguna, es en dónde la salida de una es la entrada de otra.
El flujo secuencial es casi inexistente, ya que en muchos programas se hacen llamadas a funciones y esto hace que no sea secuencial.
Función
Cuando se llama a una función se hace un salto ya sea condicional o incondicional, se ejecuta el "bloque de código" determinado, y cuando finaliza el bloque se regresa a la dirección que se guardado en la memoria antes de realizar el salto, la función hace que se regrese a esa dirección con la instrucción "volver". Esto es a lo que podemos llamar función, subrutinas o subprogramas.
Flujo alternativo
Es cuando el contador del programa no sigue la siguiente instrucción(como en el flujo secuencial) y se salta directamente a otra aunque este en una dirección de memoria más alejada, puede ser que se salte a otra linea incondicionalmente, es decir de manera obligatoria, o que se haga condicionalmente que es cuando alguna expresión cumple alguna determinada condición y se brinca a otra instrucción. También se pueden combinar los saltos condicionales e incondicionales, es decir que se haga un salto a un bloque de código si la expresión resultara ser verdadera o otro bloque si es falsa.
Para conseguir el flujo alternativo se debe calcular la dirección de la instrucción que sigue.
Flujo selectivo
Se utiliza cuando para realizar algún programa se tienen diferentes casos y que los podemos identificar con algún valor, este valor nos va a ayudar a saber si es cierto caso a que bloque de código se debe de brincar. Es como tener un tipo directorio en el que tenemos registrado el identificador del caso que puede ser un valor "x" con el correspondiente bloque de código que debe ejecutar.
Cuando se tienen muchos diferentes casos es más ventajoso utilizar el flujo selectivo que el flujo alternativo ya en el flujo alternativo seria ir checando si determinado valor coincide con cada uno de los bloques de código.
Flujo repetitivo
Por ejemplo cuando en un bloque de código se tiene una instrucción incondicional que salte al principio de ese bloque de código diríamos que estamos teniendo un flujo repetitivo aunque en este caso infinito, pero si en cambio tenemos nuestro bloque de código, con alguna variable que vaya cambiando su valor y al final una instrucción condicional en la que se finalice ese bloque de código si el valor de la variable cumple cierta condición y si no lo cumple se regrese al principio del bloque, entonces tenemos un flujo de control en el que el bloque del código se ejecuta al menos una vez. Podría ser distinto, hay algunas ocasiones en las que puede que no se ejecute ni una sola vez, esto se logra escribiendo la instrucción condicional al principio de la misma en donde el bloque se ejecuta siempre y cuando se cumpla con la condición.
En resumen el flujo repetitivo consiste en ejecutar cierto bloque de código hasta que se cierta una situación determinada.
Estructura secuencial y selectiva
El control de flujo se refiere al orden en que se ejecutan las instrucciones que tenemos en el programa.
El orden puede ser ascendente, descendente o podemos ejecutar un conjunto de instrucciones alguna determinada cantidad de veces en donde se modifique algunos valores y hasta que el valor cumple alguna condición se dejen de ejecutar esas instrucciones.
Determinar el orden de las instrucciones depende primordialmente de el algoritmo que queremos desarrollar en el programa.
Flujo secuencial
Se refiere a la ejecución de instrucciones una trás otra, es decir de una línea, a la siguiente sin saltarse ninguna, es en dónde la salida de una es la entrada de otra.
El flujo secuencial es casi inexistente, ya que en muchos programas se hacen llamadas a funciones y esto hace que no sea secuencial.
Función
Cuando se llama a una función se hace un salto ya sea condicional o incondicional, se ejecuta el "bloque de código" determinado, y cuando finaliza el bloque se regresa a la dirección que se guardado en la memoria antes de realizar el salto, la función hace que se regrese a esa dirección con la instrucción "volver". Esto es a lo que podemos llamar función, subrutinas o subprogramas.
Flujo alternativo
Es cuando el contador del programa no sigue la siguiente instrucción(como en el flujo secuencial) y se salta directamente a otra aunque este en una dirección de memoria más alejada, puede ser que se salte a otra linea incondicionalmente, es decir de manera obligatoria, o que se haga condicionalmente que es cuando alguna expresión cumple alguna determinada condición y se brinca a otra instrucción. También se pueden combinar los saltos condicionales e incondicionales, es decir que se haga un salto a un bloque de código si la expresión resultara ser verdadera o otro bloque si es falsa.
Para conseguir el flujo alternativo se debe calcular la dirección de la instrucción que sigue.
Flujo selectivo
Se utiliza cuando para realizar algún programa se tienen diferentes casos y que los podemos identificar con algún valor, este valor nos va a ayudar a saber si es cierto caso a que bloque de código se debe de brincar. Es como tener un tipo directorio en el que tenemos registrado el identificador del caso que puede ser un valor "x" con el correspondiente bloque de código que debe ejecutar.
Cuando se tienen muchos diferentes casos es más ventajoso utilizar el flujo selectivo que el flujo alternativo ya en el flujo alternativo seria ir checando si determinado valor coincide con cada uno de los bloques de código.
Flujo repetitivo
Por ejemplo cuando en un bloque de código se tiene una instrucción incondicional que salte al principio de ese bloque de código diríamos que estamos teniendo un flujo repetitivo aunque en este caso infinito, pero si en cambio tenemos nuestro bloque de código, con alguna variable que vaya cambiando su valor y al final una instrucción condicional en la que se finalice ese bloque de código si el valor de la variable cumple cierta condición y si no lo cumple se regrese al principio del bloque, entonces tenemos un flujo de control en el que el bloque del código se ejecuta al menos una vez. Podría ser distinto, hay algunas ocasiones en las que puede que no se ejecute ni una sola vez, esto se logra escribiendo la instrucción condicional al principio de la misma en donde el bloque se ejecuta siempre y cuando se cumpla con la condición.
En resumen el flujo repetitivo consiste en ejecutar cierto bloque de código hasta que se cierta una situación determinada.
Estructura secuencial y selectiva
En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
- De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
- De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Switch-Case)
- Ejecutar un grupo de sentencias solo cuando se cumpla una condición (Do-While)
- Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
- Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las cosas que permiten que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.
En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
- De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
- De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Switch-Case)
- Ejecutar un grupo de sentencias solo cuando se cumpla una condición (Do-While)
- Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
- Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las cosas que permiten que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.
Tipos de estructuras de control
Algunas estructuras de control en el lenguaje Java.
Algunas estructuras de control en el lenguaje Java.
Antecedentes
El término "estructuras de control" viene del campo de la ciencia computacional. Cuando se presentan implementaciones de Java para las estructuras de control, nos referimos a ellas con la terminología de la Especificación del lenguaje Java, que se refiera a ella como instrucciones modernas.
El término "estructuras de control" viene del campo de la ciencia computacional. Cuando se presentan implementaciones de Java para las estructuras de control, nos referimos a ellas con la terminología de la Especificación del lenguaje Java, que se refiera a ella como instrucciones modernas.
Ejecución secuencial
Por lo general, las instrucciones se ejecutan una después de la otra, en el orden en que están escritas, es decir, en secuencia. Este proceso se conoce como ejecución secuencial.
Por lo general, las instrucciones se ejecutan una después de la otra, en el orden en que están escritas, es decir, en secuencia. Este proceso se conoce como ejecución secuencial.
Transferencia de control
En Java, como en otros lenguajes de programación por excelencia como C y C++, el programador puede especificar que la siguiente instrucciones a ejecutarse tal vez no sea la siguiente en secuencia. Esto se conoce como transferencia de control. Hay que tener en cuenta que la instrucción goto es una palabra reservada pero no se utiliza ni se recomienda. Un programa bien estructurado no necesita esta instrucción.1
En Java, como en otros lenguajes de programación por excelencia como C y C++, el programador puede especificar que la siguiente instrucciones a ejecutarse tal vez no sea la siguiente en secuencia. Esto se conoce como transferencia de control. Hay que tener en cuenta que la instrucción goto es una palabra reservada pero no se utiliza ni se recomienda. Un programa bien estructurado no necesita esta instrucción.1
De selección
Las estructuras de control de selección ejecutan un bloque de instrucciones u otro, o saltan a un subprograma o subrutina según se cumpla o no una condición.
Las estructuras de control de selección ejecutan un bloque de instrucciones u otro, o saltan a un subprograma o subrutina según se cumpla o no una condición.
Estructura de control
Las estructuras de control, denominadas también sentencias de control, permiten tomar decisiones y realizar un proceso repetidas veces. Se trata de estructuras muy importantes, ya que son las encargadas de controlar el flujo de un programa, según los requerimientos del mismo. canal o proceso que se puede actualizar
Las estructuras de control, denominadas también sentencias de control, permiten tomar decisiones y realizar un proceso repetidas veces. Se trata de estructuras muy importantes, ya que son las encargadas de controlar el flujo de un programa, según los requerimientos del mismo. canal o proceso que se puede actualizar
Selección if simple
Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.
Si la condición es verdadera, se ejecuta el bloque de sentencias 1; de lo contrario, se ejecuta el bloque de sentencias 2.
Se pueden plantear múltiples condiciones simultáneamente: si se cumple la (Condición 1) se ejecuta (Bloque de sentencias 1). En caso contrario se comprueba la (Condición 2); si es cierta se ejecuta (Bloque de sentencias 2), y así sucesivamente hasta n condiciones. Si ninguna de ellas es cumple se ejecuta (Bloque de sentencias else).
Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.
Si la condición es verdadera, se ejecuta el bloque de sentencias 1; de lo contrario, se ejecuta el bloque de sentencias 2.
Se pueden plantear múltiples condiciones simultáneamente: si se cumple la (Condición 1) se ejecuta (Bloque de sentencias 1). En caso contrario se comprueba la (Condición 2); si es cierta se ejecuta (Bloque de sentencias 2), y así sucesivamente hasta n condiciones. Si ninguna de ellas es cumple se ejecuta (Bloque de sentencias else).
Select-Case
Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a if then else cuando se compara la misma expresión con diferentes valores.
- Se evalúa la expresión, dando como resultado un número.
- Luego, se recorren los "Case" dentro de la estructura buscando que el número coincida con uno de los valores.
- Es necesario que coincidan todos sus valores.
- Cuando se encuentra la primera coincidencia, se ejecuta el bloque de sentencias correspondiente y se sale de la estructura Select-Case.
- Si no se encuentra ninguna coincidencia con ningún valor, se ejecuta el bloque de sentencias de la sección "Case Else".
Alternativas simple (si-entonces/ if-then) Domingo 10 samuel y jonath.
La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición.
Las estructuras selectivas se utilizan 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 la misma se realiza una opción u otra. Las condiciones se especifícan usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino), con una figura geométrica en forma de romba o bien con un triángulo en el interior de una caja rectangular.
Las estructuras selectivas o alternativas pueden ser:
- Simples
- Múltiples
Alternativa Simple (si-entonces/if-then)
La estructura alternativa simple si-entonces (en inglés if-then o bien 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 S1 (o acciones caso de ser S1 una acción compuesta y constar de varias acciones).
Si la condición es falsa, entonces no hacer nada.
A continuación se muestra la gráfica de la estructura condicional simple.
Pseudocódigo en español
Si <condición> Entonces
<acción S1>
Fin_si
Pseudocódigo en inglés
If <condición> then
<acción S1>
end_if
Diagrama N-S
Alternativas Múltiples (según_sea, caso de / case)
Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas múltiples. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad.
La estrucura de decisión múltiple 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 realizaráa una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles.
La representación gráfica se muestra a continuación:
#include<iostream>
#include<conio.h>
using namespace std;
struct Promedio{
float nota1;
float nota2;
float nota3;
};
struct Alumno{
char nombre[20];
char sexo[10];
int edad;
struct Promedio prom;
}alumnos[100];
int main(){
int n_alumnos,posM=0;
float promedio_alumno[100],mayor=0;
cout<<"Digite el numero de alumnos: ";
cin>>n_alumnos;
for(int i=0;i<n_alumnos;i++){
fflush(stdin);
cout<<"Nombre: "; cin.getline(alumnos[i].nombre,20,'\n');
cout<<"Sexo: "; cin.getline(alumnos[i].sexo,10,'\n');
cout<<"Edad: "; cin>>alumnos[i].edad;
cout<<".:Notas del Examen:."<<endl;
cout<<"Nota1: "; cin>>alumnos[i].prom.nota1;
cout<<"Nota2: "; cin>>alumnos[i].prom.nota2;
cout<<"Nota3: "; cin>>alumnos[i].prom.nota3;
//Sacando el promedio del alumno
promedio_alumno[i] = (alumnos[i].prom.nota1+alumnos[i].prom.nota2+alumnos[i].prom.nota3)/3;
if(promedio_alumno[i] > mayor){
mayor = promedio_alumno[i];
posM = i;
}
cout<<"\n";
}
cout<<"\n\nMostrando Datos del alumno con mejor Promedio"<<endl;
cout<<"Nombre: "<<alumnos[posM].nombre<<endl;
cout<<"Sexo: "<<alumnos[posM].sexo<<endl;
cout<<"Edad: "<<alumnos[posM].edad<<endl;
cout<<"Promedio: "<<promedio_alumno[posM];
getch();
return 0;
}
Diagrama de Flujo
Diagrama N-S
Modelo 1 Modelo 2
Pseudocódigo
En inglés la estructura de decisión múltiple se representa
Case expresión of
[e1]: acción S1
[e2]: acción S2
:
[en]: acción Sn
else
acción Sx
end_case
Ejemplo:
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 teclado.
Los días de la semana son 7; por consiguiente, el rango de valores de DIA será 1..7, y caso de que DIA tome un valor fuera de este rango se deberá producir un mensaje de error advirtiendo la situación anómala.
Inicio
Leer DIA
Según_sea DIA hacer
1: escribir('Lunes')
2: escribir('Martes')
3: escribir('Miércoles')
4: escribir('Jueves')
5: escribir('Viernes')
6: escribir('Sabado')
7: escribir('Domingo')
else
escribir('Error')
fin_según
fin
Estructuras Repetitivas
Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan Bucles y se denomina Iteración al hecho de repetir la ejecución de una secuencia de acciones. Entre las estructuras repetitivas se encuentran:

Mientras (while)

Repetir (repeat)

Desde (for)
1.- Estructura Mientras (while)
La estructura repetitiva while, es aquélla en que el cuerpo del bucle se repite mientras se cumple una determinada condición, su representación gráfica es:
Pseudocódigo en español Pseudocódigo en inglés
Mientras condición hacer while condición do
Acción S1 <Acciones>
Acción S2 :
: End_while
acción Sn
Fin_mientras
Diagrama N-S
Ejemplo:
Contar los números enteros positivos introducidos por teclado. Se consideran dos variables enteras NUMERO y CONTADOR (contará el número de enteros positivos). Se supone que se leen números positivos y se detiene el bucle cuando se lee un número negativo o cero.
Pseudocódigo
Inicio
contador
0
Leer (numero)
Mientras numero > 0 hacer
contador
contador+1
Leer (numero)
Fin_Mientras
Escribir('El número de enteros positivos es : ', contador)
Fin
Diagrama de Flujo
Representación en N-S
Ver:
Estructuras de decisión anidadas:
La instrucción SI se utiliza para diseñar estructuras de selección que contengan más de dos alternativas.
Una sentencia SI_entonces puede contener otra estructura SI_entonces, y esta a su vez puede contener otra, y así sucesivamente; al mismo tiempo, dentro de cada estructura pueden existir diferentes acciones.
Las estructuras SI interiores a otras estructuras SI reciben el nombre de anidadas.
Si <condición> entonces
Si < condición2> entonces
Si <condición3> entonces
. .
<acciones>
Fin_si
Fin_si
Fin_si
Ejemplos de estructuras anidadas.
Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a if then else cuando se compara la misma expresión con diferentes valores.
- Se evalúa la expresión, dando como resultado un número.
- Luego, se recorren los "Case" dentro de la estructura buscando que el número coincida con uno de los valores.
- Es necesario que coincidan todos sus valores.
- Cuando se encuentra la primera coincidencia, se ejecuta el bloque de sentencias correspondiente y se sale de la estructura Select-Case.
- Si no se encuentra ninguna coincidencia con ningún valor, se ejecuta el bloque de sentencias de la sección "Case Else".
Alternativas simple (si-entonces/ if-then) Domingo 10 samuel y jonath.
La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición.
Las estructuras selectivas se utilizan 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 la misma se realiza una opción u otra. Las condiciones se especifícan usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino), con una figura geométrica en forma de romba o bien con un triángulo en el interior de una caja rectangular.
Las estructuras selectivas o alternativas pueden ser:
- Simples
- Múltiples
Alternativa Simple (si-entonces/if-then)
La estructura alternativa simple si-entonces (en inglés if-then o bien 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 . . .
A continuación se muestra la gráfica de la estructura condicional simple.

Pseudocódigo en español
Si <condición> Entonces
<acción S1>
Fin_si
Pseudocódigo en inglés
If <condición> then
<acción S1>
end_if
Diagrama N-S

Alternativas Múltiples (según_sea, caso de / case)
Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas múltiples. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad.
La estrucura de decisión múltiple 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 realizaráa una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles.
La representación gráfica se muestra a continuación:
#include<conio.h>
using namespace std;
struct Promedio{
float nota1;
float nota2;
float nota3;
};
struct Alumno{
char nombre[20];
char sexo[10];
int edad;
struct Promedio prom;
}alumnos[100];
int main(){
int n_alumnos,posM=0;
float promedio_alumno[100],mayor=0;
cout<<"Digite el numero de alumnos: ";
cin>>n_alumnos;
for(int i=0;i<n_alumnos;i++){
fflush(stdin);
cout<<"Nombre: "; cin.getline(alumnos[i].nombre,20,'\n');
cout<<"Sexo: "; cin.getline(alumnos[i].sexo,10,'\n');
cout<<"Edad: "; cin>>alumnos[i].edad;
cout<<".:Notas del Examen:."<<endl;
cout<<"Nota1: "; cin>>alumnos[i].prom.nota1;
cout<<"Nota2: "; cin>>alumnos[i].prom.nota2;
cout<<"Nota3: "; cin>>alumnos[i].prom.nota3;
//Sacando el promedio del alumno
promedio_alumno[i] = (alumnos[i].prom.nota1+alumnos[i].prom.nota2+alumnos[i].prom.nota3)/3;
if(promedio_alumno[i] > mayor){
mayor = promedio_alumno[i];
posM = i;
}
cout<<"\n";
}
cout<<"\n\nMostrando Datos del alumno con mejor Promedio"<<endl;
cout<<"Nombre: "<<alumnos[posM].nombre<<endl;
cout<<"Sexo: "<<alumnos[posM].sexo<<endl;
cout<<"Edad: "<<alumnos[posM].edad<<endl;
cout<<"Promedio: "<<promedio_alumno[posM];
getch();
return 0;
}
Diagrama de Flujo

Modelo 1 Modelo 2
Pseudocódigo
En inglés la estructura de decisión múltiple se representa
Case expresión of
[e1]: acción S1
[e2]: acción S2
:
[en]: acción Sn
else
acción Sx
end_case
Ejemplo:
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 teclado.
Los días de la semana son 7; por consiguiente, el rango de valores de DIA será 1..7, y caso de que DIA tome un valor fuera de este rango se deberá producir un mensaje de error advirtiendo la situación anómala.
Inicio
Leer DIAfin
Según_sea DIA hacer
1: escribir('Lunes')else
2: escribir('Martes')
3: escribir('Miércoles')
4: escribir('Jueves')
5: escribir('Viernes')
6: escribir('Sabado')
7: escribir('Domingo')
escribir('Error')fin_según
Estructuras Repetitivas
Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan Bucles y se denomina Iteración al hecho de repetir la ejecución de una secuencia de acciones. Entre las estructuras repetitivas se encuentran:
Mientras (while) Repetir (repeat) Desde (for)
1.- Estructura Mientras (while)
La estructura repetitiva while, es aquélla en que el cuerpo del bucle se repite mientras se cumple una determinada condición, su representación gráfica es:

Pseudocódigo en español Pseudocódigo en inglés
Mientras condición hacer while condición do
Acción S1 <Acciones>
Acción S2 :
: End_while
acción Sn
Fin_mientras
Diagrama N-S

Ejemplo:
Contar los números enteros positivos introducidos por teclado. Se consideran dos variables enteras NUMERO y CONTADOR (contará el número de enteros positivos). Se supone que se leen números positivos y se detiene el bucle cuando se lee un número negativo o cero.
Pseudocódigo
Inicio
contador0
Leer (numero)
Mientras numero > 0 hacer
contadorcontador+1
Leer (numero)
Fin_Mientras
Escribir('El número de enteros positivos es : ', contador)
Fin
Diagrama de Flujo

Representación en N-S

Ver:
Estructuras de decisión anidadas:

La instrucción SI se utiliza para diseñar estructuras de selección que contengan más de dos alternativas.
Una sentencia SI_entonces puede contener otra estructura SI_entonces, y esta a su vez puede contener otra, y así sucesivamente; al mismo tiempo, dentro de cada estructura pueden existir diferentes acciones.
Las estructuras SI interiores a otras estructuras SI reciben el nombre de anidadas.
Si <condición> entonces
Si < condición2> entonces
Si <condición3> entonces
. .
<acciones>
Fin_si
Fin_si
Fin_si
Ejemplos de estructuras anidadas.




Comentarios
Publicar un comentario