Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Порядок выполнения лабораторной работы






«Разработка алгоритмов для структурного программирования и их реализация. Часть 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
       

 

Этап 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.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.