Урок их серии: «Язык программирования Паскаль«.
В предыдущем уроке было показано, как используются операторы цикла в задачах на целочисленную арифметику.
В этом уроке будет описано использование операторов цикла для обработки числовых последовательностей.
Алгоритм для обработки последовательнойтей относится к одному из двух типов: поиск, проверка условий.
Для последовательностей характерно, что в каждый момент времени нам доступен только один элемент последовательности. Поэтому все алгоритмы строятся с учетом однократного последовательного просмотра.
На этом уроке рассмотрим несколько программ на языке программирования Паскаль. В каждой из них одновременно рассматривается только очередной элемент последовательности, без учета остальных (массивы не используются). Алгоритиы для решения таких задач называются алгоритмами с линейным поиском.
Пример 1. Вводится последовательность из N целых чисел. Найти сумму всех отрицательных чисел.
Переменные:
n — количество чисел;
i — переменная цикла;
x — очередное число;
sum — сумма отрицательных чисел.
program primer_1;
Var i,n,x,sum:integer;
Begin
Writeln('Введите длину последовательности N= ');
Readln(n);
Sum:=0;
For I:=1 to n do
Begin
Writeln('Введите ', i, '-ое число: ’);
Readln(x);
if x < 0 then sum:=sum+x
end;
If sum = 0
then writeln('Отрицательных чисел нет.’)
Else writeln(‘Сумма отрицательных чисел = ’, sum);
End. Пример 2. Вводится последовательность ненулевых чисел, 0 – конец последовательности. Определить, сколько раз последовательность меняет знак.
Переменные:
old — предыдущее число;
new- обрабатываемое число;
k — количество смен знака ;
i — порядковый номер числа в последовательности.
program primer_2;
Var old, new: real;
k: integer;
Begin
Write('Введите первое число: ');
Readln(old);
Write('Введите второе число: ’);
Readln(new);
k:=0; i:=2;
Repeat
If new*old < 0 then k := k+1;
old:=new;
i:=i+1;
Write(‘Введите ',i, '-ое число:’);
Readln(new);
Until new = 0;
If k > 0
then writeln('Последовательность меняет знак ',k,' раз')
else writeln('Последовательность не меняет знак ’);
end. В этом уроке было показано, как использовать операторы цикла для обработки числовых последовательностей.
В следующем уроке будет описано использование подпрограмм.
Следующий урок: Подпрограммы в языке Паскаль
Здравствуйте! У вас в первой задаче есть небольшие ошибки. Когда пишем writeln то в скобочках вот такой знак должен быть (‘)
Cпасибочки, вспомнил)