Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Note que mientras que la condición sea verdad, se seguirá ejecutando la acción
n++ equivale a escribir n=n+1
inicialización
while (condición) {
acción
variación
}
Note que la inicialización y la variación se relacionan con la variable de control utilizada en la condición.
La inicialización puede contener varias ordenes de asignación separadas por comas y terminando con punto y coma.
Igualmente, la variación puede contener varias ordenes de variación y/o acumulación separadas por comas y terminando
con el paréntesis del for, Por ejemplo, vea el siguiente for hipotético:
La inicialización puede incluir la declaración de la variable pero no necesariamente debe ser así, por ejemplo:
int x;
for (x=1; x<=100; x++){
más ordenes
}
Cuál es la diferencia entre declararlo antes del for con hacer la declaración dentro de la inicialización?. Simplemente el
alcance para la utilización de la variable.
Cuando se declara antes del for, el alcance de la variable se extiende dentro y fuera de las llaves del for; es decir que
podemos utilizar la variable dentro y también fuera de las llaves; en cambio, cuando se declara dentro de la inicialización, el
alcance se limita solamente dentro de las llaves del for; es decir que sólo se puede utilizar la variable dentro de las llaves
del for y nó fuera de ellas.
Una pregunta frecuente es: cual estructura de repetición debo utilizar?. En realidad, la respuesta de un programador
experimentado seria: cualquiera. Sin embargo, para efectos de un aprendizaje progresivo daré el siguiente criterio de
decisión: Cuando usted tenga identificado el rango de la repetición: desde hasta, utilice for y cuando no tenga identificado
dicho rango utilice do-while o while. Cuando el proceso se realiza de todas maneras, por lo menos una vez, use do-while.
Por ejemplo: muestre los números capicúas de 3 cifras. La estructura más adecuada seria for porque usted va a repetir el
proceso desde 100 hasta 999.
Otro ejemplo: muestre la cantidad de cifras que tiene un número entero. La estructura más adecuada sería do-while o
while porque no se puede identificar la cantidad de veces que ocurrirá la repetición. Tiene que buscar una condición de
continuidad de la repetición.
Un acumulador es aquel que cambia su valor asimismo aumentando, disminuyendo, multiplicando, dividiendo.
Ejm:
suma += valor; equivale a escribir suma = suma + valor;
saldo –= valor; equivale a escribir saldo = saldo - valor;
factor *= valor; equivale a escribir factor = factor * valor;
n /= 10; equivale a escribir n = n / 10;
ESTRUCTURA INTERACTIVA
Se dice que existe una estructura interactiva cuando la repetición depende de la respuesta del usuario, haciendo preguntas
como: desea continuar? (1=Si,0= no). Para lo cual debe utilizar una estructura iterativa do-while.
PROBLEMA 1:
Diseñe un programa que permita realizar una encuesta acerca de los colores favoritos de las personas a escoger entre:
verde, azul, amarillo, rosado, otro. Por cada encuestado debe mostrar la cantidad de votos de cada color así como el(los)
color(es) favoritos. Aplicar una estructura repetitiva interactiva
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
// variables
int c1=0, c2=0, c3=0, c4=0, c5=0; // contadores
int color, sigue;
// salida
cout<<("\ncolores preferidos: ");
if(mayor==c1)
printf("Verde, ");
if(mayor==c2)
printf("Azul, ");
if(mayor==c3)
printf("Amarillo, ");
if(mayor==c4)
printf("Rosado, ");
if(mayor==c5)
printf("Otro");
// pregunta interactiva
cout<<"\nDesea continuar (1=si, 0=no)?"; cin>>sigue;
}while(sigue==1);
PROBLEMA 2:
En una estación de control se desea registrar el peso que transportan los vehículos de transporte pesado para determinar,
por cada vehículo la cantidad de vehículos, el peso promedio, el mayor y el menor peso registrado. Aplicar una estructura
repetitiva interactiva
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
// variables
int c=0; // contador
double mayor=0, menor=0, suma=0; // conservan su ultimo valor
double peso=0, prom;
int sigue=1; //si
do{
if( c == 1){
mayor = peso;
menor = peso;
}
else{
if(peso > mayor)
mayor=peso;
if(peso < menor)
menor=peso;
}
prom = suma / c;
cout<<"cantidad de vehiculos:"<<c<<endl;
printf("peso promedio: %10.2f\n",prom);
printf("peso mayor : %10.2f\n",mayor);
printf("peso menor : %10.2f\n",menor);
PROBLEMA 3:
Muestre los N primeros números pares.
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
void main(){
int n, par;
Haga los cambios necesarios para validar los datos de entrada y aplicar una estructura repetitiva interactiva.
PROBLEMA 4:
Dado un número entero positivo, muestre sus divisores, la cantidad y la suma de ellos.
#include "stdafx.h"
#include <iostream>
#include <conio.h>
void main(){
int num;
int c=0, suma=0;
_getch();
}
Haga los cambios necesarios para validar los datos de entrada y aplicar una estructura repetitiva interactiva.
PROBLEMA 5:
Determine la suma de la siguiente serie matemática para N términos:
1 + x + x2 + x3 + …
#include "stdafx.h"
Elaborado por Ing. Julio Vásquez Paragulla 5
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: MB545
SEMANA03
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas
#include <iostream>
#include <conio.h>
#include <math.h>
void main(){
int n;
double x, suma=0, term;
if(i%5==0)
printf("\n");
}
printf("\nla suma total es: %0.2f\n",suma);
_getch();
}
Haga los cambios necesarios para validar los datos de entrada y aplicar una estructura repetitiva interactiva.
PROBLEMA 6:
Una empresa automotriz desea registrar los reportes de la cantidad de vehículos defectuosos que se identifiquen en cada
uno de los siguientes paises: Peru, Chile, Argentina. Por cada reporte registrado debe mostrar la siguiente información en
forma de tabla:
PROBLEMA 7:
Determine el valor de PI con la suma de los N primeros términos de la siguiente serie matemática:
PROBLEMA 8:
Dado el lado de un cuadrado, dibújelo con asteriscos considerando la posibilidad de hacerlo sólo el borde o relleno
completo. Validar los datos de entrada y aplicar una estructura repetitiva interactiva.
Ejm. Lado = 5
* * * * * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * * * * *
PROBLEMA 9:
Muestre y sume los N primeros términos de la siguiente serie matemática: Validar los datos de entrada y aplicar una
estructura repetitiva interactiva.
10 11 13 16 20 25 …
PROBLEMA 10:
Muestre y sume los N primeros términos de la serie de Fibonacci: Validar los datos de entrada y aplicar una estructura
repetitiva interactiva.
1 1 2 3 5 8 13 21 …
PROBLEMA 11:
Dado un número entero positivo, determine si es o no es capicúa. Validar los datos de entrada y aplicar una estructura
repetitiva interactiva.
PROBLEMA 12:
Muestre y sume los N primero términos de la siguiente serie: Validar los datos de entrada y aplicar una estructura
repetitiva interactiva.
PROBLEMA 13:
Dado dos números enteros, determine su producto sin utilizar el operador de multiplicación. Validar los datos de entrada y
aplicar una estructura repetitiva interactiva.
PROBLEMA 14:
Dado un número entero, forme un nuevo número con sus dos cifras extremas cuyo valor sea el mayor posible.
PROBLEMA 15:
Muestre los N primeros números primos. Validar los datos de entrada y aplicar una estructura repetitiva interactiva.
PROBLEMA 16:
Una Universidad ha registrado en un proceso de admisión la cantidad de postulantes a las carreras profesionales
de Ingeniería: Mecánica, Naval, Mecatrónica, Mecánica Eléctria, Otra.
PROBLEMA 17:
Una empresa ha clasificado a sus productos en 3 categorías: A, B, C. Cualquier producto puede ser de
origen Nacional o Importado.Se quiere conocer las preferencias de los potenciales clientes por
lo que, por cada cliente que participa, su programa debe mostrar la siguiente información:
PROBLEMA 19:
Dado un número entero positivo, identifique la cifra mayor, la cifra menor y la suma de ellas. Verifique que
el número sea positivo y tenga por lo menos 2 cifras. Validar los datos de entrada y aplicar una estructura repetitiva
interactiva.
PROBLEMA 20:
Dado un número entero positivo, forme el mayor número posible con las cifras mayor y menor que
contenga. Verifique que el número sea positivo y tenga por lo menos 2 cifras. Validar los datos de entrada y aplicar una
estructura repetitiva interactiva.