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)

Hasonló előadás


Az előadások a következő témára: "Feladatok (értékadás)"— 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) Ciklus Be: h Ciklus amíg (h<1) vagy (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]:= túlindexelés? egydimenziós (vektor), kétdimenziós (mátrix)

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

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:= // 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,5 5 a helyén 2,3,4,1
1,2 mind 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,2 1 a helyén ,3,4,5,2
, , ,4,5 mind Hány csere kell maximum? Mikor következik ez be? Az hány értékadás?

24 Mit csinál a következő algoritmus? cn:=0 Ciklus i:=1-től 7-ig j:=1
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<=6) és a([i]<>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<=n és a[i]<>b[j] i:=i+1 C.v Ha i>n akkor cn:=cn+1 c[cn]:=b[j] El. v.

26 Bináris keresés tétele
Adott 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 e:=k+1 Ha a[k]>x akkor u:=k-1 Ciklus amíg e<=u és a[k] <>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
Írjuk ki a Fibonacci sorozat első 15 elemét! (a1=1, a2=1, an=an-1+an-2) Mennyi 1-től n-ig a számok átlaga? Döntsük el egy számról, hogy prím-e? Végezzünk szorzást ismételt összeadásokkal! Végezzünk osztást ismételt kivonásokkal! 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)"

Hasonló előadás


Google Hirdetések