Конспект лекций по программированию для начинающих. Гладков В.П. - 95 стр.

UptoLike

Составители: 

97
Тест 3: n=-1, z=2. В этом случае получим ответ: «Среди элементов
последовательности нет больших 2».
Упражнения:
1. Исправьте программу pr4 так, чтобы перебор элементов осуществлялся от
n-го элемента к первому.
2. Исправьте программу pr4 так, чтобы осуществлялся поиск элемента,
совпадающего с z, среди элементов этой же последовательности с номерами от p до
q.
3. Перепишите программу pr4, используя для организации цикла оператор
repeat - until.
10.4. Модификации построенных алгоритмов
Мы написали несколько циклических программ. Чтобы сконструировать новые,
можно применить приём модификации уже существующих алгоритмов. Будем
использовать для модификации написанные программы, изменять операции,
константы, переменные и наблюдать, что происходит с программой.
10.4.1. Модификация 1
Посмотрим, как изменится программа pr2 из подраздела 10.3.1, если в
операторе s:=s+i изменить знак плюс на знак умножить. Чтобы понять, что делает
приведенный ниже фрагмент программы, выполним трассировку.
{ фрагмент 1 }
readln(N);
s:=0; <-- начальное значение нужно изменить на 1.
i:=1;
while i<=N do
begin s:=s*i; <-- Знак + изменили на *.
i:=i+1;
end;
В приведенном фрагменте, поскольку s=0, результат получится равным нулю,
но если изменить начальное значение s на 1,
то в результате получится
произведение натуральных чисел от 1 до N.
В начале s=1, i=1.
После первого шага s=1·1, i=2.
После второго шага s=1·1·2, i=3.
После третьего шага s=1·1·2·3, i=4.
После четвертого шага s=1·1·2·3·4, i=5.
Нетрудно догадаться, что после N шагов получим: s=1·1·2·3·...·N, i=N+1.
Произведение натуральных чисел от 1 до N называется факториалом числа и
обозначается N! = 1·2·3·...·N. По определению 0!=1 и 1!=1.
10.4.2. Модификация 2
Посмотрим, как изменится алгоритм pr2, если в операторе i:=i+1 изменить 1 на
2. Чтобы понять, что делает приведенный ниже фрагмент программы, выполним
трассировку.
                                      97

    Тест 3: n=-1, z=2. В этом случае получим ответ: «Среди элементов
последовательности нет больших 2».
    Упражнения:
    1. Исправьте программу pr4 так, чтобы перебор элементов осуществлялся от
n-го элемента к первому.
    2. Исправьте программу pr4 так, чтобы осуществлялся поиск элемента,
совпадающего с z, среди элементов этой же последовательности с номерами от p до
q.
    3. Перепишите программу pr4, используя для организации цикла оператор
repeat - until.

               10.4. Модификации построенных алгоритмов
   Мы написали несколько циклических программ. Чтобы сконструировать новые,
можно применить приём модификации уже существующих алгоритмов. Будем
использовать для модификации написанные программы, изменять операции,
константы, переменные и наблюдать, что происходит с программой.

                            10.4.1. Модификация 1
   Посмотрим, как изменится программа pr2 из подраздела 10.3.1, если в
операторе s:=s+i изменить знак плюс на знак умножить. Чтобы понять, что делает
приведенный ниже фрагмент программы, выполним трассировку.
   { фрагмент 1 }
   readln(N);
   s:=0; <-- начальное значение нужно изменить на 1.
   i:=1;
   while i<=N do
   begin      s:=s*i; <-- Знак + изменили на *.
              i:=i+1;
   end;
   В приведенном фрагменте, поскольку s=0, результат получится равным нулю,
но если изменить начальное значение s на 1, то в результате получится
произведение натуральных чисел от 1 до N.
В начале                    s=1, i=1.
После первого шага          s=1·1, i=2.
После второго шага          s=1·1·2, i=3.
После третьего шага         s=1·1·2·3, i=4.
После четвертого шага s=1·1·2·3·4, i=5.
   Нетрудно догадаться, что после N шагов получим: s=1·1·2·3·...·N, i=N+1.
   Произведение натуральных чисел от 1 до N называется факториалом числа и
обозначается N! = 1·2·3·...·N. По определению 0!=1 и 1!=1.

                            10.4.2. Модификация 2
    Посмотрим, как изменится алгоритм pr2, если в операторе i:=i+1 изменить 1 на
2. Чтобы понять, что делает приведенный ниже фрагмент программы, выполним
трассировку.