sedalex
?>

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет (выводит NO Программа получает на вход натуральные числа, количество введѐнных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введѐнные числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO», если таких чисел нет. Пример работы программы: Входные данные Выходные данные 8 120 64 16 0 52.0 111 1 0 NO Б. Число кратное n и дополнительное условие 1) Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введѐнные числа не превышают 30 000. Программа должна вывести одно число – максимальное число, кратное 5. Пример работы программы: Входные данные Выходные данные 3 10 25 12 25

Информатика

Ответы

Sosovna Dmitrievich22

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. // Конец программы

perfectorg
Задание 1integerВещественные числаДля объявления переменныхWritelnЗадание 2

На третьей строчке, видимо, ошибка, и вместо Вывод(x) на самом деле Ввод(x).

var  x: integer;  y: real; begin  Readln(x);  y := (10 + 2 * x) / (11 - x);  Writeln(y); end.При x = 3 переменная y = 2Задание 3var  number, resultNumber, i: integer; begin  resultNumber := 1;  for i := 1 to 3 do    begin      Readln(number);      resultNumber := resultNumber * number;    end;  Writeln(resultNumber); end.Задание 4var  a: integer;  b, c: real; begin  a := 3;  b := -1.5;  c := 6 - 2 * b;  c := c - a;  Writeln(c); end.Результатом вывода будет число 6Задание 5var  x, y, z: integer; begin  x := 8;  y := 2;  if (x > y) then    z := x - y  else    z := y + x;  Writeln(z); end.
Сергеевич1907

а) Если адрессация 32-х разрядная, то число ячеек - 2^{32}.

б) Максимальный объмем адрессуемой памяти - 2^{32} = 4гб. Вспомните траблу с тем, что на 32-х разрядных ОС (которые задействуют проц в виртуальном режиме - могут использовать его как 32-х разрядный, если он даже 64-х) видимый максимальный объмем ОЗУ не больше этого предела, хоть пусть стоят плашки по 32гб.

в) Ну, если считать, что первый адрес - 0, то последний 2^{32} - 1


П.С. Число ячеек = объему памяти в байтах, так как можно адрессовать каждый байт - было сказано, что "при каждой операции... 32 бита данных", это говорит, что регистры тоже 32-х разрядные, но если вы видели какой-нибудь из языков ассемблера, то там можно обращаться к частям регистров, вплоть до размера части в 8 бит. Это на практике.


П.С.С. Сказано что проц теоретический, возможно, подразумевается, что ячейки не 1 байт, а 4 байта, т.е число ячеек в 4 раза меньше - 2^{30}. Выбирайте, что вам кажется более подходящим, препод вам известнее :)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет (выводит NO Программа получает на вход натуральные числа, количество введѐнных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введѐнные числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO», если таких чисел нет. Пример работы программы: Входные данные Выходные данные 8 120 64 16 0 52.0 111 1 0 NO Б. Число кратное n и дополнительное условие 1) Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введѐнные числа не превышают 30 000. Программа должна вывести одно число – максимальное число, кратное 5. Пример работы программы: Входные данные Выходные данные 3 10 25 12 25
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

preida-2
makscska22879
juliajd
kronid12
Ольга1520
mail66
Татьяна_Вологжин
Выбери верный адрес ячейки. 39 PP E 54
nurtilekisakov
boro-1973
msburmis
gnsnodir5001
Apresov
alekbur
Динков
shoko-2379