Юл
Юлия

Составить программу, которая считает количество неотрицательных и отрицательных чисел до ввода первого 0.

Программа должна быть без if. , Вроде на паскале. И заодно посоветуйте, пожалуйста, какие-то видео или просто ссылки, чтобы разобраться с основами этого программирования. Заранее спасибо

TT
Tata Tata

var P, O, N : Integer;
begin
P := 0; O := 0;
repeat
Write('Введите число: '); ReadLn(N);
case Sign(N) of
-1 : Inc(O);
+1 : Inc(P);
end;
until N = 0;
WriteLn('Положительных = ', P);
WriteLn('Отрицательных = ', O);
end.

Алена Киевская
Алена Киевская

case - разновидность if. Можно обойтись без if и case.

Пусть есть последовательность длины L, в которой нет нулевых элементов.
Точнее в ней P - положительных и N - отрицательных.

Просуммируем Sign(элемент) , получим некое число S.

По определению:
S = 1*P+(-1)*N
L = P+N

То есть
P=(L+S)/2
N=(L-S)/2

То есть, всё что надо делать, это по ходу ввода считать количество элементов и накапливать сумму Sign'ов, а потом вывести полусумму и полуразность.

ЗЫ
Забавный эффект: сумма и разность L и S ВСЕГДА будут делиться на 2.
Так как для любых N и P их сумма/разность либо обе чётные, либо обе нечётные.

Ол
Олег

"Вроде на паскале"?)))

Похожие вопросы
помогите написать программу в Си которая считает сумму первых 100 чисел
Программы Pascal. Помогите составить программу которая находит минимальное из трех чисел!!!
Составить программу для определения сумм и количеств неотрицательных и отрицательных элементов массива. Visual Basic
Составить программу, которая организует ввод данных о студентах
Составить программу, вычисляющую 1/х для чисел не равных нулю и выдающую ответ "Не верен ввод" для х=0
Помогитеее*. Составить программу, которая формирует множество D целых чисел от 1 до N. Число N вводится. Это в С++.
Помогите составить программу, которая запрашивает числа и считает кол-во введеных отриц. чисел, пока поль-ль не введет 0
ПАСКАЛЬ. С клавиатуры вводятся 7 целых чисел. Вычислить количество отрицательных членов этой последовательности.
составить программу, которая выводит на экран 6 первых четных натуральных чисел
Составить программу которая просчитает сумму всех целых чисел от 1 до n, n-вводится с клавиатуры. (Pascal)