5.3.1 BUCLE for
Ejercicio 16
Hacer el algoritmo para un programa, que calcule la máxima área de un terreno rectangular de lados 100-2x y x respectivamente, para valores de x entre 10 y 30.
Algoritmo
Inicio
Declare x, area
Desde x=10 hasta x<=30 hacer
Area=100-2*x
Imprimir x, area
Fin Desde
Fin
Variable
X : asume valores desde 10 hasta 30.
Area : asume el valor del área.
Programa
#include<stdio.h>
main(void)
{int x;
for(x=10; x<=30;x++)
printf("%d unidades, para x=%d \n",x*(100-2*x),x);
}
NOTA: El mayor valor de área es 1250 para un valor de x =25
Ejercicio 17
Hacer el algoritmo para un programa que calcule el mayor y el menor número de 8 números ingresados por el teclado.
Algoritmo
Inicio
Declare num, mayor, menor, x;
mayor:0;
menor:10000;
Desde x=1 hasta x<=8 hacer
leer num
si mayor<num entonces mayor:num;
si menor>num entonces menor:num;
Fin Desde
Imprimir mayor, menor
Fin
Variables
num : guarda un número ingresado
mayor : Para asignarle el valor del mayor de los números leídos.
menor : Para asignarle el valor del menor de los números leídos
x : Permite contar los 8 ingresos (valores desde 1 hasta 8).
Programa
#include<stdio.h>
main(void)
{int num,mayor,menor,x;
mayor=0;
menor=10000;
for(x=1; x<=8;x++)
{ printf("INGRESAR NÚMERO %d\n",x);
scanf("%d",&num);
if(mayor<num) mayor=num;
if(menor>num) menor=num;
}
printf("NÚMERO MAYOR: %d MENOR: %d \n",mayor,menor);
return 0;
}
Ejercicio 18
Hacer el algoritmo para el ejercicio 16, para encontrar solamente el valor de la mayor área e imprimir el valor de x para el esta área máxima.
Algoritmo
Inicio
Declare area, x, maxarea, maxx
maxarea:0;
Desde x=10 hasta x<=30 hacer
area:x*(100-2*x);
si maxarea<area entonces
maxarea:area;
maxx:x
Fin si
Fin Desde
imprimir maxarea, maxx
Fin
Variables
area : Valor del area
x : valor de x.
maxarea : valor de la máxima área.
maxx : valor delmáximo valor de x.
Programa
#include<stdio.h>
main(void)
{int area, x;
int maxarea,maxx;
maxarea=0;
for(x=10; x<=30;x++)
{
area=x*(100-2*x);
if(maxarea<area)
{maxarea=area;
maxx=x;}
}
printf("área máxima %d unidades, para x=%d \n",maxarea,maxx);
}
NOTA: En este caso la mayor área es 1250, para x=25.
Ejercicio 19
Escríbase el algoritmo para un programa en el que se pide al usuario ingresar el nombre, sexo, número de horas de trabajo y el sueldo por hora para cada uno de seis empleados. La primera parte de la impresión en el papel debe dar el nombre y el pago para cada empleado. La segunda parte debe dar totales separados y pagos promedios separados para hombres y para mujeres. El programa puede suponer que hay al menos un empleado de cada sexo.
Ejemplo:
NOMBRE SEXO *NHT PAGO POR H TOTAL
A M 50 5 250
E F 60 4 240
I M 70 6 420
O F 50 6 300
U F 50 10 500
E M 70 7 490
*Número de horas trabajadas
SEXO PROM TOTAL
H 386,6667 1160
F 346,6667 1040
Algoritmo
Inicio
Declare x, pht, nht, sexo, ptt, sumasm, sumasf, sm, sf, nombre
sumasm:0;
sumasf:0;
sm:0;
sf:0;
Desde x=1 hasta x<=6 hacer
leer sexo
si sexo=1entonces
sm:sm+1;
leer nombre,nht, pht
ptt:nht*pht;
imprimir nombre, ptt
sumasm:sumasm+ptt
else
sf:sf+1;
leer nombre, nht, pht
ptt:nht*pht;
imprimir nombre, ptt
sumasf:sumasf+ptt
fin si
Fin Desde
Imprimir sumasm, sumasm/sm
Imprimir sumasf, sumasf/sf
Fin
Variables
x : asume valores de 1 hasta 6.
pht : pago por hora trabajada.
nht : número de horas trabajadas.
sexo : sexo.
ptt : pago total.
sumasm : suma de pagos de las hombres.
sumasf : suma de pagos de las mujeres.
sm : número de hombres cuyos datos se ingresaron.
sf : número de mujeres cuyos datos se ingresaron.
nombre : nombre de los trabajadores.
Programa
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int x,pht,nht,sexo,ptt,sumasm,sumasf;
float sm,sf;
main(void)
{char nombre[20];
sumasm=0;
sumasf=0;
sm=0;
sf=0;
for(x=1; x<=6;x++)
{printf("ingrese sexo 1 varon, 2 mujer\n ");
scanf("%d",&sexo);
if(sexo==1)
{sm=sm+1;
printf("ingrese nombre \n ");
scanf("%s",&nombre);
printf("ingrese nro de horas trabajadas \n");
scanf("%d",&nht);
printf("ingrese pago por hora trabajada\n");
scanf("%d",&pht);
ptt=nht*pht;
printf("%s GANA %d SOLES \n\n",nombre,ptt);
sumasm=sumasm+ptt;}
else
{sf=sf+1;
printf("ingrese nombre \n ");
scanf("%s",&nombre);
printf("ingrese nro de horas trabajadas \n");
scanf("%d",&nht);
printf("ingrese pago por hora trabajada\n");
scanf("%d",&pht);
ptt=nht*pht;
printf("%s GANA %d SOLES \n\n",nombre,ptt);
sumasf=sumasf+ptt;}
}
printf("los HOMBRES GANAN TOTAL: %d SOLES, PROMEDIO: %f \n",sumasm,sumasm/sm);
printf("las MUJERES GANAN TOTAL: %d SOLES, PROMEDIO: %f",sumasf,sumasf/sf);
}
Ejercicio 20
Escriba el algoritmo para un programa que imprima la suma de 15 elementos de la serie: 1/2 +3/4 +7/8 +15/16...
Algoritmo
Inicio
Declare a, c, suma;
a:1
suma:0.5
Desde c=1 hasta c<15 hacer
a:a*2+1
suma:suma+(a/(a+1))
fin Desde
imprimir suma
Fin
NOTA: Tenga en cuenta el bucle es de 14 repeticiones por que suma se inicializa en 0.5.
Variables
a : Asume los valores de los numeradores.
c : Indica las 14 repeticiones.
suma : Acumula el valor de la suma.
Programa
#include<stdio.h>
main(void)
{float a,c,suma;
a=1;
suma=0.5;
for(c=1;c<15;c++)
{a=a*2+1;
suma=suma+(a/(a+1));}
printf("%lf",suma);
}
Hay 12 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Creación de un microrobot Este es un robot muy sencillo pensado para aquellos que se quieren iniciar en el mundo de la microbótica. La estructura mecánica está realizada con piezas de Lego y como ... [25/02/05] |
|
8.057 | ||
|
Programación estructurada (primera parte) Aprende, en el mundo de la informática, la programación estructurada: en qué consiste y cuál es su justificación. Analizaremos la visión clásica de la programación estruc... [16/10/08] |
|
1.390 | ||
|
PHP y MySQL. Aplicaciones Web: HTML II (tercera parte) Programación de aplicaciones Web con PHP y MySQL. Ahora continuaremos con el estudio de las páginas Web HTML. Estudiaremos las listas en HTML. ... [02/12/08] |
|
711 | ||
Publicar en
del.icio.us
digg
meneame