1. Какова структура оператора цикла с параметром?
2. Каков алгоритм выполнения цикла с параметром?
3. Какого типа должны быть параметр цикла, его начальное и конечное значения в цикле с параметром в языке Pascal?
4. Могут ли параметр цикла, его начальное и конечное значения в цикле с параметром в языке Pascal быть разных типов? Обоснуйте ответ.
5. Может ли один цикл быть вложен внутрь другого? Если да, то какова глубина этой вложенности?
6. Сколько раз исполнится тело цикла во фрагменте программы?
For i := 1 to -1 Do k:=k*i;
7. Сколько раз исполнится тело цикла во фрагменте программы?
For i := -1 to 1 Do k:=k*i;
8. Сколько раз исполнится тело цикла во фрагменте программы?
For i := 1 downto -1 Do k:=k*i;
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
a.Sorted.Println
end.
Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2
2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
nn=100;
var
i,j,n,t:integer;
a:array[1..nn] of integer;
begin
Write('n='); Read(n);
Randomize;
for i:=1 to n do begin
a[i]:=Random(3);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-1 do
if a[j]>a[j+1] then begin
t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
end;
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2