Hogyan lehet az alábbi programot a közkedvelt pascal nyelvben megírni?
Legyen x,y síkban a Q halmaz a tengelyek és az origó középpontú 5 cm sugarú körvonal uniója. Generáljunk olyan n darab véletlen kört, amelyiknek egyike sem metszi a Q halmazt. a középpontok egyenletesen oszlanak el a -10<u<10; -10<v<10 tartományban és a körök véletlen sugaraira 0<ri<5 teljesül. Definiáljon 'kor' nevű rekord típust, amely a kör (r) sugarát, a középpontnak a tartományi határvonalától számított ellenörzésekör fontos távolságát, kör (T) területét és (K) kerületét tartalmazó komponensekből (mezőkből) áll. A Program eljárással kiszámítja mindegyik körre a T és K értékét (n=100 esetben), majd az értéket egy rekord típusú f file-be mentse ki. Végül a program, az f file-t újra olvasva kiírja annak tartalmát a képernyőre.
Jó hosszú, és szarul van megfogalmazva én még a problémát sem értem ha valaki azt letudja írni már az is segítség :)
Most programkódra nincsen időm, de kicsit részletesebben megpróbálom leírni a feladatot:
Véletlenszerűen kell generálni köröket, amelyek középpontjainak koordinátái -10 és +10 között vannak (függvénytáblázatból kinézheted a körfüggvényt, abban van "u" és "v"), a sugarak meg legfeljebb 5 centisek.
Ezenkívül ezek a körök nem metszhetik sem a tengelyeket, sem az origó középpontú és 5cm sugarú kört.
Aztán csinálsz egy rekordtípust a megadott mezőkkel, meg egy eljárást (nem függvényt) ami kiszámolja a kért adatokat, kiíírod az "n" kör adatait fájlba, majd visszaolvasod és kiíratod a képernyőre.
Program megvalósításánál:
Egy kör véletlenszerű generálásakor lesznek középpont koordináták és sugár, ez alapján kiszámolható milyen távolságra van a tengelyektől és az 5cm sugarú körtől, illetve metszi-e ezeket. Ha metszi, akkor vagy új kört generálsz (ez lehet hogy sok próbálkozást kíván) vagy módosítod a generált sugarat, hogy jó legyen.
Ami most még nem világos, hogy az egyenletes eloszlást hogy lehetne megvalósítani, de erre is biztos fog valaki (nálam okosabb) írni valamit.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!