1) Перепишите программу в тетрадь
var
a:array[1..200] of integer;
i,n,p,k: integer;
begin
p:=20;
n:=0;
randomize;
for i:1 to 200 do
a[i]:=random(100)-50;
for i:=1 to 200 do
write(a[i],' ');
writeln;
for i:=1 to 200 do
if a[i]=p then
begin
writeln('a[',i,']=',a[i]);
n:=n+1;
end;
writeln;
writeln(n);
end.
2) Напишите программу в PascalABC.
3) Ответьте письменно на вопросы. Запишите ответы в тетрадь.
3.1. Сколько элементов в массиве?
3.2. Какой фрагмент программы отвечает за запись элементов массива в памяти компьютера?
3.3. В каких пределах целых чисел могут находиться элементы массива?
3.4. Для чего в операторе вывода напечатано ' '?
4) Ответьте письменно на вопросы. Записать ответы в тетрадь.
4.1. Что программа выводит на экран оператором writeln('a[',i,']=',a[i]);?
4.2. Для чего нужна переменная n?
4.3. Какая переменная лишняя?
4.4. Что программа выводит на экран оператором writeln(n);?
5) Измените код программы так, чтобы программа находила и считала количество элементов равных 0 среди 300 элементов целочисленного массива, значение которого расположены между -20 и 20. Написать программу в PascalABC.
Answers & Comments
Ответ:
3.1. 200
3.2. for i:1 to 200 do a[i]:=random(100)-50;
3.3. (т.к 4 байта)
либо -50 ... 50 (рандом)
3.4. Чтобы значения не "склеивались", т.к было расстояние между элементами
4.1. a[номер элемента] = значение элемента "перенос строки"
4.2. Для подсчета количества элементов равных 20
4.3. k - она объявлена, но не используется
4.4. Количество элементов равных 20
5.
var
a:array[1..300] of integer;
i,n,p,k: integer;
begin
p:=0;
n:=0;
randomize;
for i:1 to 300 do
a[i]:=random(40)-20;
for i:=1 to 300 do
write(a[i],' ');
writeln;
for i:=1 to 300 do
if a[i]=p then
begin
writeln('a[',i,']=',a[i]);
n:=n+1;
end;
writeln;
writeln(n);
end.
ꟷꟷꟷꟷꟷꟷ
Не забывайте сказать "Спасибо"! и, если ответ удовлетворил, то выберите его как "Лучший"
Бодрого настроения и добра!
Успехов в учебе!