Download Material de apoyo Computacin para Ing.

Document related concepts

Printf wikipedia , lookup

Boo (lenguaje de programación) wikipedia , lookup

Bucle infinito wikipedia , lookup

Transcript
Apuntes de Programación
1. Se desea llevar el registro de una caja registradora de un supermercado durante un
día, no se sabe cuántos productos se ingresarán. Se finaliza el ingreso de datos con
un valor cero o negativo. Se pide:
a) Cantidad de productos registrados
b) Monto total de ventas
c) Valor del producto con mayor precio
int main()
{
float precio;
int cont = 0;
float suma = 0;
float mayorPrecio = -1;
printf("Ingrese precio ");
scanf("%f",&precio);
while(precio > 0)
{
cont++;
suma += precio;
if(precio > mayorPrecio)
mayorPrecio = precio;
printf("Ingrese precio ");
scanf("%f",&precio);
}
printf("Cantidad : %d\n",cont);
printf("Suma total : %f\n",suma);
printf("Precio mayor : %f\n",mayorPrecio);
system("pause");
}
Profesor: Mauro Castillo Valdés - 2010
1
Apuntes de Programación
2. Programa que permita ingresar el fondo de pensiones (A, B, C o D) y el monto
ahorrado. Determinar el valor del monto bonificado, según el porcentaje respectivo:
Fondo A = 30%
Fondo B = 25%
Fondo C = 10%
Fondo D = 5%
Versión 1
int main()
{
float monto, valor;
char fondo;
printf("Ingrese monto ");
scanf("%f",&monto);
fflush(stdin),
printf("Ingrese fondo ");
scanf("%c",&fondo);
if(fondo == 'a')
valor = monto * 1.30;
if(fondo == 'b')
valor = monto * 1.25;
if(fondo == 'c')
valor = monto * 1.10;
if(fondo == 'd')
valor = monto * 1.05;
printf("Bonificacion %f\n",valor);
system("pause");
}
Profesor: Mauro Castillo Valdés - 2010
2
Apuntes de Programación
Versión 2
int main()
{
int sw = 0;
while(sw == 0)
{printf("Fondo de pensiones (A, B, C, D): ");
scanf("%c",&fondo);
printf("Ingrese monto : ");
scanf("%f",&monto);
fflush(stdin);
switch (fondo)
{ case 'A' :
case 'a' :
printf("FONDO A\n");
valor = monto * 1.30;
sw = 1;
break;
case 'B' :
case 'b' :
printf("FONDO B\n");
valor = monto * 1.25;
sw = 1;
break;
case 'C' :
case 'c' :
printf("FONDO C\n");
valor = monto * 1.10;
sw = 1;
break;
case 'D' :
case 'd' :
printf("FONDO D\n");
valor = monto * 1.05;
sw = 1;
break;
default:
printf("no existe este fondo\n");
}
}
printf("Valor final es %.2f\n",valor);
}
Profesor: Mauro Castillo Valdés - 2010
3
Apuntes de Programación
3. Operatoria sobre números enteros
Operador / : retorna el cuociente de la división entre dos números
Operador % : retorna el resto de la división entre dos números
int main()
{
int x, y, z, r;
x = 5;
y = 2;
z = x / y;
r = x % y;
printf("x : %d\n",x);
printf("y : %d\n",y);
printf("z : %d\n",z);
printf("r : %d\n",r);
system("pause");
}
4. Contar los dígitos de un número
int main()
{
int x, c;
printf("Ingrese numero ");
scanf("%d",&x);
c = 0;
while(x != 0)
{
c++;
x = x / 10;
}
printf("cantidad : %d\n",c);
system("pause");
}
Profesor: Mauro Castillo Valdés - 2010
4
Apuntes de Programación
5. Sumar los dígitos de un número
int main()
{
int x, s, r;
printf("Ingrese numero ");
scanf("%d",&x);
s = 0;
while(x != 0)
{
r = x % 10;
s = s + r,
x = x / 10;
}
printf("Suma : %d\n",s);
system("pause");
}
6. Dado un número entero, mostrar cual es su primer dígito
Ejemplo
Si N=123
Si N=2305
muestra 1
muestra 2
7. Dado un número cualquiera, determinar si es PAR o IMPAR
8. Contar cuántos dígitos impares tiene un número cualquiera
9. Determinar el o los dígitos centrales. Si el número tiene cantidad impar de dígitos
debe retornar el dígito central, en caso contrario debe retornar los dos dígitos
centrales.
Ejemplo:
Num=123
mostrar 2
Num=1234
mostrar 23
10. Determinar si el primer y el último dígito de un número son iguales o no.
Profesor: Mauro Castillo Valdés - 2010
5