PDA

Visualizza la versione completa : [PASCAL] Avete programmi un po complessi da farmi studiare?


ominox
15-10-2002, 16:29
Salve a tutti!
fra un po ho l'esame di programmazione all'università e devo portare il pascal.
Sarei etrnamente grato a tutti coloro i quali mi volessero inviare dei programmi un po piu complessi dei soliti tipo somma,media etc....!
vi ringrazio ,fatemi sapere
arkon_mo@libero.it

ominox
15-10-2002, 18:18
ragazzi,nessuno mi può aiutare?
garzie

tia86
15-10-2002, 18:41
il sorgente di un programmino ke avevo fatto...


---------------------------------------------------------------------
program media_con_array;
uses crt,dos;
const elem=1000;
var a:array[1..elem] of byte;
somma:longint;
media,config:real;
n,i,riga:integer;
input,scelta,risp:string[2];
status:byte;
files:file of byte;
valore:file of integer;
mediafile:file of real;
time:file of word;
install:file of byte;
data:byte;
h,m,s,anno,mese,g,q,d:word;
procedure installazione;
begin
assign (files,'Database.dat');
rewrite(files);
for i:=1 to 4 do
begin
write(files,a[i]);
end;
close (files);
assign (valore,'System.dat');
rewrite(valore);
n:=4;
write (valore,n);
close (valore);
assign (mediafile,'media.dat');
rewrite(mediafile);
media:=0;
write (mediafile,media);
close (mediafile);
h:=01;
m:=01;
s:=01;
anno:=0001;
mese:=01;
g:=01;
assign (time,'date.dat');
rewrite(time);
write (time,h);
write (time,m);
write (time,s);
write (time,anno);
write (time,mese);
write (time,g);
close (time);
assign (install,'install.dat');
rewrite(install);
status:=1;
write (install,status);
close (install);
writeln ('Installazione terminata');
writeln ('Riavviare il programma');
textcolor (4);
writeln ('Programmed by Mattia Rizzi v. 3.0');
end;
procedure richiamo;
begin
clrscr;
i:=1;
writeln('--------------Richiamo dati--------------');
assign (valore,'System.dat');
reset (valore);
read (valore,n);
close (valore);
assign (time,'date.dat');
reset (time);
read (time,h);
read (time,m);
read (time,s);
read (time,anno);
read (time,mese);
read (time,g);
close (time);
if m>10 then
writeln ('I dati sono del ',g,'/',mese,'/',anno,' alle ore ',h,':',m)
else writeln ('I dati sono del ',g,'/',mese,'/',anno,' alle ore ',h,':0',m);
assign (files,'Database.dat');
reset (files);
for i:=1 to n do
begin
read(files,data);
delay (2500);
writeln ('Valore numero ',i,' : ',data)
end;
close(files);
assign (mediafile,'media.dat');
reset (mediafile);
read (mediafile,media);
writeln ('Media: ',media:2:2);
close (mediafile);
writeln('-----------------------------------------');
end;
procedure programma;
begin
textcolor(7);
repeat
write ('Inserisci numero valori ');
readln (n);
until (n<=elem) and (n>1);
for i:=1 to n do
begin
write ('Valore numero ',i,': ');
readln (a[i]);
end;
i:=1;
clrscr;
writeln ('Hai inserito i seguenti valori numerici :');
for i:=1 to n do
begin
delay (2500);
writeln ('Valore numero ',i,' : ',a[i])
end;
writeln ('Vuoi modificare qualche valore? ');
readln (input);
if (input='si') or (input='Si') or (input='SI') then
begin
write ('Inserisci il numero della riga da modificare: ');
readln (riga);
if (riga<=n) and (riga>0) then
begin
writeln ('Riga in questione:');
textcolor(1);
writeln (' Valore numero ',riga,' : ',a[riga]);
textcolor(7);
write ('Inserisci nuovo valore: ');
readln (a[riga]);
for i:=1 to n do
begin
delay (2500);
writeln ('Valore numero ',i,' : ',a[i])
end;
writeln ('MODIFICATO CON SUCCESSO!')
end
else writeln ('Non hai inserito una riga valida!');
end
else writeln ('Elaborazione in corso...');
writeln ('Salvataggio dei valori su file...');
assign (files,'Database.dat');
rewrite(files);
for i:=1 to n do
begin
write(files,a[i]);
end;
close (files);
assign (valore,'System.dat');
rewrite (valore);
write (valore,n);
close (valore);
for i:=1 to n do
begin
somma:=somma+a[i]
end;
media:=somma/n;
writeln;
writeln ('La media vale ',media:2:2);
assign (mediafile,'media.dat');
rewrite (mediafile);
write (mediafile,media);
close (mediafile);
GetTime(h,m,s,q);
getdate (anno,mese,g,d);
assign (time,'date.dat');
rewrite (time);
write (time,h);
write (time,m);
write (time,s);
write (time,anno);
write (time,mese);
write (time,g);
close (time);
textcolor (4);
writeln ('Programmed by Mattia Rizzi v. 3.0');
end;
(*programma principale*)
begin
clrscr;
assign (install,'install.dat');
reset (install);
read (install,status);
close(install);
case (status) of
1: begin
writeln (' MENU');
writeln;
writeln ('Scegli la modalit…: ');
writeln ('1) Legge i valori dell''ultima sessione di lavoro e');
writeln ('esegue il programma della media dei voti');
writeln ('2)Esegue il programma della media dei voti');
writeln;
write ('Modalit… scelta: ');
readln (scelta);
if (scelta='1') then
begin
richiamo;
programma
end
else programma
end;
0: begin
clrscr;
writeln('>>>INSTALLAZIONE DEL PROGRAMMA<<<');
writeln ('Il programma di installazione creer… i file necessari per l''esecuzione del programma.');
writeln;
write ('Vuoi continuare? ');
readln (risp);
if (risp='si') or (risp='Si') or (risp='SI') then installazione ;
end;
end;

end.
--------------------------------------------------------------------


se ti può essere d'aiuto

:ciauz:

ominox
15-10-2002, 21:54
ti ringrazio.
Spero che qualcun altro si aggiunga!
ciao

ominox
16-10-2002, 19:10
chi mi aiuta?

Loading