Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Considerar
- La granja mantuvo una Producción entre 0 y 75000 unidades
mensuales por cada año.
- Las Ventas nunca podrán exceder a la Producción.
- Deberás garantizar que ambos datos sean válidos de acuerdo
a lo mencionado anteriormente y no procesar datos incorrectos
bajo ninguna circunstancia.
program ejercicio1;
var
ano, mes, anomax, mesmax, x: integer;
vendido, producido, cpa, cva, caa, cta, ctp, ctv, maximaventa : real;
error : boolean;
BEGIN
ctp := 0;
ctv := 0;
maximaventa := 0;
mesmax := 1;
anomax := 1980;
for ano := 1980 to 2005 do
begin
cpa := 0;
cva := 0;
for mes := 1 to 12 do
begin
repeat
error := false;
1
write('Año --> ', ano); write(' Mes --> ', mes);
write(' Producido --> '); readln (producido);
if (producido < 0) or (producido > 75000) then
begin
error := true;
writeln ('ERROR,lo producido debe ser inferior a 75000')
end
else
begin
write(' Vendido --> '); readln (vendido);
if vendido > producido then
begin
error := true;
write ('ERROR,lo vendido no puede ser superior a lo ');
writeln ('producido')
end
else
begin
cpa := cpa + producido;
cva := cva + vendido;
end
end;
until (not error) ;
2
writeln('Cantidad total producida en los 25 años es ', ctp);
writeln('Cantidad total vendida en los 25 años es ', ctv);
cta := ctp - ctv;
writeln('Cantidad total almacenada en los 25 años es ', cta);
writeln ('La máxima venta fue por ', maximaventa :7:2);
writeln ('y fue en el año ', anomax:4, 'y en el mes ', mesmax);
END.
3
Ejercicio Nro. 2.
program examen;
var
x, n1, n2, d1, d2, cont, veces, final, base10, i, cantidad: integer;
capicuo: boolean;
BEGIN
cantidad := 0;
write('escriba el número --> ');
readln(x);
{ En este ciclo se leen una serie de números hasta que el usuario introduce
un cero}
while (x <> 0) do
begin
n1 := x; cont := 0;
while (n1 >= 10) do
begin
n1:= n1 div 10;
cont := cont + 1;
end;
capicuo := true;
veces := 1;
n1 := x;
n2 := x;
final := cont div 2;
if cont mod 2 <> 0 then
final := final + 1;
{final contiene la posición hasta la cual vamos a comparar dígito a dígito}
4
{Se calcula aquí la potencia de 10 más alta del número}
base10 := 1;
for i := 1 to cont do
base10 := base10 * 10;
if capicuo then
begin
cantidad := cantidad + 1;
writeln (x:3, ' es capicuo');
end;
END.
5
Ejercicio Nro. 3
Dada una frase terminada en punto implementa un programa que permita contar la
cantidad de pares 'EN' que existe en el texto e indique las posiciones en las cuáles
fueron encontrándose los pares.
Ejemplo: "Yo salgo bien en este examen, obtendré un 20." =>
1er Par posiciones 12 y 13; 2do Par posiciones 15 y 16;
3er Par posiciones 27 y 28; 4to Par posiciones 34 y 35.
Cantidad Total de pares 'EN' = 4.
program ejercicio3;
var
frase : string;
largo, i, cont : integer;
BEGIN
END.
6
Otros ejercicios
program dados;
var
i, j, suma, n, x: integer;
BEGIN
write('escriba el número --> ');
readln(n);
if ((n < 2) or (n > 12)) then
writeln ('ERROR...debe estar entre 2 y 12')
else
begin
suma := 0;
i := 1;
j := n -1;
if n > 7 then
j := 6;
while (i <= j) do
begin
suma := i + j;
if (suma = n) then
begin
writeln ('una combinación posible es ', i:2, j:2);
j := j - 1;
i := i + 1;
end
else
if (suma < n) then
i := i + 1;
end; {fin del while}
end; {fin del else}
END.
7
2) Dada la edad y el sexo de un grupo de 50 estudiantes leídos por pantalla,
escribir un algoritmo que calcule la cantidad de hombres y la cantidad de
mujeres en total leídos. Adicionalmente, debe calcular la edad promedio de las
mujeres, la cantidad de hombres de más de 20 años y la edad máxima y
mínima leída, indicando si se trata de un hombre o de una mujer.
program str;
var
edad, sumamujer, mayor_edad, menor_edad, i, conthombre, contmujer, cont_h20: intege r;
promedio_mujer : real;
sexo, sexo_mayor, sexo_menor: char;
tipo : string;
BEGIN
{ INICIALIZACIONES }
sumamujer := 0;
contmujer := 0;
conthombre := 0;
cont_h20 := 0;
mayor_edad := 0;
menor_edad := 100;
for i:= 1 to 10 do
begin
if (((sexo <> 'F') and (sexo <> 'M')) or ((edad <= 0) and (edad >= 100))) then
writeln ('Error ....intente de nuevo ')
else
begin
8
{ Si se trata de un hombre, los contamos y contamos
particularmente áquellos con edad mayor a 20 años}
else
begin
conthombre := conthombre + 1;
if edad > 20 then
cont_h20 := cont_h20 + 1;
end;
9
writeln ('Cantidad de mujeres = ', contmujer);
writeln ('Cantidad de hombres = ', conthombre);
writeln ('Promedio de edad de las mujeres = ', promedio_mujer:3:2);
writeln ('Cantidad de hombres mayores de 20 años = ', cont_h20);
tipo := ' una mujer';
if sexo_mayor = 'M' then
tipo := ' un hombre';
writeln ('La edad máxima es ', mayor_edad, ' y corresponde a ', tipo);
tipo := ' una mujer';
if sexo_menor = 'M' then
tipo := ' un hombre';
writeln ('La edad mínima es ', menor_edad, ' y corresponde a ', tipo);
END.
10