0% encontró este documento útil (0 votos)
14 vistas25 páginas

Estructuras de Control en C++

El documento describe las diferentes estructuras de control en C++, incluyendo estructuras selectivas (if, if-else, switch) y repetitivas (while, do-while, for). Explica que las estructuras de control permiten ejecutar instrucciones de manera condicional o repetida dependiendo de si una condición es verdadera o falsa. También presenta ejemplos de sintaxis, pseudocódigo y código para cada una de las estructuras.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas25 páginas

Estructuras de Control en C++

El documento describe las diferentes estructuras de control en C++, incluyendo estructuras selectivas (if, if-else, switch) y repetitivas (while, do-while, for). Explica que las estructuras de control permiten ejecutar instrucciones de manera condicional o repetida dependiendo de si una condición es verdadera o falsa. También presenta ejemplos de sintaxis, pseudocódigo y código para cada una de las estructuras.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Estructuras de control

Selectivas y Repetitivas
by Jorge Anzaldo
Estructuras de control

Por lo general, en un programa las instrucciones se ejecutan una después de otra,


en el orden en que están escritas. Este proceso se conoce como ejecución secuencial.
El trabajo de Böhm y Jacopini demostró que todos los programas podían escribirse
en términos de tres estructuras de control solamente: la de secuencia, la de
selección y la de repetición.
El término “estructuras de control” proviene del campo de las ciencias
computacionales. Cuando presentemos las implementaciones en C++ de las
estructuras de control, nos referiremos a ellas en la terminología del
documento del estándar de C++ como “instrucciones de control”..
Estructura de secuencia

La estructura de secuencia está integrada en C++. A


menos que se le indique lo contrario, la computadora
ejecuta las instrucciones en C++ una después de otra, en
el orden en que estén escritas; es decir, en secuencia.

El siguiente diagrama de actividad en UML ilustra una


estructura de secuencia típica.
Estructura de selección
C++ tiene tres tipos de instrucciones de selección.
La instrucción de selección if realiza (selecciona) una acción si una condición es
verdadera, o evita la acción si la condición es falsa. La instrucción de selección if...else
realiza una acción si una condición es verdadera, o realiza una acción distinta si la
condición es falsa. La instrucción de selección switch realiza una de entre varias
acciones distintas, dependiendo del valor de una expresión entera.
Instrucción de selección if (selección simple)

El siguiente diagrama de actividad de instrucción if, contiene


lo que quizá sea el símbolo más importante en un diagrama de
actividad: el rombo o símbolo de decisión, el cual indica que
se va a tomar una decisión. Un símbolo de decisión indica que
el flujo de trabajo continuará a lo largo de una ruta
determinada por las condiciones de guardia asociadas de ese
símbolo, que pueden ser verdaderas o falsas. Cada flecha de
transición que sale de un símbolo de decisión tiene una
condición de guardia especificada entre corchetes, por encima
o a un lado de la flecha de transición. Si cierta condición de
guardia es verdadera, el flujo de trabajo entra al estado de
acción al que apunta la flecha de transición.
Instrucción de selección if ()
if ( condición o condiciones ) {
Sintaxis sentencias ;
}

Si la calificación del estudiante es mayor o igual a 6


Pseudocódigo Imprimir “Aprobado”

if ( calificacion >= 6 )
Código cout << "Aprobado";
Instrucción de selección if…else (selección doble)

La instrucción if de selección simple realiza una acción


indicada solamente cuando la condición es
verdadera (true); de no ser así, se evita dicha acción. La
instrucción if...else de selección doble permite al
programador especificar una acción a realizar cuando la
condición es verdadera, y otra distinta cuando la condición
es falsa.
Instrucción de selección if ()
if ( condición o condiciones ) {
sentencias ;
Sintaxis }
else{
sentencias ;
}

Pseudocódigo Si la calificación del estudiante es mayor o igual a 6


Imprimir “Aprobado”
De lo contrario
Imprimir “Reprobado”

if ( calificacion >= 6)
Código else
cout << "Aprobado";

cout << "Reprobado";


Instrucción de selección switch
(selección múltiple)

C++ cuenta con la instrucción switch de selección


múltiple para realizar muchas acciones distintas, con
base en los posibles valores de una variable o
expresión. Cada acción se asocia con un valor de una
expresión integral constante (es decir, una combinación
de constantes tipo carácter y constantes enteras que se
evalúan como un valor entero constante).
Instrucción de selección switch ()

Sintaxis Pseudocódigo Código


switch( variable a evaluar){ En el caso qué calificación sea 0, 1, 2, 3, 4, 5 switch(calificacion){
caso 1 : sentencias ; break ; Imprimir “Reprobado” case 0: case 1: case 2: case 3: case 4 : case 5 :
caso 2 : sentencias ; break ; En el caso qué calificación sea 6, 7 cout<<" Reprobado ";break;
caso 3 : sentencias ; break ; Imprimir “Aprobado pero deficiente” case 6 : case 7 :
... En el caso qué calificación sea 8, 9 cout<<" Aprobado pero deficiente ";break;
default : sentencias ; break Imprimir “Aprobado pero Satisfactorio” case 8 : case 9 :
} En el caso qué calificación sea 10 cout<<" Aprobado Satisfactorio";break;
Imprimir “Aprobado pero Excelente” case 10 :
cout<<" Aprobado Excelente";break;
default :
cout<<" No evaluado correctamente ";break;
}
Estructura de repetición.

C++ cuenta con tres tipos de instrucciones de repetición (también llamadas


instrucciones de ciclo o ciclos) para ejecutar instrucciones en forma repetida, siempre
y cuando una condición (llamada la condición de continuación del ciclo) siga siendo
verdadera. Éstas son las instrucciones while, do...while y for. Las instrucciones while
y for realizan la acción (o grupo de acciones) en sus cuerpos, cero o más veces; si la
condición de continuación del ciclo es inicialmente falsa, no se ejecutará la acción (o
grupo de acciones). La instrucción do...while realiza la acción (o grupo de acciones) en
su cuerpo, por lo menos una vez.
Instrucción de repetición while

Una instrucción de repetición especifica que un


programa debe repetir una acción mientras cierta
condición sea verdadera.
Un error lógico conocido como ciclo infinito, en el que
la instrucción de repetición nunca termina, ocurre si
no se proporciona una acción en el cuerpo de una
instrucción while que ocasione que en algún momento
la condición del while se torne falsa por lo general.
Esto puede hacer que un programa parezca “quedar
colgado” o “congelarse” si el cuerpo del ciclo no
contiene instrucciones que interactúen con el usuario.
Instrucción de repetición while ()

Sintaxis Pseudocódigo Código


inicialización de variable; inicializar CONTADOR en 0 int contador=0;
while( condición){ while(contador<=10){
sentencias; Mientras contador sea menor o igual a 10 cout<<contador<<", ";
incremento / decremento ; Imprimir CONTADOR contador++;
} incrementar CONTADOR 1 en 1 }
Instrucción de repetición do...while

La instrucción de repetición do...while es similar a la


instrucción while. En la instrucción while, la evaluación de la
condición de continuación de ciclo ocurre al principio del
ciclo, antes de ejecutar su cuerpo. La instrucción do...while
evalúa la condición de continuación de ciclo después de
ejecutar el cuerpo del ciclo; por lo tanto, el cuerpo del ciclo
siempre se ejecutará cuando menos una vez.
Instrucción de repetición do … while ()

Sintaxis Pseudocódigo Código


inicialización de variable; inicializar VALOR int valor;
do{ do{
sentencias; hacer cout<<" El valor actual "<<valor<<endl;
}while( condición) imprimir “Valor Actual “; cout<<" Escribe un valor distinto a 0 ";
leer VALOR cin>>valor;
hasta que VALOR !=0 }while(valor);
Instrucción de repetición for

Además de while, C++ cuenta con la instrucción de


repetición for, la cual especifica los detalles de la
repetición controlada por contador en una sola línea de
código

Utilizar el valor final en la condición de una instrucción while o for


con el operador relacional <= nos ayuda a evitar los errores por
desplazamiento en 1.
Instrucción de repetición for ()
Sintaxis
inicialización de variable;
for(inicialización variable ; condición ; incremento / decremento ) {
sentencias;
}
Pseudocódigo
Para i=1 hasta 10
Imprimir i

Código
for(int i=1 ; i<=10 ; i++){
cout<<i<<” , “;
}
Instrucciones break y continue

C++ proporciona también las instrucciones break y continue para alterar el flujo de control. En la
instrucción de decisión switch se mostró cómo se puede utilizar break para terminar la ejecución de
la instrucción switch.

Cuando la instrucción break se ejecuta en una instrucción while, for, do...while, o switch, ocasiona la
salida inmediata de esa instrucción. La ejecución del programa continúa con la siguiente instrucción.
Los usos comunes de la instrucción break son para escapar anticipadamente de un ciclo, o para omitir
el resto de una instrucción switch.

Cuando la instrucción continue se ejecuta en una instrucción while, for o do...while, omite las
instrucciones restantes en el cuerpo de esa instrucción y continúa con la siguiente iteración del ciclo.
En las instrucciones while y do...while, la prueba de continuación de ciclo se evalúa justo después de
que se ejecuta la instrucción continue. En una instrucción for se ejecuta la expresión de incremento y
después el programa evalúa la prueba de continuación de ciclo.
break en for continue en for
int main()
int main()
{
{
for( int cuenta = 1; cuenta <= 10; cuenta++ ) // itera 10 veces
int cuenta; // la variable de control para usar después de que
{
termina el ciclo
if ( cuenta == 5 )
for( cuenta = 1; cuenta <= 10; cuenta++ ) // itera 10 veces
continue; // omite el código restante en el ciclo
{
cout << cuenta << " ";
if ( cuenta == 5 )
}
break; // termina el ciclo sólo si cuenta es 5
cout << "\nSe uso continue para no imprimir el 5" << endl;
cout << cuenta << " ";
}
}
cout << "\nSalio del ciclo en cuenta = " << cuenta << endl;
}
Conclusión
● Un diagrama de actividad modela el flujo de trabajo de un sistema de software
● Los diagramas de actividad se componen de símbolos tales como los símbolos de estados
de acción, rombos y pequeños círculos, que se conectan mediante flechas de transición, las
cuales representan el flujo de la actividad.
● Al igual que el pseudocódigo, los diagramas nos ayudan a desarrollar y representar
algoritmos.
● Un estado de acción se representa como un rectángulo en el que sus lados izquierdo y
derecho se sustituyen con arcos que se curvean hacia fuera. La expresión de acción
aparece dentro del estado de acción.
● Las flechas en un diagrama de actividad representan las transiciones, que indican el orden
en el que ocurren las acciones representadas por los estados de acción.
● El círculo relleno en un diagrama de actividad representa el estado inicial; el comienzo del
flujo de trabajo antes de que el programa realice las acciones modeladas.
● El círculo sólido rodeado por una circunferencia, que aparece en la parte inferior del
diagrama de actividad, representa el estado final : el término del flujo de trabajo después
de que el programa realiza sus acciones.

● Existen tres tipos de estructuras de control : secuencia, selección y repetición.


● La estructura de secuencia está integrada en C++; de manera predeterminada, las
instrucciones se ejecutan en el orden en el que aparecen.

Instrucción de selección if
● La instrucción if de selección simple ejecuta (selecciona) una acción si una condición es
verdadera, o la ignora si la condición es falsa.
● Un símbolo de decisión en un diagrama de actividad indica que se debe tomar una
decisión. El flujo de trabajo sigue una ruta determinada por las condiciones de guardia
asociadas. Cada flecha de transmisión que sale de un símbolo de decisión tiene una
condición de guardia. Si una condición de guardia es verdadera, el flujo de trabajo entra al
estado de acción al que apunta la flecha de transición.

Instrucción de selección doble if…else

● La instrucción if...else de selección doble ejecuta (selecciona) una acción cuando la


condición es verdadera, y otra acción distinta cuando la condición es falsa.
● Para incluir varias instrucciones en el cuerpo del if (o en el cuerpo del else para una
instrucción if...else), encierre las instrucciones entre llaves ({ y }). A un conjunto de
instrucciones contenidas dentro de un par de llaves se le llama bloque. Un bloque puede
colocarse en cualquier parte de un programa en donde se pueda colocar una sola
instrucción.
● Una instrucción nula, la cual implica que no puede realizarse ninguna acción, se indica
mediante un punto y coma (;).

Instrucción de selección múltiple switch
● La instrucción switch de selección múltiple realiza distintas acciones, con base en el valor
de su expresión de control.
● Una instrucción switch consiste de una serie de etiquetas case y un caso default opcional
● La expresión entre paréntesis después de la palabra clave switch se llama expresión de
control. La instrucción switch compara el valor de la expresión de control con cada
etiqueta case.
● Las etiquetas case consecutivas, sin instrucciones entre ellas, ejecutan el mismo conjunto
de instrucciones.
● Cada etiqueta case sólo puede especificar una expresión integral constante.
● Cada etiqueta case puede tener varias instrucciones. La instrucción de selección switch
difiere de otras instrucciones de control, en cuanto a que no requiere llaves alrededor de
varias instrucciones en cada case.
● C++ proporciona varios tipos de datos para representar enteros: int, char, short y long.
El rango de valores enteros para cada tipo depende de la plataforma.

Instrucción de repetición while


● Una instrucción de repetición repite una acción mientras cierta condición sea verdadera.
● En un símbolo de fusión de UML hay dos o más flechas de transición que apuntan al
rombo y sólo una que sale de él, para indicar que se fusionan múltiples flujos de actividad
para continuar con la actividad.
● La repetición controlada por un contador se utiliza cuando se conoce el número de
repeticiones antes de que un ciclo empiece a ejecutarse; es decir, cuando hay una
repetición definida.
● La repetición controlada por un centinela se utiliza cuando no se conoce el número de
repeticiones antes de que un ciclo se empiece a ejecutar; es decir, cuando hay repetición
indefinida.

Instrucción de repetición do ...while


● La instrucción de repetición do...while evalúa la condición de continuación de ciclo al final
de éste, por lo que el cuerpo del ciclo se ejecutará al menos una vez.

Instrucción de repetición for


● La instrucción de repetición for maneja todos los detalles de la repetición controlada por
contador.
● Por lo general, las instrucciones for se utilizan para la repetición controlada por contador
y las instrucciones while para la repetición controlada por centinela.
● Las expresiones de inicialización, condición de continuación de ciclo e incremento de una
instrucción for pueden contener expresiones aritméticas. Además, el incremento de una
instrucción for puede ser negativo.
● Si en un principio la condición de continuación de ciclo en un encabezado for es falso, no se
ejecuta el cuerpo de la instrucción for. En vez de ello, la ejecución se reanuda en la
instrucción después del for.

También podría gustarte