pin-1206_laboratornaya_rabota_2_ermolaev_a.v

advertisement
МИНОБРНАУКИ РФ
Федеральное Государственное бюджетное
Образовательное учреждение
Высшего профессионального образования
Кафедра программного обеспечения
Лабораторная работа по курсу: Информатика и программирование
Вариант №6
Выполнил: студент группы ПИН-1206
Ермолаев Андрей Валерьевич
Проверил: Мальков Александр Анатольевич
Тверь 2012 г.
Лабораторная работа №2
Постановка задачи
Разработать
алгоритм
для
вычисления
значений
функции
(разветвляющийся вычислительный процесс) и реализовать его в Excel

ln x, x  5

y  cos x, 11  x  12
 150

, x  20
 205  x
Реализация задачи
В задаче требуется вычислить функцию, вид которой зависит от значения
аргумента. Поэтому разобьем числовую ось значениями, указанными в формуле на
несколько промежутков, указав при этом, какой должен быть результат вычислений
на каждом промежутке:
𝑦 = ln 𝑥
𝑦 = cos 𝑥
НФЗ
5
11
𝑦=
НФЗ
12
150
√205−𝑥
20
При разработке алгоритма будем рассматривать промежутки числовой оси слева
направо. Обозначения в алгоритме: ФНЗ – функция не задана; ФНО – функция не
определена.
Записывая основной алгоритм решения задачи, вместо вычислений каждой части
функции для упрощения будем писать блок1, блок2 и блок3. Поставим в
соответствие каждому блоку алгоритм вычисления конкретной функции с учетом её
области определения. Последний этап разработки алгоритма решения исходной
задачи – подстановка в основной алгоритм вместо блоков 1,2,3 соответствующих
вычислительных алгоритмов.
Сделаем небольшое замечание относительно записи текста алгоритма.
Рекомендуется записывать текст алгоритма «ступеньками», т.е. новый блок «если –
иначе» нужно записывать с отступом относительно предыдущего блока «если –
иначе» и т.д. Так же следует поступать и при записи текста программы,
соответствующей алгоритму. Одной из причин этого является то, что структура
алгоритма и программы хорошо просматривается, что может помочь при
обнаружении синтаксических ошибок.
Основной алгоритм:
ввод х
если х<5
блок1
иначе
если x<11
«ФНЗ»
иначе
если x<12
блок2
иначе
если х<=20
«ФНЗ»
иначе
блок3
все_если
все_если
все_если
все_если
Рассмотрим вычисления в каждом из блоков 1, 2 и 3 отдельно.
Блок1. Требуется вычислить функцию 𝑦 = ln 𝑥. Здесь никаких ограничений на
вычисления нет. Таким образом, получаем:
𝑦 = ln 𝑥
печать у
Блок2. Требуется вычислить функцию 𝑦 = cos 𝑥. Здесь никаких ограничений на
вычисления нет. Таким образом, получаем:
𝑦 = cos 𝑥
печать у
Блок3. Требуется вычислить функцию 𝑦 =
150
√205−𝑥
. При вычислении учитываем,
что подкоренное выражение должно быть больше или равно. Таким образом,
получаем:
если 205-х>=0
𝑦=
150
√205−𝑥
печать у
иначе
«ФНО»
все_если
В основной алгоритм вместо блоков 1,2,3 подставим алгоритмы вычисления
соответствующих частей функции. В итоге получаем алгоритм решения исходной
задачи.
ввод х
если х<5
𝑦 = ln 𝑥
печать у
иначе
если x<11
«ФНЗ»
иначе
если x<12
𝑦 = cos 𝑥
печать у
иначе
если х<=20
«ФНЗ»
иначе
если 205-х>=0
𝑦=
150
√205−𝑥
печать у
иначе
«ФНО»
все_если
все_если
все_если
все_если
все_если
Для построения функции Excel необходимо использовать логическую функцию
ЕСЛИ(), которая устроена следующим образом.
Эта функция может в качестве аргументов использовать другие функции ЕСЛИ().
Таким образом, при условии, что в ячейке А2 будет вводиться значение
переменной х, то, например, в ячейку В2 можно ввести формулу Excel для
вычисления значения заданной функции.
Download