- •Методические указания по выполнению лабораторной работы «Разработка алгоритмов для структурного программирования и их реализация. Алгоритмы ветвления и выбора» учебной дисциплины «Информатика»
- •Введение
- •1. Основные понятия теории алгоритмов
- •2. Управляющие операторы языка pascal
- •2.1. Оператор условной передачи управления
- •3. Реализация разветвляющихся алгоритмов в mathcad
- •4. Порядок выполнения лабораторной работы «Разработка алгоритмов для структурного программирования и их реализация. Часть 1: ветвление»
- •4.1. Пример 1.
- •4.2. Пример 2
- •5. Оператор выбора
- •6. Порядок выполнения лабораторной работы «Разработка алгоритмов для структурного программирования и их реализация. Часть 2: выбор»
- •7 .Вопросы для проверки
- •Форма отчета
- •9. Литература
- •Приложение (варианты заданий)
- •Оглавление
4.2. Пример 2
Этап
1. Постановка задачи 2.
Разработать
алгоритм, спецификацию, тестовый пример
и программу для вычисления температуры
в зоне обработки по формуле
,
и проверить условие
,
где K
– суммарный коэффициент условий
обработки; S
– подача станка, мм/об; n
– число оборотов шпинделя станка, об.;
t
– глубина резания, мм; Tmax
– максимально возможная температура
в зоне обработки, с точки зрения качества,
C;
x,y,z
– значения степеней, полученные
экспериментальным путем.
Этап 2. Анализ. Алгоритм (программа) должен начинаться с ввода значений x, y, z, S, n, t, K, Tmax. Затем, в зависимости от вычисленного значения температуры Т, выдается сообщение пользователю о выполнении или не выполнении поставленного условия.
Этап 3. Проектирование и определение спецификаций. Разветвляющийся алгоритм представлен на рис. 10.
Рис. 10. Алгоритм решения задачи 2.
Таблица 3.
Спецификация к алгоритму на рис. 10.
№ |
Наименование |
Обозначение в алгоритме |
Обозначение в программе |
Ед. изм. |
Статус переменной |
Тип |
1 |
Показатель степени |
х |
х |
- |
Входная |
Веществ. |
2 |
Показатель степени |
у |
у |
- |
Входная |
Веществ. |
3 |
Показатель степени |
z |
z |
- |
Входная |
Веществ. |
4 |
Cуммарный коэффициент условий обработки |
K |
K |
- |
Входная |
Веществ. |
5 |
Подача станка |
S |
S |
мм/об |
Входная |
Веществ. |
Окончание табл. 3
№ |
Наименование |
Обозначение в алгоритме |
Обозначение в программе |
Ед. изм. |
Статус переменной |
Тип |
6 |
Число оборотов шпинделя станка |
n |
n |
об. |
Входная |
Веществ. |
7 |
Глубина резания |
t |
t |
мм |
Входная |
Веществ. |
8 |
Максимально допустимая температура |
Tmax |
Tmax |
С |
Входная |
Веществ. |
9 |
Температура в зоне обработки |
T |
Tem |
С |
Расчетная |
Веществ. |
Тестовые (контрольные) примеры рассчитываем в MATHCAD (рис. 11). Тесты должны быть определены таким образом, чтобы проверить все ветви алгоритма (программы).
Рис. 11. Расчет тестовых примеров в MATHCAD для задачи 2
Знаки «» и « » для проверки неравенств находятся на панели MATHCAD «Boolean (булевое)». Результат проверки условия хранится в ячейке l, которая принимает значение «1», если условие выполняется (ТЕСТ1 на рис. 11), и принимает значение «0» при невыполнении условия (ТЕСТ2 на рис. 11). Результаты расчетов в MATHCAD занесены в табл. 4.
Таблица 4.
Тестовые примеры для задачи 2.
Номер теста |
x |
Y |
z |
K |
n |
S |
t |
Tmax |
Результат (T) |
1 |
1,0 |
1,0 |
1,0 |
11,0 |
250 |
0,4 |
0,15 |
200 |
Условие выполняется (T=165) |
2 |
1,0 |
1,0 |
1,0 |
11,0 |
250 |
2,0 |
0,15 |
200 |
Условие не выполняется (T=825) |
Этап 4. Реализация. Разрабатываем программу:
Program Temperatura; {Заголовок с именем программы}
Uses Crt; {Будет использована процедура из этой библиотеки процедур}
Var x, y, z, S, K, Tem, Tmax, n, t :real; {Описание переменных не целого типа}
Begin {Начало программных действий}
ClrScr; {Процедура очистки экрана}
Writeln(‘Введите значения х, y, z, K= ’);
Readln(х, y, z, K); {Ввод с клавиатура значения}
Writeln(‘Введите значения S, n, t = ’);
Readln(S, n, t); {Ввод с клавиатура значения}
Writeln(‘Введите значение Tmax= ’);
Readln(Tmax); {Ввод с клавиатура значения}
Tem:=K*exp(x*ln(S))*exp(y*ln(n))*exp(z*ln(t));
If (Tem<=Tmax) Then Writeln(‘Условие выполняется’)
Else Writeln(‘Условие не выполняется’); {Условный оператор}
Writeln(‘Tem=’,Tem:6:1); {Вывод значения с комментариями}
Readln; {Пустой оператор для просмотра результатов}
End. {Конец действий программы}
Результат тестирования программы:
1) Условие выполняется
Tem=165
2) Условие не выполняется
Tem=825
Сверяем полученные результаты с тестовым примером.
Вывод: результаты работы программы на алгоритмическом языке PASCAL совпадают с тестовыми (контрольными) примерами.
