Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
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 {
} 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:
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
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
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.
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>
Ventana de compilación:
Ventana de ejecución:
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:
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];
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