Есть ответ 👍

24 1. составьте программу решения . дано трёхзначное число. вывести «да», если только его первая и третья цифры четные и «нет» в противном случае. 2. дано натуральное число. определить в нем максимальную нечетную цифру. 3. дан массив из 20 элементов, заполненный случайными числами из диапазона [-45; 55]. найти в нем сумму четных положительных элементов.

179
375
Посмотреть ответы 2

Ответы на вопрос:


1.

var

  a: integer;

 

begin

  readln(a);

  if ((a mod 10) mod 2 = 0) and ((a mod 100) mod 2 = 0) then writeln('да')

  else writeln('нет');

end.

2.

var

  a, max: integer;

 

begin

  readln(a);

  max : = -1;

  while a < > 0 do

  begin

    if ((a mod 10) mod 2 = 0) and ((a mod 10) mod 2 > max) then max : = (a mod 10) mod 2;

    a : = a div 10;

  end;

  if max < > -1 then writeln(max)

  else writeln('');

end.

3.

var

  mas: array[0..19] of integer;

  sum, i: integer;

begin

  randomize;

  sum : = 0;

  for i : = 0 to 19 do  

  begin

    mas[i] : = -45 + random(1 + 45 + 55);

    if (mas[i] mod 2 = 0) and (mas[i] > 0) then sum += mas[i];

  end;

  writeln(sum);

end.


В данном фрагменте программы идёт

1) if (a[i] mod 2 <> 0) - условие: "если элемент массива нечетный, т.е. при делении на 2 есть остаток, то"

2) p:=p*a[i]; -  операция умножения элементов массива. Произведение обозначено p.

3) k:=k+1; - это суммирование, сколько раз выполняется команда

Верно: for i:=7 to 25 do begin

if (a[i] mod 2 <> 0) then begin p := p*a[i]; k:=k+1; end; end;

Объяснение: все ошибки выделены жирным шрифтом.

for i:=7 to 25 do;

read (a[i])

if (a[i] mod 2 <> 0) then begin p:=p*a[i]; k:=k+1; end;

Если в программе поставить знак ; сразу после за действия do (сразу после открытие цикла), она не начнёт выполнение условия. Лишним также является read (a[i]), т.к. программе вновь не задаётся цикл, либо её чтение было уже задано до данного цикла с условием.

Если интересна программа полностью, то вот код ниже, а также скриншот с результатами. Заполнение массива задано автоматически числами от 1 до 100. Размерность массива - 25 чисел. При произведении мы всегда задаём значение переменной 1, иначе программа не начнёт операцию, при сложении присваивать значение только 0, но это необязательно.

Program zadacha;

var  

 a: array [1..25] of integer;

 i,p,k: integer;

begin

  for i:=1 to 25 do

  a[i]:= Random(100); // числа от 1 до 100 будут присутствовать в массиве

writeln('Заполненный массив:'); for i := 1 to 25 do write(a[i],' ');

p:=1; k:=0;

for i:=7 to 25 do begin

if (a[i] mod 2 <> 0) then begin p := p*a[i]; k:=k+1; end; end;;

writeln;

writeln('Произведение нечетных элементов:', p);

writeln('Сколько раз выполнилось условие:', k);

end.

Популярно: Информатика