[ bubikaj @ 02.04.2004. 20:36 ] @
Pošto sam nedavno počeo da učim Paskal a nisam imao prilike da se susretnem sa programskim jezicima, da li bi neko bio voljan da reši ove zadatke kako bih imao prilike da vidim kako se rešavaju ovakvih tipovi zadataka a sve to mi treba za ispit...?:(

1.) Program obrađuje datoteku RADNIK čiji slog sadrži podatke o MB radnika, imenu i prezimenu, šifri radnog mesta i broju bodova.

Program prikazuje izborni meni i na osnovu izbora omogućava:

- dodavanje novih slogova

- prikaz izabranog sloga po rednom broju sloga

- listanje cele datoteke ili

- kraj rada programa sa porukom o tome.

2.) Napisati program ѕa obradu rezultata takmičenja u matematici. Ulazni podaci su:

- ukupan broj takmičara (maksimalno 200)

- redni broj takmičara

- ime i prezime

- broj osvojenih poena.

Program treba da izda listu rezultata sortiranu po abecednom redosledu prezimena i broj natprosečnih rezultata ove godine.


Hvala Vam unapred...

[ Goranjak @ 02.04.2004. 20:51 ] @
Ako nije problem, mogu sutra da ti napisem resenje. Sad zaista nisam raspolozen za Pascal, a i "jutro je pametnije od veceri".
[ bubikaj @ 02.04.2004. 20:55 ] @
Hvala ti puno...:)
[ Goranjak @ 03.04.2004. 14:05 ] @
Evo resenja prvog zadatka:

Citat:
program:
Program Radnici;
Type;
Dosije = record
mb : integer;
ime, prezime : string[20];
sifra : string;
bod : integer;
End;
Var
F : File of Dosije;
R : Dosije;
op : Char;
n : Integer;
Begin
Assign(F,'RADNIK.DAT');
Repeat
Writeln;
Writeln;
Writeln('Meni:');
Writeln;
Writeln('1 -- Dodaj novi dosije');
Writeln('2 -- Prikazi dosije');
Writeln('3 -- Prikazi celu datoteku');
Writeln('4 -- Kraj rada');
Writeln;
Write('Unesite broj opcije: ');
Readln(op);
Case op of
'1' : Begin
Reset(F);
Seek(F,FileSize(F));
Writeln;
Writeln('Unesite podatke o radniku:');
Write('MB -- '); Readln(R.mb);
Write('Ime -- '); Readln(R.ime);
Write('Prezime -- '); Readln(R.prezime);
Write('Sifra -- '); Readln(R.sifra);
Write('Br.bodova -- '); Readln(R.bod);
Write(F,R);
Close(F);
End;
'2' : Begin
Reset(F);
Writeln;
Write('Unesite redni broj dosijea -- '); Readln(n);
If n <= FileSize(F) Then
Begin
Seek(F,n-1);
Read(F,R);
Writeln('MB - ',R.mb);
Witeln('Ime i prezime - ',R.ime,', ',R.prezime);
Writeln('Sifra - ',R.sifra);
Writeln('Br.bodova - ',R.bod);
End
Else Writeln('Uneli ste prevelik broj');
Close(F);
End;
'3' : Begin
Reset(F);
Writeln;
While not Eof(F) do
Begin
Read(F,R);
Writeln(R.mb:10,R.ime:20,R.prezime:20,R.sifra:10,R.bod:10);
End;
Close(F);
End;
'4' : Writeln('Kraj rada.');
Else Writeln('Uneli ste nepostojeci broj opcije!');
End;
Until op = '4';
End.

Za drugi zadatak ces jos malo da se strpis. Dobices ga do utorka.

Pre prvog startovanja programa napravi praznu datoteku sa imenom RADNICI.DAT u istom direktorijumu sa programom, u suprotnom ce ti javljati gresku.
[ bubikaj @ 03.04.2004. 23:40 ] @
ee super.. hvala ti puno i ovo mi vec mnogo znaci :) :)