Помогите написать программу на паскале Дан целочисленный массив из 20 элементов. Элементы массива могут...

Тематика Информатика
Уровень 10 - 11 классы
программирование Паскаль массив алгоритм целочисленные значения пары элементов четная сумма положительная сумма
0

Помогите написать программу на паскале

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от -10000 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, сумма которых четна и положительна. Под парой подразумевается два подряд идущих элемента массива.

avatar
задан 28 дней назад

3 Ответа

0

Для решения задачи необходимо пройтись по массиву и проверить каждую пару соседних элементов на выполнение двух условий: их сумма должна быть четной и положительной. Давайте разберем шаги алгоритма на естественном языке, а затем реализуем его на языке программирования Паскаль.

Алгоритм на естественном языке

  1. Инициализация: Завести переменную count, которая будет хранить количество пар, удовлетворяющих условиям. Изначально count равна 0.
  2. Проход по массиву: Использовать цикл для перебора элементов массива от 1 до 19 (так как мы будем проверять пары соседних элементов).
  3. Проверка каждой пары:
    • Для каждого индекса i проверить пару элементов: array[i] и array[i+1].
    • Вычислить их сумму: sum = array[i] + array[i+1].
    • Проверить два условия:
      • Сумма четная: sum mod 2 = 0.
      • Сумма положительная: sum > 0.
    • Если оба условия выполняются, увеличить count на 1.
  4. Вывод результата: После завершения цикла вывести значение count.

Программа на Паскале

program CountEvenPositivePairs;

const
  N = 20; // Количество элементов в массиве

var
  array: array[1.N] of integer;
  i, count, sum: integer;

begin
  // Инициализация массива (можно заменить на ввод с клавиатуры или генерацию случайных чисел)
  array[1] := 100;
  array[2] := -50;
  array[3] := 50;
  array[4] := 75;
  array[5] := -25;
  array[6] := 30;
  array[7] := 110;
  array[8] := -10;
  array[9] := 15;
  array[10] := 5;
  array[11] := -5;
  array[12] := 0;
  array[13] := 20;
  array[14] := 40;
  array[15] := -60;
  array[16] := 80;
  array[17] := 100;
  array[18] := -200;
  array[19] := 300;
  array[20] := 200;

  count := 0; // Инициализация счетчика

  // Проход по массиву и подсчет пар с четной и положительной суммой
  for i := 1 to N - 1 do
  begin
    sum := array[i] + array[i + 1];
    if (sum mod 2 = 0) and (sum > 0) then
      count := count + 1;
  end;

  // Вывод результата
  writeln('Количество пар с четной и положительной суммой: ', count);
end.

Пояснение к программе

  • Цикл: Мы используем цикл for i := 1 to N - 1 do, чтобы пройтись по всем элементам, кроме последнего, так как последнему элементу пары не существует.
  • Проверка условий: Условие if (sum mod 2 = 0) and (sum > 0) проверяет, что сумма пары четная и положительная.
  • Вывод: Используем writeln для вывода количества найденных пар.

Эта программа считает количество пар элементов массива, сумма которых четна и положительна, и выводит результат.

avatar
ответил 28 дней назад
0

Для решения данной задачи на языке программирования Pascal можно использовать следующий алгоритм:

  1. Объявить целочисленный массив из 20 элементов.
  2. Заполнить массив случайными целыми числами от -10000 до 10000.
  3. Объявить переменную count и инициализировать её нулём (для подсчёта количества пар).
  4. Проитерироваться по массиву с помощью цикла от 1 до 19 (так как обходим пары элементов).
  5. Проверить условие: если сумма двух подряд идущих элементов массива чётна и положительна, то увеличить переменную count на 1.
  6. Вывести на экран количество пар, удовлетворяющих условию.

Пример кода на Pascal:

program CountEvenPositivePairs;

var
  arr: array[1.20] of integer;
  i, count: integer;

begin
  count := 0;
  
  Randomize;
  
  for i := 1 to 20 do
  begin
    arr[i] := RandomRange(-10000, 10000);
  end;
  
  for i := 1 to 19 do
  begin
    if (arr[i] + arr[i+1]) mod 2 = 0 and (arr[i] + arr[i+1]) > 0 then
    begin
      count := count + 1;
    end;
  end;
  
  writeln('Количество пар элементов массива, сумма которых четна и положительна: ', count);
  
end.

Этот код создает массив из 20 случайных целых чисел, затем проверяет пары элементов массива на соответствие условию и выводит количество таких пар на экран.

avatar
ответил 28 дней назад
0

Алгоритм на языке программирования Pascal:

var arr: array[1.20] of integer; i, count: integer;

begin count := 0;

// Заполнение массива случайными числами for i := 1 to 20 do

arr[i] := random(20001) - 10000;

// Подсчет количества пар сумма которых четна и положительна for i := 1 to 19 do

if (arr[i] + arr[i+1]) mod 2 = 0 then
  if (arr[i] + arr[i+1]) > 0 then
    count := count + 1;

writeln('Количество пар элементов массива, сумма которых четна и положительна: ', count); end.

avatar
ответил 28 дней назад

Ваш ответ

Вопросы по теме