Algoritmizace
Jméno:
1. Na obrázku jsou značky zleva doprava
příkaz - začátek, konec - podmínka
začátek, konec - podmínka - příkaz
příkaz - podmínka - začátek, konec
podmínka - příkaz - začátek, konec
2. Na obrázku jsou alternativy zleva doprava
úplná a neúplná
úplná a několikanásobná
neúplná a několikanásobná
neúplná a úplná
3. Na obrázku jsou zleva doprava
for cyklus a cyklus s podmínkou na konci
for cyklus a cyklus s podmínkou na začátku
cyklus s podmínkou na začátku a na konci
cyklus s podmínkou na konci a na začátku
4. Na obrázku jsou zleva doprava
několikanásobná alternativa a for cyklus
for cyklus a několikanásobná alternativa
5. Barevný obrázek představuje (2 odpovědi)
Nassi–Shneiderman diagram
Vývojový diagram
Strukturogram
6.
Formulace problému
1
Analýza úlohy
2
Sestavení programu
3
Odladění programu
Kam patří
Vytvoření algoritmu
1
2
3
7. Překladač odhalí chyby
syntaktické
logické
8.
var cislo1= "1";
var cislo2 = 2;
x = cislo1 + cislo2;
Co bude výsledkem
nelze určit, záleží na jazyku
"12"
3
12
9.
Záměna proměnných.
dočasná = zmrzlina2;
***
zmrzlina1 = dočasná;
Nahraďte
***
dočasná = zmrzlina1;
dočasná = zmrzlina2;
zmrzlina2 = zmrzlina1;
zmrzlina1 = zmrzlina2;
10. Pro dělení používáme symbol
/
÷
:
11. Pro násobení používáme symbol
×
*
·
12.
Pro symbol "je rovno" používáme
vyberte správné odpovědi
= v Pascalu
== např. v JavaScriptu, C♯
= např. v JavaScriptu, C♯
== v Pascalu
13.
Pro symbol "přiřaď" používáme
vyberte správné odpovědi
:= v Pascalu
:= např. v JavaScriptu, C♯
= v Pascalu
== např. v JavaScriptu, C♯
= např. v JavaScriptu, C♯
== v Pascalu
14.
Logický součin
označte správné odpovědi
|| např. v JavaScriptu, C♯
&& např. v JavaScriptu, C♯
and v Pascalu
&& v Pascalu
15.
Logický součet
označte správné odpovědi
or v Pascalu
|| např. v JavaScriptu, C♯
or např. v JavaScriptu, C♯
| např. v JavaScriptu, C♯
16.
Logická negace
označte správné odpovědi
not v Pascalu
! např. v JavaScriptu, C♯;
|| např. v JavaScriptu, C♯
not např. v JavaScriptu, C♯
17.
Zápisu:
if (b == 0) {
podil = " nelze dělit nulou";
} else {
podil = a/b;
}
odpovídá diagram
1.
2.
3.
4.
18.
Pro symbol modulo se používá
Označte správné odpovědi
mod v Pascalu
% např. v JavaScriptu, C♯
mod např. v JavaScriptu, C♯
% v Pascalu
19.
Kolik je
8 % 2
0
4
6
20.
Kolik je
10 % 3
1
3
7
21.
Je-li
a = 2;
b= 3;
c = 1;
Kterou větví projde algoritmus
žádnou
zelenou
červenou
22.
Je-li
a = 2;
b= 3;
c = 1;
bude v proměnné docasna po 1. bloku příkazů
1
2
3
nelze určit
23.
Je-li
a = 2;
b= 3;
c = 1;
bude v proměnné docasna po 2. bloku příkazů
1
2
3
nelze určit
24.
Je-li
a = 2;
b= 3;
c = 1;
bude na konci v proměnné docasna
1
2
3
nelze určit
25.
Kterou šipkou projde program je-li
a = 2;
b= 3;
c = 1;
červenou
modrou
černou
zelenou
26.
Je-li
a = 2;
b= 3;
c = 1;
Jaká bude hodnota v proměnné trojúhelník na konci
true
nelze určit
false
27.
i = 0;
n = 3;
while(i < n) {
alert (i.toString() + " Ahoj");
i++;
}
Co se objeví na výstupu na závěr
0 Ahoj
2 Ahoj
3 Ahoj
28.
i = 0;
n = 3;
do {
alert (i.toString() + " Ahoj");
i++;
}
while(i < n);
Kolikrát se objeví Ahoj na výstupu
2
3
4
29.
for (i = 5; i < 8; i++) {
alert (i.toString() + " Ahoj");
}
Kolikrát se objeví Ahoj na výstupu
3
5
8
30.
i =
?
;
n= 10;
while(i < n) {
alert (i.toString() + " Ahoj");
i = i +
?
;
}
Čím nahradíte otazníky
?
, aby se zobrazovala sudá čísla
více odpovědí
0 a 2
2 a 2
1 a 2
1 a 1
31.
i = 0;
soucet = 0;
do {
soucet = soucet + i;
i++;
}
while(i < 3);
Jaký bude součet
3
5
6
32.
soucet = 0;
for (i = 5; i < 8; i++) {
soucet = soucet + i;
}
Jaký bude součet
18
24
26
33.
poradi = 0;
max = -Infinity;
for (i = 1; i < n + 1; i++) {
var cislo =prompt ("Zadejte " + i.toString() + ". číslo");
if (cislo > max) {
max = cislo;
poradi = i;
}
}
K čemu je vhodný tento algoritmus
Seřadí čísla od nejmenšího
Najde nejmenší číslo
Seřadí čísla od největšího
Najde největší číslo
34.
Algoritmus:
a = 3;
b = 5;
soucin = 0;
for (i = 0; i < b; i++) {
????????
}
čím nahradíte otazníky aby proměnná soucin byla 15
soucin = soucin * b
soucin = soucin * a
soucin = soucin + b
soucin = soucin + a
35.
delenec =
a
;
podil = 0;
while (
a
>= b) {
a
=
a
- b;
podil++;
}
Co je výsledkem tohoto algoritmu v proměnné
a
zbytek a po dělení b
největší společný dělitel čísel a, b
rozdíl čísel a, b
nemenší společný násobek čísel a, b
36.
function faktorial(n) {
if (n == 0 || n == 1) {
return 1;
}
return n * faktorial(n - 1);
}
Jedná se o
adici
komprimaci
rekurzi
negaci
37.
var cislo = 1;
for (i = n; i > 1; i--) {
cislo = cislo * i;
}
Co je výsledkem algoritmu
faktoriál
diskriminant
logaritmus
mocnitel
38.
var pozice = 0;
var max = pole[pozice];
for (i = 1; i < pole.length; i++) {
if (max < pole[i]) {
pozice = i;
?????????????
}
}
Čím nahradíte otazníky,
aby algoritmus našel největší číslo pole?
max = pole[i];
max = pole;
max = pole[pozice];
max = i;
max = pozice;
39.
var i = 0;
var
j
= -1;
while (i < pole.length) {
if (cislo == pole[i]) {
j
= i;
break;
}
i++;
}
K čemu je určen tento algoritmus (proměnná
j
)
najde počet čísel v poli
najde počet stejných čísel v poli
najde pozici čísla v poli
40.
var i = 0;
var j = -1;
while (i < pole.length) {
if (cislo == pole[i]) {
j = i;
break;
}
i++;
}
K čemu slouží break v algoritmu
ukončí cyklus
uloží proměnnou do pole
ukončí algoritmus
41.
Hlavní využití algoritmu na obrázku:
Kliknutím ukázka
Seřadí pole podle velikosti
Jedná se o Buble Sort
Najde druhý největší prvek pole
42.
Algoritmus na obrázku
označte správné odpovědi
Kliknutím ukázka
Jedná se o Buble Sort
Jedná se o Select Sort
Najde největší prvek pole
Seřadí pole podle velikosti
©
RNDr. Vladimír Vaščák; vascak.vladimir@gmail.com
(Algoritmizace v 1.0 - pr 2021).