Felhasználói eszközök

Eszközök a webhelyen


inf-prog-fszi:expedicio

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:expedicio [2017/06/19 09:42] (aktuális)
beistvan létrehozva
Sor 1: Sor 1:
  
 +====== Expedíció ======
 +
 +<code pascal expedicio.pas>
 +program expedicio;
 +const n = 160;
 +type adas = record
 +       hetnapja: byte;
 +       ado: byte;
 +       uzenet: string[90];
 +     end;
 +var a:array[1..n] of adas;
 +    h:array[1..11] of byte;
 +    u:array[1..11] of string[90];
 +    adb, i, j, hetnapja, radioamator, kif_db, koly_db:integer;
 +    uzenet:string[90]; kifejlett, kolykok: string[3];
 +    t: text;
 +function szame(szo:string):boolean;
 +var valasz:boolean;
 +begin
 +  valasz:=true;
 +  for i:=1 to length(szo) do
 +    if (szo[i]<'0') or (szo[i]>'9') then valasz:=false;
 +  szame:=valasz;
 +end;
 +begin
 +  //1. feladat
 +  writeln('1.feladat');
 +  assign(t, 'veetel.txt');
 +  {$I-}
 +  reset(t);
 +  if IOResult<>0 then begin writeln('hiba: ',IOResult);readln;halt(1);end;
 +  {$I+}
 +  i:=1;
 +  while not eof(t) do begin
 +    with a[i] do begin
 +      readln(t, hetnapja, ado);
 +      readln(t, uzenet);
 +      //writeln('hetnapja = ',hetnapja,', ado = ', ado, ', uzenet = ', uzenet);
 +    end;
 +    inc(i);
 +  end;
 +  adb:=i-1;
 +  writeln('beolv.rek.sz.: adb=',adb);
 +  close(t);
 +  //2. feladat
 +  writeln('2.feladat');
 +  writeln('elso= ',a[1].ado, ', utolso= ',a[adb].ado);
 +   //3. feladat
 +  writeln('3.feladat');
 +  for i:=1 to adb do
 +    if pos('farkas',a[i].uzenet)>0 then
 +      writeln(a[i].hetnapja,',  ',a[i].ado);
 +  writeln;
 +   //4. feladat
 +  writeln('4.feladat');
 +  for i:=1 to adb do
 +    inc(h[a[i].hetnapja]);
 +  for i:=1 to 11 do
 +    write(h[i],' ');
 +  writeln;
 +   //5. feladat
 +  writeln('5.feladat');
 +  for i:=1 to 11 do
 +    u[i]:='';  //length = 0
 +  for i:=1 to adb do
 +  begin                                //u[a[...=''
 +    if length(u[a[i].hetnapja])=0 then //az elso uzenet bele van e toltve az uba
 +       u[a[i].hetnapja]:=a[i].uzenet
 +    else
 +    begin
 +      for j:=1 to 90 do
 +      begin
 +        if a[i].uzenet[j]<>'#' then
 +        begin
 +           u[a[i].hetnapja][j]:=a[i].uzenet[j];
 +        end; {if}
 +      end;{for}
 +
 +    end;{else}
 +
 +  end; {for}
 +
 +  for i:=1 to 11 do
 +    writeln(i:2,'. ',u[i]);
 +  //6. feladat
 +  writeln('6.feladat');
 +  writeln('A "szame" fuggveny megvalositasa');
 +  //7. feladat
 +  writeln('7.feladat'); // 2, 3 -al 1/0 - egyedek szama: 1; 3, 3 - 5 egyed
 +  write('Het napja: '); readln(hetnapja);
 +  write('Radioamator: '); readln(radioamator);
 +  uzenet:='';
 +  for i:=1 to adb do
 +  begin
 +    if (a[i].hetnapja=hetnapja)and(a[i].ado=radioamator) then
 +    begin
 +      uzenet:=a[i].uzenet;
 +      break;
 +    end;
 +  end;
 +  if uzenet = '' then
 +    writeln('Nincs ilyen feljegyzes.')
 +  else
 +  begin
 +    writeln('Uzenet: ',uzenet);
 +    kifejlett:=copy(uzenet,1,pos('/',uzenet)-1);
 +    //writeln('pos: ',pos('/',uzenet));
 +    writeln('kifejlett: ',kifejlett);
 +    kolykok:=copy(uzenet,pos('/',uzenet)+1,pos(' ',uzenet)-pos('/',uzenet)-1);
 +    writeln('kolykok: ',kolykok);
 +    if (szame(kifejlett) and szame(kolykok)) then
 +    begin
 +      val(kifejlett,kif_db,i);
 +      val(kolykok,koly_db,i);
 +      writeln('A megfigyelt egyedek szama: ',kif_db+koly_db);
 +    end
 +    else
 +      writeln('Nincs informacio.');
 +    //writeln(szame('0'));
 +  end;
 +  readln;
 +end.
 +</code>
inf-prog-fszi/expedicio.txt · Utolsó módosítás: 2017/06/19 09:42 szerkesztette: beistvan