Напишите и объясните программу, которая в последовательности целых чисел находит и выводит количество положительных и количество отрицательных чисел. программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 - признак окончания ввода, не входит а последовательность) количество чисел не превышает 1000. введенные числа по модулю не превышают 1000
PascalABC.NET
begin
// Последовательность целых чисел вводится с клавиатуры
// пока не будет введен 0 (который не войдет в нее).
// Затем последовательность преобразуется в массив (ToArray)
// нужного размера, который сохраняется с именем a
var a := ReadSeqIntegerWhile(p -> p <> 0).ToArray;
// Заведем счетчики для количества положительных kp и
// отрицательных kn элементов и обнулим их
var (kp, kn) := (0, 0);
// Просматриваем в цикле массив. На каждом шаге p будет обозначать
// очередной элемент массива
foreach var p in a do
if p > 0 then // если элемент положительный
kp += 1 // добавим 1 в счетчик положительных
else if p < 0 then // если элемент отрицательный
kn += 1; // добавим 1 в счетчик отрицательных
// Осталось вывести результаты
Writeln('Положительных чисел ', kp, ', отрицательных ', kn)
end.