Надо решить задачи: 1. Дан одномерный массив размером n элементов. Элементы вводятся с...

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

Надо решить задачи:
1. Дан одномерный массив размером n элементов. Элементы вводятся с клавиатуры. Определите ср. арефметическое положительных элементов, кратных 8. Среди элементов есть хоть одно такое число.
2. Дан одномерный массив размером n элементов. Элементы вводятся с клавиатуры. Определите ср. арефметическое отрицательных элементов, кратных 6. Среди элементов есть хоть одно такое число.
3.Дан одномерный массив размером n элементов. Определите сумму чётных чисел в диапазоне от 5 до 25. Если таких чисел нет, то выдайте информацию об этом.


Информатика (15 баллов) | 79 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

1)var
  s, k, i, n: integer;
  a: array[1..1000] of integer;

begin
  Read(n);
  s := 0;
  k := 0;
 
  for i := 1 to n do
  begin
    Read(a[i]);
    
    if (a[i] > 0) and (a[i] mod 8 = 0) then begin
      s := s + a[i];
      k := k + 1;
    end;
  end;
 
  Write((s / k):0:3);
end.

1.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
  write(
    ReadArrInteger(ReadInteger('n = '))
    .Where(x -> (x > 0) and (x mod 8 = 0))
    .Average);
end.

2)var
  s, k, i, n: integer;
  a: array[1..1000] of integer;

begin
  Read(n);
  s := 0;
  k := 0;
 
  for i := 1 to n do
  begin
    Read(a[i]);
    
    if (a[i] < 0) and (a[i] mod 6 = 0) then begin
      s := s + a[i];
      k := k + 1;
    end;
  end;
 
  Write((s / k):0:3);
end.

2.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
  write(
    ReadArrInteger(ReadInteger('n = '))
    .Where(x -> (x < 0) and (x mod 6 = 0))
    .Average);
end.

3)var
  s, i, n: integer;
  a: array[1..1000] of integer;

begin
  Read(n);
  s := 0;
 
  for i := 1 to n do
  begin
    Read(a[i]);
    
    if (a[i] >= 5) and (a[i] <= 25) and (a[i] mod 2 = 0) then begin<br>      s := s + a[i];
    end;
  end;
 
  Write(s);
end.

3.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
  write(
    ReadArrInteger(ReadInteger('n = '))
    .Where(x -> (x >= 5) and (x <= 25) and (x mod 2 = 0))<br>    .Sum);
end.

(53.1k баллов)