
- •Часть I. Этапы решения задачи на компьютере 7
- •Часть II. Задачи. Алгоритмизация и программирование 15
- •Часть III. Теоретические положения и примеры программ 188
- •Введение
- •Часть I. Этапы решения задачи на компьютере
- •1.1 Постановка и формализация условий задачи
- •1.2 Алгоритмизация задачи
- •1.2.1 Интерпретация объектов
- •1.2.2 Вычислительная схема
- •1.2.3 Вычислительная схема решаемой задачи
- •1.2.4 Составление блок-схемы
- •1.2.5 Трассировка
- •1.3 Составление программы на языке Паскаль
- •1.4 Подготовка текста программы на машинном носителе
- •1.5 Трансляция (компиляция) программы
- •1.6 Компоновка (редактирование связей)
- •1.7 Запуск программы на исполнение
- •1.8 Анализ результатов
- •Часть II. Задачи. Алгоритмизация и программирование классических вычислительных процессов
- •1 Линейный вычислительный процесс
- •1.1 Программирование формул
- •1.2 Формализация и алгоритмизация задачи
- •2 Разветвляющийся вычислительный процесс
- •2.1 Программирование формул
- •2.2 Формализация и алгоритмизация графических задач
- •2 .3 Параметрические задачи
- •3 Циклические вычислительные процессы
- •3.1 Арифметический цикл
- •Вычисление произведения n сомножителей.
- •Табулирование функции на конечном отрезке.
- •3.2 Итерационный цикл
- •Вычисление предела последовательности с заданной точностью.
- •Вычисление суммы бесконечного ряда с заданной точностью.
- •3.3 Арифметические циклы с рекуррентными соотношениями
- •3.4 Итерационные циклы с рекуррентными соотношениями
- •3.5 Двойной вложенный цикл
- •4. Пользовательские алгебраические функции
- •4.1 Применение функции в линейных и разветвляющихся вычислительных процессах
- •4.2 Использование функции в циклических процессах
- •4.3 Табуляция функции
- •5 Одномерные числовые массивы
- •5.1 Работа с компонентами массива
- •5.2 Работа с векторами
- •6 Двумерные числовые массивы
- •6.1 Работа с элементами массива
- •6.2 Работа с векторами и матрицами
- •6.3 Использование процедур и функций для работы с массивами
- •7 Работа со строками
- •7.1 Анализ и преобразование текста строки
- •7.2 Работа со строковыми функциями и процедурами
- •8 Работа со списками
- •8.1 Стеки
- •8.2 Очереди
- •8.3 Бинарные деревья
- •9 Работа с текстовыми файлами
- •10 Работа с файлами записей
- •11 Компьютерная графика
- •12 Анимация изображений
- •Часть III. Теоретические положения и примеры программ
- •1 Вычисление определителя квадратной матрицы
- •2.2 Использование записей для описания таблиц
- •Работа с полями записи
- •Использование оператора with … do
- •Ввод данных в массив записей с клавиатуры
- •2.3 Вложение записей
- •Присвоение значений полям вложенных записей
- •3 Файлы записей
- •3.1 Структура файла
- •3.2 Встроенные процедуры и функции обработки файлов
- •3.3 Организация последовательного доступа к записям файла
- •3.4 Организация прямого доступа к компонентам файла
- •3.5 Создание индексного файла
- •3.6 Работа с файлом произвольного доступа
- •Просмотр файла
- •Редактирование записей
- •Изменение структуры основного файла
- •Использование клавиш для управления программой
- •Удаление записи из файла
- •Добавление записи в файл
- •3.7 Информационное взаимодействие текстовых файлов и файлов записей
- •Экспорт данных. Копирование информации из файла записей в текстовый файл
- •Импорт данных. Копирование информации из текстового файла в файл записей
- •3.8 Запросы к файлам записей
- •Запрос с группировкой
- •4 Графическое программирование
- •4.1 Управление видеорежимом
- •Инициализация видеорежима. Процедура InitGraph
- •Закрытие видеорежима. Процедура CloseGraph
- •Создание графического окна. Процедура SetViewPort
- •Закрытие графического окна. Процедура ClearDevice
- •4.2 Построение графических фигур
- •Построение прямой линии. Процедуры SetColor, SetLineStyle, Line, LineRel, LineTo
- •Построение прямоугольника. Процедуры Rectangle и Bar
- •Построение окружности. Процедура Circle
- •Построение дуги окружности. Процедура Arc
- •Построение эллипса. Процедуры Ellipse, FillEllipse
- •Построение сектора. Процедуры PieSlice, Sector
- •4.3 Корректировка изображения Процедуры GetAspectRatio, SetAspectRatio
- •4.4 Создание пользовательского шаблона заливки
- •Заливка замкнутой области. Процедура FloodFill
- •Построение и окраска произвольного рисунка на примере замка
- •Построение и заливка правильного многоугольника
- •4.5 Работа с текстом
- •Выбор стандартного шрифта. Процедура SetTextStyle
- •Коррекция стандартного шрифта. Процедура SetUserCharSize
- •Вывод числовых величин на экран
- •5 Анимация изображений
- •5.1 Дублирования спрайта цветом фона
- •5.2 Манипулирование фрагментами изображения
- •5.3 Использование страниц видеопамяти
- •6 Сообщения об ошибках
- •6.1 Ошибки стадии компиляции
- •6.2 Ошибки стадии выполнения
- •Ошибки ввода-вывода
- •Фатальные ошибки
- •Библиографический список
3.4 Итерационные циклы с рекуррентными соотношениями
Итерационные циклы с рекуррентными соотношениями используются для нахождения предела рекуррентной последовательности, либо для нахождения суммы бесконечного ряда, образованного членами рекуррентной последовательности.
Рассмотрим пример решения второй из указанных задач.
Пусть даны первые три члена рекуррентной
последовательности
а все последующие члены вычисляются по
формуле
По введенному значению точности
надо найти
с точностью до
.
Блок-схема решаемой задачи приведена на рис. 2.12.
Программа для решения задачи:
PROGRAM REKURITER;
VAR Y0,Y1,Y2,YN,YN1,YN2,YN3,E,S: REAL;
I: INTEGER;
BEGIN
WRITELN(‘ENTER Y0,Y1,Y2,E’);
READLN(Y0,Y1,Y2,E);
YN1:=Y2;YN2:=Y1;YN3:=Y0;
S:=Y0+Y1+Y2;
YN:=(YN1+2*YN2+YN3)/4;
S:=S+YN;
I:=3;
WHILE ABS(YN-YN1)>E DO
BEGIN
YN3:=YN2; YN2:=YN1; YN1:=YN;
YN:=(YN1+2*YN2+YN3)/4;
S:=S+YN;
I:=I+1;
END;
WRITELN(‘S=’, S:10:4);
END.
При решении задач данного раздела следует использовать итерационный цикл. Для реализации этого вида циклов рекомендуются операторы REPEAT … UNTIL или WHILE … DO. Вычислительный процесс должен использовать одну или две рекуррентные формулы вида . Для всех заданий этого раздела следует разработать алгоритм и программу.
Вычислить предел последовательности { } при n , где вычисляется по формуле
.
Значения вводятся с клавиатуры. Вычисления прекратить при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
.
Значение
вводится с клавиатуры. Вычисления
прекратить при выполнении условия
.
Вычислить предел последовательности { } при n , где вычисляется по формуле
.
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Конец
|yn-yn1|>EPS
N=4
N=N+1
yn3=yn2 yn2=yn1 yn1=yn
Вывод yn
да
нет
Рис. 2.12 Блок-схема итерационного цикла
с рекуррентными соотношениями
Вычислить предел последовательности { } при n , где вычисляется по формуле
.
Значения вводятся с клавиатуры. Вычисления прекратить при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
.
Значение вводится с клавиатуры. Вычисления прекратить при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
.
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Вычислить предел последовательности { } при n , где
, а вычисляется по формуле
.
Значение вводится с клавиатуры. Вычисления прекращаются при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Вычислить предел последовательности { } при n , где вычисляется по формуле
Значения вводятся с клавиатуры. Вычисления прекращаются при выполнении условия .
Последовательность функций
, где
определяется следующим образом:
При заданном X найти предел последовательности, принимая за таковой значение , удовлетворяющее условию .
Последовательность функций , где
определяется следующим образом:
При заданном X найти предел последовательности, принимая за таковой значение , удовлетворяющее условию .
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до ε.
.
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до ε, где
.
.
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до ε, где .
.
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до ε, где .
.
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до ε.
,
где
.
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до ε, где .
.
Найти предел произведения
для последовательности { }, пользуясь рекуррентной формулой
Вычисления закончить при выполнении
условия
.
Дано действительное число x, |x|>1. Пользуясь рекуррентной формулой вычислить с заданной точностью ε.
23. Дано действительное число x, |x|<1. Пользуясь рекуррентной формуло вычислить с заданной точностью ε.
24.Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.
25. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.
26. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.
27. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, x>0.
28. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε.
29. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1
30. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.
31. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|>1.
32. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.
33. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.
34. Пользуясь рекуррентной формулой вычислить сумму членов бесконечного ряда с заданной точностью ε, |x|<1.