
- •Часть 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 Ошибки стадии выполнения
- •Ошибки ввода-вывода
- •Фатальные ошибки
- •Библиографический список
Вычисление суммы бесконечного ряда с заданной точностью.
Пусть задача заключается в том, чтобы с точностью до заданного найти
По
определению, за сумму бесконечного ряда
принимается предел последовательности
его частичных сумм. Обозначим за
,
тогда
С помощью аналогичных рассуждений, для
вычисления предела последовательности
с заданной точностью, задача вычисления
суммы бесконечного ряда с заданной
точностью сводится к отысканию его
частичной суммы
,
для которой выполняется:
,
и эта величина может быть принята за
сумму бесконечного ряда с точностью до
:
Рассмотрим подробнее условие выхода из цикла вычислений:
.
Задача отыскания суммы бесконечного ряда с заданной точностью может быть алгоритмизирована на основе итерационного цикла, тело которого содержит в себе вычисление следующего члена ряда и частичной суммы , а условием выхода из цикла является условие, что модуль текущего члена ряда не превосходит .
Исходными данными алгоритма являются точность вычисления и значения параметров ряда, если они присутствуют, а результатом алгоритма является значение суммы S.
Найти с точностью до
значение суммы ряда
.
Обозначим за
,
,
тогда
,
при этом
.
Исходными данными алгоритма являются значения точности и параметра x, а выходными данными – значение суммы S.
Организуем цикл, в котором будем вычислять текущее значение члена ряда и частичную сумму , условием выхода из цикла является условие, что модуль текущего члена ряда меньше .
Заполним таблицу имен объектов:
Имя объекта в задаче |
Имя объекта в блок-схеме |
Тип объекта |
Примечание |
|
N |
Целая переменная |
Счетчик цикла, номер текущего члена ряда |
|
X |
Вещественная переменная |
Параметр ряда |
|
EPS |
Вещественная переменная |
Точность вычислений |
|
А |
Вещественная переменная |
Текущий член ряда |
|
S |
Вещественная переменная |
Текущее значение частичной суммы |
Запишем схему алгоритма по шагам:
Ш1. Ввод X, EPS.
Ш2. S присвоить 0.
Ш3. N присвоить 1.
Ш4. А присвоить
.
Ш5. S присвоить S+A.
Ш6. N присвоить N+1.
Ш7. Если |A|<EPS, то выход из цикла, иначе перейти на Ш4.
Ш8. Вывод S.
Ш9. Конец.
Б
лок-схема
этого алгоритма приведена на рис 2.10.
Поясним работу этого алгоритма таблицей трассировки для X=2, EPS=0.1.
№ действия |
№ блока |
Результат действия |
1 |
1 |
Ввод X=2, EPS=0.1 |
2 |
2 |
S=0 |
3 |
3 |
N=1 |
4 |
4 |
A=1/21=0.5 |
5 |
5 |
S=0+0.5=0.5 |
6 |
6 |
N=1+1=2 |
7 |
7 |
|0.5|<0.1, нет |
8 |
4 |
А=1/22=0.25 |
9 |
5 |
S=0.5+0.25=0.75 |
10 |
6 |
N=2+1=3 |
11 |
7 |
|0.25|<0.1, нет |
12 |
4 |
А=1/23=0.125 |
13 |
5 |
S=0.75+0.125=0.875 |
14 |
6 |
N=3+1=4 |
15 |
7 |
|0.125|<0.1, нет |
16 |
4 |
А=1/24=0.0625 |
17 |
5 |
S=0.875+0.0625=0.9375 |
18 |
6 |
N=4+1=5 |
19 |
7 |
|0.0625|<0.1, да |
20 |
8 |
Вывод S=0.9375 |
Для всех заданий этого раздела следует разработать алгоритм и программу. Оператор GOTO использовать запрещается!
Найти сумму бесконечного ряда
с точностью до ε,
.
Найти сумму бесконечного ряда
с точностью до ε.
Найти сумму бесконечного ряда
с точностью до ε.
Найти сумму бесконечного ряда
с точностью до ε.
Найти сумму бесконечного ряда
с точностью до ε.
Найти сумму бесконечного ряда
с точностью до ε.
Найти величину
с точностью до ε, используя для вычислений формулу суммы бесконечного ряда,
:
Найти сумму бесконечного ряда
с точностью до ε.
Найти сумму бесконечного ряда
с точностью до ε, где
.
Вычислить произведение
. Вычисления остановить при выполнении условия
Вычислить предел последовательности {
} при n
, где вычисляется по формуле
.
Значения
вводятся с клавиатуры. Вычисления
прекращаются при выполнении условия
.
Найти предел последовательности
с точностью до ε.
Найти предел последовательности
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти предел функции
с точностью до ε.
Найти сумму бесконечного ряда
с точностью до .
Найти сумму бесконечного ряда
с точностью до .
Найти сумму бесконечного ряда
с точностью до , .
Найти сумму бесконечного ряда
с точностью до , .
Найти сумму бесконечного ряда
с точностью до , .
Найти сумму бесконечного ряда
с точностью до , .