# # $Id: 02-hazi.txt 2202 2014-08-31 01:20:38Z gertom $ # A következő feladatok megoldásaiban a főprogram csak az input/output műveleteket végezze, a számolást külön függvényekben oldd meg. Az adatok tárolására használj összetett adatszerkezetet, ha van értelme. A feladatokat oldd meg úgy is, hogy stdin-ről stdout-ra dolgoznak, és úgy is, hogy a "bemenet.txt" nevű fájlból a "kimenet.txt" nevű fájlba. 1. Írj egy programot, ami bekéri egy torta piskótájanak sugarát és magasságát, majd kiszámolja a torta 1cm vastag bevonásához szükseges krém terfogatát 5%-os ráhagyással dolgozva. (A torta alját nem kell bekrémezni, csak az oldalát és a tetejét.) 2. Írjunk egy programot, ami megmondja, hogy teljesítettük-e a félévet programozás alapjaiból. Készítsünk egy adatszerkezetet, amiben a hallgató a nevét, pontjait tároljuk. A program tároljon külön minden részpontszámot és a hiányzásokat is. 3. Bővítsük az előző programot úgy, hogy először bekérjük a hallgatók számát, majd memóriát foglalunk az adataik számára, és ezzel a dinamikus tömbbel dolgozunk. 4. Írjuk meg a 2. feladatot láncolt listák felhasználásával is. 5. Add meg irányszöggel és nagysággal a hasonlóképpen megadott fizikai erők sorozatának eredőjét a kétdimenziós térben. Az erők sorozatának végét egy 0 nagyságú erő jelzi. 6. Kérd be a tér 4 pontjának koordinátáit, és számítsd ki az általuk meghatározott test felszínét. Feltehető, hogy a 4 pont nem egy síkba esik. 7. Adott nehézségi gyorsulás (g=9,81 m/s^2) mellett szimuláld egy alfa kilövési szögben és v kezdősebességgel kilőtt test röppályáját légüres térben sík terepen. A felhasználó adja meg a kilövési paramétereken túl azt is, hogy milyen időközönként kell meghatározni a test helyzetét (x,y koordinátáit). A kiírás akkor ér véget, ha a test földet ért. A földetérés helyét pontosan számítsd ki! 8. Adott két körszerű test a kétdimenziós síkon. A testek helyzetét a középpontjaikkal azonosítjuk. Kezdetben a felhasználó mindkét testhez megadja: (1) a középpontját x,y koordinátákkal, (2) sugarát, (3) kezdősebességét és annak irányát, valamint (4) a test tömegét. Megad továbbá egy dt és egy T időintervallumot. A feladat a két test kétdimenziós fizikai mozgásának szimulálása a 0..T időintervallumban dt időbeosztással. Ez azt jelenti, hogy a kezdő időpontban kiszámoljuk a testekre ható erőket, majd a test mozgását a következő dt időintervallumban úgy közelítjük, mintha a testre ebben az időintervallumban nem hatna egyéb erő. Ezután újra kiszámítjuk az erőket, majd újra közelítjük a mozgást, stb. A pálya szimulálása a T időpontig vagy a két test "ütközéséig" tart. A pontosság kedvéért a két test helyzetét (x,y koordinátáit) úgy írassuk ki, mintha az origo, azaz a koordinátarendszer középpontja a két test közös tömegközéppontja lenne, azaz a kiszámított koordinátaértékeket ezek szerint korrigáljuk minden lépésben. 9. Adottak pontok a síkban, határozzuk meg azokat a pontokat, amelyek a ponthalmaz konvex burkát alkotják. 10. Adottak síkidomok (kör, elipszis, háromszög, négyzet, téglalap) a jellemző értékeikkel. Készíts egy tömböt ilyen alakzatok tárolására, olvasd be az adataikat, majd írd ki az összterületüket. Ezután írd ki mindegyik fajtából a legnagyobb területű síkidom kerületét. 11. Hozz létre típust egy háromdimenziós térbeli pozíció tárolására. Ezt felhasználva hozz létre egy típust, ami részecskék helyzetét, tömegét, nevét és töltését (pozitív/negatív/semleges) tárolja. Készíts egy függvényt, ami két részecskéről eldönti, hogy melyik nehezebb, és egy másikat, ami megmondja, hogy elektromosan vonzzák vagy taszítják egymást, esetleg nem hatnak egymásra. Inicializálj két részecskét, és használd a függvényeket.