Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Feladatok (értékadás) Írassuk ki 3 beolvasott szám számtani közepét! Hogyan lehet tetszőleges számot kerekíteni? (egészrész(x)) Adott kettes számrendszerben.

Hasonló előadás


Az előadások a következő témára: "Feladatok (értékadás) Írassuk ki 3 beolvasott szám számtani közepét! Hogyan lehet tetszőleges számot kerekíteni? (egészrész(x)) Adott kettes számrendszerben."— Előadás másolata:

1 Feladatok (értékadás) Írassuk ki 3 beolvasott szám számtani közepét! Hogyan lehet tetszőleges számot kerekíteni? (egészrész(x)) Adott kettes számrendszerben egy négyjegyű szám. Alakítsuk decimálissá! Számítsuk ki egy legfeljebb négyjegyű decimális szám jegyeinek összegét! (div, mod)

2 Feladatok(elágazások) Írjuk ki 2 szám hányadosát! (0) Döntsük el egy számról, hogy egész-e! Írjuk ki, hogy 2 egész szám közül egyik osztója-e a másiknak! Írjunk ki 2 számot növekvő sorrendben! Írjunk ki 3 számot növekvő sorrendben! Adott egy évszám. Döntsük el,hogy szökőév-e!

3 Feladatok(elágazások) Döntsük el 3 számról, hogy lehetnek-e egy háromszög oldalai! Írjunk algoritmust, amely megold egy másodfokú egyenletet!

4 Ciklus i:= 1-től 10-ig Ki:2*i,” ”, (2*i)*(2*i), sorvége Ciklus vége Be: a Ciklus amíg (a<>0) Be: a Ciklus vége Ciklus Be: h Ciklus amíg (h 12)

5 Feladatok(ciklus) Írassuk ki 1-től 20-ig a számokat és a négyzetüket! Kérjünk be egész számokat 0 végjelig! Kérjük be egy hónap sorszámát!

6 Tömb Azonos típusú elemek sorozata Létrehozása: név: tömb [indextartomány] elemtípus pl. a: tömb[1..5] Z helyfoglalás? értékadás: a[3]:=3345 túlindexelés? egydimenziós (vektor), kétdimenziós (mátrix)

7 Szöveg (string) Karakterekből álló vektor a:=”11.c ” a[3]:=’.’ a[4]:=’c’

8 További adatszerkezetek rekord verem sor lista adatállomány (file) halmaz fa gráf

9 Programozási tételek Gyakori programozási alapfeladatok Fajtái: egy sorozathoz egy értéket rendel egy sorozathoz egy sorozatot rendel sorozathoz sorozatot rendel

10 Sorozathoz értéket Az összegzés tétele: Feladat: Adott egy n elemű számsorozat. (vektor) Számoljuk ki az elemek összegét! Megoldás: Program Be: a //az egész vektor s:=0 // ebben gyűjtöm az összeget Ciklus i:=1-től n-ig s:=s+a[i] Ciklus vége Ki: s // a teljes összeg Program vége faktoriális is legyen

11 Be: n f:=1 Ciklus i:=2-től n-ig f:=f*i Ciklus vége Ki: f

12 Sorozathoz értéket Az eldöntés tétele: Feladat: Adott egy n elemű sorozat. Döntsük el van-e a sorozatban T tulajdonságú elem! Megoldás: Be: a i:=1 Ciklus amíg (i<=n) és (a[i] nem T tulajdonságú) i:=i+1 Ciklus vége Ha i<=n akkor Ki: ” van ilyen tulajdonságú elem” különben Ki: ”nincs.....”

13 Sorozathoz értéket A kiválasztás tétele: Feladat: Adott egy n elemű számsorozat. Tudjuk, hogy van a sorozatban T tulajdonságú elem! Mi a sorszáma? Megoldás: Be: a i:=1 Ciklus amíg (a[i] nem T tulajdonságú) i:=i+1 Ciklus vége Ki: ”Az ilyen tulajdonságú elem az”, i,”.”

14 Sorozathoz értéket A lineáris keresés tétele: Feladat: Adott egy n elemű számsorozat. Van-e a sorozatban T tulajdonságú elem, és ha igen, akkor mi a sorszáma? Megoldás: Be: a i:=1 Ciklus amíg (i<=n) és (a[i] nem T tulajdonságú) i:=i+1 Ciklus vége Ha i<=n akkor Ki: ” Van ilyen tulajdonságú elem az”, i,”.” különben Ki: ”nincs.....”

15 Sorozathoz értéket A megszámlálás tétele: Feladat: Adott egy n elemű számsorozat. Hány darab T tulajdonságú elem van a sorozatban? Megoldás: Be: a s:=0 Ciklus i:=1-től n-ig Ha a[i] T tulajdonságú akkor s:=s+1 Ciklus vége Ki: s

16 Sorozathoz értéket A maximumkiválasztás tétele: Feladat: Adott egy n elemű számsorozat. Keressük meg a sorozat legnagyobb elemét! Megoldás: Be: a maxhely:=1 Ciklus i:=2-től n-ig Ha a[maxhely] < a[i] akkor maxhely:=i Ciklus vége Ki: maxhely, a[maxhely]

17 Sorozathoz sorozatot A kiválogatás tétele: Feladat: Adott egy n elemű számsorozat. Gyüjtsük ki a sorozat T tulajdonságú elemének sorszámát egy másik vektorba! Megoldás: Be: a j:=0 Ciklus i:=1-től n-ig Ha a[i] T tulajdonságú akkor j:=j+1 b[j]:=i Elágazás vége Ciklus vége Ki: b kezdőindex 0 (Cpp-ben)

18 Sorozathoz sorozatot A buborékrendezés tétele: Feladat: Adott egy n elemű számsorozat. Rendezzük az elemeit nagyság szerint növekvő sorrendbe! Megoldás: Be: a Ciklus i:=1-től (n-1)-ig Ciklus j:=1-től (n-i)-ig Ha a[j]>a[j+1] akkor csere(a[j], a[j+1]) C.v. C.v Ki: a

19 Rendezés1 Adott a 3,4,2,5,1 sorozat. Rendezd buborékrendezéssel! Írj új sort, ha csere történt!

20 Rendezés1 megoldás 3,2,4,5,1 3,2,4,1,55 a helyén 2,3,4,1 2,3,1,44 a helyén 2,1,33 a helyén 1,2mind a helyén Hány csere kell maximum? (hatékonyság) Mikor következik ez be? Az hány értékadás?

21 Sorozathoz sorozatot A közvetlen kiválasztás tétele: Feladat: Adott egy n elemű számsorozat. Rendezzük az elemeit nagyság szerint növekvő sorrendbe! Megoldás: Be: a Ciklus i:=1-től (n-1)-ig Ciklus j:=i+1-től n-ig Ha a[j]>a[i] akkor csere(a[j], a[i]) C.v. C.v Ki: a

22 Rendezés2 Adott a 3,4,2,5,1 sorozat. Rendezd közvetlen kiválasztással! Írj új sort, ha csere történt!

23 Rendezés2 megoldás 2,4,3,5,1 1,4,3,5,21 a helyén,3,4,5,2,2,4,5,32 a helyén,,3,5,43 a helyén,,,4,5mind Hány csere kell maximum? Mikor következik ez be? Az hány értékadás?

24 Adott: –a: tömb[1..n] Z = {2,3,4,5,10,12,15} –b: tömb[1..m] Z = {4,7,10,12,21,23} Mit csinál a következő algoritmus? cn:=0 Ciklus i:=1-től 7-ig j:=1 Ciklus amíg (j b[j]) j:=j+1 C.v. Ha j<=6 akkor cn:=cn+1;c[cn]:=a[i] elágazás vége C. v.

25 Unióképzés tétele Adott: a[1..n], b[1..m] Ciklus i=1-től n-ig c[i]:=a[i] C.v. cn:=n Ciklus j:=1-től m-ig i:=1 Ciklus amíg i b[j] i:=i+1 C.v Ha i>n akkor cn:=cn+1 c[cn]:=b[j] El. v. C.v.

26 Bináris keresés tétele rendezettAdott egy n elemű rendezett vektor és egy keresett elem: x. Írjunk algoritmust, amely megadja, hogy x benne van-e a vektorban, és ha igen, akkor mi a sorszáma?

27 e:=1 u:=n //e: az első lehetséges index u: az utolsó Ciklus k:=int(e+u)/2 // a közepe Ha a[k]x akkor u:=k-1 Ciklus amíg e x Ha e<=u akkor Ki: k különben Ki: „nincs ilyen benne”

28 Mit csinál? Be: n Ciklus i:= 2-től n-ig Ciklus amíg n mod i = 0 ki: i n:=n div i C. v.

29 Mit csinál? Be: a,b Ciklus m:= a mod b a:=b b:=m Ciklus amig m<>0 Ki: a

30 A prog. tételek alkalmazása Adjunk össze n db szomszédos egész számot a-tól kezdődően! Ismert n db autó 100 km-re számított fogyasztása. Döntsük el, hogy minden autó 10 liter alatt fogyasztott-e? Határozzuk meg az n szám legkisebb 1- nél nagyobb pozitív osztóját! Egyenlő-e egy szám a nála kisebb pozitív osztóinak összegével?

31 A prog. tételek alkalmazása 1.Írjuk ki a Fibonacci sorozat első 15 elemét! (a 1 =1, a 2 =1, a n =a n-1 +a n-2 ) 1.Mennyi 1-től n-ig a számok átlaga? 2.Döntsük el egy számról, hogy prím-e? 3.Végezzünk szorzást ismételt összeadásokkal! 4.Végezzünk osztást ismételt kivonásokkal! 5.Egy könyvespolcon 8 sor van. Minden sorban 22 könyv. Megadott 2 sort cseréljünk meg!

32 Be: a s:=0 i:=1 Ciklus amíg i<=(a/2) Ha a mod i=0 akkor s:=s+i El. v. i:=i+1 C. v. Ha a=s akkor ki: ”” különben…


Letölteni ppt "Feladatok (értékadás) Írassuk ki 3 beolvasott szám számtani közepét! Hogyan lehet tetszőleges számot kerekíteni? (egészrész(x)) Adott kettes számrendszerben."

Hasonló előadás


Google Hirdetések