14.1

N napig mértük, naponta K alkalommal a hőmérsékletet.

  1. Adjuk meg azokat a napokat,  amelyeken belül  a  legna-
     gyobb volt a hőmérsékletváltozás!
  2. Adjuk  meg  azokat a napokat,  amelyeken  a  legnagyobb
     volt  az eltérés a teljes időszak átlaghőmérsékletétől!
  3. Adjuk meg a  teljes időszak átlagától leginkább  eltérő
     átlagú napokat!
  4. Adjuk meg a teljes időszak átlaga alatti napokat!
  5. Döntsük el, volt-e olyan nap, amikor a  hőmérséklet  az
     előző napitól 5 Celsius foknál jobban eltért!
  6. Adjuk meg, hány mérésnél volt rossz  a  műszer!  (Rossz
     volt a műszer akkor, ha a mért érték adott  D  értéknél
     jobban eltért a napi átlagtól.)
  7. Határozzunk meg egy olyan egy hetes (7 nap)  időszakot,
     amikor az átlaghőmérséklet a legnagyobb volt!


 14.2 *

Egy  N  résztvevőjű kutya-szépségversenyen M különböző szem-
pont szerint pontoznak, s az eredményt a  KUTYA(N,M)  mátrix
tartalmazza. Minden szempont alapján maximum  MAX(I)  pontot
adhatnak  ( a pontszámok  nem negatív egész számok lehetnek,
1<=I<=M ).  A versenyből automatikusan kiesik az a kutya, a-
melyik  valamely  kategóriában  nem éri el  a kategóriánként
megadott alsó  ponthatárt (ALSO(I)).

  1. Adjuk meg az  automatikusan  kieső  kutyák  sorszámait,
     vagy jelezzük, ha nincs ilyen kutya!
  2. Döntsük el, van-e olyan kutya, amelyik minden kategóri-
     ában győztes!
  3. Döntsük el,  van-e  olyan  kategória, ahol  holtverseny
     alakult ki a győztesek között!
  4. Döntsük el, van-e olyan kutya, amelyik valamelyik szem-
     pont szerint tökéletes!
  5. Döntsük el, van-e olyan kutya, amelyik minden kategóri-
     ában kiesett!
  6. Adjuk meg a kategóriagyőzteseket!  (Ha egy  kutya  több
     kategóriában is győzött, akkor is csak  egyszer  szere-
     peljen a listában!)
  7. Adjuk meg azokat a kutyákat, amelyek több  kategóriában
     is győztek!
  8. Döntsük el, van-e olyan kutya, amelyik abszolút győztes
     lett, de minden kategóriában volt nála jobb!  (Abszolút
     győztes az a  kutya,  amelyik  összpontszáma  a  legna-
     gyobb.)
  9. Adjuk meg azokat a kutyákat, amelyek egyik kategóriában
     sem voltak sem győztesek, sem utolsók!
 10. Adjuk meg azokat a kutyákat amelyek valamilyen szempont
     szerint győztesek voltak, más  szempont  szerint  pedig
     kiestek!
 11. Adjuk meg azokat a kutyákat, amelyek  valamilyen  szem-
     pont szerint tökéletesek voltak, de  más szempont  sze-
     rint nem nyertek!
 12. Adjuk meg azokat a kutyákat, amelyek ha nyertek valami-
     lyen kategóriában, akkor csak holtversenyben voltak el-
     sők!
 13. Adjuk meg azokat a kutyákat, amelyek  egy  kategóriában
     sem nyertek, de az alsó pontszámot minden  kategóriában
     elérték!
 14. Döntsük el, van-e olyan kutya, amely több  kategóriában
     is győztes!
 15. Döntsük el, létezik-e olyan A és B kutya, hogy A minden
     kategóriában jobb B-nél!
 16. Adjuk meg azokat a kategóriákat,  amelyekben  nem  volt
     kieső kutya!
 17. Adjuk meg azokat a kategóriákat, amelyekben  legalább 2
     kutya ért el maximális pontot!
 18. Adjuk meg azokat a kategóriákat, amelyekben  legalább K
     kutya maradt versenyben a kiesések után!
 19. Adjuk meg azokat a  kategóriákat,  amelyekben  holtver-
     senyt kellett hirdetni!
 20. Adjuk meg azokat a kategóriákat, amelyekben  volt töké-
     letes kutya!


 14.3 **

Egy egyenes vonal mentén K kilométerenként megmértük a  fel-
szín tengerszint feletti magasságát. Összesen  N  mérést vé-
geztünk. Az első és az utolsó mérést kontinens felett végez-
tük. Elképzelésünk szerint ott van tenger, ahol a mérés  ér-
téke=0, szárazföld esetén a mért érték >0.
  (Sziget  :      ...0+++++0...            ,
  tenger   :     ...+0000000+...           ,
  kontinens:  ++++++0... vagy ...0++++++   )

  1. Döntsük el, hogy a mérés során jártunk-e szigeten!
  2. Mondjuk meg a szigetek számát!
  3. Adjuk meg azt a szigetet, ahol a legmagasabb csúcs van!
     (Az a pont csúcs, amely két  szomszédjánál  legalább  X
     méterrel magasabb.)
  4. Adjuk meg a legszélesebb sziget helyét!
  5. Adjuk meg az M méternél nagyobb átlagmagasságú szigete-
     ket!
  6. Állapítsuk meg, hogy a szigeteken  mért  legnagyobb ma-
     gasságú pont csúcs volt-e!
  7. Határozzuk meg azt a tengerszakaszt, ahol  két sziget a
     legközelebb van egymáshoz!
  8. Határozzuk meg azt a  szigetet,  amely  két  szomszédos
     pontján mért magasság különbsége a legnagyobb!
  9. Határozzuk meg a szigetek kezdeteit és végeit!
 10. Határozzuk meg azt a szigetet,  amelynek  a  legalacso-
     nyabb a partja!
 11. Határozzuk meg azt a szigetet, amelyen  a  legszélesebb
     fennsík található!
     (Fennsík:  minden  pontja  legalább F méter magas és  a
     szintkülönbség legfeljebb S méter.)
 12. Határozzuk meg a legszélesebb fennsíkú szigeten a fenn-
     sík két szélét!
 13. Határozzuk meg azt a legmagasabb csúcsot,  amelyik szá-
     razföldön található!
 14. Határozzunk meg egy olyan szigetet, ahol nincs csúcs!
 15. Határozzuk meg azt a szigetet, ahol  a legmélyebb völgy
     található!
     (Az a pont tekinthető völgynek, amely két szomszédjánál
     legalább V méterrel alacsonyabb.)
 16. Döntsük el, melyik kontinenshez van legközelebb sziget!
 17. Határozzuk meg a tengerszakaszok átlagos hosszát!
 18. Döntsük el, hogy a legmagasabb csúcs  szárazföldön vagy
     szigeten van-e!
 19. Határozzuk meg azon szigetek átlagos  magasságát,  ame-
     lyek minden pontja alacsonyabb 100 méternél!
 20. Határozzuk meg a szárazföldön levő hegycsúcsok  átlagos
     magasságát!
 21. Állapítsuk meg, hogy az út során a szigetek  szélessége
     egyre kisebb lett-e!
 22. Állapítsuk meg, hogy van-e két egyforma szélességű szi-
     get!
 23. Határozzuk meg azt a szigetet, amely legközelebb van az
     óceán közepéhez!
 24. Állapítsuk meg, hogy a tengerpartok jobb-, vagy  balol-
     dali meredeksége a nagyobb!
 25. Állapítsuk meg, hogy az út során a szigetek átlagmagas-
     sága növekszik-e!
 26. Határozzuk meg azt a szigetet, amely legtávolabb van  a
     mellette lévő szigetektől!


 14.4 **

Egy iskolában  egyéni és összetett  tanulmányi versenyt tar-
tottak.  A versenyekben összesen N tanuló vett részt. A ver-
senyek száma M.  Rendelkezésre áll versenyenként  a  tanulók
neve és elért pontszáma.  Összetett versenyben csak azon ta-
nulók eredményét értékelik, akik  az összes egyéni versenyen
indultak és elérték a versenyenként adott minimális pontszá-
mot (MIN(M)).

  1. Adjuk meg az egyéni versenyek rangsorát!
  2. Adjuk  meg az  összetett versenyben értékelhető tanulók
     számát!
  3. Adjuk meg az  összetett  versenyben értékelhető tanulók
     névsorát!
  4. Adjuk meg az összetett verseny rangsorát!
  5. Adjuk meg versenyenként a tanulók névsorát!
  6. Adjuk meg azon tanulók  névsorát,  akik  csak  egyetlen
     versenyen indultak!
  7. Adjuk meg azon tanulók névsorát, akik valamilyen verse-
     nyen indultak!
  8. Adjuk meg azon tanulók névsorát, akik valamilyen verse-
     nyen indultak, és elérték  a  versenyenkénti  minimális
     pontszámot!
  9. Adjuk meg azon tanulók névsorát, akik valamilyen verse-
     nyen indultak, és nem érték el a versenyenkénti minimá-
     lis pontszámot!
 10. Adjuk meg a versenyek győzteseinek a névsorát!
 11. Döntsük el, hogy az összetett verseny  győztese  minden
     versenyben győztes volt-e!
 12. Döntsük el, hogy az összetett verseny győztese győzött-
     e valamelyik egyéni versenyben!
 13. Döntsük el, hogy volt-e valamelyik  versenyben holtver-
     seny hirdetve!
 14. Döntsük el, hogy  az összetett  verseny  győztese holt-
     versenyben győzött-e!
 15. Döntsük el, hogy volt-e olyan tanuló, aki minden verse-
     nyen indult, legalább egy versenyen győzött  is,  de az
     összetett versenyben nem értékelhették, mert egy verse-
     nyen nem érte el a szükséges pontszámot!
 16. Állapítsuk meg, hogy volt-e  olyan  tanuló,  aki minden
     versenyben, amiben indult, alatta  maradt  a  minimális
     pontszámnak!


 14.5 **

Egy iskolában sportdélutánt szerveznek.  A sportoló  tanulók
nevét sportáganként tartjuk nyilván. A sportágak:labdarúgás,
kézilabda, kosárlabda, úszás, távolugrás, magasugrás, futás.
Az iskola tanulóinak az adathalmazát is ismerjük az  osztály
megjelölésével együtt.

  1. Állapítsuk meg a sportdélutánon résztvevő tanulók  lét-
     számát!
  2. Döntsük el, hogy párhuzamosan lebonyolítható-e a labda-
     rúgás, a kézilabda és a  kosárlabda  verseny!  (Akadály
     lehet,  ha  ugyanaz a tanuló több csapat  tagjaként  is
     szerepel.)
  3. Döntsük el, hogy az egyéni és a  csapatversenyek  lebo-
     nyolíthatók-e párhuzamosan! (Akadály lehet,  ha egy ta-
     nuló több sportágban is indul.)
  4. Adjuk meg a  sportdélutánon  résztvevő  tanulók  névso-
     rát!
  5. Adjuk meg a  csapatversenyeken  induló  tanulók  névso-
     rát!
  6. Adjuk meg az egyéni versenyeken induló  tanulók  névso-
     rát!
  7. Adjuk meg a több sportágban is  induló  tanulók  névso-
     rát!
  8. Adjuk meg egy olyan tanuló nevét, aki  labdarúgásban és
     futásban is indul!
  9. Döntsük el, hogy az iskola sportoló,  vagy nem sportoló
     létszáma a magasabb!
 10. Döntsük el, hogy az iskola minden  tanulója résztvesz-e
     a sportversenyekben!
 11. Adjuk meg az iskola azon tanulóinak  a  névsorát,  akik
     egyik sportágban sem indulnak!
 12. Adjuk meg a jelentkezések alapján a sportágak népszerű-
     ségi sorrendjét!
 13. Állapítsuk meg, hogy melyik osztályokból nincs egyetlen
     jelentkező sem!
 14. Adjuk meg az  osztályok  sorrendjét  jelentkezők  száma
     szerint csökkenő sorrendben!
 15. Határozzuk meg, hogy az egyes  csapatversenyekben  hány
     csapat vesz részt, ha egy csapatban  csak  azonos  osz-
     tálybeliek szerepelhetnek, de egy osztály  -a jelentke-
     zők számától függően több csapatot is indíthat!


 14.6 **

Adott egy kisebb cég (max. 1000 dolgozó). Írj Pascal progra-
ramot, amely nyilvántartja és karbantartja a dolgozók adata-
it !

Részletesebben :
--------------
  A fájl neve
    ADAT.DAT

  Mezők   (így 128! lesz összesen)
    SNev - személy neve         60 karakter    (kulcsmező)
    SNem - személy neme          1 karakter    (F/N)
    LCim - személy lakcíme      60 karakter
    Fizu - személy fizetése      4 egész szám

  Menürendszer                   ( sávkurzorral )
    1. Adatok bevitele           ( * végjelig ciklikusan )
    2. Adatok módosítása         ( mindig nyitja a fájlt és
    3. Adatok törlése              ellenőrzi a létezését )
    4. Lista a képernyőre
    5. Lista nyomtatóra          ( csak ha lesz rá idő !!! )
    6. Adatállomány létrehozása  ( üreset hoz létre )
    7. Adatállomány törlése      ( fizikai törlés   )
    8. Program vége


 14.7 **

Írj programot, amely  egy billentyűlenyomásig reklámokat je-
lenít meg a szöveges képernyőn !

A reklámok :
  egységes szerkezetű fájlokban vannak,
  kiterjesztésük egységes,         (pl.: BRR - BRódy Reklám)
  szövegszerkesztővel szerkeszthetők,       (text editorral)
  egy meghatározott könyvtárban vannak,     (pl.: F:\REKLAM)
  a fájlokat fizikai sorrendjükben játssza.

A reklámfájl felépítése soronként :
  1. alapszín     induló képernyő háttérszíne (két karakter)
  2. előtörlés    ha "I", törli a képernyőt, más esetben nem
  3. tempó        kiírás sebessége 0 ... 9 (legnagyobb a 9)
  4. hang         ha "I", a sorokat "hangosan" írja ki
  5. várakozás    idő (0,...,99) másodpercben
  6. eltűnés      S-soronként, V-véletlenszerűen, ....

  1. reklámsor
  2. reklámsor
      ...
  n. reklámsor    maximum 10 reklámsor lehet ( zsúfoltság! )

A reklámsorok szerkezete :
  szöveg          kiírandó sor szövege, max. 80 karakter
  sorszám         mely sorba kell írni 1...24 (nincs scroll)
  igazítás        hova kell igazítani ( K, J vagy B )
  színek          karakterszín (2 karakter!)
    A reklámsor egyes elemei  egy sorban vannak, a  "_"  jel
    van köztük.

A lehetséges színkarakterek (lásd Turbo Pascal) :
  BL   Black          fekete             0
  BU   Blue           kék                1   1. 3. betű !
  GR   Green          zöld               2
  CY   Cyan           cián               3
  RE   Red            vörös              4
  MA   Magenta        lila               5
  BR   Brown          barna              6
  LG   LightGray      világos szürke     7
  DG   DarkGray       sötét   szürke     8
  LB   LightBlue      világos kék        9
  LE   LightGreen     világos zöld      10   1. 8. betű !
  LC   LightCyan      világos cián      11
  LR   LightRed       világos vörös     12
  LM   LightMagenta   világos lila      13
  YE   Yellow         sárga             14
  WH   White          fehér             15


 14.8 **

Írjunk egy  sor-orientált  mini-szövegszerkesztőt (MiE.EXE),
amely képes  egy képernyőoldalnyi  szöveg  teljes  képernyős
szerkesztésére, megőrzésére, saját szövegeinek  (*.MiE)  be-
töltésére (az aktuális könyvtárból) !

A sorokat egy tömbben tároljuk, kezdetben minden sor szóköz-
zel van feltöltve !  24 sor legyen, így nem fog scrollozni a
25. sorba való íráskor.  A  25. sorban az állapotsor legyen,
tartalma :  aktuális fájlnév,  üzemmód,  sor, oszlop, editor
verziószáma !

A MiE a PE3-hoz hasonló forróbillentyű-kiosztással működjön,
azaz
  fájlműveletek
    csak  a saját,  MIE  kiterjesztésű fájljait kezeli, ezek
    legfeljebb  24 sorból, soronként legfeljebb 80 karakter-
    ből álló szöveg típusú állományok
    F2 - felveszi a  félkész  szöveget (induláskor megadott)
         néven
    F3 - nem veszi fel a szöveget, kilép DOS-ba