200 likes | 355 Views
Elemi algoritmusok. P áll Boglárka. Elemi algoritmusok:. Az elemi algoritmusok a klasszikus feladatokra adnak megoldásokat: Pl: Két szám értékének felcserélése Minimum, maximum meghatározása Bizonyos tulajdonsággal rendelkező elemek megszámolása
E N D
Elemi algoritmusok Páll Boglárka
Elemi algoritmusok: • Az elemi algoritmusok a klasszikus feladatokra adnak megoldásokat: Pl: • Két szám értékének felcserélése • Minimum, maximum meghatározása • Bizonyos tulajdonsággal rendelkező elemek megszámolása • Egy szám számjegyeinek meghatározása, számok alkotása számjegyekből • Két szám legnagyobb közös osztójának meghatározása • Prímszámok tesztelésére alkalmas algoritmus • Egy szám osztóinak megkeresésére használt algoritmus • Számrendszerek közti átalakításaok
1. Két szám felcserélése • Két szám felcseréléséhez egy segédváltozót kell használnunk (pohár módszer) 2 1 C A B
1. Két szám felcserélésének algoritmusa: Algoritmus felcserél Adottak a, b, c c:=a a:=b b:=c Vége.
FELADAT: • Adott egy kétjegyű szám. Cseréljük fel a számjegyeit. Pl: 45 -> 54 Lépések: • Kimentjük a szám számjegyeit a és b-be • A számjegyeket felcseréljük • Megalkotjuk az új számot a-ból és b-ből
2. Minimum és maximum meghatározása • Az algoritmus több beolvasott szám (egy számsor) értékei közül határozza meg a legnagyobbat és a legkisebbet. • Az algoritmus elején maximumnak és minimumnak az első elem értékét adjuk, majd a maximumot és minimumot összehasonlítjuk a számsor többi elemével
2. Minimum és maximum meghatározása Lépések: • Beolvassuk az első a szám értékét • Maximumnak, és minimumnak az első a szám értékét adjuk • Beolvassuk a következő a számot • Ha a> max vagy a<min akkor az a lesz az új maximum vagy minimum • Folytatjuk a 3 lépéstől
Feladat: Határozzuk meg n szám maximumát és minimumát Algoritmus maxmin Adott a, n, i, max, min max:=a min:=a Minden i:=2 től n-ig végezd el Ha a>max akkor max:=a Ha vége Ha a<min akkor min:=a Ha vége Adott a Minden vége Eredmény min, max Vége
Feladat: • Olvassunk be számokat amíg a szám nagyobb mint nulla. Határozzuk meg a legnagyobbat és a legkisebbet.
3. Bizonyos tulajdonsággal rendelkező elemek megszámolása Lépések: • Egyetlen ilyen tulajdonsággal rendelkező elemünk sem volt azaz db:=0 • Beolvassuk az első a szám értékét • Megvizsgáljuk, hogy az a teljesítí a feltételt, ha igen akkor növeljük a feltételt teljesítő elemek darabszámát • Folytatjuk a 2 lépéstől azaz beolvassuk a következő a számot
Feladat: Határozzuk meg n szám közül hány páros Algoritmus darab Adott a, n, i, db db:=0 Minden i:=1 től n-ig végezd el Ha a mod 2=0 akkor db:=db+1 Ha vége Adott a Minden vége Eredmény db Vége
Feladat: • Olvassunk be számokat amíg a szám nagyobb mint nulla. Határozzuk meg hány szám volt osztható 3-al.
n := 3652 számjegy := n mod 102 n:= n div 10 365 számjegy := n mod 105 n:= n div 10 36 számjegy := n mod 106 n:= n div 10 3 számjegy := n mod 103 n:= n div 100 4. a) Egy szám számjegyeinekmeghatározása Példa:
4. a) Egy szám számjegyeinek meghatározása Lépések: • n mod 10 művelettel meghatározzuk az n szám utolsó számjegyét • a kapott számjegyet feldolgozzuk • az eredeti n számból levágjuk a feldolgozott számjegyet, ez az n div 10művelettel történik • a fenti lépéseket addig ismételjük amíg az n számnak még vannak számjegyei, vagyis amíg n<>0-tól.
Feladat: Határozzuk meg az n szám számjegyeit Algoritmus számjegy Adott n, számjegy Amíg n<>0 végezd el számjegy:= n mod 10 Kiír számjegy n:=n div 10 Amíg vége Vége
Feladat • Adott egy n természetes szám. Számítsátok ki az n szám számjegyeinek összegét és szorzatát.
Alkossunk számot a 3 6 5 2 számjegyekből szám:=0 számjegy := 3 szám:= szám* 10 + 3 0+3 3 számjegy := 6 szám:= szám* 10 + 6 30+6 36 számjegy := 5 szám:= szám* 10 + 5 360+5 365 számjegy := 2 szám:= szám* 10 + 2 365 +2 3652 4. b) Szám alkotása számjegyekből Példa:
4. b) Szám alkotása számjegyekből Lépések: • a szám kezdeti értéke 0 • beolvassuk a sorra következő számjegy értékét • a beolvasott számjegyet hozzáadjuk az eddig megalkotott szám 10-szereséhez • addig folytatjuk a 2. lépéstől, amíg a beolvasott érték számjegy
Feladat: Határozzuk meg az n szám számjegyeit Algoritmus számjegy Adott nr:=0 Adott számjegy Amíg számjegy>=0 és számjegy<=9 végezd el nr:= nr *10 + számjegy Adott számjegy Amíg vége Kiír nr Vége
Feladat • Adottak számjegyek, alkossuk meg a párosakból alkotható számot • Adott egy n szám, alkossuk meg a szám fordítottját. Pl: 3456 6543