МИНОБРНАУКИ РФ Федеральное Государственное бюджетное Образовательное учреждение Высшего профессионального образования Кафедра программного обеспечения Лабораторная работа по курсу: Информатика и программирование Вариант №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 для вычисления значения заданной функции.