
- •Информатика
- •Лабораторный практикум
- •По программированию
- •На Турбо-Паскале
- •Содержание
- •Предисловие
- •Общая схема выполнения лабораторной работы
- •Лабораторная работа № 1
- •Var r,d: real; {раздел описаний переменных может
- •Блок-схема алгоритма
- •Текст программы
- •Результат расчета
- •Варианты заданий
- •Лабораторная работа № 2
- •If Pr then {здесь Pr – логическая переменная,}
- •Разбор контрольного варианта Задание
- •Блок-схема алгоритма
- •Текст программы
- •Результаты расчетов
- •Варианты заданий
- •Лабораторная работа № 3
- •Общие пояснения
- •Разбор контрольного варианта Задание
- •Алгоритм
- •Текст программы
- •Vvod: writeln('Сколько будет чисел?');
- •Варианты заданий
- •Лабораторная работа № 4
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам)
- •Требования к программе
- •Содержание программы
- •Общие пояснения
- •Var Massiv1,Nmbs:IntMasMax; {завели 2 целочисл. Массива}
- •Разбор контрольного варианта Задание.
- •Текст программы
- •Результаты работы
- •Варианты заданий
- •Лабораторная работа № 5
- •Общие пояснения
- •Var {здесь выделяется место под все массивы }
- •Разбор контрольного варианта Задание
- •Формирование таблицы идентификаторов
- •Алгоритм
- •Текст программы.
- •Содержимое файла результатов umnik5.Res
- •Варианты заданий
- •Лабораторная работа n 6
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам)
- •Требования к программе
- •Содержание программы
- •Общие пояснения
- •Разбор контрольного варианта Задание
- •Рассмотрение метода решения
- •Алгоритм
- •Текст программы.
- •Vvod_eps:writeln('введите минимальный размер слагаемого);
- •Результаты расчета
- •Варианты заданий
- •Лабораторная работа n 7
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам).
- •Требования к программе и отчету по работе
- •Содержание программы.
- •Пояснения к лабораторной работе Общие пояснения к использованию процедур и функций.
- •Механизм параметров
- •Разбор контрольного варианта Задание
- •Б Рисунок 7. Алгоритм 31-го варианталок-схема алгоритма Текст программы.
- •Лабораторная работа n 8
- •Алгоритмы построения графиков на экране
- •Стандартный модуль работы с графическим экраном Graph
- •Разбор контрольного варианта № 31 Задание
- •Алгоритм
- •Разбор контрольного варианта № 32 Задание
- •X,y:mas; { текущие значения переменных х иY}
- •Xmin,Xmax,t,tmin,tmax, { минимальное и максимальное значения х на графике }
- •Imin,Imax, { координаты экрана, соответствующиеYminиYmax}
- •Варианты заданий
- •Лабораторная работа № 9
- •Задачи лабораторной работы Вопросы, изучаемые в работе
- •Задание (общее ко всем вариантам)
- •Требования к программе
- •Содержание программы
- •Общие пояснения
- •Односвязные списки
- •Двусвязные списки
- •Нульсвязные списки
- •Описание файлов с данными
- •Inc(I); { стандартная процедура увеличения на 1 }
- •Разбор контрольного варианта Задание
- •Содержание программы
- •Алгоритм
- •Текст программы
- •IfBegthen{ если добавляем в начало }
- •If Beg then { если удаление из начала }
- •Варианты заданий
- •Литература
- •Приложение а. Система меню и команды Турбо-Паскаля Меню системы программирования Турбо-Паскаль
- •Главное меню
- •Опции главного меню
- •Локальные меню
- •Основные команды встроенного редактора текста
- •Приложение б. Сообщения об ошибках
- •Сообщения об ошибках на шаге выполнения
- •Приложение в. Описание числовых файлов для лабораторных работ
- •I,j : integer; {I- счетчик элементов массива, j - номер символа в файле }
- •Приложение г. Таблица ascii-кодов (с альтернативной кодировкой)
Разбор контрольного варианта Задание
Рассчитать и построить таблицу точных и приближенных значений функции
начальное значение X: A=-0.05,конечное –B=0.04, шагX –Dx=0.01(вводится с клавиатуры), требуемая точностьEPS = 1e-6(вводится с клавиатуры), тип циклического оператора– repeat(постусловие).
Рассмотрение метода решения
Расчет суммы будем проводить по рекуррентной формуле: S=S+C, т.е. новое значение суммыSесть старое значение суммыS +очередное слагаемоеC.
Чтобы получить рекуррентное соотношение для расчета слагаемых, поделим последующее слагаемое на предыдущее. Получим:
и
т.д.
Отсюда можно получить для расчета очередного слагаемого по предыдущему формулу:
C= -C*X*J/(J+1),
в которой J каждый раз увеличивается на два. Последняя рекуррентная формула (для J) : J=J+2 .
Очевидно, что все эти операторы должны выполняться в цикле с заранее неизвестным числом шагов. Для начала расчета необходимо задать исходные значения для J, C и S. Вполне естественно начальными значениями C и S взять первое слагаемое, т.е. единицу, а величину J подобрать такой, чтобы на первом шаге вычислить второе слагаемое по первому, т.е. J перед входом в цикл тоже сделать равным единице.
Окончание цикла осуществим, когда очередное слагаемое станет по модулю меньше EPS, но не более чем после сотого слагаемого. Последнее ограничение вводим для предотвращения возможности бесконечного цикла в случае возможных ошибок программирования.
В задании для организации итеративного цикла предложено использовать оператор repeat, поэтому условие выхода запишется:
. . .
until (abs(C) < EPS) or (K >100);
Полученные значения S, K, а также вычисленное выражение F(X) и величину аргумента X будем печатать с учетом размеров возможных значений в следующем порядке: X,F(x),S,K, разделяя их вертикальной чертой:
writeln('|',X:6:2,'|',1.0/Sqr(1.0+X):10:7,'|',
S:10:7,'|',K:3,'|');
Значения не подписываем, так как расчет придется повторить несколько раз и насчитанные значения образуют таблицу, которую и озаглавим один раз до начала расчета по всем значениям X, например:
writeln('| X | F(x) | S | K |');
Так как в данном варианте нам даны начальное и конечное значения X и шаг его изменения, необходимо сначала вычислить, сколько будет значений X (и строк в таблице):
Nx:=Trunc((B-A)/Dx) +1; {функция Trunc отбрасывает
дробную часть аргумента}
Добавляется единица, так как число точек всегда на один больше числа интервалов между ними. Это, кстати, следует помнить при вычислении Dx по Nx:
Dx := (B - A)/(Nx - 1);
Таблица идентификаторов
Таблица 21. Идентификаторы программы 31 варианта
Имя |
Тип |
Р-р (байт) |
Назначение |
Tabl_Of_Fx |
Имя программы |
- |
Расчет таблицы значений функции |
A |
Веществ.константа |
6 |
Начальное значение 0.05 |
B |
" |
6 |
Конечное значение 0.04 |
X |
Вещественное |
6 |
Значение аргумента на j-том шаге |
Dx |
" |
" |
Шаг аргумента |
S |
" |
" |
Сумма |
C |
" |
" |
Очередное слагаемое |
EPS |
" |
" |
Заданная точность |
Nx |
Целое |
2 |
Количество шагов |
J |
" |
" |
Номер строки таблицы |
K |
" |
" |
Количество слагаемых |
i |
" |
" |
Счетчик цикла по X |
fout |
Послед. симв. файл |
128 |
Для выходного файла |
Vvod_Dx |
Метка |
– |
Начало блока ввода шага |
Vvod_EPS |
Метка |
– |
Начало блока ввода точности |