Felhasználói eszközök

Eszközök a webhelyen


inf-prog-fszi:futar

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

inf-prog-fszi:futar [2017/06/19 10:28] (aktuális)
beistvan létrehozva
Sor 1: Sor 1:
 +====== Futár ======
 +
 +<code pascal futar.pas>
 +program futar;
 +type futaros=record
 +       nap: integer;
 +       fuvarsz: integer;
 +       km: integer;
 +     end;
 +var i,j,k,l,n,kezd,veg,szabadnap,maxi,
 +    napmin,napmax,sum,ut,ar:integer;
 +    csere: futaros;
 +    T:array[1..1000] of futaros;
 +    f:text;
 +function ut_ar(km:integer):integer;
 +begin
 +    case km of
 +    1..2: ut_ar:=500;
 +    3..5: ut_ar:=700;
 +    6..10: ut_ar:=900;
 +    11..20: ut_ar:=1400;
 +    21..30: ut_ar:=2000;
 +    else ut_ar:= -1;
 +  end;
 +end;
 +begin
 +  Assign(f,'tavok.txt');
 +  writeln('1. feladat');
 +  reset(f);
 +  i:=0;
 +  while not eof(f) do
 +  begin
 +    inc(i);
 +    read(f,T[i].nap);
 +    read(f,T[i].fuvarsz);
 +    readln(f,T[i].km);
 +  end;
 +  close(f);
 +  n:=i;
 +  writeln(n,' sor beolvasva a "tavok.txt" fajlbol.');
 + { for i:=1 to n do
 +  writeln(T[i].nap,' ',T[i].fuvarsz,' ',T[i].km); }
 +  writeln('2. feladat');
 +  napmin:=T[1].nap; napmax:=T[1].nap;
 +  for i:=2 to n do
 +  begin
 +    if T[i].nap < napmin then napmin:=T[i].nap;
 +    if T[i].nap > napmax then napmax:=T[i].nap;
 +  end;
 +  for i:=1 to n do
 +    if (T[i].nap=napmin) and (T[i].fuvarsz=1) then
 +      writeln('Az elso nap elso fuvara ',T[i].km,' km volt');
 +  writeln('3. feladat');
 +  maxi:=1;
 +  for i:=1 to n do
 +    if (T[i].nap=napmax) and (T[i].fuvarsz>T[maxi].fuvarsz) then maxi:=i;
 +  writeln('Az utolso nap utolso fuvara ',T[maxi].km,' km volt');
 +  writeln('4. feladat');
 +  for szabadnap:=napmin to napmax do
 +  begin
 +    i:=szabadnap;
 +    while (i<=n) and (szabadnap<>T[i].nap) do
 +      inc(i);
 +    if i>n then writeln('szabadnap: ',szabadnap);
 +  end;
 +  writeln('5. feladat');
 +  maxi:=1;
 +  for i:=2 to n do
 +    if T[i].fuvarsz>T[maxi].fuvarsz then maxi:=i;
 +  writeln(T[maxi].nap,'. napon volt a legtobb fuvar');
 +  writeln('6. feladat');
 +  for i:=napmin to napmax do
 +  begin
 +    write(i,'.nap: ');
 +    sum:=0;
 +    for j:=1 to n do
 +      if  T[j].nap=i then sum:=sum+T[j].km;
 +    writeln(sum:2, ' km');
 +  end;
 +  writeln('7. feladat');
 +  writeln('Irja be az ut hosszusagat km-ben: '); readln(ut);
 +  ar:=ut_ar(ut);
 +  if ar<0 then
 +    writeln('Nem megfelelo ertek')
 +  else
 +    writeln('Dijazas: ',ut*ar,' Ft');
 +{  if (ut>=1) and (ut<=2) then ar:=500;
 +  if (ut>=3) and (ut<=5) then ar:=700;
 +  if (ut>=6) and (ut<=10) then ar:=900;
 +  if (ut>=11) and (ut<=20) then ar:=1400;
 +  if (ut>=21) and (ut<=30) then ar:=2000;
 +  if (ut<1) or (ut>30) then writeln('Nem megfelelo ertek');}
 +  writeln('8. feladat');
 +  for i:=1 to n-1 do
 +     for j:=i+1 to n do
 +       if T[j].nap<T[i].nap then
 +       begin
 +         csere:=T[i];
 +         T[i]:=T[j];
 +         T[j]:=csere;
 +       end;
 +  writeln('napmin = ', napmin, ' napmax = ',napmax);
 +  veg:=0;
 +  kezd:=1;
 +  l:=1;
 +  for k:=napmin to napmax do
 +  begin
 +    kezd:=l;
 +    while (l<=n) and (k=T[l].nap) do
 +      inc(l);
 +    veg:=l-1;
 +    if kezd <> l then
 +    begin
 +      writeln('kezd=',kezd:3,' veg=',veg:3,' k= ',k);
 +      for i:=kezd to veg-1 do
 +        for j:=i+1 to veg do
 +          if T[j].fuvarsz<T[i].fuvarsz then
 +          begin
 +            csere:=T[i];
 +            T[i]:=T[j];
 +            T[j]:=csere;
 +          end;
 +    end; {if}
 +  end; {for}
 +  Assign(f,'dijazas.txt');
 +  rewrite(f);
 +  for i:=1 to n do
 +    writeln(f,T[i].nap,'.nap ',T[i].fuvarsz,'.ut: ',ut_ar(T[i].km), ' Ft');
 +  writeln(n,' sor kiirva a "dijazas.txt" fajlba.');
 +  close(f);
 +  writeln('9. feladat');
 +  sum:=0;
 +  for i:=1 to n do
 +    sum:=sum+ut_ar(T[i].km);
 +  writeln('A heti kereset az ',sum,' Ft');
 +  readln;
 +end.
 +</code>
  
inf-prog-fszi/futar.txt · Utolsó módosítás: 2017/06/19 10:28 szerkesztette: beistvan