Testy

Programovani a algoritmizace (jazyk C)

Seznam všech otázek

  1. Po provedení sekvence příkazů int a = 2; a += ++a + a++ * ++a; bude v proměnné a uložena hodnota:

    11
    17
    25
    8
  2. Medián označuje

    Prostřední hodnotu
    Průměr
    Nejčastější hodnotu
    To samé, co pivot
  3. Eratosthénovo síto:

    Slouží k nalezení všech prvočísel do zadaného čísla
    Slouží k eliminaci druhých mocnin sudých čísel do zadaného čísla
    Slouží k nalezení všech složených čísel do zadaného čísla
    Slouží k eliminaci mocnin dvojky do zadaného čísla
  4. Jaká je nejlepší a nejhorší složitost quick sortu?

    Nejlepší: `n * \log(n)`, nejhorší: `n^2`
    Nejlepší: `n * \log(n)`, nejhorší: `n * \log(n)`
    Nejlepší: `n`, nejhorší: `n^2`
    Nejlepší: `\log(n)`, nejhorší: `n`
  5. Jaká je nejlepší a nejhorší složitost merge sortu?

    Nejlepší: `n * \log(n)`, nejhorší: `n * \log(n)`
    Nejlepší: `n * \log(n)`, nejhorší: `n^2`
    Nejlepší: `\log(n)`, nejhorší: `n * \log(n)`
    Nejlepší: `n`, nejhorší: `n^2`
  6. Jaká je nejlepší a nejhorší složitost bubble sortu?

    Nejlepší: `n`, nejhorší: `n^2`
    Nejlepší: `n * \log(n)`, nejhorší: `n^2`
    Nejlepší: `\log(\log(n))`, nejhorší: `n^2`
    Nejlepší: `n^2`, nejhorší: `n^3`
  7. Jaká je nejlepší a nejhorší složitost select sortu?

    Nejlepší: `n^2`, nejhorší: `n^2`
    Nejlepší: `n`, nejhorší: `n^2`
    Nejlepší: `n * \log(n)`, nejhorší: `n^2`
    Nejlepší: `\log(n)`, nejhorší: `n`
  8. Jaká je nejlepší a nejhorší složitost insert sortu?

    Nejlepší: `n`, nejhorší: `n^2`
    Nejlepší: `n^2`, nejhorší: `n^2`
    Nejlepší: `n * \log(n)`, nejhorší: `n^2`
    Nejlepší: `n^2`, nejhorší: `n^3`
  9. Co znamená EOF?

    End of File (konec souboru)
    Execution of File (spuštění souboru)
    Extraction of File (rozbalení souboru)
    Element of File (základní prvek souboru)
  10. Co dělá v jazyce C linker?

    Připojí k programu potřebné knihovny
    Spojí všechny moduly do jednoho a sestaví tak projekt (například .sln v MSVC)
    Odkazuje na jednotlivé moduly, aby se v nich programátor neztratil
    Spojí potřebné knihovny do jednoho hlavičkového souboru
  11. Jaká bude hodnota v proměnné a po provedení sekvence příkazů int a = 3; a ^= 1?

    2
    1
    0
    3
  12. zkouska

    jedn
  13. Nalezněte hodnotu x tak, aby byla podmínka splněna: if ( -10 > x > 0 )

    -20
    Takové x neexistuje.
    20
    -15
  14. Předpokládejme řetězec char s[12]=”abcde”. Jaký bude rozdíl mezi strlen(s) a sizeof(s)?

    strlen(s) = 5, sizeof(s) = 12
    strlen(s) = 5, sizeof(s) = 5
    strlen(s) = 5, sizeof(s) = 6
    strlen(s) = 12, sizeof(s) = 12
  15. Chceme ukládat texty s českou diakritikou. Naším cílem je co nejkompaktnější uložení (z hlediska nároků na paměť). Které kódování je nejvýhodnější?

    ISO-8859-2
    Windows-1250
    UFT-8
    UTF-16
  16. V paměti je na adrese 0x349734D nalezena následující sekvence bajtů: 0x23 0x6d 0xae 0x92 0x14 0x3f 0x2c 0xE8. Co tato sekvence kóduje?

    Záleží na použitém kódování.
    Hello world!
    Nic, jedná se o segment videopaměti.
    Klasický EOF.
  17. Které z následujících výrazů zobrazí při snaze o výstup hlášku inf?

    1/0
    0/0
    sqrt (-1)
    7/-2
  18. Které z následujících výrazů zobrazí při pokusu o výstup hlášku NaN?

    0/0
    sqrt (-1)
    1/0
    7/-2
  19. K čemu slouží příkaz break?

    Ukončí cyklus.
    Ukončí funkci.
    "Zapauzuje" program.
    Ukončí program.
  20. K čemu slouží příkaz continue?

    Ukončí aktuální iteraci cyklu.
    Ukončí cyklus.
    Podle dodaného parametru přeskočí příslušný počet řádků.
    "Odpauzuje" program.
  21. Jaká bude hodnota výrazu 1 & 2?

    0
    1
    2
    3
  22. Jaká bude hodnota výrazu 1 && 2?

    1
    0
    2
    3
  23. Jaká bude hodnota výrazu 3 | 4?

    7
    2
    3
    8
  24. Proč se neprovede výraz 3 += 10?

    Protože do konstanty nelze přiřadit hodnotu.
    Provede, ale jen při použití typu float.
    Protože 10 je větší než 3.
    Provede bez problému (výsledek 13).
  25. Jaká bude hodnota v proměnné a po provedení sekvence příkazů int a = 3; a += 10?

    13
    10
    3
    30
  26. Jaká bude hodnota v proměnné a po provedení sekvence příkazů int a = 3; a *= 10?

    30
    13
    3
    10
  27. Jak se dá jinak napsat zápis *(p + i)?

    p[i]
    p[0+i]
    p[0] + i
    p + i
  28. Jaká bude hodnota v proměnné a poté, co ji pomocí int a; deklarujeme uvnitř funkce main()?

    Náhodná
    Žádná
    Bude v ní uložena adresa té samé proměnné
    0
  29. Jaká bude hodnota v proměnné a poté, co ji globálně deklarujeme pomocí int a;?

    Náhodná
    Žádná
    0
    Bude v ní uložena adresa té samé proměnné
  30. Jaká je návratová hodnota funkce scanf()?

    Počet úspěšně načtených proměnných.
    Obsahy načtených proměnných.
    Adresy načtených proměnných.
    1, když vše proběhlo bez chyby, 0, když se objevila nějaká chyba.
  31. Jaká je návratová hodnota funkce printf()?

    Počet vypsaných znaků.
    1, když je vše v pořádku, 0, když se objevila nějaká chyba.
    Obsahy vypsaných proměnných.
    Adresy vypsaných proměnných.
  32. Jaká bude hodnota v proměnné a po provedení sekvence příkazů int a = 3; a /= 2;?

    1
    1.5F
    1.5
    Žádná, proměnné typu int nemůžeme dělit, když nám má zůstat zbytek.
  33. Jak lze nahradit konstrukci p->a?

    (*p).a
    p.a
    p.(*a)
    a<-p
  34. Čím se v jazyce C ukončuje řetězec?

    Znakem \0.
    Znakem \E.
    Interpunkčním znamínkem.
    Není třeba, jazyk C sám pozná konec řetězce, když dojde na konec pole.
  35. Jaká bude hodnota v proměnné a po provedení sekvence příkazů double a = 17/5;?

    3
    3.4
    0
    3.4F
  36. Jaká bude hodnota v proměnné a po provedení sekvence příkazů int a = 3; a >>= 2;?

    0
    1
    8
    12
  37. Jaká bude hodnota v proměnné a po provedení sekvence příkazů int a = 3; a <<= 2;?

    12
    0
    1
    8
  38. Dynamicky alokujte pole pro dvacet prvků typu int.

    int * x = (int *) malloc (20 * sizeof (int));
    int x = (int) malloc (20 * sizeof (int));
    int * x[] = (int *) malloc (20 * sizeof (int));
    int x[] = (int) malloc (20 * sizeof (int));
  39. Mějme řadící algoritmus, který v cyklu projíždí pole, dokud není seřazené. Když nalezne nejmenší prvek, vymění ho s prvkem na první pozici. Pak najde druhý nejmenší prvek a vymění ho s prvkem na druhé pozici, atd. Tento algoritmus se nazývá:

    Select Sort
    Insert Sort
    Quick Sort
    Bubble Sort
  40. Mějme řadící algoritmus, který projíždí dokola množinu prvků, dokud není seřazená. Porovnává dva sousedící prvky a pokud je druhý menší než první, prohodí je. Tento algoritmus se nazývá:

    Bubble Sort
    Select Sort
    Insert Sort
    Quick Sort
  41. Kolikrát se zavolá funkce foo ()? for (i = 0; i < 2 * n; i += 2) for (j = i; j < n; j++) foo ();

    `O(n)`
    `O(n^2)`
    `O(\log(n))`
    `O(n * \log (n))`
  42. Kolikrát se zavolá funkce foo ()? for (i = 2; i <= n; i *= i) for (j = 0; j < n; j++) foo ();

    `O(n*\log(\log(n)))`
    `O(\log(\log(n)))`
    `O(n*(\log(n)))`
    `O(n^3)`
  43. Kolikrát se zavolá funkce foo ()? for (i = 0; i < 2 * n; i += 2) for (j = n; j > i; j--) foo ();

    `O(n)`
    `O(n^2)`
    `O(n^3)`
    `O(2^n)`
  44. Kolikrát se zavolá funkce foo ()? for (i = n; i >= 0; i -= 2) for (j = i; j > n; j--) foo ();

    `O(0)`
    `O(1)`
    `O(n)`
    `O(2 * n)`
  45. Kolikrát se zavolá funkce foo ()? for (i = 1; i < n; i *= 2) for (j = n; j > 0; j /= 3) foo ();

    `O(\log(n)*\log(n))`
    `O(\log(n))`
    `O(n*\log(n))`
    `O(n*\log(\log(n)))`
  46. Kolikrát se zavolá funkce foo ()? for (i = n; i != 0; i /= -3) for (j = 0; j < i * i * i; j++) foo ();

    `O(n)`
    `O(n^2)`
    `O(n^3)`
    `O(e^n)`
  47. Kolikrát se zavolá funkce foo ()? for (i = n; i >= 0; i--) if (i < n / 2) for (j = i; j < n; j++) foo (); else for (j = i; j > 0; j--) foo ();

    `O(n)`
    `O(n^2)`
    `O(n^3)`
    `O(e^n)`
  48. Kolikrát se zavolá funkce foo ()? for (i = 1; i < (n >> i); i++) foo();

    `O(n)`
    `O(n^2)`
    `O(n * \log(n))`
    `O(\log(n))`
  49. Kolikrát se zavolá funkce foo ()? for (i = 0; i < 2 * n; i++) if (i % 2 == 2) for (j = 0; j < 2 * n; j++) foo (); else for (j = n; j > 0; j /= 2) foo ();

    `O(\log (n))`
    `O(n*\log (n))`
    `O(\log(\log (n)))`
    `O(\log (n)*\log(n))`
  50. Kolikrát se zavolá funkce foo ()? for (i = n; i != 0; i /= -2) for (j = 0; j < i * i; j++) foo ();

    `O(2^n)`
    `O(n^2)`
    `O(\log(n))`
    `O(n^3)`
  51. Kolikrát se zavolá funkce foo ()? for (i = 1; i < 2 * n; i++) { if (i % 3 == 1) for (j = i; j < 2 * n; j++) foo (); else for (j = 0; j < i; j++) foo (); }

    `O(n!)`
    `O(n^2)`
    `O(n * \log(n))`
    `O(0)`
  52. Kolikrát se zavolá funkce foo ()? for (i = n , j = (int)sqrt(n); i > 4;) { foo (); i /= j; j = (int)sqrt(i); }

    `O(\log(\log(n)))`
    `O(n*\log(\log(n)))`
    `O(\log(n))`
    `O(n*\log(n))`
  53. Kolikrát se zavolá funkce foo ()? for (i = 1; i < n; i *= 2) for (j = 0; j < i; j++) for (k = n; k > 0; k /= 4) foo ();

    `O(\log (n))`
    `O(n * \log (n))`
    `O(\log (\log (n)))`
    `O(n^3)`
  54. Kolikrát se zavolá funkce foo ()? for (i = 0; i < n; i++) { if (i % 2 == 0) for (j = -i; j < i; j += 2) foo(); else for (j = -i; j < i; j += 4) foo(); }

    `O(\log (n))`
    `O(n^2)`
    `O(n^3)`
    `O(n*\log(n))`

Test

Najděte asymptotu se směrnicí funkce `f(x)=\frac{x+5}{\sqrt{x-5}}`

Hlavolam

Dvě města A a B jsou od sebe vzdálena 90km. Z města A do města B vyjede vlak rychlostí 60km/h. V tu samou chvíli vyjede z města B vlak do města A po té samé koleji (na ty nádražáky už vážně není vůbec spolehnutí) stejnou rychlostí. Ve chvíli, kdy se vlaky rozjedou vstříc jisté zkáze, z předního okna (u strojvůdce) vlaku jedoucího z A do B vystartuje moucha cestovatelka rychlostí 100km/h a letí vstříc druhému vlaku. Ve chvíli, kdy k němu doletí, dotkne se nožkou jeho předního skla a letí zpátky. Takto moucha lítá mezi vlaky než jí rozmáčknou na placku. Úkolem je zjistit (samozřejmě z hlavy), kolik kilometrů moucha celkem nalétala.

Zobrazit řešení