Los códigos más visitados de Pascal/Turbo Pascal
Listado de los códigos más visitados durante los últimos 30 días
calculadora básica (+, - , *, / , %) en Pascal, esto es de ayuda ya que muchos necesitan códigos básico de apoyo por eso lo comparto . saludos
El usuario puede introducir un número arábigo entre 1 y 1000, luego el programa lo convertirá en un número romano.
Solicitamos un numero y determinamos si es par o impar
Juego de las torres de hanoi en modo gráfico con varios niveles. Almacena los records de los jugadores.
Hecho en TP 7.0
Este programa es para resolver ecuaciones de segundo grado en pascal
Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.
el programa consiste en:
Piensa en un número entre 1 y 63.
Se mostrará 6 tarjetas, en cada
una de ellas debes teclear la letra
[S] y luego Enter si está el
número que pensaste o
[N] si no está el número.
Teclear Enter para continuar
Mediante un bucle que va recorriendo el array de enteros, guardara en una variable el valor máximo y mínimo.
BASADO EN EL ENUNCIADO (ARCHIVO PDF ADJUNTO).
Aclaro que el unico ejercicio que hice yo fue el de Codigo QR, faltan algunas cosas, pero basicamente la idea es esa.
Programa que permite crear un árbol y ordenarlo en pos-orden, in-orden o pre-orden.
Típico juego hundir la flota realizado en Turbo Pascal.
Código de una calculadora con funciones bastante complejas. Programado en el modo gráfico del lenguaje.
NOTA: Se trata de un instalador del programa que incluye el código fuente.
Este método se basa en el método de cardano para calcular una raíz cubica de acuerdo a lo publicado en Wikipedia

program practica(input, output,f1,fmovi,f2);
type
cadena30 = packed array[1..30] of char;
opcion=(a,m);
tfalant = record
an_nma:1..999;
an_nom:cadena30;
an_dir:cadena30;
an_rva:boolean;
an_nfal:0..365;
an_nsus:0..25;
end;
tmovi = record
mv_nma:1..999;
mv_nom:cadena30;
mv_dir:cadena30;
mv_tip:opcion;
end;
tfalum = record
al_nma:1..999;
al_nom:cadena30;
al_dir:cadena30;
end;
ffalant = file of tfalant;
fmove = file of tmovi;
ffalum = file of tfalum;
var
i:integer;
c:char;
f1:ffalant;
f2:ffalum;
fmovi:fmove;
rfalant:tfalant;
rmovi:tmovi;
rfalum:tfalum;
seguir:boolean;
function continuar(raux:tfalant):boolean;
begin
continuar:= true;
if raux.an_rva=false then
begin
writeln('El alumno,',raux.an_nom,'no tiene reserva.');
continuar:= false;
end;
if raux.an_nfal>50 then
begin
writeln('El alumno, ',raux.an_nom,' tiene mas de 50 faltas.');
continuar:=false;
end;
if raux.an_nsus>3 then
begin
writeln('El alumno, ',raux.an_nom,' tiene mas de 3 asignaturas suspensas');
continuar:= false;
end;
end;
procedure copy_falum(raux:tfalant;var rfalum:tfalum);
begin
rfalum.al_nma:=raux.an_nma;
rfalum.al_nom:=raux.an_nom;
rfalum.al_dir:=raux.an_dir;
end;
procedure copy_falum2(raux2:tfalant;raux:tmovi;var rfalum:tfalum);
begin
rfalum.al_nma:=raux.mv_nma;
if raux.mv_tip=m then
rfalum.al_nom:=raux2.an_nom
else
rfalum.al_nom:=raux.mv_nom;
rfalum.al_dir:=raux.mv_dir;
end;
procedure busqueda(raux:tmovi; var raux2:tfalant;var encontrado:boolean);
var
f1:ffalant;
begin
encontrado:=false;
assign(f1,'falant.dat');
reset(f1);
while (not eof(f1)) and (encontrado=false) do
begin
read(f1,raux2);
if raux2.an_nma=raux.mv_nma then
encontrado:= true;
end;
end;
begin
assign(fmovi,'movi.dat');
rewrite(fmovi);
while not eof do
begin
for i:=1 to 24 do writeln;
write('Escriba el n£mero de matr¡cula del alumno: ');
readln(rmovi.mv_nma);
write('Escriba el nombre y los apellidos del alumno: ');
i:=1;
while not eoln do
begin
read(rmovi.mv_nom[i]);
i:=i+1;
end;
for i:=1 to 30 do rmovi.mv_nom[i]:=' ';
write('Escriba la direcci¢n del alumno: ');
readln;
i:=1;
while not eoln do
begin
read(rmovi.mv_dir[i]);
i:=i+1;
end;
for i:=i to 30 do rmovi.mv_dir[i]:=' ';
write('Tipo de operacion que desea realizar (a/m) :');
c:='w';
while (c<>'a') and (c<>'m') do
read(c);
case c of
'a': rmovi.mv_tip:=a;
'm': rmovi.mv_tip:=m;
end;
write('N£mero de faltas en el curso anterior: ');
readln(rfalant.an_nfal);
write('N£mero de asignaturas suspensas: ');
readln(rfalant.an_nsus);
write('Si no desea introducir otro registro pulse CTRL-Z ');
write(fmovi,rmovi);
readln;
end;
assign(f1,'falant.dat');
reset(f1);
assign(f2,'falum.dat');
rewrite(f2);
reset(fmovi);
read(f1,rfalant);
read(fmovi,rmovi);
writeln;
for i:=1 to 24 do writeln;
while (not eof(fmovi)) and (not eof(f1)) do
begin
if rfalant.an_nma<rmovi.mv_nma then
begin
seguir:=continuar(rfalant);
if seguir=true then
begin
copy_falum(rfalant,rfalum);
write(f2,rfalum);
end;
read(f1,rfalant)
end
else
begin
if rmovi.mv_nma=rfalant.an_nma then
begin
if rmovi.mv_tip=a then
begin
writeln('Error, no se puede dar de alta a',rmovi.mv_nma);
end
else
begin
seguir:=continuar(rfalant);
if seguir=true then
begin
copy_falum2(rfalant,rmovi,rfalum);
write(f2,rfalum);
end;
read(f1,rfalant);
read(fmovi,rmovi);
end;
end
else
begin
if rmovi.mv_tip=a then
begin
copy_falum2(rfalant,rmovi,rfalum);
write(f2,rfalum);
end
else
writeln('Error, no se puede modificar al alumno ',rmovi.mv_nma,'anulado.');
read(fmovi,rmovi);
end;
end;
end;
while not eof(f1) do
begin
seguir:=continuar(rfalant);
if seguir=true then
begin
copy_falum(rfalant,rfalum);
write(f2,rfalum);
end;
read(f1,rfalant);
end;
seguir:=continuar(rfalant);
if seguir=true then
begin
copy_falum(rfalant,rfalum);
write(f2,rfalum);
end;
while not eof(fmovi) do
begin
if rmovi.mv_tip=m then
begin
busqueda(rmovi,rfalant,seguir);
if seguir=false then
writeln('Error, no puede modificarse al alumno ',rmovi.mv_nom, 'ya que no est matriculado.')
else
end
else
begin
copy_falum2(rfalant,rmovi,rfalum);
write(f2,rfalum);
end;
read(fmovi,rmovi);
end;
if rmovi.mv_tip= m then
begin
busqueda(rmovi,rfalant,seguir);
if seguir=false then
begin
writeln('Error, no puede modificarse al alumno',rmovi.mv_nom);
end
else
begin
copy_falum2(rfalant,rmovi,rfalum);
write(f2,rfalum);
end;
end
else
begin
copy_falum2(rfalant,rmovi,rfalum);
write(f2,rfalum);
end;
close(f1);
close(f2);
close(fmovi);
readln;
end.
Programa que determina si un número N es primo. (Un número primo sólo puede ser divisible por el mismo y la unidad...compilado en Borland Pascal para Windows Versión 7.0
Juego del ajedres que permite jugar dos jugadores.
Desarrollado en TurboPascal 7.0
Simulación de juego del bingo donde se muestra, en modo gráfico, el tablero de números. Se controla la partida con cualquier posible resultado.
Modulo (unit) que sirve para la creación de menús de forma automatizada.
Desarrollado en Free Pascal.
Programa que calcula la fecha del domingo de pascua de N año en particular. La Fecha de Pascua corresponde al primer domingo después de la primera Luna Llena que sigue el equinoccio de primavera y se calcula con las siguientes expresiones:
A = AÑO MODULO 19
B = AÑO MODULO 4
C = AÑO MODULO 7
D = ( 19 * A + 24 ) MODULO 30
E = ( 2 * B + 4 * C + 6 * D + 5 ) MODULO 7
N = ( 22 + D + E )
Agenda que permite guardar en un archivo de texto y consultar en los datos guardados por nombre, fecha o hacer una consulta general.
El programa sirve para indicar al usuario un elemento cualquiera de la tabla periódica.
Posee la operaciones básicas de agregar, editar y eliminar un contacto.
La misma genera un archivo llamado "agenda.dat" que contiene todos los registros.
Realizado con la versión de TMT PASCAL.
Código que simula un radar.
Desarrollado en Turbo Pascal 7.0
Código en TurboPascal, que permite componer, almacenar y reproducir tus propias melodías.
Código del popular juego de la serpiente en el que podemos personalizar el nivel de dificultad y la cantidad de números a perseguir. Programado en el modo gráfico del lenguaje.
Puede ser Complilador en Free Pascal o Turbo Pascal

Código que simula la pantalla de la película Matrix, con caracteres aleatorios cayendo por la pantalla.
Programa que opera sobre una base de datos de un VideoClub.
El Programa esta diseñado para que se ejecute dentro de una carpeta que contenga MP3 y extraiga 06 segundos del contenido a partir del segundo 13, esta variable se puede modificar cambiando las variables señaladas.
Desarrollado con Turbo Pascal 5.5.
codigo fuente de una calculadora con menu programada en pascal.