с решением по информатике по теме "одномерные массивы" (язык программирования pascal). написать программы: 1) даны два числа а и в. если числа положительные, вычислить произведение этих чисел, если хотя бы одно их них отрицательное, вычислить сумму квадратов этих чисел. 2) дан произвольный массив, замените каждый второй элемент массива на ноль, а каждый пятый увеличите в 2 раза. и выведите полученный массив на экран.

elenavalkova92 elenavalkova92    2   23.08.2019 13:40    5

Ответы
polinapiterskog polinapiterskog  05.10.2020 14:43
1)
Var
A,B:integer;
Begin
ReadLn(A,B);
if (A>0)and(B>0) then WriteLn(A*B)
else WriteLn(A*A+B*B);
End.

2)

Const
   N=30;
Var
A:array[1..N] of integer;
Begin
For var i:= 1 to N do
   Begin
   A[i]:=random(100)-50;
   Write(A[i]:3,' ');
   End;
WriteLn;
For var i:= 1 to N do
   Begin
   if i mod 2 = 0 then A[i]:=0
   else if i mod 5 = 0 then A[i]:=A[i]*2;
   Write(A[i]:3,' ');
   End;
End.
ПОКАЗАТЬ ОТВЕТЫ
АнгелінаL АнгелінаL  05.10.2020 14:43
// PascalABC.NET 3.2, сборка 1387 от 17.02.2017
// Внимание! Если программа не работает, обновите версию!

1)
begin
  var a,b:real;
  Read(a,b);
  if (a>0) and (b>0) then Writeln('Произведение равно ',a*b)
  else Writeln('Сумма квадратов равна ',a*a+b*b)
end.

2)
begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  for var i:=0 to a.Length-1 do
    if i.IsOdd then a[i]:=0
    else
      if (i+1) mod 5 =0 then a[i]*=2;
  a.Println;
end.

Пример
n= 17
7 -49 -21 84 87 12 27 86 -29 -55 -32 -83 -24 96 -3 -3 -78
7 0 -21 0 174 0 27 0 -29 0 -32 0 -24 0 -6 0 -78

Замечание
"Каждый второй" и "каждый пятый" дают пересечение на каждом десятом. И получается. что каждый десятый элемент должен быть обнулён. как каждый второй и удвоен, как каждый пятый, так что все равно получим ноль.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика