- •Содержание
- •Введение Общие положения
- •Основные сведения об алгоритмах
- •Язык Паскаль и интегрированные среды разработки программ
- •Турбо-Паскаль
- •Отладка и выполнение программы
- •Порядок выполнения лабораторных работ
- •Лабораторная работа № 1. Программирование формул
- •Лабораторная работа № 2. Ветвящиеся алгоритмы
- •Лабораторная работа № 3. Циклы с известным числом повторений
- •Лабораторная работа № 4. Циклы с заранее неизвестным числом повторений
- •Лабораторная работа № 5. Средства вывода. Таблицы
- •Лабораторная работа № 6. Двойные и кратные циклы
- •Лабораторная работа № 7. Сортировка массивов
- •Сортировка простыми включениями
- •Сортировка бинарными включениями
- •Сортировка простым выбором
- •Сортировка методом пузырька
- •Метод шейкер - сортировки
- •Лабораторная работа № 8. Подпрограммы – функции
- •Лабораторная работа № 9. Подпрограммы – процедуры
- •Лабораторная работа № 10. Работа с файлами и строками
- •Задание
- •Лабораторная работа № 11. Динамические переменные. Списки
- •Типы списков.
- •Задание.
- •Лабораторная работа № 12. Графический режим монитора. Построение графиков
- •Приложение а. Основные стандартные функции
- •Приложение б. Отличия языка иср PascalAbc.Net от Delphi Добавлено
- •Изменено
- •Отсутствует
- •Литература
Лабораторная работа № 4. Циклы с заранее неизвестным числом повторений
Целью работы является освоение программирования алгоритмов с циклической структурой и выхода из цикла по условию, не зависящему от количества циклов. Примером такой задачи является вычисление суммы с бесконечным верхним пределом.
Проверка цикла осуществляется следующим образом. Так как выражение под знаком суммы постепенно убывает с ростом слагаемых в сумме (условие сходимости), то наступает момент, когда очередное слагаемое станет меньше наперед заданного числа (грубо говоря, точности вычисления сумм), и остальные слагаемые будут мало влиять на конечный результат. Поэтому, когда выражение под знаком суммы | f (i) | будет меньше , то вычисления прекращаются и предполагается, что сумма найдена с заданной точностью.
Так как количество слагаемых заранее неизвестно, то циклом FOR пользоваться нельзя. Для этих целей предназначаются циклические операторы WHILE и REPEAT. Необходимо помнить, что у этих операторов параметр цикла автоматически не изменяется, и его надо менять принудительно. Поэтому при составлении блок-схемы алгоритма блок «Модификация» не используется.
При вычислении суммы должен вычисляться факториал по формуле:
Где П – знак произведения (аналогично знаку суммы), то есть 5! = 1· 2· 3· 4· 5 = 120. Факториал можно вычислить отдельным циклом, а можно и в цикле вычисления суммы. Для этого вводится дополнительная переменная, например f = j !, и затем в цикле умножается на текущее значение j.
Кроме значения суммы на печать полезно вывести значение счетчика циклов, то есть узнать, из скольких слагаемых состоит сумма.
Варианты заданий приведены в табл.7.1.
Примечание. В языке Турбо Паскаль под переменные типа INTEGER выделяется два байта, и допустимые для них значения находятся в диапазоне только от -32768 до 32767. Поэтому число 10!, реально равное 3628800, в этом случае будет представлено как 24320. Таким образом, выражение под знаком суммы может никогда и не стать меньше заданной точности. Для работы с большими целыми числами рекомендуется использовать вещественный тип REAL с диапазоном представления от 2.9·10-39 до 1.7·1038, или, в крайнем случае, целый тип LongInt с диапазоном от ‑2.147.483.648 до 2.147.483.647.
Таблица 7.1. Варианты заданий
№ вар. |
Вычислить |
При х, равном |
Точность вычислений |
1 |
|
0,149 |
10 -5 |
2 |
|
5,99 |
10 -3 |
3 |
|
3,1 |
10 -4 |
4 |
|
1,91 |
10 -5 |
5 |
|
1,42 |
10 -3 |
6 |
|
0,99 |
10 -4 |
7 |
|
1,51 |
10 -5 |
8 |
|
3,48 |
10 -3 |
9 |
|
7,55 |
10 -4 |
10 |
|
2,15 |
10 -5 |
11 |
|
0,81 |
10 -3 |
№ вар. |
Вычислить |
При х, равном |
Точность вычислений |
12 |
|
0,77 |
10 -4 |
13 |
|
3,95 |
10 -5 |
14 |
|
1,62 |
10 -3 |
15 |
|
4,14 |
10 -4 |
16 |
|
1,24 |
10 -5 |
17 |
|
3,3 |
10 -3 |
18 |
|
2,8 |
10 -4 |
19 |
|
0,95 |
10 -5 |
20 |
|
4,5 |
10 -3 |
21 |
|
0,85 |
10 -4 |
22 |
|
2,4 |
10 -5 |
23 |
|
1,7 |
10 -3 |
№ вар. |
Вычислить |
При Х, равном |
Точность вычислений |
24 |
|
4,2 |
10 -4 |
25 |
|
2,2 |
10 -5 |
26 |
|
3,1 |
10 -3 |
27 |
|
1 |
10 -4 |
28 |
|
8,5 |
10 -5 |
29 |
|
0,15 |
10 -3 |
30 |
|
2,9 |
10 -4 |
