Nagy HF u tmutato 2011/2012 II. fe le v



Hasonló dokumentumok
Nagy HF ke szı te si u tmutato

Programozás I gyakorlat

A programozás alapjai 1 Rekurzió

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Felhasználói kézikönyv a WEB EDInet rendszer használatához

C programozási nyelv

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Felhasználó által definiált adattípus

Óbudai Egyetem. C programozási nyelv

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus adatszerkezetek. Dinamikus adatszerkezetek. Önhivatkozó struktúrák. Önhivatkozó struktúrák

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Programozás C és C++ -ban

Körkörös listák. fej. utolsó. utolsó. fej

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás

Citroen Pásztor Alkatrész és tartozék webáruház

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

NightHawk AccessControl

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Operációs rendszerek. Tanmenet

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

GYERMEKEK FIZIKAI FEJLŐDÉSE. Százalékos adatok és görbék. Fiúk Lányok Fiúk Lányok ,8 10,5 12,6 8,1 9,7 11,6

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

7. fejezet: Mutatók és tömbök

Sebury BC Önálló RF kártyás és kódos beléptető

Egyetemi könyvtári nyilvántartó rendszer

FELHASZNÁLÓI KÉZIKÖNYV

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

Bevezetés, a C++ osztályok. Pere László

5. Gyakorlat. struct diak {

DigiSkills. D3.5 Digiskills Leltár Kézikönyv

OOP. Alapelvek Elek Tibor

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Tájékoztató. Használható segédeszköz: -

Operációs rendszerek. Tanmenet

Tájékoztató. Használható segédeszköz: -



OSZMK portál részregisztráció és auditok általános felhasználói leírása

SYNLAB ONLINE LELETPORTÁL FELHASZNÁLÓI ÚTMUTATÓ A SYNLAB HUNGARY KFT. PARTNEREI SZÁMÁRA

Típusok és konstansok

Programozás I gyakorlat

Könyvtárellátó Nonprofit Kft. KIADÓI RENDSZER

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Webanalitika a mindennapokban

Felhasználói kézikönyv

BME MOGI Gépészeti informatika 13.

Belépés és regisztráció az ÉTDR-ben

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, november 08.

Citációs index időintervallumra DE MTMT Adminisztrátorok

Pénzügyi algoritmusok

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

Programozás 5. Dr. Iványi Péter

Eljárások és függvények

Órarendkészítő szoftver

Választó lekérdezés létrehozása

Felhasználói kézikönyv

AC-MFS. RFID kártyaolvasó és kódzár. Felhasználói leírás

Online számla regisztráció

Partner. kezelési útmutató

Programozás I. gyakorlat

A szervezeti egységektől beérkezett felhasználói igények alapján ön részt fog venni a tantermi oktatáson.

Felhasználói segédlet a Scopus adatbázis használatához

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

BASH script programozás II. Vezérlési szerkezetek

BEJELENTKEZÉS AZ EPK RENDSZERÉBE

Oktatási azonosító Tantárgy Elért pontszám Magyar nyelv Matematika Magyar nyelv Matematika

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tisztelt Ügyfelünk! Ezúton szeretnénk tájékoztatni, hogy a következő modulokból került fel frissítés az internetre:

UJJLENYOMAT OLVASÓ. Kezelői Kézikönyv

Közbeszerzési eljárások adatainak kezelése

BODROGKOZ.COM / HASZNÁLATI ÚTMUTATÓ

Lekérdezések I. Egyszerű választó lekérdezések

Programozási alapismeretek 4.

A Nemzeti Agrárgazdasági Kamara és a NAK Nonprofit Kft Energetikai audit szolgáltatása. Budapest, június 30.

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Felhasználói kézikönyv

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Algoritmizálás + kódolás C++ nyelven és Pascalban

AC-MFP-X7. RFID kártyaolvasó beépített ujjlenyomat olvasóval. Felhasználói leírás

Home movie database. Specifikáció. Verzió: 1.0. Dátum: Státusz: Released. Készítette: Farkas Róbert. Kulcsár Orsolya.

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

HACCP KCAL PRO. Online adminisztrációs szolgáltatás. Szolgáltatási Specifikáció v 1.0

Közlemények kézi felvitele

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Aromo Szöveges Értékelés

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Átírás:

A programozás alapjai 1. BMEVIHIA106 Nagy HF u tmutato 2011/2012 II. fe le v Analízis (Nyelv független) 1. A Házi feladat téma szöveges leírása. 2. A feladat résztvevőinek azonosítása 3. A résztvevők tulajdonságai 4. A résztvevők viselkedése 5. Lehetséges kérdések Tervezés (C nyelv) 6. Szükséges tulajdonságok és adattípusok összerendelése 7. Adatszerkezet választása (Új adattípusok deklarálása) 8. Funkciók ismertetése (Függvény deklarációk) 9. További rész funkciók / számítások (Függvény deklaráció) Implementálás (C nyelv) 10. Adattípusok elkészítése 11. Függvények megírása 12. Adatok mentése/visszatöltése fájlból. 13. A konkrét feladat megoldása függvényként

Nagy HF pe lda 2011/2012 II. fe le v Házi Feladat: Társkereső Analízis (Nyelv független) 1. A Házi feladat téma szöveges leírása. A feladat az emberek számára a társkeresést program segítségével megkönnyíteni. A társkereséshez a felhasználóknak meg kell adniuk saját adataikat (Például: neme, magasság, súly, hajszín, szemszín leírás, stb.). Ezután kereshetnek társat a többi társkereső adatai alapján. Ha valamely másik társkereső megtetszik a felhasználónak, akkor bejelölheti lehetséges partnernek, amiről a másik fél automatikusan értesítést kap. Ha a kiszemelt partnernek is tetszünk, akkor ő is felvesz minket a lehetséges partnerei közé. A lehetséges partnerek, ezután tudnak egymással beszélni, találkozni, randevúzni stb. A felhasználók bármikor felbonthatják, illetve módosíthatják a társkereső rendszerben egymás közti kapcsolataikat. Mindenképpen tartalmazza, azt, hogy a programot Ki és elsősorban Mire fogja használni? (Továbbiakban nevezzük őt elsődleges felhasználónak) 2. A feladat résztvevőinek azonosítása A feladatban a társkeresőbe regisztrált felhasználókat és azok kapcsolatait kell kezelni. A feladat szempontjából lényeges résztvevőket kell azonosítani, nem biztos, hogy élőlény, lehet például Tantárgy, Szoba, Nyeremény stb. 3. A résztvevők tulajdonságai Felhasználó: Azonosító (egyedi szöveg) Neme (férfi/nő) Magassága: [cm] Súlya: [kg] Hajszín: [barna, szőke, fekete, vörös, ] Szemszín: [kék, barna] Leírás: szöveg ++ Lehetséges partnerei ++ Más felhasználók felkérései ++ Saját felkérései Itt a résztvevőkhöz rendelt tulajdonságokat kell szerepeltetni, továbbá jelezni a többi résztvevővel lehetséges kapcsolatokat.

4. A résztvevők viselkedése Felhasználó regisztrál/bejelentkezik a társkeresőbe az adatai megadásával Felhasználó kijelentkezik a társkeresőből (pl.: társat talált) Felhasználó keres más felhasználókat adatai alapján Felhasználó felvesz egy másik felhasználót a lehetséges partnerei közé Felhasználó listázza a felkéréseit Felhasználó visszaigazolja/elutasítja a másik felhasználó felkérését Felhasználó törli / módosítja kapcsolatát. Itt kell az aktív résztvevők feladatait, kéréseit felsorolni, kezdje azzal, akit a feladat leírásában elsődleges felhasználónak jelölt. 5. Lehetséges kérdések a) Hány függőben lévő felkérése van a legmagasabb felhasználónak? b) Hány kilót nyom az a felhasználó, akinek a legtöbb szőke nő van a lehetséges partnerei közt?

Tervezés (C nyelv) 6. Szükséges tulajdonságok és adattípusok összerendelése Felhasználó: Azonosító: (egyedi szöveg) char [9], megj.: maximum 8 hosszú lehet Neme: (férfi/nő) - char [ F N ] Magassága: [cm] - unsigned int Súlya: [kg] - double Hajszín: [barna, szőke, fekete, vörös, ] enum szinek, megj.: a szem- és hajszíneket egy enum-ban tárolom Szemszín: [kék, barna] enum szinek Leírás: szöveg char*, vagy char[100]. 7. Adatszerkezet választása (Új adattípusok deklarálása) a) A társkereső összes felhasználóját egyszeresen láncolt listában tárolom azonosítójuk szerint rendezve. b) A felhasználók lehetséges partnereit szintén láncolt listában tárolom a felhasználóhoz kapcsolva c) A felhasználó saját felkéréseit az előző láncolt listába teszem, ezért a partnerekhez szükséges egy állapotot is hozzárendelni (Megerősített/Nem megerősített/visszautasított) d) A felhasználóhoz beérkezett partner jelöléseket egy külön veremben tárolom a felhasználóhoz kapcsolva. Az így kapott adatszerkezet a következő:

Adat típusok: Színek: typedef enum {szőke, fekete, vörös, barna, kék, } szin; Felhasználó: typedef struct { char azonosito[9]; char neme; unsigned int magassag; double suly; szin hajszin; szin szemszin; char leiras[100]; } Felhasznalo; Partnerek: typedef struct partner { Felhasznalo *felh; char allapot; struct partner *kov; } Partner; Felkérések: typedef struct felkeres { Felhasznalo *felh; struct felkeres *kov; } Felkeres; Felhasználók: typedef struct felhasznalok { Felhasznalo felh; //Felhasznalo *felh is lehet Partner *partnerek; Felkeres *felkeresek; struct felhasznalok *kov } Felhasznalok;

8. Funkciók ismertetése (Funkció deklarációk) Felhasználó regisztrál/bejelentkezik a társkeresőbe az adatai megadásával void regisztral(felhasznalok* tarskereso, Felhasznalo felh); Felhasználó kilép a társkeresőből (pl.: társat talált) void kilep(felhasznalok* tarskereso, char *azonosito); Felhasználó keres más felhasználókat adatai alapján (pl.: a legmagasabbat) Felhasznalo legmagasabb (Felhasznalok* tarskereso); Felhasználó felvesz egy másik felhasználót a lehetséges partnerei közé void partnert_felvesz (Felhasznalok* felhasznalo, Felhasznalo *partner); Felhasználó listázza a felkéréseit void felkerest_listaz (Felhasznalok* felhasznalo); Felhasználó visszaigazolja/elutasítja a másik felhasználó felkérését void valaszol_felkeres (Felhasznalok* felhasznalo, Felkeres *felk, char allapot); Felhasználó törli kapcsolatát egy partnerével void torol_kapcsolat (Felhasznalok* felhasznalo, char* partner_azonosito); 9. További rész funkciók / számítások (Funkció deklaráció) A fentiekből látszik, hogy a felhasználókat az azonosítójuk alapján lehet megkülönböztetni, így szükséges lehet a keresést azonosító alapján is megvalósítani. void keres_felhasznalo(felhasznalok* tarskereso, char *azonosito); A társkeresést nagyban megkönnyíti, ha egy adott felhasználó összes adatát kiírjuk a képernyőre, és ez alapján tud a felhasználó dönteni. void print_felhasznalo(felhasznalo felh); A felhasználó felvesz valakit a lehetséges partnerek közé, akkor erről a felvett is értesítést kap. void ertesites (Felhasznalok *partner, Felhasznalo *felhasznalo); Továbbá az a) kérdés megválaszolásához szükséges a függőben lévő felkérések számának meghatározása is. unsigned fuggo_felkeres(felhasznalok* felhasznalo); A b) kérdés megválaszolásához szükség van a szőke nőkkel való kapcsolatok számára felhasználónként, illetve a legtöbb ilyen kapcsolattal rendelkező felhasználót is meg kell keresnünk. unsigned szoke_no_partner(felhasznalok* felhasznalo); illetve: Felhasznalo legtobb_szoke_no_partner(felhasznalok* tarskereso); Természetesen a funkciók sorának ezzel még nincs vége, hiszen például a listák felépítése és lebontása, valamint a fájlokba mentés és visszaállítás, illetve az adott feladathoz szükséges egyéb feladatok, és azok rész feladatai számára további funkciók lehetnek szükségesek.