Documente Academic
Documente Profesional
Documente Cultură
Sintaxis
Ejecución:
1.- Modulo de validación.- Se debe leer código y clave respectivamente.
void main()
{ float inte, monto, montoa;
gotoxy(10,3);cout<<"Ingrese el Préstamo:" ; cin>>monto;
if(monto<=200)
{ inte= monto*0.08;
montoa=(monto*0.08)+monto;
}
else
if(monto>200)
{
inte = monto*0.06;
montoa=(monto*0.06)+monto;
}
gotoxy(10,12);cout<<"El interés es ="<<inte;
gotoxy(10,14);cout<<"El monto actual es:"<<montoa;
getche();
}
Solución
Variables
ven, comisión: reales
Inicio
imprimir ( “Ingrese el monto de la venta:”),Leer (ven)
Si (ven < 80) entonces
comisión 0
Sino
Si (ven>=80 y ven<=600) entonces
comisión ven*0.12
Sino
Si (ven > 600) entonces
comisión ven*0.15
imprimir ( “La comisión es: ”, comisión)
Fin
Aplicación 10.- Hacer un programa para calcular el peso semanal de un
trabajador. Se debe ingresar el nombre, pago, por hora y el número de horas
trabajadas. Si normalmente se trabaja 40 horas a la semana y por cada hora
extra trabajada se paga 1.5 veces la hora normal, reportar el nombre y el
pago semanal del trabajador.
Solución
Variables
ph, nh, phe, pt, nhe : reales nom : cadena
Inicio
imprimir ( “Ingrese el nombre del trabajador:”),Leer( nom)
imprimir ( “Ingrese el pago por hora:”), Leer (ph)
imprimir ( “Ingrese el número de horas trabajadas:”),Leer (nh)
Si (nh<=40) entonces
pt nh*ph
Sino
Si (nh>40) entonces
inicio
nhe nh-40
phe ph*1.5
pt (40*ph)+(nhe*phe)
fin
imprimir ( “El trabajador es:”, nom)
imprimir ( “El pago semanal es:”, pt)
Fin
Algoritmos y Estructura de Datos 68
Centro de Extensión y Proyección Social (CEPS)
Solución
Variables
pr, pn, des: reales co : carácter tiempo: entero
Inicio
imprimir ( “Ingrese el precio del artículo:”), Leer( pr)
imprimir ( “Ingrese el código de venta:”), Leer (co)
Si (co=’c’) entonces
inicio
des pr*0.40, pn pr-des
fin
Sino
Si (co=’p’) entonces
inicio
imprimir ( “Ingrese el tiempo de pago en meses:”), Leer(tiempo)
Si (tiempo>12) entonces
inicio
des pr*0.60, pn pr+des
fin
Sino
Si (tiempo<12) entonces
inicio
des pr*0.30
pn pr+des
fin
imprimir ( El pago neto es:”, pn)
Fin
Solución
Variables s, a, b, c: enteros
Área: real
Algoritmos y Estructura de Datos 70
Centro de Extensión y Proyección Social (CEPS)
Inicio
imprimir ( “Ingrese el lado a:”), Leer (a)
imprimir ( “Ingrese el lado b:”), Leer b)
imprimir ( “Ingrese el lado c:”), Leer (c)
imprimir ( “Ingrese el semiperimetro del triángulo:”), Leer (s)
Si (s>a y s>b y s>c)
área ((s*((s-a)*(s-b)*(s-c))))^0.5
imprimir ( “El área del triángulo es: ”, área)
Sino
imprimir ( “DATOS INCORRECTOS”)
Fin
Aplicación 14.- Calcular el valor de la función de acuerdo a lo siguiente:
Y=x^2+5 Si x<=0
Y=3x-1 Si 0<x<2
Y=x^2-4x+5 Si x>=2
Solución
Variables
x, y: reales
Inicio
imprimir ( “Ingrese el valor de x:”), Leer (x)
Si (x<=0) entonces
inicio
y x^2+5
imprimir ( “El valor de y es:”, y)
fin
Sino
Si (x>0 y x<2) entonces
inicio
y 3*x-1
Imprimir ( “El valor de y es:”, y)
fin
Sino
Si (x>=2) entonces
inicio
y x^2-4*x+5
imprimir ( “El valor de y es:”, y)
fin
Fin
Aplicación 6.- Hacer un programa para que calcule e imprima los valores
de las raíces reales de una ecuación de segundo grado:
void main()
Inicio
{ int ldi,ldd,acum=0;
Imprimir(‘ Ingrese lado izquierdo “),
gotoxy(10,3);cout<<"Bienvenidos";
leer(ldi); gotoxy(10,5);cout<<"Lado
Imprimir(‘ Ingrese lado derecho “);l Izquierdo";cin>>ldi;
eer(ldd) gotoxy(10,6);cout<<"Lado
acum 0 Derrecho";cin>>ldd;
Mientras (Cont_I<=Lado_d) hacer while(ldi<=ldd)
Inicio { acum= acum+ldi;
Aplicación 3.- Diseñar un diagrama de flujo que permita ingresar datos tipo
entero y luego calcular la sumatoria y el promedio del conjunto de datos.
Finaliza el ingreso de notas si edita 0.
Solución. El programa solicita un dato, verifica si es diferente de cero,
entonces acumula; se genera bucles hasta editar 0.
variables
n,i,cu=0,co, pc1,pc2,pc3,menorp: enteros
nomb : cadena de longitud 20 caracteres, resp='S': caracter
Inicio
imprimir(“SISTEMA ACADEMICO ");
mientras((resp=='S')|| (resp=='s')) hacer
Inicio
cu=cu+1;
imprimir(“Curso No.:",cu);
imprimir(“Ingrese total alumnos = ");leer(n);
i=1;
mientras(i<=n) hacer
Inicio
imprimir(“Ingrese datos= ”);
imprimir(“Alumno No.: ",i," .- ");
imprimir(“Codigo = "); leer(cod);
si((cod>99) y (cod<1000)) hacer
Inicio
imprimir(“Es Correcto.....");
imprimir(“Nombre=");leer(nomb);
imprimir(“Pc1=");leer(pc1);
si((pc1>=0) y (pc1<21)) entonces
Inicio
imprimir(“Pc1 es correcto continuar");
imprimir(“Pc2 =");leer(pc2);
si((pc2>=0) y (pc2<21)) entonces
Inicio
imprimir(“Pc2 es correcto continuar");
imprimir(“Pc2 =");leer(pc3);
menorp=20;
si(menorp>pc1) menorp=pc1;
si(menorp>pc2) menorp=pc2;
si(menorp>pc3) menorp=pc3;
imprimir(“Menor =",menorp);
pp=((pc1+pc2+pc3)-menorp)/2;
imprimir(“Promedio = ",pp);
si(pp>10) entonces
imprimir(“APROBADO);
sino
imprimir(“DESAPROBADO");
fin
sino
imprimir(“Error en Pc2, adios...");
fin
fin
sino
imprimir(“Error en Pc1, adios...");
fin
fin
sino
imprimir(“Es InCorrecto.....");
i=i+1;
fin
imprimir(“Sr. desea procesar siguiente curso...?(S/N)==>");leer(resp)
si(resp=='N') entonces
inicio
imprimir(“Ud proceso ",cu," cursos");
exit(0);
fin
fin
fin
float pp=((pc1+pc2+pc3)-menorp)/2;
gotoxy(25,16);cout<<"Promedio = "<<pp;
if(pp>10)
{gotoxy(45,16);cout<<"APROBADO"; getche();
}
else
{gotoxy(45,16);cout<<"DESAPROBADO"; getche();
}
}
else
{gotoxy(25,11);cout<<"Error en Pc2, adios...";
}
}
else
{ gotoxy(25,11);cout<<"Error en Pc1, adios...";
}
}
else
{gotoxy(55,8);cout<<"Es InCorrecto-.....";
}
i++;
}
gotoxy(10,23);
cout<<"Sr. desea procesar sigte curso...?(S/N)==>"; resp=getch();
if(resp=='N')
{clrscr(); system("color 7b");
gotoxy(20,12);cout<<"Ud proceso "<<cu<<" cursos";getche(); exit(0);
}
}
}
Solución.
a).- Se define un contador (cont) como variable de control y n el número de
términos a ingresar. Para sumar se define la variable Acum que va
acumulando los valores según como avance el contador.
b).- La condición de terminación está controlado por el contador, el cual
avanza hasta que se menor o igual a n, dato ingresado por el usuario.
c).- Se debe inicializar el Acumulador en cero.
Aplicación 2.- Diseñar un diagrama de flujo que permita leer n datos de tipo
entero y luego genere un reporte que muestre el número mayor.
Solución. Se definen las siguientes variables:
n : para leer el número de elementos.
Dato : para lectura de los elementos
Máximo : para almacenar el número mayor.
Se usa la estructura de control repetitiva dese…. que permite leer desde el
segundo elementos hasta el total y luego se usa la estructura condicional
si….., para comparar dos datos y si es verdadera la respuesta asigne o
cargue el dato la variable máximo.
Ejecución:
Variable
n, sp=0, si=0,a,i=1: enteros
Inicio
imprimir (“Ingrese total de
números”),
leer(n)
Mientras
Inicio
Imprimir (“Ingrese numero =”),
leer(a)
Si (n mod 2=0) entonces
inicio
Sp sp+a
fin
Sino
Si (n mod 2 <>0) entonces
inicio
Si si+a
fin
i=i+1
fin
imprimir ( “ La suma de pares es:”,sp)
imprimir ( “ La suma de impares es:”,si)
Fin
Solución
Programa Pseudocódigo Programa DFD
Variables
p, s, n: enteros
Inicio
n 20
p 1
s 0
Mientras (n<=80)
Inicio
Si (n mod 2<>0 entonces
inicio
s s+n
p p*n
Fin
n n+1
fin
imprimir ( La suma de los
impares es:”, s)
imprimir ( “El producto de los
impares es:”, p)
Fin.
l l+1
fin
promedio suma/cantidad
imprimir(“Promedio= :”, promedio)
Fin
Variables
N, inv0, i=1,secpar=0,secimp=0,nr=0,nnr=0,
imprimir(“Ingrese n= “), leer(n)
Si (n>9) entonces
Inicio
Mientras (n>0 ) hacer
d n mod 10
inv inv*10+d
n n/10
si(d mod 2=0) entonces
inicio
fin
secpar secpar+d*pow(10,nr)
nr nr+1
sin
inicio
secimp secimp+d*pow(10,nnr)
nnr nnr+1
fin
fin
Fin
Sino
Imprimr(“Error, hasta luego..”)
fin
Fin
Si (factor_primo ) Entonces
imprimir( n );
factoriza falso;
sino
imprimir(div) ; n n/div;
factor_primo verdad
Fin
Fin
FIN
COMPENDIO DE PROBLEMAS
Para que el alumno tenga derecho a rendir Exámenes Parcial (exp.) y Final
(exf.), el promedio de prácticas debe ser mayor que 6,6. En otro caso ‘El
alumno esta desaprobado en el ciclo
El promedio final (pf.) se calcula mediante: pf= (pp+exp+exf). Si pf >10
entonces ‘Alumno Aprobado’. En otro caso alumno puede rendir examen
sustitutorio (exs). Para calcular
el nuevo promedio final (pf), se
considera el examen
sustitutorio el cual reemplaza al
examen parcial o final
dependiendo cual tiene menor
nota. Si pf>10 entonces
‘Alumno Aprobado’, en otro caso ‘Alumno Desaprobado’.
entero mayor o igual a 10 y menor que 10000. Luego puede ocurrir que:
I.- Si el número es par, entonces el programa
debe realizar las siguientes tareas:
a).-Mostrar el numero en forma invertida
b).-Conocer el número total de dígitos.
c).-Conocer el número total de dígitos pares.
(Ver figura.)
d) Conocer el número total de dígitos impares
(ver figura.)
II.- Si el número es impar, entonces el sistema confirma que el dato es un
DÍGITO y luego el programa debe calcular y mostrar el factorial del último
digito. Ahora, si el usuario ingresa una letra, el sistema confirma mediante el
mensaje, que el dato es una LETRA, luego solicita que ingrese una cadena,
de la cual mostrar su longitud y por cada posición del carácter, formar la
secuencia respectiva. Ver figura
Problema 11.- Diseñar un Programa que permita leer un numero entero n,
en Base Decimal y devuelve su equivalente en el Sistema Binario. En la
siguiente interface se ilustra el ejemplo.
Problema 20.- Boletos por besos: Para ir hacia su escuela, Juan aborda
un camión. Cuando Juan sube al camión y deposita las monedas en la
alcancía, el conductor le da un boleto con un número de serie consecutivo, el
cual generalmente llega a la basura. Sin embargo, un día él se entera de
algo interesante. Si la suma de los dígitos de dicho boleto es 21, él lo puede
cambiar con quien quiera por un beso. Juan quiere conseguir muchos besos
de la persona que está enamorado y ella ha aceptado dárselos a cambio de
dichos boletos, pero no es tan fácil conseguirlos. Juan ha decidido que si el
boleto que le da el conductor no suma 21, esperará hasta que una persona
suba después de él y sume 21, y le pedirá a esta su boleto, para lo cual
debe ir realizando las cuentas a mano, cosa que es muy tediosa. Ayuda a
Juan escribiendo un programa que dado un numero n de 7 dígitos, le
proporcione el numero p de personas que deben abordar después de el para
que obtenga el boleto deseado y m, donde m representa los 7 dígitos de
dicho boleto. Cuando un tiraje de boletos termina, es decir llega a 9999999,
el conductor toma otro tiraje comenzando nuevamente en el número
0000000.