Садржај
1. Робот Карел - линијски програми и бројачка петља
2. Робот Карел - условна петља и гранање
3. Робот Карел - задаци за вежбање
4. Корњача графика - линијски програми и петље
5. Корњача графика - гранање, угнежђене петље, функције, торке и листе
6. Корњача графика - задаци за вежбање
9. Израчунавања - коришћење и дефинисање функција
10. Израчунавања - задаци за вежбање
13. Контрола тока - вежбање
17. Програмирање 2Д графике - Увод у Pygame

28.3. Квиз - сусрети објеката на екрану

Питање 1.

    Q-89: Која од следећих функција проверава да ли су се две лоптице сусреле?

    1. def sudar_loptica():
          razmak_centara = math.sqrt((x_koordinata_prvog_kruga-x_koordinata_drugog_kruga)**2 + (y_koordinata_prvog_kruga-y_koordinata_drugog_kruga)**2)
          return razmak_centara < 2*poluprecnik_krugova
      
    2. def sudar_loptica():
          razmak_centara = math.sqrt((x_koordinata_prvog_kruga-x_koordinata_drugog_kruga)**2 + (y_koordinata_prvog_kruga-y_koordinata_drugog_kruga)**2)
          return razmak_centara > 2*poluprecnik_krugova
      
    3. def sudar_loptica(x_koordinata_prvog_kruga, x_koordinata_drugog_kruga, y_koordinata_prvog_kruga, y_koordinata_drugog_kruga):
          return math.sqrt((x_koordinata_prvog_kruga-x_koordinata_drugog_kruga)**2 + (y_koordinata_prvog_kruga-y_koordinata_drugog_kruga)**2)
      

    Изабери тачан одговор.

  • 1
  • Тачно
  • 2
  • Нетачно
  • 3
  • Нетачно
  • Ниједна
  • Нетачно

Питање 2.

    Q-90: Која од следећих функција проверава да ли се круг сусреће (додирује) са било левом, било десном ивицом екрана?

    (1)
    .. code-block:: python
    
        def sudar_sa_ivicom():
            return x_centar_kruga - poluprecnik_kruga < 0
    
    (2)
    .. code-block:: python
    
        def sudar_sa_ivicom():
            return x_centar_kruga - poluprecnik_kruga < 0 and x_centar_kruga + poluprecnik_kruga > sirina
    
    (3)
    .. code-block:: python
    
        def sudar_sa_ivicom():
            return x_centar_kruga - poluprecnik_kruga < 0 or x_centar_kruga + poluprecnik_kruga > sirina
    
    (4)
    .. code-block:: python
    
        def sudar_sa_ivicom():
            return x_centar_kruga + poluprecnik_kruga < 0 or x_centar_kruga - poluprecnik_kruga > sirina
    

    Изабери тачан одговор.

  • 1
  • Нетачно
  • 2
  • Нетачно
  • 3
  • Тачно
  • 4
  • Нетачно

Питање 3.

    Q-91: Која од следећих функција проверава да ли се квадрат сусрео са горњом, односно доњом ивицом екрана?

    (1)
        def sudar_sa_ivicom():
            return y_gornje_levo_teme < 0 or y_gornje_levo_teme + stranica_kvadrata > visina
    
    (2)
        def sudar_sa_ivicom():
            return y_gornje_levo_teme - polovina_stranice < 0
    
    (3)
        def sudar_sa_ivicom():
            return y_gornje_levo_teme < 0 and y_gornje_levo_teme + stranica_kvadrata > visina
    
    (4)
        def sudar_sa_ivicom():
            return y_gornje_levo_teme - stranica kvadrata < 0 or y_gornje_levo_teme_ - stranica_kvadrata > visina
    

    Изабери тачан одговор.

  • 1
  • Тачно
  • 2
  • Нетачно
  • 3
  • Нетачно
  • 4
  • Нетачно

Питање 4.

    Q-92: Дата је функција nov_frejm, која се позива одређени број пута у секунди и анимира кретање n кругова (изостављена је иницијализација глобалних података, али треба претпоставити да су сви подаци на почетку различити). Сваки елемент листе krugovi је торка која описује један круг.

    import pygame as pg
    import pygamebg
    
    (sirina, visina) = (400, 450)    # otvaramo prozor
    prozor = pygamebg.open_window(sirina, visina, "zadatak_novifrejm")
    
    (x, y) = (sirina // 2, visina // 2)
    (dx, dy) = (2, 2)
    r = 30
    
    def crtaj():
        prozor.fill(pg.Color("white"))
        pg.draw.circle(prozor, pg.Color("black"), (x, y), r)
    
    # ??? на ово место треба да дође функција коју изаберете
    
    pygamebg.frame_loop(100, novi_frejm)
    

    Која од следећих функција допуњује код тако да се лоптица одбија од ивица екрана?

    (1)
        def novi_frejm():
            global x, y, dx, dy
            x += dx
            y += dy
            if x - r < 0 or x + r > sirina:
                dx = -dx
            if y - r < 0 or y + r > visina:
                dy = -dy
            crtaj()
    
    
    (2)
        def novi_frejm():
            global x, y, dx, dy
            x += dx
            y += dy
            if x + r < 0 or x - r > sirina:
                dx = -dx
            if y + r < 0 or y - r > visina:
                dy = -dy
            crtaj()
    
    (3)
        def novi_frejm():
            global x, y, dx, dy
            x += dx
            y += dy
            if x + r < 0 and x - r > sirina:
                dx = -dx
            if y + r < 0 and y - r > visina:
                dy = -dy
            crtaj()
    
    
    (4)
        def novi_frejm():
            x += dx
            y += dy
            if x + r < 0 or x - r > sirina:
                dx = -dx
            if y + r < 0 or y - r > visina:
                dy = -dy
            crtaj()
    

    Изабери тачан одговор.

  • 1
  • Тачно
  • 2
  • Нетачно
  • 3
  • Нетачно
  • 4
  • Нетачно
(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+