CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
JEDNOROZMĚRNÉ POLE
– strukturovaný typ, v kterém každý údaj pozůstává z množiny složek stejného typu
Budeme zpracovávat posloupnost celých čísel a1, a2, …, an uložených v proměnné a, která je datového typu jednorozměrné pole.
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
Nejprve ji musíme do pole a načíst. Informaci o délce pole (počtu členů zpracovávané posloupnosti) uložíme do proměnné n
začátek
čti(n);
i := 1;
dokud i £ n opakuj
začátek
čti(a[i]
i i + 1
konec;
konec.
stručně:
začátek
čti(n);
pro i od 1 do n opakuj
čti(a[i]
konec.
Proč pole?
Připomeňme jsi příklad z první přednášky:
Napište algoritmus, pomocí kterého postupně uložíte 3 hodnoty do proměnných a1, a2, a3 a určete počet proměnných, kterých hodnota je rovná nule. Počet vypište.
První algoritmus, který jsme vytvořili byl:
začátek
počet := 0;
čti (a1)
jestliže a1 = 0 pak počet := počet + 1;
čti (a2)
jestliže a2 = 0 pak počet := počet + 1;
čti (a3)
jestliže a3 = 0 pak počet := počet + 1;
napiš (“počet proměnných s hodnotou nula je “,počet);
konec.
Když jsme se naučili příkaz cyklu, tak jsme algoritmus přepracovali:
začátek
počet := 0
I := 1;
dokud I £ 3 opakuj začátek
čti (a)
jestliže a = 0 pak počet := počet +1;
I := I+1;
konec
napiš (“počet proměnných s hodnotou nula je “,počet);
konec.
Někdy potřebujeme uchovat údaje na delší čas nebo na vícenásobné zpracování. Tehdy postup, který jsme použili v druhém algoritme, s použitím cyklu, je nevýhodný. Načetli jsme totiž všechny hodnoty do jedné proměnné, takže hodnota jedné proměnné se promazala hodnotou další proměnné. Na druhé straně není praktické používat mnoho proměnných a muset si tak pamatovat mnoho měn jako v prvním algoritme (například, když by jsme mněli načíst 1000 hodnot). Proto se používá jeden společný název pro velkou skupinu údajů. Objekt takého typu nazýváme pole. Pole nám umožňuje vytvořit složitější údaj s určeným počtem hodnot (jednoho typu – celé čísla, reální čísla, char), přičemž jednotlivé hodnoty rozlišujeme v poli pomocí (celočíselných) indexů. Každému indexu zodpovídá jedna hodnota – prvek pole.
Zkusme teda přepsat algoritmus mocí pole. Pole nazveme a a bude mít 3 prvky: a ], a[2], a[3], v kterých budou uložené 3 hodnoty, které načteme:
začátek
pro i od 1 do 3 opakuj čti (a[i]
počet := 0;
pro i od 1 do 3 opakuj jestliže a[i] = 0 pak počet := počet + 1;
napiš (“počet proměnných s hodnotou nula je “,počet);
konec.
nebo načtení a podmínku pro nulu dáme do jednoho cyklu:
začátek
počet := 0;
pro i od 1 do 3 opakuj začátek
čti (a[i]
jestliže a[i] = 0 pak počet := počet + 1;
konec
napiš (“počet proměnných s hodnotou nula je “,počet);
konec.
Příklad 1
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
Vypište, kolik je nul v posloupnosti čísel a1, a2, …, an, která jsou již uložena v n položkách pole a
začátek
počet := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] = 0 pak
počet := počet + 1;
i := i + 1;
konec
napiš('počet nul = ', počet);
konec.
stručně:
začátek
počet := 0;
pro i od 1 do n opakuj
jestliže a[i] = 0 pak
počet := počet + 1;
napiš('počet nul = ', počet);
konec.
Příklad 2
Určete součet hodnot větších než 7, které se nacházejí v posloupnosti n čísel uložených v poli a v položkách a[1], …, a[n]. Pokud v posloupnosti není číslo větší než 7, podejte o tom informaci.
začátek
součet := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] > 7 pak
součet := součet + a[i];
i := i + 1
konec;
jestliže součet > 0 pak
napiš('součet čísel > 7 je ', součet)
jinak
napiš('V posloupnosti není číslo > 7.');
konec.
stručně:
začátek
součet := 0;
pro i od 1 do n opakuj
začátek
jestliže a[i] > 7 pak
součet := součet + a[i];
konec;
jestliže součet > 0 pak
napiš('součet čísel > 7 je ', součet)
jinak
napiš('V posloupnosti není číslo > 7.');
konec.
Příklad 3
Určete součet sudých hodnot, které se nacházejí v posloupnosti n čísel uložených v jednorozměrném poli a v položkách a[1], …, a[n]. Pokud v posloupnosti sudé číslo není, podá o tom informaci.
začátek
počet := 0;
součet := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] mod 2 = 0 pak
začátek
počet := počet + 1;
součet := součet + a[i];
konec
i := i + 1;
konec
jestliže počet > 0 pak
napiš('součet sudých čísel je ', součet)
jinak
napiš('V posloupnosti není sudé číslo.');
konec
stručně:
začátek
počet := 0;
součet := 0;
pro i od 1 do n opakuj
jestliže a[i] mod 2 = 0 pak
začátek
počet := počet + 1;
součet := součet + a[i];
konec;
jestliže počet > 0 pak
napiš('součet sudých čísel je ', součet)
jinak
napiš('V posloupnosti není sudé číslo.');
konec
Příklad 4
Sestavte algoritmus, který v posloupnosti n čísel a1, a2, …, an najde poslední sudé číslo ak, a pak vypíše členy posloupnosti od následujícího (k+1). členu až do posledního členu posloupnosti. Pokud v posloupnosti sudé číslo není nebo se nachází až na konci posloupnosti (tj. je to člen an), podá o tom informaci.
začátek
index := 0
pro i od 1 do n opakuj
jestliže (a[i] mod 2) = 0 pak
index := i;
jestliže index = 0 pak
napiš('V posloupnosti není sudé číslo.')
jinak
jestliže index = n pak
napiš('Sudé číslo se nachází na posledním míste.')
jinak
pro i od index + 1 do n opakuj
napiš(a[i]) ;
konec
Příklad 5
Určete součet hodnot, které se nacházejí v posloupnosti n čísel uložených v jednorozměrném poli a v položkách a[1], …, a[n] na sudé pozici, tj. v položkách pole a se sudým indexem.
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
začátek
součet := 0;
i := 2;
dokud i £ n opakuj
začátek
součet := součet + a[i];
i := i + 2;
konec
napiš('součet členů se sudým indexem ', součet);
konec
Příklad 6
Do proměnné součin uložte součin hodnot, které se nacházejí v posloupnosti n čísel uložených v poli a, ale pouze v těch položkách, jejichž index je dělitelný 5.
začátek
součin := 1;
i := 5;
dokud i £ n opakuj
začátek
součin := součin a[i];
i := i + 5;
konec
konec
Příklad 7
Určete maximální člen a jeho pořadí (pořadí prvního ze všech maximálních členů) v posloupnosti a1, a2, …, an, kde n ³ 2. Výslednou maximální hodnotu uložte do proměnné max a pořadí do proměnné indexMax
začátek
max := a[1];
indexMax := 1;
i := 2;
dokud i £ n opakuj
začátek
jestliže a[i] > max pak
začátek
max := a[i];
indexMax := i;
konec;
i := i + 1;
konec;
konec
stručně:
začátek
max := a[1];
indexMax := 1;
pro i od 2 do n opakuj
jestliže a[i] > max pak
začátek
max := a[i];
indexMax := i;
konec;
konec
Příklad 8
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
Nalezněte a vypište maximální hodnotu vyskytující se v číselné posloupnosti a1, a2, …, an uložené v poli a a počet prvků posloupnosti, které tuto maximální hodnotu nabývají.
začátek
max := a[1];
pro i od 2 do n opakuj
jestliže a[i] > max pak
max := a[i];
počet := 0;
pro i od 1 do n opakuj
jestliže a[i] = max pak
počet := počet + 1;
napiš(max);
napiš(počet);
konec
NEBO
začátek
max := a[1];
počet := 1;
pro i od 2 do n opakuj
jestliže a[i] ³ max pak
jestliže a[i] = max pak
počet := počet + 1
jinak
začátek
max := a[i];
počet := 1;
konec
napiš(max);
napiš(počet);
konec
Další zápisy druhého přístupu
začátek
max := a[1];
počet := 1;
pro i od 2 do n opakuj
začátek
jestliže a[i] = max pak
počet := počet + 1;
jestliže a[i] > max pak
začátek
max := a[i];
počet := 1;
konec;
konec
napiš(max);
napiš(počet);
konec
začátek
max := a[1];
počet := 1;
pro i od 2 do n opakuj
jestliže a[i] > max pak
začátek
max := a[i];
počet := 1;
konec
jinak
jestliže a[i]=max pak
počet := počet + 1;
napiš(max);
napiš(počet);
konec
určení prvního výskytu čísla, který má danou vlastnost
Úkolem je najít v posloupnosti a1, a2, …, an první člen (člen s nejmenším indexem), který má danou vlastnost, a v okamžiku jeho nalezení v dalším prohledávání posloupnosti nepokračovat. V případě, že se v posloupnosti žádné číslo s danou vlastností nenachází, podáme o tom informaci.
začátek
nalezen := 0;
i := 1;
dokud (i £ n) Ù (nalezen = 0) opakuj
začátek
jestliže a[i] má danou vlastnost pak
začátek
index := i;
nalezen := 1;
konec
i := i + 1;
konec
jestliže nalezen = 0 pak
napiš('Číslo s danou vlastností se v posloupnosti nevyskytuje.');
konec
Výše uvedenou úlohu můžeme ve většině případů řešit i pomocí následující konstrukce se „zarážkou“.
začátek
a[n + 1] := libovolné číslo s danou vlastností;
index := 1;
dokud a[index] nemá danou vlastnost opakuj
index := index + 1;
jestliže index > n pak
napiš('Číslo s danou vlastností se v posloupnosti nevyskytuje.');
konec
Příklad 9
Vypište první hodnotu větší než 7 z hodnot, které se nacházejí v posloupnosti n čísel uložených v jednorozměrném poli a v položkách a[1],…, a[n]. Pokud se v posloupnosti žádná hodnota větší než 7 nenachází, podejte o tom informaci.
začátek
nalezen := 0;
i := 1;
dokud (i £ n) Ù (nalezen = 0) opakuj
začátek
jestliže a[i] > 7 pak
začátek
napiš(a[i]);
nalezen := 1;
konec
i := i + 1;
konec
jestliže nalezen = 0 pak
napiš('v posloupnosti hodnota větší něž 7 neexistuje');
konec.
N E B O se zarážkou:
začátek
a[n + 1] := 8;
i := 1;
dokud a[i] £ 7 opakuj
i := i + 1;
jestliže i £ n pak
napiš(a[i])
jinak
napiš('v posloupnosti hodnota větší něž 7 neexistuje');
konec.
Příklad 10
Sestavte algoritmus, který mezi n členy
posloupnosti, jejichž index je sudý, najde
první číslo větší než
začátek
nalezen := 0;
i := 2;
dokud (i £ n) Ù (nalezen = 0) opakuj
začátek
jestliže a[i] > 50 pak
začátek
index := i;
nalezen := 1;
konec
i := i + 2;
konec
jestliže nalezen = 0 pak
napiš('Číslo větší než 50 se na sudých pozicích posloupnosti nevyskytuje.')
jinak
první := a[index];
konec
N E B O se zarážkou – zkuste nejdřív sami
začátek
a[n + 1] := 51;
a[n + 2] := 51;
i := 2;
dokud a[i] £ 50 opakuj
i := i + 2;
jestliže i £ n pak
první := a[i];
jinak
napiš('Číslo větší než 50 se na sudých pozicích posloupnosti nevyskytuje.')
konec.
Příklad 11
Určete maximální hodnotu z čísel menších než 500, která se nacházejí v posloupnosti n čísel uložených v jednorozměrném poli a v položkách a[1],…, a[n]. Pokud se v posloupnosti žádná hodnota menší než 500 nenachází, podejte o tom informaci.
začátek
a[n + 1] := 499;
i := 1;
dokud a[i] ³ 500 opakuj
i := i + 1;
jestliže i £ n pak
začátek
max := a[i]
pro j od i + 1 do n opakuj
jestliže (a[j]< 500) Ù (a[j]> max) pak
max := a[j];
napiš(max)
konec
jinak
napiš('v posloupnosti hodnota menší něž 500 neexistuje');
konec.
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
b
b[1] |
b[2] |
b[3] |
b[4] |
b[5] |
b[6] |
b[7] |
b[8] |
uložení vybrané podposloupnosti do nové posloupnosti
Úkolem je najít všechny členy posloupnosti a1, a2, …, an, které mají danou vlastnost (označme jejich počet p, 0 £ p £ n) a tyto členy postupně uložit do posloupnosti b1, b2, …, bp, tj. do jednotlivých p položek b[1] b[2] b[p] proměnné b typu jednorozměrné pole.
začátek
p := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] má danou vlastnost pak
začátek
p := p + 1;
b[p] := a[i];
konec
i := i + 1;
konec;
jestliže p = 0 pak
napiš('V posloupnosti neexistuje ani jedno číslo s danou vlastností.');
konec
Stručný zápis:
začátek
p := 0;
pro i od 1 do n opakuj
jestliže a[i] má danou vlastnost pak
začátek
p := p + 1;
b[p] := a[i];
konec
jestliže p = 0 pak
napiš('V posloupnosti neexistuje ani jedno číslo s danou vlastností.');
konec
Příklad 12
Uložte všechny hodnoty větší než 7, které se nacházejí v posloupnosti n čísel uložených v jednorozměrném poli a do jednorozměrného pole b. Pokud se v posloupnosti žádná hodnota větší než 7 nenachází, podejte o tom informaci.
začátek
p := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] > 7 pak
začátek
p := p + 1;
b[p] := a[i];
konec
i := i + 1;
konec;
jestliže p = 0 pak
napiš('v posloupnosti hodnota větší něž 7 neexistuje');
konec.
Stručně:
začátek
p := 0;
pro i od 1 do n opakuj
jestliže a[i] > 7 pak
začátek
p := p + 1;
b[p] := a[i];
konec
jestliže p = 0 pak
napiš('v posloupnosti hodnota větší něž 7 neexistuje');
konec.
nejdříve SAMI
Příklad 13
Určete aritmetický průměr ze sudých hodnot, které se nacházejí v posloupnosti n čísel uložených v jednorozměrném poli a, a všechny tyto sudé hodnoty uložte postupně do pole b. Pole b vypište, pokud jste tam nějakou hodnotu uložili. Pokud v posloupnosti sudé číslo není, podejte o tom informaci.
Řešení:
začátek
počet := 0;
součet := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] mod 2 = 0 pak
začátek
počet := počet + 1;
součet := součet + a[i];
b[počet] := a[i];
konec
i := i + 1;
konec
jestliže počet = 0 pak
napiš('V posloupnosti není sudé číslo.')
jinak
začátek
napiš(součet/počet);
pro i od 1 do počet opakuj
napiš(b[i]);
konec;
konec
Stručně
začátek
počet := 0
součet := 0;
pro i od 1 do n opakuj
jestliže a[i] mod 2 = 0 pak
začátek
počet := počet + 1;
součet := součet + a[i];
b[počet] := a[i];
konec;
jestliže počet = 0 pak
napiš('V posloupnosti není sudé číslo.')
jinak
pro i od 1 do počet opakuj
napiš(b[i]);
konec
Příklad 14
Uložte každý 10. člen posloupnosti n čísel uložených v jednorozměrném poli a prvním členem počínaje, do jednorozměrného pole b
začátek
p := 0;
i := 1;
dokud i £ n opakuj
začátek
p := p + 1;
b[p] := a[i];
i := i + 10;
konec;
konec.
Posuny hodnot v poli
Sestavte algoritmus, který z posloupnosti n čísel a1, a2, …, an odebere k. člen, 1 £ k £ n, přičemž k načte do proměnné k příkazem čti(k) a nově vzniklou posloupnost vypíše.
Např.: Odebrání položky a[6] z jednorozměrného pole a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
začátek
čti(k);
pro i od k do n - 1 opakuj
a[i] := a[i + 1];
n := n - 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec
Příklad 15
Sestavte algoritmus, který v posloupnosti n čísel a1, a2, …, an najde první hodnotu rovnající se nule a tuto hodnotu odebere. Pokud se v posloupnosti nula nevyskytuje, podá o tom informaci, v opačném případě nově vzniklou posloupnost vypíše.
začátek
nalezen := 0;
i := 1;
dokud (i £ n) Ù (nalezen = 0) opakuj
začátek
jestliže a[i] = 0 pak
začátek
index := i;
nalezen := 1;
konec
i := i + 1;
konec
jestliže nalezen = 0 pak
napiš('Nula v posloupnosti není.')
jinak
začátek
pro i od index do n - 1 opakuj
a[i] := a[i + 1];
n := n - 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec;
konec
nebo se „zarážkou“.
začátek
a[n + 1] := 0;
index := 1;
dokud a[index] ¹ 0 opakuj
index := index + 1;
jestliže index > n pak
napiš('Nula v posloupnosti není.')
jinak
začátek
pro i od index do n - 1 opakuj
a[i] := a[i + 1];
n := n - 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec;
konec
Příklad 16
Sestavte algoritmus, který do posloupnosti n čísel a1, a2, …, an přidá za k. člen (k načte do proměnné k £ k £ n, vámi zvolené číslo (které načte do proměnné x) a nově vzniklou posloupnost vypíše.
Např.: Přidání hodnoty x za položku a[6] do pole a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
a[11] |
x |
začátek
čti(x);
čti(k);
i := n;
dokud i ³ k + 1 opakuj
začátek
a[i + 1] := a[i];
i := i - 1;
konec;
a[k + 1] := x;
n := n + 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec
Příklad 17
Sestavte algoritmus, který do posloupnosti n čísel a1, a2, …, an přidá před k. člen (k načte do proměnné k £ k £ n, vámi zvolené číslo (které načte do proměnné x) a nově vzniklou posloupnost vypíše.
Např.: Přidání hodnoty x před položku a[6] do pole a
a
A[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
A[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
a[11] |
x |
začátek
čti(x);
čti(k);
i := n;
dokud i ³ k opakuj
začátek
a[i + 1] := a[i];
i := i - 1;
konec;
a[k] := x;
n := n + 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec.
zkuste SAMI
Příklad 18
Sestavte algoritmus, který v posloupnosti n čísel a1, a2, …, an provede cyklický posun členů o jedno místo vpřed, přičemž člen, který byl prvním členem posloupnosti bude posledním členem nově vzniklé posloupnosti. Nově vzniklou posloupnost vypíše.
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
|
chceme
a
a[1] |
a[2] |
a[3] |
a[4] |
a[5] |
a[6] |
a[7] |
a[8] |
a[9] |
a[10] |
začátek
pomocná := a
pro i od 1 do n - 1 opakuj
a[i] := a[i + 1];
a[n] := pomocná;
pro i od 1 do n opakuj
napiš(a[i]);
konec
Příklad 19
Sestavte algoritmus, který v posloupnosti n
čísel a1, a2, …, an najde
první hodnotu větší než
začátek
nalezen := 0;
i := 1;
dokud (i £ n) Ù (nalezen = 0) opakuj
začátek
jestliže a[i] > 100 pak
začátek
index := i;
nalezen := 1;
konec
i := i + 1;
konec
jestliže nalezen = 0 pak
napiš('Hodnota větší než 100 v posloupnosti není.')
jinak
začátek
i := n;
dokud i ³ index + 1 opakuj
začátek
a[i + 1] := a[i];
i := i - 1;
konec;
a[index + 1] := 0;
n := n + 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec;
konec
nebo se „zarážkou“.
začátek
a[n + 1] := 101;
index := 1;
dokud a[index] £ 100 opakuj
index := index + 1;
jestliže index > n pak
napiš('Hodnota větší než 100 v posloupnosti není.')
jinak
začátek
i := n;
dokud i ³ index + 1 opakuj
začátek
a[i + 1] := a[i];
i := i - 1;
konec;
a[index + 1] := 0;
n := n + 1;
pro i od 1 do n opakuj
napiš(a[i]);
konec;
konec
roztřídění členů posloupnosti do dvou posloupností
Úkolem je rozdělit členy posloupnosti a1, a2, …, an do dvou posloupností: do posloupnosti b1, b2, …, bm zařadit členy mající danou vlastnost a do posloupnosti c1, c2, …, cp zařadit ty členy, které danou vlastnost nemají.
Zřejmě 0 £ m £ n, 0 £ p £ n, m + p = n.
začátek
m := 0;
p := 0;
i := 1;
dokud i £ n opakuj
začátek
jestliže a[i] má danou vlastnost pak
začátek
m := m + 1;
b[m] := a[i];
konec
jinak
začátek
p := p + 1;
c[p] := a[i];
konec
i := i + 1;
konec;
konec
Stručný zápis:
začátek
m := 0;
p := 0;
pro i od 1 do n opakuj
jestliže a[i] má danou vlastnost pak
začátek
m := m + 1;
b[m] := a[i];
konec
jinak
začátek
p := p + 1;
c[p] := a[i];
konec
konec
Příklad 20
Sestavte algoritmus, který n členů posloupnosti a1, a2, …, an uložených v poli a uloží do dvou polí, do pole sudé uloží všechny sudé členy a do pole liché uloží všechny liché členy posloupnosti.
začátek
m := 0;
p := 0;
pro i od 1 do n opakuj
jestliže (a[i] mod 2) = 0 pak
začátek
m := m + 1;
sudé[m] := a[i];
konec
jinak
začátek
p := p + 1;
liché[p] := a[i];
konec
konec
připojení jedné posloupnosti za druhou
Nechť jsou dány dvě posloupnosti a1, a2, …, an a b1, b2, …, bm, n ³ 1, m ³ 1. Úkolem je vytvořit posloupnost c1, c2, …, cp, p = n + m, která nejprve obsahuje všechny členy posloupnosti a1, a2, …, an a pak všechny členy posloupnosti b1, b2, …, bm v uvedeném pořadí.
začátek
i := 1;
dokud i £ n opakuj
začátek
c[i] := a[i];
i := i + 1;
konec;
i := 1;
dokud i £ m opakuj
začátek
c[n + i] := b[i];
i := i + 1;
konec
konec
Stručný zápis:
začátek
pro i od 1 do n opakuj
c[i] := a[i];
pro i od 1 do m opakuj
c[n + i] := b[i];
konec
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 710
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved