Предположим, что числа вводятся пользователем с клавиатуры, а окончанием ввода служит введенный 0. Узнать, что знак предыдущего числа отличается от знака следующего числа, можно умножив одно на другое. В случае если результат будет положительный, значит знак не поменялся, иначе знаки у чисел отличаются.
program ex43;
uses crt;
var
k,n,x1,x2,s:integer;
begin
clrscr;
s:=0;
n:=0;
k:=0;
repeat
write('введите элемент последовательности: ');
readln(x1);
inc(n);
if n<>1 then
begin
if x1*x2<0 then inc(k);
end;
x2:=x1;
until x1=0;
writeln('последовательность меняет знак ',k,' раз');
readln;
end.
program ex43;
uses crt;
var
k,n,x1,x2,s:integer;
begin
clrscr;
s:=0;
n:=0;
k:=0;
repeat
write('введите элемент последовательности: ');
readln(x1);
inc(n);
if n<>1 then
begin
if x1*x2<0 then inc(k);
end;
x2:=x1;
until x1=0;
writeln('последовательность меняет знак ',k,' раз');
readln;
end.
- 0 комментариев
- Отметить нарушение!
