
ПАСКАЛЬ! ПОМОГИТЕ! С циклом WHILE (без массива!) Вводится последовательность из N целых чисел,
отличных от нуля. Определить, сколько раз последовательность меняет знак.

Ответы на вопрос

Ответ:
Program test;
var a,b,count:integer;
str : string;
begin
writeln('Для остановки введите СТОП');
while true do
begin
writeln('Введите число');
readln(str);
if (str = 'СТОП') then break;
a := StrToInt(str);
if ((a>0) and (b<0)) or ((a<0) and (b>0)) then count := count + 1;;
b := a;
end;
writeln('В последовательности знак был поменян ' + count + ' раз.');
end.



Конечно! Я могу помочь вам написать программу на языке Паскаль, используя цикл while
, чтобы определить, сколько раз последовательность меняет знак. Вот пример решения:
pascalprogram CountSignChanges; var N, number, previousNumber, signChanges: Integer; begin signChanges := 0; // Инициализируем счетчик смен знака previousNumber := 0; // Инициализируем предыдущее число writeln('Введите количество чисел N:'); readln(N); writeln('Введите последовательность из ', N, ' чисел:'); while N > 0 do begin readln(number); if (number > 0) and (previousNumber < 0) then signChanges := signChanges + 1 else if (number < 0) and (previousNumber > 0) then signChanges := signChanges + 1; previousNumber := number; // Сохраняем текущее число как предыдущее N := N - 1; // Уменьшаем счетчик оставшихся чисел end; writeln('Количество смен знака: ', signChanges); end.
В этой программе мы считываем количество чисел N
и последовательность N
целых чисел. Затем мы инициализируем счетчик signChanges
для отслеживания количества смен знака и переменную previousNumber
, чтобы хранить предыдущее число. Затем мы используем цикл while
для чтения каждого числа из последовательности. Если текущее число и предыдущее число имеют разные знаки, мы увеличиваем счетчик signChanges
. После этого мы обновляем предыдущее число и уменьшаем счетчик N
. В конце программы выводится количество смен знака.
Пожалуйста, обратите внимание, что в этой программе предполагается, что пользователь вводит корректные данные, и она не выполняет проверки на нулевые значения и другие ошибки ввода.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili