While - lenguajedeprogramacion2011i

Anuncio
LENGUAJE DE PROGRAMACION I
DEV C++
Ing. JAVIER ECHEGARAY ROJO
Ing. WILDER ROMAN MUNIVE
CAPITULO IV
Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive
Pag 1
LENGUAJE DE PROGRAMACION I
DEV C++
4.3 El lazo while
Su formato es:
while (expresion) instrucción
Su funcionalidad debe simplemente
repetir la declaración mientras la
condición puesta en la expresión es
verdadera( distinto de cero).
Por ejemplo, vamos a hacer un
programa con la cuenta regresiva que
usa un lazo-while:
Programa # 14
// conteo descendente usando While
#include <iostream>
using namespace std;
int main ()
{
int n;
cout << "Ingrese numero inicial > ";
cin >> n;
while (n>0) {
cout << n << ", ";
--n;
}
cout << "FIN\n";
system(“pause”);
return 0;
}
Ejecución del programa ;
Ingrese numero inicial > 7
7, 6 , 5 , 4 , 3 , 2 . 1 , FIN
presione una tecla para continuar . .
.
Cuando el programa comienza pide al usuario ingresar un número de partida
para la cuenta regresiva. Entonces el lazo while comienza, si el valor ingresado
Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive
Pag 2
LENGUAJE DE PROGRAMACION I
DEV C++
por el usuario cumple con la condición n> 0 ( n es mayor cero) el bloque que
sigue a la condición será ejecutada y repetida mientras la condición (n > 0) siga
siendo verdadera
El proceso total del programa anterior puede ser interpretado según la secuencia
siguiente (comenzando en main ):
1. El usuario asigna un valor a n
2. La condicion while es evaluada (n>0). En este punto hay dos posibilidades :
* La condicion es verdadera : La instruccion es ejecutada ( ir al paso 3)
* la condicion es falsa : ignorar instrucción y continuar (ir al paso 5)
3. Ejecutar instruccion:
cout << n << ", ";
--n;
(imprime el valor de n en la pantalla y decrementa el valor de n en 1)
4. Fin del bloque . Regresar automaticamente al paso 2
Continuar el programa después del bloque : Imprimir FIN y terminar el programa.
Cuando creamos un lazo While , siempre debemos considerar que tiene que
terminarse en algún punto, por lo tanto debemos proporcionar dentro del bloque
algún método de obligar a la condición de hacerse falsos en algún punto, si no el
lazo seguirá infinitamente. En este caso hemos incluido - la n; que disminuye el
valor de la variable que es evaluada en la condición (n) en cada iteración , hasta
que el valor de n se hace cero y por tanto la condición sea falsa terminando el
lazo.
Desde luego esto es una acción tan simple para nuestro ordenador que la cuenta
regresiva entera es realizada al instante y sin demora .
Ejercicios Propuestos
1 - Realizar un programa que imprima 25 términos de la serie 11 - 22 - 33 - 44, etc. (No
se ingresan valores por teclado).
2 - Mostrar los múltiplos de 8 hasta el valor 500. Debe aparecer en pantalla 8 -16 -24,
etc.
3 - Escribir un programa que lea 10 notas de alumnos y nos informe cuántos tienen
notas mayores o iguales a 11 y cuántos menores.
4 - Se ingresan un conjunto de 5 alturas de personas por teclado. Mostrar la altura
promedio de las personas
5 - En una empresa trabajan 5 empleados cuyos sueldos oscilan entre $100 y $500,
realizar un programa que lea los sueldos que cobra cada empleado e informe cuántos
empleados cobran entre $100 y $300 y cuántos cobran más de $300. Además el
programa deberá informar el importe que gasta la empresa en sueldos al personal.
6 - Desarrollar un programa que permita cargar 5 números enteros y luego nos informe
cuántos valores fueron pares y cuántos impares.
Emplear el operador "%" en la condición de la estructura condicional
Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive
Pag 3
LENGUAJE DE PROGRAMACION I
DEV C++
if (valor%2==0)
El operador "%" retorna el resto de la división valor / 2. Por ejemplo: 12 % 2, retorna 0;
13 % 2, retorna 1, porque el resto de dividir 13 en 2 es 1.
4.4 El lazo do-while
Su formato es :
do instrucciòn
while (condicion);
Su funcionalidad es exactamente la misma
que el lazo WHILE ,
con la excepción
que en el do-while la condición es evaluada
después de la ejecución de la instrucción ,
permitiendo al menos una ejecución de la
instrucción incluso si la condición fuese falsa
. Por ejemplo, el programa de ejemplo
siguiente repite cualquier número en el que
usted ingrese hasta que usted ingrese 0
Programa # 15
#include <iostream>
using namespace std;
int main ()
{
unsigned long n;
do {
cout << "Ingrese un numero (0 para terminar): ";
cin >> n;
cout << "Ha ingresado: " << n << "\n";
} while (n != 0);
system(“pause”);
return 0;
}
Ejecución del programa:
Ingrese un numero (0 para terminar ) : 12
Ha ingresado 12
Ingrese un numero (0 para terminar ) : 0
Ha ingresado 0
Presione cualquier tecla para continuar. . .
Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive
Pag 4
LENGUAJE DE PROGRAMACION I
DEV C++
Programas Propuestos
1.
Realizar un programa que acumule (sume) valores ingresados por teclado hasta ingresa el
9999 (no sumar dicho valor, solamente indica que ha finalizado la carga). Imprimir el valor
acumulado e informar si dicho valor es cero, mayor a cero o menor a cero
En un banco se procesan datos de las cuentas corrientes de sus clientes. De cada cuenta corriente se
conoce: número de cuenta, nombre del cliente y saldo actual. El ingreso de datos debe finalizar al
ingresar un valor negativo en el número de cuenta.
Se pide confeccionar un programa que lea los datos de las cuentas corrientes e informe:
a) De cada cuenta: número de cuenta, nombre del cliente y estado de la cuenta según su saldo,
sabiendo que:
Estado de la cuenta `Acreedor ´si el saldo es < 0
'Deudor' si el saldo es <0
'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
3 - Se realizó un censo provincial y se desea procesar la información obtenida en dicho censo. De
cada una de las personas censadas se tiene la siguiente información: número de documento,
edad y sexo ('femenino' o 'masculino').
Se pide confeccionar un programa que lea los datos de cada persona censada (para finalizar ingresar
el valor cero en el número de documento) e informar:
a)
b)
c)
Cantidad total de personas censadas.
Cantidad de varones.
Cantidad de mujeres.
Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive
Pag 5
Descargar