«Разработка алгоритмов для структурного программирования и их реализация. Часть 2: выбор»
Этап 1. Постановка задачи 3. Разработать алгоритм, спецификацию, тестовый пример и программу, которая бы выбирала и вычисляла функцию через меню:
.
Этап 2. Анализ. Программа предоставит пользователю возможность выбрать функцию через простейшую имитацию меню, в котором каждой функции соответствует некоторое число n (код). Причем для второй функции аргумент х должен быть неотрицательным.
Этап 3. Проектирование и определение спецификаций. Алгоритм программы представлен на рис. 13. Спецификация к алгоритму оформлена в табл. 5.
Рис. 13. Алгоритм решения задачи 3.
Таблица 5.
Спецификация к алгоритму на рис. 13.
№ | Наименование | Обозначение в алгоритме | Обозначение в программе | Ед. изм. | Статус | Тип |
Аргумент функции | х | х | - | Входная переменная | Не целый | |
Код | n | n | - | Входная переменная | Целый | |
Значение функции | у | у | - | Выходная переменная | Не целый |
Тестовые (контрольные) примеры рассчитываем в MATHCAD (рис. 14). Тесты должны быть определены таким образом, чтобы проверить все ветви алгоритма (программы). Результаты расчетов занесены в табл. 6. Знак «= » для проверки равенств «n = 1 (2, 3, …)» находится на панели MATHCAD «Boolean (булевое)».
Примечание: и в PASCAL, и в MATHCAD, в тригонометрических функциях аргумент определяется в радианах.
Рис. 14. Расчет тестовых примеров для задачи 3
Таблица 6.
Тестовые примеры для задачи 3.
Номер теста | х | n | Результат у |
0,3 | 0,655 | ||
-0,266 | |||
2,718 | |||
ПРИЛОЖЕНИЕ (варианты заданий)
№ | Постановка задачи |
Дано уравнение ![]() | |
Вычислить ![]() | |
Дан год. Определить, является ли год високосным. | |
Дано целое число. Определить, является ли оно четным. | |
Вычислить ![]() | |
Температура плавления металла ![]() ![]() ![]() ![]() | |
Дано не целое число. Проверить, находится ли значение этого числа в интервале от А до В. | |
Требуемое значение шероховатости после обработки Ra ![]() ![]() ![]() | |
Пересекаются ли графики функций ![]() ![]() ![]() | |
Требуемая стойкость инструмента Т ![]() ![]() ![]() | |
Вычислить коэффициенты: k ![]() ![]() ![]() ![]() ![]() | |
Вычислить ![]() | |
Вычислить функцию ![]() ![]() ![]() | |
Дано целое число в диапазоне 0…9. Преобразовать это число в словесную форму, например, 0 – «ноль»; 1 – «единица» и т.д. | |
Дано целое число от 1 до 7. Какой день недели означает значение введенного числа? | |
Дано целое число от 1600 до 2004. Какой век означает значение введенного числа? | |
Дано целое число от 1 до 9. По значению числа (которое означает возраст ребенка) добавить в предложение одно из слов: "год", "года", "лет" | |
Дано целое число от 1 до 12. По значению числа определить месяц года. | |
Вычислить ![]() | |
Вычислить ![]() |
ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ«Разработка алгоритмов для структурного программирования и их реализация. Алгоритмы организации циклической обработки. Часть 1: счетный цикл»
Этап 1. Постановка задачи 1. Разработать алгоритм, спецификацию и тестовый пример, которая вычисляла бы сумму n первых чисел ряда .
Этап 2. Анализ. Сумма определяется методом накопления. Количество суммируемых чисел известно, поэтому используем цикл с заданным количеством повторений. При каждом проходе к сумме будем добавлять значение дроби , где j будет изменяться от 1 до n. Перед началом цикла необходимо переменную суммы S обнулить.
Этап 3. Проектирование и определение спецификаций. На рис. 1 приведена схема алгоритма. Спецификация к алгоритму выполнена в табл. 1. В физико-математической программной среде MATHCAD выполним расчет тестового примера (рис. 2). На панели «Programming (программирование)» знак «» означает присваивание идентификатору определенного значения, например, S0 – означает команду обнуления значения S. Для организации цикла (повторений) вычислений используется структура for на той же панели «Programming».
Рис. 1. Блок – схема алгоритма решения задачи 1.
Таблица 1.
Спецификация к алгоритму на рис. 1.
№ | Наименование | Обозначение в алгоритме | Обозначение в программе | Статус переменной | Тип |
Количество членов ряда | n | N | Входная | Целый | |
Переменная цикла | j | J | Расчетная | Целый | |
Значение суммы n членов ряда | S | S | Выходная | Не целый |
Рис. 2. Расчет тестовых примеров для алгоритма решения задачи 1
Таблица 2.
Тестовые примеры для задачи 1.
Номер теста | n | Результат S |
6,47 | ||
12,91 |