// PascalABC.NET 3.3.5, сборка 1662 (29.04.2018)
begin
Println($'Среднее арифметическое : {ArrRandomInteger(40,0,20).Println.Where(e-> e.IsOdd).DefaultIfEmpty.Average}')
end.
// FreePascal
var
a: array[0..39] of integer;
i, c, s: integer;
begin
randomize;
for i := 0 to 39 do
begin
a[i] := random(21);
Write(a[i],' ');
if (a[i] mod 2 <>0) then
begin
inc(c);
s := s + a[i];
end;
end;
Writeln;
if c<>0
then Writeln('Среднее арифметическое: ',s/c)
else Writeln(0);
end.
// C++
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int a[40];
double c = 0, s = 0;
srand(time(0));
for (int i = 0; i < 40; i++) {
a[i] = rand() % 21;
cout << a[i] << " ";
if (a[i] % 2 != 0) {
c++;
s += a[i];
}
}
if (c!=0) cout << "\nСреднее арифметическое = " << s / c << endl;
else cout << "\nСреднее арифметическое = 0 " << endl;
system("pause");
return 0;
}
Ответ: 1-Г, 2-В, 3-Д, 4-А, 5-Б
Объяснения.
1. Со значением х=1 входим в цикл, который должен выполняться, пока х меньше 10. Но х в теле цикла не изменяется, поэтому цикл будет бесконечным.
2. Со значением х=1 входим в цикл, который должен выполняться, пока х равен 1. В теле цикла х наращивается на 1, поэтому цикл даже второй раз не будет выполняться.
3. Конструкция 0<x<10 недопустима синтаксически.
4. Со значением х=1 пытаемся войти в цикл. В заголовке указано, что цикл выполняется, пока х отрицательный. Следовательно, цикл не будет выполняться вообще.
5. Со значением х=0 входим в цикл, который должен выполняться, пока х не превысит 5. В теле цикла х наращивается на 1, т.е. х будет принимать значения 1,2,3,4,5,6 и при х=6 цикл завершится. Получается, что тело цикла выполнится 6 раз.