1. Сколько раз будет выполнен следующий цикл (развернутый ответ с пояснениями):
а) i:=21;
repeat
i:=i-5
until i>21;
б) for m:=2 to 11 begin
writeln (m);
m:= m+3
end;
2. Найдите результат выполнения программы (развёрнутый ответ с пояснениями):
а) i:= 0; s:= 0
while i<2 do
begin
i:= i+1;
s:=s+i*i
end;
б) sum:= 0;
for i:= 5 to 9 do
sum:= sum+i;
в) s:=12;
for w:= 3 to 9 do
s:= s-w;
writeln (s);
г) repeat
writeln (`Информатика`);
n:= n+1;
until n>7
3. Составьте блок-схему к следующей задаче: найдите кол-во положительных чисел, выбранных случайно на отрезке (-50;50).
4. Найдите ошибки в программе, которая находит наибольшее из пяти вводимых с клавиатуры чисел:
var x, i, m: integer;
begin
writeln (`Введите число`); readln (x);
m:= x;
for i:= 1 to 4 do begin
readln (x);
if x<>m then x: = m
end;
writeln (`Наибольшее число=`,m);
end.
Program Proizvedenie; //Обчислити произведение элементов второго столбца таблиці
var Tabl: array[1..4, 1..6] of Integer; i, j, P: Integer;
begin
P:=1;
For i:=1 to 4 do
For j:=1 to 6 do
begin
Write('Введіть значення елемента масиву ');
Read(Tabl[i,j]); //заповнення масиву цілими числами
end;
For i:= 1 to 4 do
P:= P * Tabl[i,2]; //умножение элементов второго столбца
writeln('Произведение элементов второго столбца= ',P);//виведення відповіді
end. //Кінець програми
Объяснение:
Изменено имя программы и переменной (чтобы не путаться)
Начальное значение переменной теперь 1, т.к. при умножении на 1 произведение не меняется
Т.к. считаем произведение элементов второго столбца, то перебираем строки от 1 до 4 и считаем произведение элементов текущей строки во втором столбце
Комментарии изменены, где необходимо, но на русском
var
c, a: array[1..20] of integer;
i: integer;
begin
write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 1 to 20 do begin
a[i] := c[20 - i + 1];
write(a[i], ' ');
end;
end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var
c: array[1..20] of integer;
i: integer;
begin write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 20 downto 1 do write(c[i], ' ');
end.
Обе программы работают!