![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Порядок выполнения лабораторной работы ⇐ ПредыдущаяСтр 4 из 4
«Разработка алгоритмов для структурного программирования и их реализация. Часть 2: выбор» Этап 1. Постановка задачи 3. Разработать алгоритм, спецификацию, тестовый пример и программу, которая бы выбирала и вычисляла функцию через меню:
Этап 2. Анализ. Программа предоставит пользователю возможность выбрать функцию через простейшую имитацию меню, в котором каждой функции соответствует некоторое число n (код). Причем для второй функции аргумент х должен быть неотрицательным. Этап 3. Проектирование и определение спецификаций. Алгоритм программы представлен на рис. 13. Спецификация к алгоритму оформлена в табл. 5. Рис. 13. Алгоритм решения задачи 3. Таблица 5. Спецификация к алгоритму на рис. 13.
Тестовые (контрольные) примеры рассчитываем в MATHCAD (рис. 14). Тесты должны быть определены таким образом, чтобы проверить все ветви алгоритма (программы). Результаты расчетов занесены в табл. 6. Знак «=» для проверки равенств «n = 1 (2, 3, …)» находится на панели MATHCAD «Boolean (булевое)». Примечание: и в PASCAL, и в MATHCAD, в тригонометрических функциях аргумент определяется в радианах.
Рис. 14. Расчет тестовых примеров для задачи 3
Таблица 6. Тестовые примеры для задачи 3.
Этап 4. Реализация. Разрабатываем программу: Program Functia; {Заголовок с именем программы} Uses Crt; {Будет использована процедура из этой библиотеки процедур} Var x, y : real; n : byte; {Описание переменных не целого и целого типа} Begin {Начало программных действий} ClrScr; {Процедура очистки экрана} y: =0; Writeln(‘ Введите значение аргумента х(x> =0) = ’); Readln(х); {Ввод с клавиатура значения} Writeln(‘ Введите значение кода n = ’); Readln(n); {Ввод с клавиатура значения} Case n Of {Оператор выбора} {Используются составные операторы: } 1: begin y: =Sqr(sin(Pi*x)); Writeln(‘n=’, n: 1, ‘; y(’, x: 3: 1, ’)=’, y: 7: 4); End; 2: begin y: =Cos(Pi*Sqrt(x)); Writeln(‘n=’, n: 1, ‘; y(’, x: 3: 1, ’)=’, y: 7: 4); End; {Вывод значения с комментариями} 3: begin y: =Exp(x); Writeln(‘n=’, n: 1, ‘; y(’, x: 3: 1, ’)=’, y: 7: 4); End; End; {Конец оператора Case} Readln; {Пустой оператор для просмотра результатов} End. {Конец действий программы} Результаты тестирования программы: n=1; y(0.3)= 0.6545 n=2; y(2.0)= -0.2663 n=3; y(1.0)= 2.7100 Сверяем полученные результаты с тестовым примером. Вывод: результаты работы программы на алгоритмическом языке PASCAL совпадают с тестовыми (контрольными) примерами.
ВОПРОСЫ ДЛЯ ПРОВЕРКИ 1. Алгоритм. Виды алгоритмов. Формы записи алгоритмов. 2. Линейные программы. Управляющие операторы. 3. Оператор условной передачи управления. 4. Составной оператор. Оператор выбора. 5. Пакет MATHCAD. Программирование ветвлений и выбора в MATHCAD.
|