- •Содержание
- •Раздел 2.Программирование на процедурном языке turbo pascal 3
- •Раздел 2.Программирование на процедурном языке turbo pascal Лабораторная работа №1. Знакомство с интегрированной средой Turbo Pascal 7.0. Разработка первой программы.
- •Лабораторная работа № 2. Разработка программ, реализующих линейный процесс в среде Turbo Pascal 7.0.
- •Лабораторная работа № 3. Разработка программы, включающей различные форматы ввода/вывода данных средствами языка Pascal.
- •Лабораторная работа № 4. Вычисление алгебраических выражений с использованием стандартных процедур и функций языка Pascal.
- •Лабораторная работа № 5. Разработка программы для решения текстовой задачи в среде Turbo Pascal 7.0.
- •Лабораторная работа № 6. Вычисление заданного выражения при произвольных значениях переменных с использованием нескольких окон на одном экране. Работа с цветом в текстовом режиме.
- •Лабораторная работа № 7. Использование языка программирования для разработки программ вычисления математических выражений с использованием оператора if.
- •If выражение then оператор1
- •Лабораторная работа № 8. Разработка программы для решения текстовых задач, содержащих ветвление
- •Лабораторная работа № 9. Использование языка программирования для реализации разветвляющихся алгоритмов с использованием выражения – селектора в среде Turbo Pascal 7.0.
- •Лабораторная работа № 10. Разработка программ для реализации простых циклических алгоритмов средствами языка Pascal.
- •Лабораторная работа № 11. Разработка программ, включающих алгоритмы работы с числом
- •Лабораторная работа № 12. Реализация задачи табулирования функции на заданном отрезке в среде Turbo Pascal.
- •Лабораторная работа № 13. Вычисление суммы бесконечного ряда с заданной степенью точности в среде Turbo Pascal.
- •Лабораторная работа № 14. Разработка программ, включающих циклический процесс средствами языка Turbo Pascal.
- •Лабораторная работа № 15. Разработка программы реализации текстовой задачи, содержащей условия и циклы.
- •Лабораторная работа № 16. Разработка программы реализации задачи, содержащей одномерный массив данных.
- •Лабораторная работа № 17. Разработка программы реализации задачи, содержащей двумерный массив данных.
- •Лабораторная работа № 18. Методы сортировки массива в среде Turbo Pascal
- •Лабораторная работа № 19. Разработка программы работы со строками в среде Turbo Pascal
Лабораторная работа № 12. Реализация задачи табулирования функции на заданном отрезке в среде Turbo Pascal.
Цель работы:
закрепить теоретические знания об условных и циклических операторах
научиться использовать возможности языка программирования для реализации задачи табулирования функции на заданном отрезке
закрепить практические навыки по составлению тестов и отладке программы
Оборудование:
программная часть – интегрированная среда Turbo Pascal 7.0
аппаратная часть - ПЭВМ IBM PC/XT
задание на выполнение работы в электронном варианте
Теоретическая часть
Табулирование функции — это вычисление значений функции при изменении аргумента от некоторого начального значения до некоторого конечного значения с определённым шагом. Именно так составляются таблицы значений функций, отсюда и название — табулирование. Необходимость в табулировании возникает при решении достаточно широкого круга задач. Например, при численном решении нелинейных уравнений f(x) = 0, путём табулирования можно отделить (локализовать) корни уравнения, т.е. найти такие отрезки, на концах которых, функция имеет разные знаки. С помощью табулирования можно (хотя и очень грубо) найти минимум или максимум функции. Иногда случается так, что функция не имеет аналитического представления, а её значения получаются в результате вычислений, что часто бывает при компьютерном моделировании различных процессов. Если такая функция будет использоваться в последующих расчётах (например, она должна быть проинтегрирована или продифференцирована и т.п.), то часто поступают следующим образом: вычисляют значения функции в нужном интервале изменения аргумента, т.е. составляют таблицу (табулируют), а затем по этой таблице строят каким-либо образом другую функцию, заданную аналитическим выражением (формулой). Необходимость в табулировании возникает также при построении графиков функции на экране компьютера.
Практическая часть
Пример.
Дана
функция
.
Протабулировать функцию на отрезке
[m…n]
с шагом h
при m=1,2;
n=2,5’
b=2;
h=0.2.
Каждая пара значений x и y должна быть записана в таблицу результатов счета.
Запишем алгоритм решения задачи.
1. Зададим значение неизменяемым параметрам b, m, n, h.
2. Опишем тип используемых в программе переменных x, y.
3. Определим начальное m значение переменной x.
4. Вычислим значение функции в этой точке по заданной формуле.
5. Выведем на экран значения x, y.
6. Увеличим значение x на величину шага h.
7. Проверим, достигло ли это значение конечного значения n.
8. Если – нет, то возвращаемся на пункт 4, если – да, то переходим на пункт 9.
9. Конец.
В соответствии с алгоритмом составим программу:
Program LAB12;
Label 1,2;
Const
m=1.2; n=2.5; b=2; h=0.2;
Var
x, y: real;
Begin
writeln (‘x y’);
1: y:=sin(x) + 5*b;
writeln(x:6:1,y:6:1);
x:=x+h;
if x<=n then goto 1 else goto 2;
2: End.
Прокомментируем работу программы:
вначале после ключевого слова Program объявляется имя программы, которое обязательно должно начинаться с буквы латинского алфавита или символа _ (в общем случае ключевое слово PROGRAM с именем программы может отсутствовать);
в разделе Label опишем используемые в программе метки;
в разделе Const задаем значения неизменяемым переменным;
в разделе Var описываем тип ля аргумента x и результата y;
оператор Write выводит на дисплей в свободном формате символьную константу, которая заключена в апострофы. Эта последовательность символов является наименованием столбцов последующей таблицы результатов;
вычисляем значение y по заданной формуле;
выводим на экран полученное значение и соответствующее ему значение аргумента;
увеличиваем значение аргумента на заданную величину шага;
проверяем: достигло ли это значение заданного конечного? Если – да, программа завершает работу, если – нет, то осуществлется переход на метку 1, в строку, где вычисляется очередное значение y.
Задания для самостоятельного выполнения
Ознакомиться с теоретической частью инструкции и рассмотреть пример.
Составить блок-схему решения задачи.
Разработать программу в среде Turbo Pascal 7.0. с реализацией цикла посредством условного оператора.
Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы.
ТАБЛИЦА ФУНКЦИИ Y(X)
X Y
…….. ……..
…….. ……..
Разработать второй вариант программы в среде Turbo Pascal 7.0. с реализацией цикла через циклический оператор (вторым вариантом дополнить текст программы первого варианта).
Проверить работу программы. Проанализировать результаты по вариантам 1,2.
На листе бумаги составить график функции по полученным значениям.
Ответить на контрольные вопросы.
Результаты выполнения лабораторной работы оформить в виде отчета.
Индивидуальные задания:
Вычислить значение функции, заданной в таблице. Осуществить вывод значений вводимых исходных данных и результат вычисления значения функции, сопровождая вывод наименованиями переменных.
-
Варианты
задания
Функция
Условие
Исходные
данные
Диапазон и шаг
изменения
аргумента
1
2
3
4
5
6
7
8
__
10
11
12
13
14
15
a = 1,2
b = 2
Контрольные вопросы
Какой процесс называют табулированием функции?
Какими способами можно осуществить процесс табулирования функции?
Какие действия выполняются оператором безусловного перехода?
Что такое вычислительный процесс разветвляющейся структуры? Как организовать разветвление вычислений: а) на две ветви; б) на три ветви?
Зачем необходимо при отладке программы тестировать все ветви алгоритма?
Как определить: какой цикл следует использовать в том или ином случае?
Почему при решении данной задачи нельзя использовать цикл For?
Укажите последовательность действий, выполняемых при организации циклических участков программы с заданным числом повторений.
Почему при решении данной задачи необходимо использовать и условный оператор, и оператор цикла?
