постройте упростите логические выражения соответствующие приведённым в таблице вместимостью в каждом случае выберите наиболее простой синтеза в вашем решении Пишите все шаги алгоритма
var x: array[1..n] of integer; i, k, d, s: integer;
begin Randomize; Writeln('Элементы массива'); k := 0; s := 0; for i := 1 to n do begin d := Random(11) - 5; Write(d:3); if (i mod 2) = 0 then begin { четное место } if d = 1 then Inc(k); x[i] := d end else begin if d < 0 then s := s + d; x[i] := sqr(d) end end; Writeln; Writeln('Результирующий массив'); for i := 1 to n do Write(x[i]:3); Writeln; Writeln('Количество единиц на четных местах равно ', k); Writeln('Сумма отрицательных элементов на нечетных местах равна ', s) end.
Тестовое решение: Элементы массива -3 0 -5 1 5 1 -3 -4 5 -3 -2 Результирующий массив 9 0 25 1 25 1 9 -4 25 -3 4 Количество единиц на четных местах равно 2 Сумма отрицательных элементов на нечетных местах равна -13
алг нач цел a, sum, pro вывод 'Введите трёхзначное положительное число: ' ввод a если a<100 или a>999 то вывод 'Это не трёхзначное число. Перезапустите программу!' иначе sum := mod(a, 10) + mod(div(a,10),10) + div(a,100) pro := mod(a, 10) * mod(div(a,10),10) * div(a,100) если sum > 9 и sum < 100 то вывод 'Сумма цифр числа ',a,' - двухзначное число (',sum,')', нс иначе вывод 'Сумма цифр числа ',a,' - не двухзначное число (',sum,')', нс все если pro > 99 и pro < 1000 то вывод 'Произведение цифр числа ',a,' - трёхзначное число (',pro,')', нс иначе вывод 'Произведение цифр числа ',a,' - не трёхзначное число (',pro,')', нс все если mod(sum, 3) = 0 то вывод 'Эта же сумма (',sum,') кратна трём', нс иначе вывод 'Эта сумма (',sum,') не кратна трём', нс все все кон
n = 11;
var
x: array[1..n] of integer;
i, k, d, s: integer;
begin
Randomize;
Writeln('Элементы массива');
k := 0; s := 0;
for i := 1 to n do
begin
d := Random(11) - 5;
Write(d:3);
if (i mod 2) = 0 then begin { четное место }
if d = 1 then Inc(k);
x[i] := d
end
else begin
if d < 0 then s := s + d;
x[i] := sqr(d)
end
end;
Writeln;
Writeln('Результирующий массив');
for i := 1 to n do Write(x[i]:3);
Writeln;
Writeln('Количество единиц на четных местах равно ', k);
Writeln('Сумма отрицательных элементов на нечетных местах равна ', s)
end.
Тестовое решение:
Элементы массива
-3 0 -5 1 5 1 -3 -4 5 -3 -2
Результирующий массив
9 0 25 1 25 1 9 -4 25 -3 4
Количество единиц на четных местах равно 2
Сумма отрицательных элементов на нечетных местах равна -13
нач
цел a, sum, pro
вывод 'Введите трёхзначное положительное число: '
ввод a
если a<100 или a>999
то вывод 'Это не трёхзначное число. Перезапустите программу!'
иначе
sum := mod(a, 10) + mod(div(a,10),10) + div(a,100)
pro := mod(a, 10) * mod(div(a,10),10) * div(a,100)
если sum > 9 и sum < 100
то вывод 'Сумма цифр числа ',a,' - двухзначное число (',sum,')', нс
иначе вывод 'Сумма цифр числа ',a,' - не двухзначное число (',sum,')', нс
все
если pro > 99 и pro < 1000
то вывод 'Произведение цифр числа ',a,' - трёхзначное число (',pro,')', нс
иначе вывод 'Произведение цифр числа ',a,' - не трёхзначное число (',pro,')', нс
все
если mod(sum, 3) = 0
то вывод 'Эта же сумма (',sum,') кратна трём', нс
иначе вывод 'Эта сумма (',sum,') не кратна трём', нс
все
все
кон