[ Rodd @ 16.06.2001. 17:03 ] @
Ljudi, imam ispit za dva dana pa ako neko moze da odvoji 15 minuta da mi resi ova dva zadatka, bio bih mu mlooogo zahvalan!!!

1)Dat je polinom petog stepena oblika:
f(x)=4*x^5+3.1*x^4-9.25*x^3+7*x^2-x-0.56
Na segmentu x[0]=0 i x[1]=1 polinom ima jedinstven realni koren x=a. Napisati program u Pascalu za odredjivanje korena jednacine na datom segmentu koristeci Newton-ov iterativni metod secice, oblika
x[k+1]=x[k]-(x[k]-[k-1])/(f(x[k])-f(x[k-1]))*f(x[k]) gde je k=1,2,....
Napomena: Za startne vrednosti iterativnog procesa uzeti granice segmenta a vrednost polinoma u datoj tacki odrediti opstim potprogramom tipa FUNCTION. Izracunavanje prekinuti kada apsolutna vrednost razlike |x[k+1]-x[k-1]| postane manja od 10^-6.
(Napominjem da sam ovde koristio ^ za prikazivanje stepena a [] za prikazivanje indeksa.)

2) Date su dve datoteke, F1, F2, ciji slogovi sadrze podatke o osobama: sifra, ime, prezime i godina rodjenja. Napisati program u Pascal-u kojim se od ove dve, vec formirane, datoteke stvara nova datoteka F3 u koju su upisani podaci iz F1 i F2. Datoteke F1 i F2 su sortirane po siframa u rastucem poretku. Datoteka F3 treba takodje da bude sortirana po siframa ali u opadajucem poretku.

Ajde ljudi, molim vas, kad vec moj glupi profan nije to uradio! Hvala unapred.
[ Makojdis @ 18.06.2001. 09:24 ] @
Evo uradio sam ti ovaj drugi zadatak nisam ga bas testirao ali bi trebalo da radi... Ideja je sledeca: iscitas iza f1 i f2 slogove i upises u niz slogova niz[]
posle samo primenis neki sort i to je to...
Code:

Type
 slog=record
  sifra:integer;
  ime  :string[15];
  prezime:string[20];
  datum:string[10];
 End;
Var
 licnost,pom:slog;
 niz:array[1..50]of slog;
 f1,f2,f3:file of slog;
 i,j,k:integer;
Begin
i:=0;
assign(f1,'f1.dat');
 reset(f1);
 while not eof(f1) do
  begin
   read(f1,licnost);
   inc(i);
   niz[i]:=licnost;
 end;
assign(f2,'f2.dat');
 reset(f2);
 while not eof(f2) do
  begin
   read(f2,licnost);
   inc(i);
   niz[i]:=licnost;
 end;
for j:=i-1 downto 0 do
 for k:=1 to j do
  if niz[i].sifra<niz[i+1].sifra then
    Begin
     niz[i]:=pom;
     niz[i]:=niz[i+1];
     niz[i+1]:=pom;
    End;
assign(f3,'f3.dat');
 rewrite(f1);
for j:=1 to i do
 write(f1,niz[i]);
close(f1);
close(f2);
close(f3);
End.
[ Rodd @ 18.06.2001. 11:14 ] @
Hvala, opet, Majkodis
[ Makojdis @ 18.06.2001. 21:29 ] @
OK....