Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacin II
Salida: i vale 0 i vale 1 i vale 2 Estos tres ejemplos producen la misma salida, pero su uso general es muy distinto.
El bucle for contiene las cuatro partes siguientes: Parte de inicializacin: que inicializa las variables de control del bucle. Parte de condicin: que contiene una expresin lgica que hace que el bucle realice las iteraciones de las sentencias, mientras que la expresin sea verdadera. Parte de incremento: que incrementa o decrementa la variable o variables de control del bucle. Sentencias: acciones o sentencias que se ejecutarn por cada iteracin del bucle. La sentencia for es equivalente al siguiente cdigo while: inicializacin; while(condicinIteracin) { sentencias del bucle for; incremento; }
falso
verdadera Sentencia
Expresin_incremento
Existen dos formas de implementar la sentencia for que se utilizan normalmente para implementar bucles de conteo: formato ascendente, en el que la variable de control se incrementa y formato descendente, en el que la variable de control se decrementa. formato ascendente: for(var_control = valor_inicial; var_control <= valor_lmite; exp_incremento) sentencia; //ejemplo 1 #include <stdio.h> int n; void main(void) { for(n=1; n <= 10; n++) printf("%d \n",n); } 4
formato descendente: for(var_control = valor_inicial; var_control >= valor_lmite; exp_decremento) sentencia; //ejemplo 2 #include <stdio.h> int n; void main(void) { for(n=10; n >5; n--) printf(" %d \n",n); }
//ejemplo 4 #include <stdio.h> double p; void main(void) { for(p = 0.75; p <= 4; p+=0.25) printf("Permetro es ahora igual a %.2f \n",p); }
sentencia continue
La sentencia continue hace que la ejecucin de un bucle vuelva a la cabecera del bucle. //ejemplo 5 #include <stdio.h> void main() { int clave, i; puts("Introduce -2 para acabar "); clave = 1; for(i=0; i < 8; i++) { if(clave == -2) continue; scanf("%d",&clave); printf("clave %d\n",clave); } printf("VALORES FINALES i = %d clave = %d",i,clave); }
Inicio cn = 0 cp = 0 cneg = 0 Hacer para x = 1 a 20 Leer num Sin num = 0 entonces cn = cn + 1 si no Si num > 0 entonces cp = cp + 1 si no cneg = cneg + 1 Fin-si Fin-si Fin-para Imprimir cn, cp, cneg Fin.
//Programa en C #include<stdio.h> void main(void) { int cn=0, cp=0, cneg=0, x, num; for(x=1; x<=10; x++) { printf("ingrese el numero entero %d:",x); scanf("%d",&num); if(num==0) cn=cn+1; else if(num>0) cp=cp+1; else cneg =cneg +1; } printf("cantidad de numeros positivos: %d\n",cp); printf("cantidad de numeros negativos: %d\n",cneg); printf("cantidad de numeros neutros: %d\n",cn); }
2- Calcular el promedio de un alumno que tiene 5 calificaciones en la materia de Programacin. Inicio Sum=0 Leer nombre Hacer para i = 1 a 7 Leer calif Sum = sum + calif Fin-para prom = sum /7 Imprimir prom Fin. //Programa en C #include<stdio.h> void main(void) { char nombre[20]; int sum=0, i, calif; float prom; printf("cual es su nombre: "); scanf("%s", &nombre); for(i=1; i<=7;i++) { printf("introduzca calificacion %d: ",i); scanf("%d", &calif); sum=sum+calif; } prom=sum/7; printf(" %s tiene de promedio %.2f ",nombre, prom); }
3- Calcular e imprimir la tabla de multiplicar de un nmero cualquiera. Imprimir el multiplicando, el multiplicador y el producto. Inicio Leer num Hacer para X = 1 a 10 resul = num * x Imprimir num, * , X, = , resul Fin-para fin. //Programa en C #include<stdio.h> void main(void) { int num, x, resul; printf("introduzca el numero a multiplicar: "); scanf("%d", &num); for (x=1;x<=10;x++) { resul=num*x; printf(" %d * %d = %d\n", num, x, resul); } }
10
//Programa en C #include<stdio.h> void main(void) { int c; for (c=1;c<=50;c++) { if(c%2==0) printf(" numeros pares %d\n", c); } }
5- Escribir un programa que visualice una tabla de los N primeros nmeros, siendo N un nmero que ingrese el usuario. Utilizar el siguiente diseo de salida suponiendo que el usuario ingreso un dos:
NUMERO 1 2 CUADRADO 1 4 CUBO 1 8
11
Cuadrado %d
12
1 +
5678-
1 + +1
1 + +2
1 +
Hacer un programa que imprima los nmeros del 1 al 50, de 5 en 5. Hacer un programa que imprima los nmeros del 50 al 1, de 0.5 en 0.5 Realice un programa que permita calcular el factorial de un nmero. Realice un programa en C para calcular la suma siguiente: 100 + 98 + 96 + 94 +. . . + 0 en este orden. 9- Suponga que tiene una tienda y desea registrar sus ventas por medio de una computadora. Disee un programa en C que permita realizar las siguientes operaciones para N clientes: a) El monto de la compra de cada cliente. b) Calcule e imprima el IVA (15% de la compra). c) Calcule e imprima el total a pagar. d) Lea la cantidad con que paga el cliente. e) Calcule e imprime el cambio. Al final del da deber imprimir la cantidad de dinero que debe haber en la caja.
13
SENTENCIA DE CONTROL while Un bucle(ciclo) es cualquier construccin de programa que repite una sentencia o secuencia de sentencias un nmero de veces. La sentencia(o grupo de sentencias) que se repiten en un bloque se denomina cuerpo del bucle y cada repeticin del cuerpo del bucle se llama iteracin del bucle. Un bucle while tiene una condicin del bucle(una expresin lgica) que controla la secuencia de repeticin. La posicin de esta condicin del bucle es delante del cuerpo del bucle y significa que un bucle while es un bucle pretest, de modo que cuando se ejecuta el mismo, se evala la condicin antes de que se ejecute el cuerpo del bucle. El diagrama indica que la ejecucin de la sentencia o sentencias expresadas se repite mientras la condicin del bucle permanece verdadera y termina cuando se hace falsa. Si la condicin es inicialmente falsa , el cuerpo del bucle no se ejecutar. En otras palabras, el cuerpo de un bucle while se ejecutar cero o ms veces.
14
Sintaxis:
while(condicin_bucle) sentencia;
cuerpo
cuerpo
15
La variable que representa la condicin del bucle se denomina tambin variable de control del bucle debido a que su valor determina si el cuerpo del bucle se repite. La variable de control del bucle debe ser: 1. inicializada 2. comprobada 3. actualizada para que el cuerpo del bucle se ejecute adecuadamente. Cada etapa se resume as: 1. Inicializacin. contador se establece a un valor inicial(se inicializa a cero, aunque podra ser otro su valor) antes de que se alcance la sentencia while. 2. Prueba/condicin. Se comprueba el valor de contador antes de que comience la repeticin de cada bucle(denominada iteracin o pasada).
16
BUCLES while CON CERO ITERACIONES El cuerpo de un bucle no se ejecuta nunca si la condicin de repeticin del bucle no se cumple, es falsa(es cero en C), cuando se alcanza while la primera vez. contador = 10; while(contador > 100) { } El bucle anterior nunca se ejecutar ya que la condicin del bucle (contador > 100) es falsa la primera vez que se ejecuta. El cuerpo del bucle nunca se ejecutar.
17
18
// Programa en C #include<stdio.h> #include<stdlib.h> void main() { int suma=0,a=1,n_alumnos; float calif, prom; printf("Introduzca el numero de alumnos: "); scanf("%d",&n_alumnos); while(a<=n_alumnos) { printf("Calificacion [%d]: ",a); scanf("%f",&calif); suma = suma + calif; a++; } prom = suma /n_alumnos; printf("\nEL PROMEDIO DE NOTAS ES:%.2f",prom); }
19
20
21
4- Encontrar el menor valor de un conjunto de n nmeros dados. Inicio d=1, menor=999 leer ndatos hacer mientras(d<=ndatos) leer num si (num<menor) entonces menor=valor fin si d=d+1 fin mientras imprimir menor Fin
//Programa en C #include<stdio.h> #include<stdlib.h> void main(void) { int ndatos, d=1, menor=999, num; printf("Introducir la cantidad de numeros:"); scanf("%d",&ndatos); while (d<=ndatos) { printf("Introduzca el numero:\n"); scanf("%d", &num); if(num<menor) menor=num; d=d+1; } printf("el nmero menor es:%d\n", menor); }
22
5- Programa para calcular el nmero de caloras que se consume en un da. #include<stdio.h> void main(void) { int num_elem, cuenta, calorias, total; printf("Cuantos alimentos has comido hoy?: "); scanf("%d",&num_elem); total=0; cuenta=1; printf(" Introducir el numero de calorias por "); printf(" %d %s", num_elem, "alimentos tomados: \n"); while (cuenta++<=num_elem) { scanf("%d", &calorias); total+=calorias; } printf("las calorias totales consumidas hoy son:"); printf("%d\n", total);
23
2- Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos. 3- Encontrar el mayor valor de un conjunto de n nmeros dados. 4- En un supermercado un cajero captura los precios de los artculos que los clientes compran e indica a cada cliente cual es el monto de lo que deben pagar. Al final del da le indica a su supervisor cuanto fue lo que cobro en total a todos los clientes que pasaron por su caja. 5- Una compaa de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la semana. Su poltica de pagos es que un vendedor recibe un sueldo base, y un 10% extra por comisiones de sus ventas. El gerente de su compaa desea saber cunto dinero obtendr en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones. 6- Realizar la tabla de multiplicar de un numero entre 0 y 10 de forma que se visualice de la siguiente forma: 4x1=4 4x2=8 .. Use while 7- Codificar en C un programa que lea un texto. Luego de la lectura indicar cuantas a se ingresaron, cuantas e, i, o, u. Use While. 8- Calcule el aumento de sueldo para un grupo de empleados de una empresa, teniendo en cuenta el siguiente criterio: Si el sueldo es inferior a C$ 1000 : aumento 15% Si el sueldo es mayor o igual a C$1000 : aumento 12% Imprima el sueldo nuevo del trabajador y el total de nmina de la empresa, considerando este nuevo aumento.
24
25