logo
ELTE Meteorológiai Tanszék => Oktatás => FORTRAN 77 feladatgyűjtemény => Feladatok kezdők számára

FORTRAN 77 feladatgyűjtemény

Feladatok kezdők számára

Az alábbi feladatokban könnyebb számításokat kell beprogramozni. Nincsen bennük szükség bonyolultabb képletek felhasználására. Jórészt arra szolgálnak, hogy a feladatmegoldó megismerkedjen a FORTRAN programozási nyelv nyújtotta lehetőségekkel, illetve hogy megtanulja, milyen problématípusok előfordulásakor mely szerkezeti elemekhez kell nyúlnia, hogy a legpraktikusabb megoldási módhoz jusson, így például, hogy mikor kell számlálós vagy tesztelős ciklust használni, és mikor elágazást, illetve hogyan ágyazzuk az elemeket egymásba. A feladatok nehézségi sorrendben követik egymást, vagyis az utolsók igényelik a legtöbb ismeretet.

(Javaslat: kódolás előtt érdemes a programot struktogramok segítségével előre megtervezni, így könnyebben átlátható a szerkezet. Struktogramok készítéséhez nyújt segítséget az alábbi link: http://www.ngkszki.hu/~fidoo/download/pmmf/ProgTerv/STUKI.HTM)

1.

Készíts egy programot, amely megadja a bekért szám abszolút értékét!

A02rg

2.

Készíts egy olyan programot, amely a felhasználótól bekért két oldalhossz alapján kiszámítja egy téglalap kerületét és területét!

A01ro

3.

Számítsd ki az általad készített programmal a felhasználó által megadott sugarú kör kerületét és területét!

A01rg

4.

Számíttasd ki egy FORTRAN-programmal egy tetszőleges ellipszis területét! Segítség: T=abπ, ahol a és b a fél nagytengely és a fél kistengely.

A01bz

5.

A felhasználó által megadott két számból számítsd ki egy általad írt program segítségével a számtani közepüket!

A02ro

6.

Számítsd ki egy általad írt programmal egy felhasználótól bekért pozitív valós szám négyzetgyökét! Figyelmeztesd hibaüzenettel, ha negatívat adott meg!

A03ro

7.

Készíts egy FORTRAN nyelvű programot, ami kiszámítja egy derékszögű háromszög befogóinak hossza alapján az átfogó hosszát!

A02bz

8.

Készíts egy FORTRAN nyelvű programot, ami kiszámítja egy tetszőleges nyomásszinten elhelyezkedő, tetszőleges hőmérsékletű levegőelem potenciális hőmérsékletét:Pot T ahol Q a potenciális hőmérséklet (vagyis az eredmény), T a levegőelem hőmérséklete Kelviben, és p az adott szint légnyomása hektoPascalban (=millibárban).

A03bz

9.

Készíts egy FORTRAN nyelvű programot, ami kiszámítja a telítési gőznyomás értékét egy adott hőmérsékleten a Magnus-Teten-formula felhasználásával: MTf ahol es a telítési gőznyomás hektoPascalban (=millibárban), t pedig a hőmérséklet Celsius fokban megadva.

A04bz

10.

Írj egy programot, amelyben hőmérsékletadatot kérsz be, és kiírod a felhasználónak, hogy fagy van-e vagy sem!

A04ro

11.

Készíts programot, amely a bekért számról megmondja, hogy 0-nál kisebb, 0 és 10 közötti vagy 10-nél nagyobb-e!

A03rg

12.

Kérjük be a felhasználótól egy háromszög három oldalának a hosszait! Ez alapján írassuk ki, hogy milyen típusú háromszögről van szó (derékszögű, egyenlő szárú vagy mindkettő, szabályos vagy általános, esetleg nem is háromszög)!

A04rg

13.

Készíts egy programot, amely a felhasználó döntése alapján kiszámítja egy szintén általa megadott valós szám abszolút értékét, négyzetgyökét, koszinuszát, szinuszát, természetes alapú hatványértékét vagy egész kitevőjű hatványát! (Az egész kitevőt is a felhasználó adja meg!)

A05ro

14.

Készíts egy olyan programot, amely beolvas 10 számot egy vektorba, majd kiírja ezek abszolút értékét!

A06ro

15.

Írj egy olyan programot, amely kiszámítja az első 10 páros szám összegét!

A07ro

16.

Találj néhány megoldási módszert az első „n” db szám összegzésére! Akár ötféle módon is lehet.

A05rg

17.

Írj egy olyan programot, amely kiszámítja az első n páros szám négyzetösszegét! Az „n” -t adja meg a felhasználó!

A08ro

18.

Készíts egy programot, amely a felhasználótól bekér 10 db számot, és kiszámítja mennyi a köztük szereplő negatív illetve a pozitív számok részösszege!

A09ro

19.

A következő programot az amerikai és az európai meteorológusok együttműködésének segítése céljából készítsd el: először kérj be egy hőmérsékletadatot a felhasználótól Celsius-fokban, és konvertáld Fahrenheitbe. Ezután kérj egy adatot Fahrenheitben, és írasd ki Celsius-fokban. Mindkét esetben végezd el a bekért adatok ellenőrzését, és ha a bemenő adatok felülmúlják a hideg- és melegrekordokat, akkor hívd fel rá a figyelmet hibaüzenettel!

A10ro

20.

Kérj be egy hőmérsékletadatot ellenőrzött, hibaüzenetes bekéréssel, és ez alapján írasd ki, hogy mennyire van meleg: -5 fok alatt nagyon hideg, -5 és 5 között hideg, 5 és 15 között hűvös van, 15 és 25 között meleg, 25 fölött pedig nagyon meleg az idő. Esetleg egészítsd ki a programot újrafuttatási lehetőséggel: ha a felhasználó úgy kívánja, hadd próbálhassa meg új adatmegadással is!

A11ro

21.

Egy programban kérj be a felhasználótól n db számot, majd írasd ki mindnek a négyzetét!

A12ro

22.

Írj egy programot, amely bekéri egy diák 10 érdemjegyét, majd megállapítja, hogy van-e köztük bukás, vagy nem! A program végén add meg a lehetőséget a felhasználónak az újrafuttatásra egy másik diák jegyeivel!

A13ro

23.

Gyors válogató az iskolai kosárcsapatba: készíts egy olyan programot, amely egy 20 fős osztály tanulóinak magasságadatai alapján kiadja, hogy melyik az első 1,7 méternél magasabb diák a sorban. Ha nincs ilyen diák, arról is írass szöveges üzenetet! A program végén biztosíts újrafuttatási lehetőséget!

A14ro

24.

Készíts egy újrafuttatási keretprogramot!

A15ro

25.

Készíts egy programot, amely megadja, hogy n db dobókocka-dobásból hány lett hatos! Az összes dobás számát, és a dobások eredményeit kérjük be a felhasználótól! Biztosítsunk újrafuttatási lehetőséget!

A16ro

26.

Olvassunk be a felhasználótól „n” db számot, majd kérdezzük meg, melyik számot keresi, végül írjuk ki, hogy van-e belőle a megadottak között!

A07rg

27.

Írjuk át az előző feladatot úgy, hogy most már megadjuk, hány van a megadottak között a keresett számból!

A08rg

28.

Kérjünk be a felhasználótól egy intervallumot (egésztől egészig), és egy egész számot, amelyre ellenőrizzük, hogy a megadott intervallumban mennyi a vele oszthatók száma!

A09rg

29.

Írj egy programot, amely eljárás segítségével megcseréli a felhasználó által megadott két számot!

A10rg

30.

Írjunk egy programot, amelynek segítségével beolvasunk 10 db napi csapadékmennyiség-adatot, majd kiválogatjuk azokat a napokat, amelyen 3 mm-nél több hullott! Írassuk ki ezeket a sorszámokat az aznap mért mennyiséggel egyetemben!

A17ro

31.

Készíts maximumkereső programot! Ehhez olvass be 10 db napi csapadékmennyiség-adatot egy vektorba, majd írasd ki annak a napnak a sorszámát, amelyen a legnagyobb értéket mérték, és tüntesd fel az aznapi mennyiséget is!

A18ro

32.

Készíts kiválogató programot! Ehhez olvass be 14 szélsebességi adatot, majd válogasd ki a 70 km/h-nál nagyobb értékeket: írasd ki ezek sorszámát!

A19ro

33.

Kérjünk be hatnapi hőmérsékletadatot mátrix használatával, vegyük figyelembe, hogy főterminusokban végeztük méréseinket! Ellenőrizzünk kiíratással!

A20ro

34.

Kérjük be 10 nap vízállásadatát, napi 5 méréssel, vagyis készítsünk egy 10x5-ös mátrixot, majd írassuk ki képernyőre!

A21ro

35.

Írjuk programot a faktorizálás elvégzésére függvény segítségével!

A11rg

36.

Írj egy programot egy eljárással, amely kiszámítja a megadott együtthatókból a másodfokú egyenlet gyökeit!

A12rg

37.

Írassuk ki 1-től 20-ig azokat a számokat, amelyek 2-vel és 3-mal is oszthatók! (Lehetőség szerint dolgozzunk két tömbbel, és használjuk a mod() függvényt!)

A13rg

38.

Módosítsuk a Fahrenheit – Celsius – programunkat úgy, hogy az átváltás elvégzésére függvényeket írunk, a beolvasást pedig eljárás segítségével ellenőrizzük (mindkét irány esetén)!

A22ro

39.

Készítsünk maximumkereső programot függvény segítségével! A beolvasást végezzük el a főprogramban: kérjünk be n db számot, a maximum kiválasztását függvényben írjuk meg!

A23ro

40.

Olvass be 5x10 adatot egy mátrixba, majd maximumkereső függvénnyel válaszd ki az adatok maximumát!

A24ro

41.

Készíts egy programot, amely csapadékmennyiség-átlagot számol! A felhasználó adja meg, hogy hány napon át végzett méréseket, és mennyi adata van naponta. Olvasd mátrixba az adatokat, és egyben ellenőrizd az adatok realitását egy eljárás segítségével! Ezután számítsd ki az adathalmaz átlagát egy erre megírt függvény meghívásával! Végül írasd ki az eredményt!

A25ro1

42.

Módosítsd az előző feladatot úgy, hogy a beolvasást is eljárásban fogalmazod meg!

A25ro2

43.

Kérjük be a felhasználótól, hogy hány napi légnyomásadatot szeretne megadni. Ellenőrizzük, hogy pozitív számot adott-e meg, ha nem, kérjünk újat. Kérjük be az n darab légnyomásadatot, majd számoljuk ki az 1000 hPa-nál kisebb adatok átlagát!

A26hh

44.

Kérjük be a felhasználótól 30 nap eső-megfigyelésének eredményét (1, ha esett aznap; 0, ha nem esett). Számoljuk meg, és írjuk ki, hogy hány esős nap volt!

A27hh

45.

Készíts programo(ka)t, mely egy fájlból először bekéri a hőmérsékletadatok számát, majd ennyi hőmérsékletadatot. Ezután a program választ ad arra a kérdésre, hogy volt-e -15.00°C alatti hőmérséklet, és ha igen akkor melyik volt az első ilyen adat. A válasz egyaránt legyen olvasható a képernyőn és egy kimeneti fájlban! A hőmérsékletek valós számok. Két programot írj, mely csak a be- és kimeneti fájlok nevében tér el.

A28ro

46.

Bejcgyertyánoson (Vas megye) 298 K hőmérsékletet mértek, a légnyomás 1013,25 hPa, a levegő gőznyomása 2400 Pa. Írj programba ágyazott eljárást/függvényt annak kiszámítására, hogy mennyi a relatív nedvesség és a keverési arány?

A01sd

47.

Készíts eljárást/függvényt a következő feladat megoldására: Ököritófülpösön (Szabolcs-Szatmár-Bereg megye) egy adott pillanatban 1009 hPa légnyomást mértek. A levegő hőmérséklete -5°C, a település tengerszint feletti magassága: 110 méter. Mekkora a tengerszintre átszámított légnyomás, ha a légoszlop hőmérséklete a troposzférára jellemző átlagos vertikális gradiens (0,65°C/100m) szerint változik?

A02sd


<< TETEJÉRE
Kezdő feladatok fájlbeolvasással >>


A feladatgyűjteményt Barcza Zoltán felügyelete alatt a Korszerű meteorológiai adatformátumok című kurzus keretén belül Kertész Szilvia állította össze, aki várja az észrevételeket e-mailben: xilvi@elte.hu.

Ötleteikkel, feladataikkal segítettek:

Barcza Zoltán, Hetényi György, Ihász István, Kern Anikó, Lakatos Mónika, Pieczka Ildikó, Rónai Orsolya, Rózsa Gábor, Szinyei Dalma, Torma Csaba, Vöröss Veronika.


[Aktuális hírek][A Tanszék rövid története][Oktatás][A Tanszék dolgozói][Képek][Hallgatók lapjai]

Copyright ©ELTE Department of Meteorology
Kezdõlap