Para que se rían, unos de mis primeros programas en pascal en Algoritmos:
//Dado un conjunto de sueldos a pagar (sin centavos)
//que finaliza con un valor cero, desarrollar un programa
//que determine e informe cuantos billetes de $100, $50, $20, $10, $5, $2 y monedas
//de $1 son necesarios para ensobrar los sueldos y no tener dificultades
//con el cambio (utilizando la mínima cantidad de billetes).
procedure inicializar(cont100,cont50,cont20,cont10,cont5,cont2,cont1:integer);
begin
cont100:=0;
cont50:=0;
cont20:=0;
cont10:=0;
cont5:=0;
cont2:=0;
cont1:=0;
end;
procedure contarsueldo(sueldo:integer;var cont100,cont50,cont20,cont10,cont5,cont2,cont1:integer);
begin
cont100:=cont100+(sueldo div 100);
cont50:=cont50+((sueldo mod 100) div 50);
cont20:=cont20+(((sueldo mod 100) mod 50) div 20);
cont10:=cont10+((((sueldo mod 100) mod 50) mod 20) div 10);
cont5:=cont5+(((((sueldo mod 100) mod 50) mod 20) mod 10) div 5);
cont2:=cont2+((((((sueldo mod 100) mod 50) mod 20) mod 10) mod 5) div 2);
cont1:=cont1+(((((((sueldo mod 100) mod 50) mod 20) mod 10) mod 5) mod 2) div 1);
end;
procedure mostrarresultados(cont100,cont50,cont20,cont10,cont5,cont2,cont1:integer);
begin
writeln('Billetes de 100: ',cont100);
writeln('Billetes de 50: ',cont50);
writeln('Billetes de 20: ',cont20);
writeln('Billetes de 10: ',cont10);
writeln('Billetes de 5: ',cont5);
writeln('Billetes de 2: ',cont2);
writeln('Monedas de 1: ',cont1);
readln;
end;
//programa principal
var sueldo,cont100,cont50,cont20,cont10,cont5,cont2,cont1:integer;
begin
inicializar(cont100,cont50,cont20,cont10,cont5,cont2,cont1);
writeln('Ingrese sueldo ');
readln(sueldo);
while (sueldo<>0) do begin
contarsueldo(sueldo,cont100,cont50,cont20,cont10,cont5,cont2,cont1);
writeln('Ingrese sueldo ');
readln(sueldo);
end;
mostrarresultados(cont100,cont50,cont20,cont10,cont5,cont2,cont1);
end.
Luego mejore
un poco:
uses crt;
var a,b,c,x1,x2,aux1,aux2,aux3:real;opcion:char;
begin
clrscr;
writeln('Este programa resuelve ecuaciones de segundo grado!');
repeat
writeln('Ax^2+Bx+C=0');
writeln('Ingrese A');
readln(a);
writeln('Ingrese B');
readln(b);
writeln('Ingrese C');
readln©;
if ((b*b)-(4*a*c))>=0 then begin
aux1:=2*a;
aux2:=(-b+(sqrt((b*b)-(4*a*c))));
aux3:=(-b-(sqrt((b*b)-(4*a*c))));
x1:=aux2/aux1;
x2:=aux3/aux1;
clrscr;
writeln('Una raiz es ',x1:2:2);
writeln('La otra raiz es ',x2:2:2);
end else begin
clrscr;
writeln('Las raices son imaginarias');
end;
writeln('Necesita resolver otra ecuacion? S/N');
readln(opcion);
writeln;
until((opcion='n') or (opcion='N'));
writeln('Made by sentey');
end.