Задание. Автоматическое устройство имеет один вход, можно подавать натуральные числа или последовательности символов и наблюдать результат на выходе. По таблице наблюдений определите тип входных данных и правило по которому осуществляется преобразование. А) Вход 5 3 10 Выход 125 ? 1000 He могу Тип данных лесокой 1 1 Правило Б сканер 45 Вход Выход Мышь принтер Пнр монитор ? CH He Мь могу Тип данных Правило
1)
program arithmeticmean;
var
i, quantity: integer;
amount: longint;
arithmetic_mean: real;
begin
quantity := 0;
amount := 0;
i := 1;
while i <> 0 do
begin
read(i);
if (i mod 4 = 0) and (i <> 0) then
begin
amount := amount + i;
quantity := quantity + 1;
end
end;
arithmetic_mean := amount / quantity;
if (quantity <> 0) then
write(arithmetic_mean)
else
write('NO');
end.
2)
program max5;
var
size, max, counter, i: integer;
begin
counter := 0;
max := 0;
readln(size);
while counter < size do
begin
readln(i);
if (max < i) and (i mod 5 = 0) then
max := i;
counter := counter + 1;
end;
write(max);
end.
Объяснение:
1)
program arithmeticmean; // Название программы
var
i, quantity: integer; // Создание целочисленных переменных
i - вводимые с клавиатуры числа; quantity - количество трехзначных чисел.amount: longint; // Создание целочисленной переменной
amount - сумма трехзначных чиселarithmetic_mean: real; // Создание вещественной переменной
arithmetic_mean - среднее арифметическоеbegin // Начало программы
quantity := 0; // Количество трехзначных чисел = 0
amount := 0; // Сумма трехзначных чисел = 0
i := 1; // Переменная i = 1 (делается это для того, чтобы зайти в цикл (выходит какого-то рода обман))
while i <> 0 do // Пока переменная i ≠ 0
begin // Начало цикла
read(i); // Считываем с клавиатуры значение переменной i
if (i mod 4 = 0) and (i <> 0) then // Если остаток от деления = 4 И значение переменной i ≠ 0, тогда
begin // Начало блока
amount := amount + i; // К переменной, хранящей сумму, прибавляется значение переменной i
quantity := quantity + 1; // К переменной, хранящей количество, прибавляется значение 1
end // Конец блока
end; // Конец цикла
arithmetic_mean := amount / quantity; // Вычисление среднего арифметического (Сумма ÷ количество)
if (quantity <> 0) then // Если количество ≠ 0, тогда - проверка, есть ли
числа, подходящие под условие, в последовательности
write(arithmetic_mean) // Выводим среднее арифметическое
else // Иначе
write('NO'); // Выводим NO
end. // Конец программы
2)
program max5; // Название программы
var
size, max, counter, i: integer; // Создание целочисленных переменных
i - вводимые числа с клавиатуры; size - количество чисел в последовательности; max - максимальное число;counter - переменная счетчик.begin // Начало программы
counter := 0; // Переменная счетчик = 0
max := 0; // Максимум = 0
readln(size); // Считываем количество чисел в последовательности с клавиатуры
while counter < size do // Пока значение переменной counter < значения переменной size
begin // Начало цикла
readln(i); // Считываем число с клавиатуры
if (max < i) and (i mod 5 = 0) then // Если значение переменной max < значения переменной i И остаток от деления на 5 = 0, тогда
max := i; // Значение переменной max = значению переменной i
counter := counter + 1; // Переменная счетчик + 1
end; // Конец цикла
write(max); // Вывод значения переменной max
end. // Конец программы
program count4;
var
size, amount, counter, i: integer;
begin
counter := 0;
amount := 0;
readln(size);
while counter < size do
begin
readln(i);
if (i mod 4 = 0) then
amount := amount + 1;
counter := counter + 1;
end;
write(amount);
end.
Объяснение:
program count4; // Название программы
var
size, quantity, counter, i: integer; // Создание целочисленных переменных
i - вводимые числа с клавиатуры; size - количество чисел в последовательности;quantity - количество чисел, кратных 4;counter - переменная счетчик.begin // Начало программы
counter := 0; // Переменная счетчик = 0
quantity:= 0; // Количество четырехзначных чисел = 0
readln(size); // Считываем количество чисел в последовательности с клавиатуры
while counter < size do // Пока значение переменной counter < значения переменной size
begin // Начало цикла
readln(i); // Считываем число с клавиатуры
if (i mod 4 = 0) then // Если остаток от деления = 0, тогда
quantity:= amount + 1; // Количество + 1
counter := counter + 1; // Переменная счетчик + 1
end; // Конец цикла
write(quantity); // Вывод значения переменной quantity
end. // Конец программы