Дек
11th

Урок 12. Циклы и числовые последовательности

Урок их серии: “Язык программирования Паскаль“.

В предыдущем уроке было показано, как используются операторы цикла в задачах на целочисленную арифметику.

В этом уроке будет описано использование операторов цикла для обработки числовых последовательностей.

Алгоритм для обработки последовательнойтей относится к одному из двух типов: поиск, проверка условий.

Для последовательностей характерно, что в каждый момент времени нам доступен только один элемент последовательности. Поэтому все алгоритмы строятся с учетом однократного последовательного просмотра. 

На этом уроке рассмотрим несколько программ на языке программирования Паскаль. В каждой из них одновременно рассматривается только очередной элемент последовательности, без учета остальных (массивы не используются). Алгоритиы для решения таких задач называются алгоритмами с линейным поиском.

Пример 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.

В этом уроке было показано, как использовать операторы цикла для обработки числовых последовательностей.

В следующем уроке будет описано использование подпрограмм.

Следующий урок: Подпрограммы в языке Паскаль

Бесплатный экспресс-курс Программирование в ЕГЭ по информатике

Поделиться с друзьями



Один комментарий к “Урок 12. Циклы и числовые последовательности”

  1. Arsen | Май 27, 2012 | Ответить

    Cпасибочки, вспомнил)

Оставить комментарий или два