Прошу помочь с решением задач по информатике по теме "Одномерные массивы" (язык...

0 голосов
30 просмотров

Прошу помочь с решением задач по информатике по теме "Одномерные массивы" (язык программирования Pascal). Написать программы: 1) Даны два числа А и В. Если числа положительные, вычислить произведение этих чисел, если хотя бы одно их них отрицательное, вычислить сумму квадратов этих чисел. 2) Дан произвольный массив, замените каждый второй элемент массива на ноль, а каждый пятый увеличите в 2 раза. И выведите полученный массив на экран. Спасибо!


Информатика (139 баллов) | 30 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// 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

Замечание
"Каждый второй" и "каждый пятый" дают пересечение на каждом десятом. И получается. что каждый десятый элемент должен быть обнулён. как каждый второй и удвоен, как каждый пятый, так что все равно получим ноль.
(150k баллов)
0

Да, я поняла про пересечение! Спасибо за ответ и разъяснения!

0 голосов

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.


(34.0k баллов)
0

Спасибо, всё подошло! Да уж... Во второй задаче каждый второй и каждый пятый элемент совпадают на каждом десятом элементе, как результат - всегда 0