- Daná časť programu pracuje s N-prvkovým poľom p celých čísel:
k:=0; s:=0; m:=0;
for i:=1 to N do
begin
s:=s+p[i]; k:=k+1;
while s>13 do
begin k:=k-1; s:=s-p[i-k] end;
if s=13 then
if k>m then m:=k;
end;
writeln(m);
- Zistite, aká hodnota sa vypíše pre N=20 a pre pole p s hodnotami:
(3,3,5,1,1,3,4,3,3,1,2,1,3,1,4,5,2,5,5,3)
- Navrhnite 10-prvkové pole (čísel z intervalu <1,5>) také, aby program vypísal hodnotu 7.
- Daná je časť programu, v ktorom sú všetky premenné celočíselné:
readln(x);
y:=0; z:=0;
while x>0 do
begin
y:=y+1;
z:=z+(x mod 3);
x:=x div 3
end;
writeln(y+z);
- Zistite, akú hodnotu vypíšu pre x=77.
- Vypíšte všetky rôzne vstupné čísla x, ktoré dávajú na výstupe hodnotu 6.
Pomôcka: Skúste všetky výpočty robiť v 3-ovej sústave.
- Daná časť programu vypisuje rozdiel medzi indexom maximálneho a minimálneho prvku v N-prvkovom poli p rôznych celých čísel.
Napr. pre 10-prvkové pole: (5,2,1,3,7,11,4,9,8,10) vypíše hodnotu -3.
Doplňte chýbajúce časti programu!
r:=0; m:=1;
for i:=2 to N do
if p[i]>p[m] then
begin
r:= ;
m:=i
end
else if p[i]<p[m+r] then r:= ;
writeln('rozdiel = ',r);
- V postupnosti čísel číslo (okrem prvého a posledného) nazývame lokálnym minimom, ak je menšie ako predcházajúce číslo a zároveň menšie ako nasledujúce. Podobne, číslo nazývame lokálnym maximom, ak je väčšie ako predcházajúce číslo a zároveň väčšie ako nasledujúce.
Napíšte program (Pascal, Basic, C), ktorý vypíše na obrazovku N načítaných celých čísel tak, že každé číslo vypíše do jedného riadka a ku každému číslu, ktoré je lokálnym minimom, pripíše znak '-'. Ak je číslo lokálnym maximom, pripíše k nemu znak '+'.