Sei sulla pagina 1di 42

ESTRUCTURA CONDICIONAL (SWITCH):

La Instrucción Switch, es una alternativa a la instrucción if, y se caracteriza por ofrecer la


posibilidad de elegir entre más de dos opciones. En pseudocódigo, se le conoce de diferentes
formas:

1. En caso de

2. Según sea

Pero al igual que en la instrucción if, el camino a seguir depender del valor que se evalúe. En
esta instrucción no existe una condición explícita en su sintaxis, sin embargo de acuerdo al
lenguaje es posible evaluar un carácter o un número, siendo esta una limitación que impide la
escritura directa de condiciones; por lo que es útil en algunos problemas en los que se requiere
elegir opciones directas. Su sintaxis es la siguiente:

En DFD se vería así:

Sintaxis:

switch (expresion){

case 1:

instrucciones

break;

case 2:

instrucciones

break;

default:

instrucciones

break;

}
ESTRUCTURA CONDICIONAL (WHILE…../…..DO…WHILE):
Bucle WHILE

Estos bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número
indefinido de veces, siempre que se cumpla una condición. Es más sencillo de comprender que
el bucle FOR, pues no incorpora en la misma línea la inicialización de las variables su condición
para seguir ejecutándose y su actualización. Sólo se indica, como veremos a continuación, la
condición que se tiene que cumplir para que se realice una iteración.

La sintaxis es la siguiente:

while (condición){

//sentencias a ejecutar

Bucle DO...WHILE

Se utiliza generalmente cuando no sabemos cuántas veces se habrá de ejecutar el bucle, igual
que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se
ejecutará una vez.

La sintaxis es la siguiente:

do {

//sentencias del bucle

} while (condición)

El bucle se ejecuta siempre una vez y al final se evalúa la condición para decir si se ejecuta otra
vez el bucle o se termina su ejecución.
ESTRUCTURA CONDICIONAL (FOR):
Un bucle for hace que una instrucción o bloque de instrucciones se repitan un número
determinado de veces mientras se cumpla la condición.

La sintaxis es la siguiente:

for(inicialización; condicion; incremento/decremento)

instrucción 1;

...........

instrucción N;

A continuación de la palabra for y entre paréntesis debe haber siempre tres zonas separadas
por punto y coma:

zona de inicialización

zona de condición

zona de incremento ó decremento.

En alguna ocasión puede no ser necesario escribir alguna de ellas. En ese caso se pueden dejar
en blanco, pero los punto y coma deben aparecer.
ARREGLOS Y MATRICES-UNIDIMENSIONALES

ARREGLO

Es un tipo de dato derivado definido como un conjunto de variables que almacena


secuencialmente datos del mismo tipo a los cuales se tiene acceso mediante un índice que es
el que identifica el lugar donde se encuentra almacenado el dato al cual se desea tener acceso.

Para arreglos y matrices tenga presente lo siguiente:

 Un arreglo es un conjunto de elementos dispuestos en la memoria del computador


uno a continuación del otro, donde cada elemento ocupa su propio espacio el cual es
igual para todos y que pueden almacenar datos del mismo tipo.
 Para acceder a un elemento de un arreglo en particular se utiliza un índice que vendría
a ser la numeración consecutiva de cada espacio que ocupa un dato en el arreglo. Por
defecto todos los índices de un arreglo empiezan a numerar en cero, siendo el índice
máximo uno menos que el tamaño del arreglo
 Si un arreglo tiene un solo índice, recibe el nombre de arreglo unidimensional, lista o
vector.
 Si un arreglo tiene dos dimensiones o índices recibe el nombre de bidimensional, si
tiene tres incides recibe el nombre de arreglo tridimensional,…… etc. En general a este
tipo de arreglos se les llama matrices (a veces tablas)
EJERCICIOS DE ESTRUCTURA CONDICIONAL (SWITCH):

1. Escriba un programa que reciba una fecha (día-mes-año) y presente en pantalla el día
del año que corresponde con esa fecha.

Código:

#include <iostream.h>
#include <conio.h>
int main ()
{
int dia, mes, anio, dia_anio = 0;
cout<<"Ingrese el dia: "; cin>>dia;
cout<<"Ingrese el mes: "; cin>>mes;
cout<<"Ingrese el a\xA4o: "; cin>>anio;
switch (mes)
{
case 1: dia_anio = dia;
break;
case 2: dia_anio = dia + 31;
break;
case 3: dia_anio = dia + 59;
break;
case 4: dia_anio = dia + 90;
break;
case 5: dia_anio = dia + 120;
break;
case 6: dia_anio = dia + 151;
break;
case 7: dia_anio = dia + 181;
break;
case 8: dia_anio = dia + 212;
break;
case 9: dia_anio = dia + 243;
break;
case 10: dia_anio = dia + 274;
break;
case 11: dia_anio = dia + 304;
break;
case 12: dia_anio = dia + 334;
break;
default:
cout<<"Fecha no valida\n";}
cout<<"La fecha ingresada corresponde al dia "<<dia_anio<<" del a\xA4o "<<anio;
getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
2. Diseñar un programa que convierta gramos en otras unidades de masa, que muestre
en pantalla el menú de opciones:
1. Kilogramos
2. Hectogramos
3. Decagramos
4. Decigramos
5. Centigramos
6. Miligramos

Código:
#include <iostream.h>
#include <conio.h>
int main() {
double peso;
int opcion;
cout<<"Introduzca peso en gramos: ";
cin>>peso;
cout<<"Seleccione opci\242n:\n";
cout<<"1 - Kiloramos\n"; cout<<"2 - Hectogramos\n";
cout<<"3 - Decagramos\n"; cout<<"4 - Decigramos\n";
cout<<"5 - Centigramos\n"; cout<<"6 - Miligramos\n";
cout<<endl ; cin>>opcion; cout<<endl ;
switch (opcion)
{
case 1: cout<<"El peso es: "<<peso/1000<<" Kilogramos\n";
break;
case 2: cout<<"El peso es: "<<peso/100<<" Hectogramos\n";
break;
case 3: cout<<"El peso es: "<<peso/10<<" Decagramos\n";
break;
case 4: cout<<"El peso es: "<<peso*10<<" Decigramos\n";
break;
case 5: cout<<"El peso es: "<<peso*100<<" Centigramos\n";
break;
case 6: cout<<"El peso es: "<<peso*1000<<" Miligramos\n";
break;
default: cout<<"Opción no v\240lida.";
break;
}
getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
3. Escriba un programa que al ingresar un número del 1 al 7 indique el a que día de la
semana corresponde.

Código:

#include <iostream.h>
#include <conio.h>

int main()
{
int i;
cout<<"Introduzca un n\243mero del 1 al 7:";
cin>>i;
cout<<endl;
switch(i) {
case 1: cout<<"Lunes\n";
break;
case 2: cout<<"Martes\n";
break;
case 3: cout<<"Mi\202rcoles\n";
break;
case 4: cout<<"Jueves\n";
break;
case 5: cout<<"Viernes\n";
break;
case 6: cout<<"S\240bado\n";
break;
case 7: cout<<"Domingo\n";
break;
default:
cout<<"Opción no válida\n";
break;
}

getch ();;
return 0;
}
Ventana de compilación:

Ventana de ejecución:
4. Crear un programa que pida una letra al usuario y diga si se trata de una vocal.

Código:

#include <iostream.h>
#include <conio.h>

int main()
{
char c;

cout<<"Introduzca un car\240cter:";
cin>>c;

switch (c)
{
case 'a':
cout<<"Es vocal\n";
break;
case 'e':
cout<<"Es vocal\n";
break;
case 'i':
cout<<"Es vocal\n";
break;
case 'o':
cout<<"Es vocal\n";
break;
case 'u':
cout<<"Es vocal\n";
break;
default:
cout<<"No es vocal\n";
break;
}

getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
5. Diseñar un programa para calcular el sueldo final de un trabajador conociendo su
sueldo y su tipo de contrato.

Tipo de contrato Aumento


0 a $9 000 20%
$9 000 a $15 000 10%
$15 000 a $20 000 5%
Mas de $20 000 3%

Código:

#include <iostream.h>
#include <conio.h>
int main (){
float salario, aumento;
char contrato;
cout<<"indique su tipo de contrato"<<endl;
cout<<"a) De 0 a $9 000"<<endl;
cout<<"b) De $9 000 a $15 000"<<endl;
cout<<"c) De $15 000 a $20 000"<<endl;
cout<<"d) Mas de $20 000"<<endl;
cin>>contrato;
cout<<"Ingrese su salario actual: "<<endl;
cin>>salario;
switch (contrato)
{
case 'a': case 'A':
aumento = salario + (salario * 0.2);
cout<<"Su nuevo salario sera: "<<aumento<<endl;
break;
case 'b': case 'B':
aumento = salario + (salario * 0.1);
cout<<"Su nuevo salario sera: "<<aumento<<endl;
break;
case 'c': case 'C':
aumento = salario + (salario * 0.05);
cout<<"Su nuevo salario sera: "<<aumento<<endl;
break;
case 'd': case 'D':
aumento = salario + (salario * 0.03);
cout<<"Su nuevo salario sera: "<<aumento<<endl;
break;
default:
cout<<"Opcion no valida";
}
getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
EJERCICIOS DE ESTRUCTURA CONDICIONAL (WHILE…../…..DO…WHILE):

6. Diseñar un programa que calcule la suma de las cifras de un número ingresado por
teclado.

Código:

#include <iostream,h>
#include <conio.h>

int main (){


int n,dig,suma;
cout<<"Ingrese un numero: ";
cin>>n;
suma=0;
while(n!=0){
dig=n%10;
n=n/10;
suma = suma + dig;
cout<<"\t"<<dig<<endl;}
cout<<"\nLa suma de sus digitos es : "<<suma;cout<<endl<<endl;
getch ();
return 0;
}

Ventana de compilación:
Ventana de ejecución:

7. Diseñar un programa que la ingresar le termino enésimo, imprima en pantalla la serie


S=2, 4, 6, 8, ……, n y luego calcule la suma de sus términos.

Código:

#include <iostream.h>
#include <conio.h>

int main()
{
int n,serie,suma;
cout<<"Ingrese el ultimo termino de la serie: ";
cin>>n;suma=0;
serie=2;
cout<<"S = ";
while(serie<=n)
{
cout<<serie<<",";
suma = suma + serie;
serie = serie + 2;
}
cout<<endl<<endl;
cout<<"La suma de la serie es = "<<suma<<endl<<endl;
getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
8. Diseñar un programa que convierta metro a su equivalente en centímetros y en
pulgadas, y mostrar un menú que pida ingresar el número 1 si desea realizar
nuevamente el cálculo y cancelar con cualquier otro número.

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int main(){
double distancia_metros, distancia_cm, distancia_ft;
int repetir_o_no;
repetir_o_no = 1;
while (repetir_o_no == 1)
{
cout<< "Dame una cantidad en metros \n";
cin>> distancia_metros;
distancia_cm = distancia_metros * 100;
distancia_ft = distancia_metros * 3.048;
cout<<"\n";
cout<<"Su equivalente en centimetros es "<<distancia_cm<<" \n";
cout<<"Su equivalente en pies es "<<distancia_ft<<" \n";
cout<<"\n";
cout<<"Deseas realizar otro calculo similar? \n";
cout<<"Escribe el numero 1 si lo deseas, si no, \n";
cout<<"escribe cualquier otro numero entero \n";
cin>>repetir_o_no;
cout<<"\n";
}
getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
9. Diseñar un programa que imprima el inverso de un número ingresado por teclado.

Código:

#include <conio.h>
#include <iostream.h>
void main(){
unsigned N,inv=0;
do
{
cout<<"Ingrese N\243mero:";
cin>>N;
}
while(N<=0);
while(N>0){
inv=inv*10+N%10;
N=N/10;
}
cout<<"El Inverso Del n\243mero es "<<inv;

getch();
return 0;
}

Ventana de compilación:
Ventana de ejecución:

10. Diseñar un programa que calcule la potencia de un número ingresado por teclado.

Código:

#include <conio.h>
#include <iostream.h>
void main ()
{
clrscr();
int b;
int exp;
int i=1;
double resultado=1;

cout<<"Ingrese Base:";
cin>>b;
cout<<"Ingrese Exponente:";
cin>>exp;

while (i<=exp)
{
resultado=resultado*b;
i++;
}
cout<<"El Resultado Es:"<<resultado;
getch();}
return 0;
}
Ventana de compilación:

Ventana de ejecución:
EJERCICIOS DE ESTRUCTURA CONDICIONAL (FOR):

11. Diseñar un programa que muestre en pantalla los números pares comprendidos entre
2 números y mencione cuantos son.

Código:

#include <conio.h>
#include <iostream.h>
void main(){
clrscr();
int a, b, i, c, may, men;
c=0;
cout<<"Ingrese el rango:\n";
cin>>a>>b;
cout<<"\n\n";
if(a>b){
may=a;
men=b;}
else{
may=b;
men=a;}
for(i=men+1;i<may;i++){
if(i%2==0)
{
c++;
cout<<c<<" : "<<i<<endl;}
}
cout<<"\nExiste "<<c<<" n\243meros pares";
getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
12. Diseñar un programa que pida ingresar n números y mencione cual es el mayor, el
menor y calcule el promedio.

Código:

#include <conio.h>
#include <iostream.h>

int main(){
float may, men, pro, a, sum;
int n, i;
cout<<"Ingrese la cantidad de numeros que desea ingresar: ";
cin>>n;
if(n>0){
cout<<"\n\nIngrese su primer numero: ";
cin>>a;}
may=men=sum=a;
for(i=1;i<n;i++){
cout<<"\nIngrese el numero "<<(i+1)<<": ";
cin>>a;
sum=sum+a;
if(a>may){
may=a;}
if(a<men){
men=a;}
}
pro=sum/n;
cout<<"\n\nEl Nro. > es: "<<may<<"\nEl Nro. < es: "<<men<<"\nEl Promedio es:
"<<pro;
getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
13. Diseñar un programa que Imprima el número 1, una vez; el 2, dos veces; el 3, tres
veces; y así sucesivamente hasta llegar a un número n ingresado por teclado.

Código:

#include <conio.h>
#include <iostream.h>

void main(){

int i, j, n;
cout<<"Ingrese el rango: ";
cin>>n;
cout<<"\n";

for(i=1;i<=n;i++)
{
for(j=0;j<i;j++){
cout<<i<<"\t";}
cout<<"\n";}

getch();
return 0;
}

Ventana de compilación:
Ventana de ejecución:

14. Diseñar un programa que calcule el factorial de un número.

Código:

#include <iostream.h>
#include <conio.h>

int main(){
int i;
int fact=1;
int numero;
cout<<"ingresa un numero: ";
cin>>numero;
if(numero<0) fact =0;
else if(numero==0) fact=1;
else{
for (i = 1; i <= numero; i++){
fact = fact*i;
}
}
cout<<"Factorial de "<<numero<<" es "<<fact;
getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
15. Diseñar un programa que muestre en pantalla la tabla se sumar de un numero
ingresado por teclado.

Código:

#include <conio.h>
#include <iostream.h>
void main(){
clrscr();
float n, r;
int i;
cout<<"Ingrese un numero: ";
cin>>n;
for(i=1;i<=20;i++){
r=n+i;
cout<<"\t\t\t"<<n<<" + "<<i<<" = "<<r<<"\n";
}
getch();
return 0;
}

Ventana de compilación:
Ventana de ejecución:
EJERCICIOS DE ARREGLOS Y MATRICES-UNIDIMENSIONALES

16. Diseñar un programa que lea 5 números por teclado, los copie a otro array
multiplicados por 2 y los muestre todos ordenados usando un tercer array.

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
int numeros1[5],numeros2[5];
int i;

for (i=0;i<5;i++){
cout<<"Escriba un n\243mero: ";
cin>>numeros1[i];
}

for(i=0;i<5;i++)
{
numeros2[i]=numeros1[i]*2;
}
for (i=0;i<5;i++){
cout<<"\n\t";
cout<<numeros2[i];
}

getch ();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
17. Escriba un programa que mediante un array almacene números tanto positivos como
negativos y los muestre ordenados.

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
float aux, numeros[10];
int i,j,n=10;

for (i=0;i<n;i++){
cout<<"Escriba un n\243mero: ";
cin>>numeros[i];
}

for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(numeros[i]<numeros[j])
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}

for (i=n-1;i>=0;i--){
cout<<endl ;
cout<<numeros[i];
}

getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
18. Diseñar un programa que lea una cadena y diga cuantas vocales hay.

Código:

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int sum=0,i;
char frase[50];

cout<<"Introduzca una frase: ";


gets(frase);

for(i = 0;i < 50;i++){


switch (frase[i])
{
case 'a':
sum++;
break;
case 'e':
sum++;
break;
case 'i':
sum++;
break;
case 'o':
sum++;
break;
case 'u':
sum++;
break;
default:
break;
}
}
cout<<"\n\nEn la frase hay "<<sum<<" vocales\n\n";
getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
19. Diseñar un programa que permita ingresar n enteros en un array y calcular la media
de los que estén en posiciones pares.

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 100

void main()
{
int a[MAX];
int i, num,c=0;
float suma=0;
cout<<"\nDame un numero: ";
cin>>num;
for (i=0;i<num;i++)
{
cout<<"Ingrese datos al vector"<<"["<<i<<"]: ";
cin>>a[i];
}
for (i=2;i<num;i+=2){
suma+=a[i];
c++;
}
cout<<"\nLa media es: "<<(suma/c);

getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
20. Diseñar un programa que calcule la suma de un escalar y los elementos de un Array.

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 100
void main(){
int a[MAX];
int i, num,escalar;
cout<<"\nCuantos elmentos desea leer: ";
cin>>num;
cout<<"\nIngrese el Valor del Escalar: ";
cin>>escalar;
for (i=0;i<num;i++)
{
cout<<"Ingrese datos al vector: ";
cin>>a[i];
}
for (i=0;i<num;i++)
{
a[i]=a[i]+escalar;
cout<<"\nEl nuevo elemento es "<<a[i];
}
getch();
return 0;
}
Ventana de compilación:

Ventana de ejecución:
BIBLIOGRAFÍA:

https://es.scribd.com/doc/96075311/50-Programas-Basicos-en-c

http://programavideojuegos.blogspot.com/2013/05/25-ejercicios-resueltos-de-arrays-y.html

http://infount.foroactivo.com/t71-18-codigos-en-c-con-estructuras-repetitivas-while-for-do-
while

http://ejercicioscpp.blogspot.com/2012/11/estructuras-de-control-en-c.html

https://programacionfusa.wordpress.com/contenido/sentencia-switch/

http://www.utm.mx/~mgarcia/PE4(Arreglos).pdf

http://www.aprendeaprogramar.com/mod/forum/discuss.php?d=1782

Potrebbero piacerti anche