Урок их серии: «Язык программирования Паскаль«.
В предыдущем уроке было показано, как используются операторы цикла в задачах на целочисленную арифметику.
В этом уроке будет описано использование операторов цикла для обработки числовых последовательностей.
Алгоритм для обработки последовательнойтей относится к одному из двух типов: поиск, проверка условий.
Для последовательностей характерно, что в каждый момент времени нам доступен только один элемент последовательности. Поэтому все алгоритмы строятся с учетом однократного последовательного просмотра.
На этом уроке рассмотрим несколько программ на языке программирования Паскаль. В каждой из них одновременно рассматривается только очередной элемент последовательности, без учета остальных (массивы не используются). Алгоритиы для решения таких задач называются алгоритмами с линейным поиском.
Пример 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пасибочки, вспомнил)