Tartalomjegyzék
tippek és trükkök...
Programozás linkek
Érettségi és egyebek...
☂Tippek & Trükkök
Ötletek, gondolatok adott problémákkal kapcsolatban...
☂ N különböző szám generálása...
Tegyük fel, hogy N db véletlenszámot kell egy listában (tömbben, vektorban, sorozatban) kezelnünk, de szeretnénk elérni, hogy minden szám különböző legyen! Nézzünk egy lehetséges megoldást:- használjunk halmazt az adatok tárolására --> majd listát (vektort) készíthetünk belőlük
- addig generáljunk véletlenszerű számokat, amíg nem lesz meg az N eleme a halmaznak (kihasználva a halmaz azon tulajdonságát, hogy csak egyedi elemei lehetnek)
|
|
|
|
|
☂ Összefüggés adatsorozatok között...
Gyakori hogy olyan adatokat kezelünk, melyek egy bizonyos zárt intervallumból veszik
fel az értéküket, és ezekkel az értékekkel szeretnénk valamit kezdeni.Legjobb példa erre a lottósorsolás: a zárt intervallum 1-90, és egy évben minden héten 5 számot sorsolnak ki. A kisorsolt számok 52x5-ös mátrixba rendezhetők, ha teljes évet veszünk.
Maguk a számok egy 90 elemű listát alkotnak. Milyen összefüggés van a kisorsolt számok és a 90 elemű lista között? Válasz:
A kisorsolt számok kijelölik a listában az adott elemet (lásd ábra)!
Magyarán arról van szó, hogy a hetek számai indexelik (nyilak az ábrán) a 90 elemű listát, így a kisorsolt számok alapján a listával (1-90) sok mindent kezdhetünk: vizsgálhatjuk, hogy melyik számot nem húzták ki, melyik számot hányszor húzták ki, és így tovább (emlékeim szerint ez a 2005-ös évben volt feladat).
De ez az egész nemcsak a lottósorsolás kapcsán hasznosítható, hanem minden olyan esetben,
amikor egy adathalmaz egy másik adathalmazból veszi fel az értékeit. Például a kisorsolt szám
az 1-90 halmazból veszi fel az értékét. Vagy nézzük az alábbi ábrát:
Egy 8x5-ös mátrix az öt nap közül veszi fel az értékeit. Ahogy a nyilak jelzik, lehet vizsgálni például , hogy melyik nap mennyi munka kerül sorra, mert a mátrix elemei indexelik a munkanapok listáját...
Forrásállomány letöltése
☂ Szövegkezelés 1. rész
A szöveges adatok kezelése nagyon gyakori probléma az érettségin és általában is. Ebben a példában, az 1. részben, néhány alapvető szövegkezelési fogást nézünk meg: szövegek összefűzése, kis- és nagybetűsre alakítás, szöveg megfordítása, stb...
☂ Szövegkezelés 2. rész
Ebben a példában, a 2. részben, szövegrészlet keresése és cseréje történik...
☂ Prímszámok vizsgálata és listázása...
Egy n egész számról szeretnénk eldönteni, hogy prímszám vagy nem. Matematika órákról tudjuk, hogy
mi az a prímszám, tehát ezzel a résszel nem foglalkozunk! Azt is tudjuk, hogy, ha egy számnak a négyzetgyökéig
nem találunk osztót, akkor annak már nem is lesznek osztói, azaz prímszám!
Ezt felhasználva meg tudjuk alkotni azt az algoritmust, ami eldönti egy számról, hogy prím-e. Ha ezt az algoritmus-részletet beágyazzuk egy 1-től n-ig "pörgő" számlálós ciklusba, akkor megadhatjuk az n-ig létező összes prímszámot is!
Legyen itt az a "házi feladat", hogy C++-ban is megírjuk ezt a kis programot!
Az alábbi megoldásba sok minden egyebet is beírtunk, csak a további tanulás kedvéért...
☂ Az indexelés problémái...
Prezentáció PPTX letöltés
Az alábbiakban általánosságban tárgyaljuk a sorozatok indexelése során fellépő leggyakoribb hibát, majd egy pythonos példát nézhetünk meg:
PYTHON példa: rendezés, szövegkezelés...
Programkód PY letöltés
☂ Euklidészi algoritmus...
Egy nagyon egyszerű algoritmusról van szó, mely két egész szám legnagyobb közös osztóját határozza meg, amiből a legkisebb közös többszörös is könnyen meghatározható. Nézzük:
- while ciklust és
- maradékos osztást (MOD) használunk
☂ i++ vs ++i
A ++ problémája a C++-ban! Okozhat-e hibát, problémát a ++ használata! Mi a különbség az i++ és a ++i között? A példaprogram elemzésével mindenre fény derül. Nézzük:
☂ Lista "anomália"
Milyen problémát okozhat a [x]*n típusú listadefiniálás? Nézzük:
A problémát szemléltető prezentáció: (a prezentáció vetítése során egy kattintás --> animáció) |
☂ Class használata #1
Class, azaz osztály és objektumainak használata az érettségi feladatokban. Az ide kapcsolódó feladat a 2013 októberi Közúti ellenőrzés c. feladat! És más "trükkök" is...! Nézzük:|
|
☂ Class használata #2
További példaprogram - pont és koordinátái és távolsága az origótól. Zenei adók c. feladatban is találunk rá példát!|
|