Está en la página 1de 7

Ejercicio 21

Escriba el algoritmo para un programa que calcule el factorial de un número n ingresado


por el teclado.

Algoritmo
Inicio
Leer c, num, fac
Leer num
Fac:1
Desde c=1 hasta c<=num hacer
fac=fac*c
 Fin Desde
Imprimir num, fac
Fin

Variables
fac  : acumulador del valor del factorial del numero ingresado.
c  : cuenta el número de repeticiones.
num  : el número cuyo factorial se va ha calcular.

Programa
#include<stdio.h>
main(void)
{int c,num;
float fac;
printf("ingrese el número n para calcular su factorial  ");
scanf("%d",&num);
fac=1;
for(c=1;c<=num;c++)
fac=fac*c;
printf("el factorial de %d es %lf",num,fac);
}

Ejercicio 22

Para "Gaseosas Amazonía" escriba el algoritmo para un programa que procese e


imprima la información de la nómina de sus diez empleados. Para cada caso, el
programa debe leer el nombre, las horas de trabajo, el pago por hora normal y la edad.
 Ejemplo: Un grupo típico de datos podría ser:
 
NOMBRE                 N.H.T.                 P.H.               EDAD
Juan Sopla                     50                      5                      57
 
El pago por hora después de las 40 horas de trabajo tiene un aumento equivalente al
50% del pago por hora normal. Así, un empleado que trabaja 50 horas a S/. 5.00 por
hora tendrá un pago total de S/. 275.00. Al trabajador se le retiene un impuesto de la
siguiente manera: 
 10 % de los primeros S/. 200.00 y 20 % de la cantidad adicional.
 La primera parte de la impresión en papel debe ser la información relevante de cada
empleado.
 Ejemplo:  

                  
  La segunda parte debe informar sobre el pago total promedio para los empleados de al
menos 55 años. El nombre y el pago total para el empleado de menos de 55 años con
máximo pago total (se puede suponer que no hay empate).

Ejemplo

                  
La solución sería: Empleado menor de 55 años con máximo sueldo es Sergio con 460
soles.
El promedio del sueldo para los empleados mayor de 55 años es: 342.667 soles
Algoritmo
Inicio
Declare me, mp, promedio, nombre, nme, nht, ph, total, neto, impuesto, i, edad
Leer me, mp, promedio, nombre, nme, nht, ph, total, neto, impuesto, i, edad
mp:0;
promedio:0;
Desde i=1 hasta i=10 hacer
  leer nombre, nht, ph, edad
 si nht>40 entonces total:40*ph+(nht-40)*(ph+0.5*ph)
 si no           total:nht*ph
 si total>200  entonces impuesto:200*0.1+(total-200)*0.2
 si no           impuesto:total*0.1
         neto:total-impuesto
 imprimir nombre, nht, ph, edad
 imprimir total, impuesto, neto
si edad>=55 entonces promedio:promedio+neto/3
 si no
  si mp<neto entonces
    mp:neto;
   me:edad;
   nme:nombre
  fin si
fin si
fin Desde
imprimir promedio
imprimir nme mp me
Fin

Variables
me  : la máxima edad.
mp  : máximo promedio.
promedio : promedio que se calcula.
nombre : nombre que se ingresa por el teclado.
nme  : nombre del que tiene la máxima edad.
nht  : número de horas trabajadas.
ph  : pago por hora normal.
total  : total sin descuentos.
neto  : neto a pagar.
impuesto : impuesto
i  : contador
edad  : edad que se ingresa por el teclado.

Programa
#include<stdio.h>
#include<string.h>
main(void)
{
float me,mp;
float promedio;
char nombre[20];
char nme[20];
float nht,ph;
float total, neto,impuesto;
int i,edad;
mp=0;
promedio=0;
for(i=1;i<=10;i++)
{  printf("\n ingrese nombre: ");
 7        scanf("%s",nombre);
 printf("Ingrese número de horas trabajadas: ");
         scanf("%f",&nht);
 printf("Ingrese el valor del pago por hora: ");
 scanf("%f",&ph);
 printf("Ingrese la edad: ");
 scanf("%d",&edad);
 if(nht>40)  total=40*ph+(nht-40)*(ph+0.5*ph);
 else         total=nht*ph;
 if(total>200)  impuesto=200*0.1+(total-200)*0.2;
 else           impuesto=total*0.1;
         neto=total-impuesto;
 printf("%s trabajo %lf horas, pago por hora %lf, edad %d años
\n",nombre,nht,ph,edad);
 printf("total %lf, impuesto %lf, neto %lf soles ",total,impuesto,neto);
        if(edad>=55) promedio=promedio+neto/3;
 else
 { if(mp<neto)
   {mp=neto;
  me=edad;
         strcpy(nme,nombre);
  }
 }
}
 printf("\n\n pago promedio: %lf soles",promedio);
 printf("\n %s gana %lf soles edad: %lf años\n",nme,mp,me);
}

Ejercicio 23

Escriba el algoritmo para un programa Interactivo  para calificar a un grupo de 40


alumnos de la UNAT-A. El programa debe leer el nombre y sus 3 calificaciones para
cada alumno. Debe calcular el promedio para cada uno y después determinar si el
alumno es aprobado o no; se requiere un promedio de al menos 12 para aprobar. La
primera parte de la salida en el papel debe ser el nombre del alumno, 3 calificaciones,
promedio y un mensaje (aprobado ó desaprobado). La segunda parte de salida en el
papel debe dar el número de alumnos que aprobaron y el número de los que obtuvieron
al menos 18 de nota.

Algoritmo
Declare i, n1, n2, n3, promedio, naa, na18, nombre, condición.
Inicio
Leer i, n1, n2, n3, promedio, naa, na18, nombre, condición.
naa:0;
na18:0;
Desde i=1 hasta i<=40 hacer
12ºleer nombre, n1, n2, n3
promedio:(n1+n2+n3)/3
 if promedio>12 entonces
  condicion:1;
  naa:naa+1;
 si no
  condicion:2
 fin si
si condicion=1 entonces imprimir nombre, n1, n2, n3, promedio
sino imprimir nombre, n1, n2, n3, promedio
si promedio>=18 entonces na18:na18+1
Fin Desde
Imprimir naa, na18
Fin

 Contador Gratis ¿Cuantas visitas tiene tu web? Rápido y fiable. Sin límites. Free


www.Statscounter.infoEnlaces patrocinados

Variables
i  : contador
n1, n2, n3 : notas.
Promedio : promedio de notas.
naa  : número de alumnos desaprobados.
na18  : número de alumnos mayores de 18 años.
nombre : nombre del alumno
condición : asume valores 1 (aprobados), 2 desaprobados.
Programa
#include<stdio.h>
#include<string.h>
main(void)
{
int i,n1,n2,n3;
float promedio;
int naa,na18;
char nombre[20];
int condicion;
naa=0;
na18=0;Y54E4332EWWWWWW

for(i=1;i<=40;i++)
{printf("ingrese el nombre ");
scanf("%s",nombre);
printf("ingrese el nota1: ");
scanf("%d",&n1);
printf("ingrese el nota2: ");
scanf("%d",&n2);
printf("ingrese el nota3: ");
scanf("%d",&n3);
promedio=(n1+n2+n3)/3;
 if(promedio>12)
 {condicion=1;
 naa=naa+1;
 }
 else
 {  condicion=2; }
if(condicion==1) printf("%s nota1: %d nota2: %d, Nota3: %d, promedio: %lf condicion
:aprobado \n",nombre,n1,n2,n3,promedio);
else printf("%s nota1: %d nota2: %d, Nota3: %d, promedio: %lf condicion
:desaprobado \n",nombre,n1,n2,n3,promedio);
if(promedio>=18) na18=na18+1;
}
printf("hay aprobados: %d y aprobados con mas de 18 %d:\n",naa,na18);
}

Ejercicio 24

Escriba el algoritmo para un programa que calcule la suma de n de términos ingresado


por el teclado de la serie 5/6,11/12,23/14,.....

Algoritmo
Inicio
Declare i, n, num, suma
Leer n
Suma:0;
Num:2;
Desde i=1 hasta i<=n hacer
 Num:num*2+1
 Suma:suma+num/(num+1)
Fin Desde
Imprimir suma
Fin

Variables
i : Contador
n : Numero de términos de la serie
num : valor del numerador de la serie
suma : Acumulador de la suma

Programa
#include<stdio.h>
main(void)
{
int i,n;
float num,den,suma;
printf("ingrese la cantidad de términos ");
scanf("%d",&n);
suma=0;
num=2;
for(i=1;i<=n;i++)
 {num=num*2+1;
 suma=suma+num/(num+1);
 }
printf("suma %lf ",suma);
}

for ANIDADO

Ejercicio 25

Hacer el algoritmo para un programa que imprima 3 grupos, 5 veces


"CHACHAPOYAS" en cada grupo. Antes de cada grupo deberá decir "HOLA".

Algoritmo
Inicio
Declare n, m
Desde n=1hasta n<=3 hacer
 Imrpimir  "HOLA"
 Desde m=1 hasta m<=5 hacer
  Imprimir "CHACHAPOYAS"
 Fin Desde
Fin Desde
Fin

Variables
n, m : Variables contadores
Programa
#include<stdio.h>
int n,m;
main(void)
{
for(n=1;n<=3;n++)
{ printf("   HOLA  \n");
 for(m=1;m<=5;m++)
  printf("CHACHAPOYAS \n");
}
}

También podría gustarte