You are on page 1of 19

INDICE:

ESTRUCTURA DE CONTROL……………………………………………………………………………………………………2

INTRODUCCIÓN…………………………………………………………………………………………………………………….2

ESTRUCTURA DE SELECCIÓN…………………………………………………………………………………………………3

SENTENCIA if……………………………………………………………………………………………………………………3

Sentencia switch………………………………………………………………………………………………………….6

Sentencia while……………………………………………………………………………………………………………8

Sentencia Do – While………………………………………………………………………………………………….9

Sentencia for……………………………………………………………………………………………………………….10

Ejemplos de clase ………………………………………………………………………………………………………..11

Bibliografia …………………………….19

1
ESTRUCTURAS DE CONTROL

1. Introducción:

Los programas definidos hasta este punto se ejecutan de modo secuencial,


es decir, una sentencia después de otra. La ejecución comienza con la
primera sentencia del programa y prosigue hasta la última sentencia, cada
una de las cuales se ejecuta una sola vez. Esta forma de programación es
adecuada para programas sencillos. Sin embargo, para la resolución de
problemas de tipo general se necesita la capacidad de controlar cuáles son
las sentencias que se ejecutan, y en qué momentos. Las estructuras de
control o construcciones de control controlan la secuencia o flujo de ejecución
de las sentencias. Las estructuras de control se dividen en tres grandes
categorías en función del flujo de ejecución: secuencia, selección e iteración.
Hasta este momento sólo se ha usado el flujo secuencial. Cada una de las
sentencias que se utilizan en C++ están separadas por el carácter punto y
coma (;). No obstante, en algunos casos nos interesará agrupar en un bloque
una serie de sentencias, como veremos al explicar las estructuras de
selección y de iteración. El bloque de sentencias se define por el carácter
llave de apertura ({) para marcar el inicio del mismo, y el carácter llave de
cierre (}) para marcar el final. Sin embargo, en caso de que el bloque de
sentencias este constituido por una única sentencia no es obligatorio el uso
de las llaves de apertura y cierre ({ }), aunque si recomendable.

2
Estructuras de selección:

Las estructuras de selección o condicionales controlan si una sentencia o


secuencia de sentencias se ejecutan, en función del cumplimiento o no de
una condición o expresión lógica. C++ tiene dos estructuras de control para
la selección, if y switch.

ESTRUCTURAS SELECTIVAS SIMPLES

2.1 Sentencia if:


Utilice la sentencia if para realizar operaciones de bifurcación.
La sentencia if permite controlar qué sentencias de una política se ejecutan
mediante la evaluación del valor de una expresión para comprobar si es
verdadera. La sentencia if, en el lenguaje de políticas de Impact es la misma
que la utilizada en los lenguajes de programación como C/C++ y Java.

La sintaxis de una sentencia if consta de la palabra clave if seguida de una


expresión booleana encerrada entre paréntesis. Esta expresión está seguida
por un bloque de sentencias delimitado por llaves de cierre. Opcionalmente,
la sentencia if puede estar seguida por las palabras clave else o elseif, que
también están seguidas por un bloque de sentencias.

If (condición) {

sentencias

} elseif (condición) {

sentencias

} else {

sentencias

3
Donde “condición” es una expresión booleana y “sentencias” es una o varias
sentencias

Ejercicios propuestos:

1) Se quiere verificar si un número es par o impar.


Entrada: N es el número que se quiere
verificar
Salida: el mensaje “par” es para
cuando el número lo sea.
Algoritmo:
Acción_Verifica_par ()
Inicio
Leer N
Si (N módulo 2 = 0)
Escribir “El número es par”
Fin Si
Fin

2) Verificar si un numero A es divisible por otro B

Entrada: A, B
Salida: Mensaje de comprobación de que A sea divisible en B
Algoritmo:
Accion_divisible ()
Inicio
Leer A, B
Si (A modulo B = 0)
Escribir A, “Es divisible por”, B
Sino
Escribir A, “No es divisible por”, B
Fin Si
Fin

4
3) Verificar el mayor de 2 números
Entrada: A, B
Salida: El mayor de A y B
Algoritmo
Acción_mayor ()
Inicio
Leer A, B
Si (A = B)
Escribir “son iguales”
Sino
Si (A > B)
Escribir A, “es el mayor”
Sino
Escribir B, “es el mayor”
Fin Si
Fin Si
Fin

4) Programa que ejecute usuario y contraseña correctos


Entrada: contraseña (password)
Salida: Logueo correcto
Algoritmo:
Accion_ingresar()
Inicio
Leer password
Si (password==myclave)

5
Escribir “contraseña correcta”
Sino
Escribir “contraseña incorrecta”
Fin Si
Fin

5) Que pida del 1 al 5, si el numero ingresado es primo o no


Entrada: i (numero)
Salida: Verificar si es primo o no
Algoritmo:
Accion_primo()
Inicio
Leer i
Si (i!=4)
Escribir “es primo”
Sino
Escribir “no es primo”
Fin Si
Fin

1.1. Sentencia switch:

La estructura switch es una sentencia C++ que se utiliza para seleccionar una
de entre múltiples alternativas.

6
Esta sentencia es especialmente útil cuando la selección se basa en el valor
de una variable de un tipo simple o de una expresión de un tipo simple
denominada expresión de control o selector.

Consideraciones acerca del uso de la sentencia Switch:

La estructura switch es especialmente útil cuando la selección se basa en el


valor de una variable simple o de una expresión simple denominada
expresión de control o selector.

Los valores de cada case del switch han de ser constantes.

El valor de esta expresión puede ser de tipo int o char, pero no pude ser del
tipo float ni double.

La etiqueta default marca el bloque de código que se ejecuta por defecto


(cuando al evaluar la expresión se obtiene un valor no especificado por los
casos anteriores del switch).

La sentencia SWITCH compara solamente igualdad.

Ejercicios propuestos:

1) Ingresar el número del día de la


semana y mostrar el nombre del día
Entrada: día (número entero)
Salida: día (nombre)
Algoritmo:
Acción día_semana()
Inicio
Leer día
En caso del día
Caso 1: escribir “Lunes”
Caso 2: escribir “Martes”
Caso 3: escribir “Miércoles”
Caso 4: escribir “Jueves”
Caso 5: escribir “Viernes”
Caso 6: escribir “Sábado”

7
Caso 7: escribir “Domingo”
En otro caso escribir “error”
Fin Caso
Fin

2) Ingresar dos notas de un alumno y mostrar el promedio simple. Deberá


mostrarse adicionalmente si está aprobado o desaprobado y el promedio
en letras.
Entrada: e1, e2, evaluaciones
Salida: promedio
Algoritmo:
Acción día_semana()
Inicio
Leer e1, e2, prom
Si prom menor o igual a 10
Mostrar desaprobado
Sino
Mostrar Aprobado
Mostrar Promedio
Fin Caso
Fin

ESTRUCTURAS SELECTIVAS MULTIPLES

1.2. Sentencia while:

Los ciclos while son también una estructura cíclica, que nos permite ejecutar
una o varias líneas de código de manera repetitiva sin necesidad de tener un

8
valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor
final que esperamos, los ciclos while, no dependen directamente de valores
numéricos, sino de valores booleanos, es decir su ejecución depende del
valor de verdad de una condición dada, verdadera o falso, nada más. De este
modo los ciclos while, son mucho más efectivos para condiciones
indeterminadas, que no conocemos cuando se van a dar a diferencia de los
ciclos for, con los cuales se debe tener claro un principio, un final y un tamaño
de paso.

Estructura while:

Int dato()

Iterador (i++);

Instrucciones;

} while (expresión)

:: Requiere de un contador o iterador emergente

1.3. Sentencia Do – While:.

Los ciclos do-while son una estructura de control cíclica, los cuales nos
permiten ejecutar una o varias líneas de código de forma repetitiva sin
necesidad de tener un valor inicial e incluso a veces sin siquiera conocer
cuando se va a dar el valor final, hasta aquí son similares a los ciclos while, sin
embargo el ciclo do-while nos permite añadir cierta ventaja adicional y esta
consiste que nos da la posibilidad de ejecutar primero el bloque de
instrucciones antes de evaluar la condición necesaria, de este modo los ciclos
do-while, son más efectivos para algunas situaciones especificas. En resumen
un ciclo do-while, es una estructura de control cíclica que permite ejecutar de
manera repetitiva un bloque de instrucciones sin evaluar de forma inmediata
una condición especifica, sino evaluándola justo después de ejecutar por
primera vez el bloque de instrucciones.

9
Estructura do-while:

do{

instrucciones

} while (expresión)

::: Requiere de un contador o iterador (i++)

2.4 Sentencia for:

Los ciclos for son lo que se conoce como estructuras de control de flujo
cíclicas o simplemente estructuras cíclicas, estos ciclos, como su nombre lo
sugiere, nos permiten ejecutar una o varias líneas de código de forma
iterativa, conociendo un valor especifico inicial y otro valor final, además nos
permiten determinar el tamaño del paso entre cada "giro" o iteración del
ciclo.

En resumen, un ciclo for es una estructura de control iterativa, que nos


permite ejecutar de manera repetitiva un bloque de instrucciones,
conociendo previamente un valor de inicio, un tamaño de paso y un valor
final para el ciclo.

Estructura del for:

For ( inicializador, limite, iterador)

Estructura de instrucciones;

:: No requiere de declarar un contador o iterador aparte, ya que viene


acoplado, algo diferente a los bucles while y do-while.

10
2. Ejercicios propuestos de la clase

Ejercicio 1:

Ingresar "n" datos y determinar el mayor.


int main()
{
int n,mayor,dato;

cout<<"Ingresar valor de N: ";


cin>>n;

for(int i=1; i<=n;i++)


{
cout<<"Ingresar dato "<<i<<" :";
cin>>dato;
if(i==1)
mayor=dato; // se supone que el mayor es el primero
if(mayor<dato) // Si la suposición anterior no es correcta
mayor=dato; // se actualiza el mayor
}
cout<<"Mayor es: "<<mayor;
}
Ejercicio 2:

Traducir los números de un dígito al quechua

int main(){
int a;
do
{
cout<<"ingrese un número de 1 dígito :"<<endl;
11
cin>>a;
} while(a<0 or a>10);

switch (a)
{
case 1: cout<<"huk"; break;
case 2: cout<<"iskay"; break;
case 3: cout<<"kimsa"; break;
case 4: cout<<"Tawa"; break;
case 5: cout<<"pichqa"; break;
case 6:cout<<"suqta"; break;
case 7:cout<<"qanchis"; break;
case 8:cout<<"pusaq";break;
case 9:cout<<"isqun";break;
case 0: cout<<"Chusaq";break;
default: cout<<"No es entero"; break;
}
}

Ejercicio 3:

Reportar los múltiplos de 7 que tienen dos cifras y que son impares.

int main ()

for (int i=10; i<=100;i++)

{ if(i%7==0)

{ if(i%2==1)

{ cout<<i<<endl;

12
}

Ejercicio 4:

Reportar la tabla de multiplicación de un numero natural menor o igual que 12.

int main()

int n,b;

cout<<"Ingresa número:"<<endl;

cin>>n;

cout<<"\t\t\t"<<"==========TABLA DE MULTIPLICAR=========="<<endl;

for(b=1;b<=12;b++)

{ cout<<"\t\t\t\t\t"<<n<<"x"<<b<<"="<<n*b<<endl;

Ejercicio 5:

Reportar "Acceso autorizado" solo cuando se ingrese el usuario y clave correctos

#include <iostream>

#include <windows.h>

using namespace std;

string id, pass;

string usuario = "2017100123";

string contrasena = "123456789";

main ()

13
do

cout << "Ingrese codigo de usuario: ";

cin >> id;

if ( id != usuario)

cout << "Codigo de usuario incorrecto";

Sleep (750);

system ( "cls" );

while ( ! ( id == usuario ) );

do

cout << "Ingrese contrasena: ";

cin >> pass;

if ( pass != contrasena)

cout << "Contrasena incorrecta";

Sleep (750);

system ( "cls" );

while ( ! ( pass == contrasena ) );

cout << endl;

cout << "Acceso Autorizado!!!";

Ejercicio 6:

Hacer el siguiente reporte al ingresar el digito hexadecimal "B"

BBBBBBBBBBB

AAAAAAAAAA

999999999

88888888

14
7777777

666666

55555

4444

333

22

#include<iostream>

#include<cstdlib>

#include<string.h>

using namespace std;

int main()

int n;

string dato;

char *letra[]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};

cout<<"ingrese el digito hexadecimal"<<endl;

cin>>dato;

cout<<endl;

if( dato=="F" ){n=15;};

if( dato=="E" ){n=14;};

if( dato=="D" ){n=13;};

if( dato=="C" ){n=12;};

if( dato=="D" ){n=13;};

if( dato=="C" ){n=12;};

if( dato=="B" ){n=11;};

if( dato=="A" ){n=10;};

if( dato=="9" ){n=9;};

if( dato=="8" ){n=8;};

if( dato=="7" ){n=7;}

if( dato=="6" ){n=6;};

if( dato=="5" ){n=5;};

if( dato=="4" ){n=4;};

15
if( dato=="3" ){n=3;};

if( dato=="2" ){n=2;};

if( dato=="1" ){n=1;};

for(int fila=n ;fila>=1;fila--)

{ for (int columna=1; columna<=fila;columna++)

{ cout<<letra[fila];

cout<<endl;

return 0;

Ejercicio 7:

Mostrar los n primeros números.

Entrada: Valor n

Salida: Valores hasta n

16
Ejercicio 8:

Hallar la suma de los primeros m números

Entrada: Valor M

Salida: Suma total hasta el valor M

Ejercicio 9:

Mostrar los a primeros múltiplos de b

Entrada: a

Salida: Los a primeros números múltiplos de b

17
Ejercicio 10:

Hallar el cociente entero de dos números

Entrada: D, d (dividendo y divisor)

Salida: Q

Precondición: D>d

18
BIBLIOGRAFIAS:

https://sites.google.com/site/algoritmosestructurasdatosmaar/

https://www.programarya.com/Cursos/C++/Condicionales/Condicional-if-else

http://arco.inf-cr.uclm.es/~dvilla/pensar_en_C++/pensar_en_cpp-vol1.pdf

http://agora.pucp.edu.pe/inf2170681/

19

You might also like