Felmérő ismétlésből

Felmérő a jövő heti második órán (csüt., okt. 2, 13:00). Osztályban, papíron, segédanyag nélkül.

Anyag

Gyakorlatnak ld. az érettségi tételek II.1 feladatát (az újabbakban). Megtalálhatók itt.

Tétel

2 pont jár hivatalból, a munkaidő 45 perc.

1.

Adott az alábbi pszeudokód:

    beolvas a,b,c (természetes számok,
                   a <= b, 0 <= c <= 9)
    s <- 0
    minden x <- a, b végezd el
    |   y <- x
    |   amíg y > 0 végezd el
    |   |    ha y%10 = c akkor
    |   |    |    s <- s+1
    |   |    []
    |   |    y <- [y/10]
    |   []
    |   x <- y (ez a sor véletlenül maradt benne)
    []
    kiír s 

a) (1p) Mi lesz kiírva ha a beolvasott értékek rendre 19, 23 és 2?

b) (1p) Ha az a és c változókba beolvasott érték 1, adjuk meg az összes lehetséges értéket, amit a b változóba olvasva a program a 12 számot írja ki!

c) (1p) Írjuk meg a kódnak megfelelő C++ programot!

d) (1p) Írjunk az eredetivel ekvivalens pszeudokódot, amiben a „minden” ciklust „amíg”-ra cseréljük!

2.

Adott az alábbi pszeudokód:

    beolvas a,b (természetes számok,
                 a >= 2, b >= 2)
    ha a > b akkor
    |   x <- a
    |   a <- b
    |   b <- x
    [] 
    s <- 0
    minden x <- a, b végezd el
    |   c <- 2
    |   amíg x % c > 0 végezd el
    |   |   c <- c + 1
    |   []
    |   s <- s + c
    []
    kiír s 

a) (1p) Mi lesz kiírva ha a beolvasott értékek rendre 7 és 4?

b) (1p) Adjunk öt darab olyan bemenetet, amelyek esetén a kiírt érték 7 és a bemeneti értékek a [2,9] intervallum elemei!

c) (1p) Írjuk meg a kódnak megfelelő C++ programot!

d) (1p) Írjunk az eredetivel ekvivalens pszeudokódot, amiben az „amíg” ciklust egy hátul tesztelő ciklusra cseréljük!