Контрольное задание № 1
Вариант вашего задания задает преподаватель! Составьте программу вычисления значения функции y=f(x) (см. Таблицу 2) при произвольном значении x. Проверьте правильность вычисления, задавая произвольные значения x. Отчет по заданию оформите в письменном виде! Отчет должен содержать: · условия задачи; · блок-схему алгоритма; · текст программы; · исходные данные; · полученные результаты. Табл.2
Лабораторная работа №3. Цель работы: Научиться использовать условный оператор для программирования разветвляющихся алгоритмов. Алгоритм называется разветвляющимся, если он содержит несколько ветвей, отличающихся друг от друга содержанием вычислений. Выход вычислительного процесса на ту или иную ветвь алгоритма определяется условием. Блок-схемы базовых структур разветвляющихся алгоритмов имеют вид:
В QBasic для организации ветвления используется условный оператор. Условный оператор имеет несколько форматов записи, соответствующих приведенным блок-схемам. 1) Для неполной развилки условный оператор имеет укороченную структуру: IF <условие > THEN <оператор > Если <условие> справедливо (принимает значение TRUE), то программа выполняет тот оператор, который стоит после ключевого слова THEN, и дальше руководствуется обычным порядком действий. Если <уcловие>принимает значение FALSE, то оператор, стоящий после THEN не выполняется, и программа сразу переходит к оператору, следующему за условным оператором IF. В случае, когда при выполнении условия требуется выполнить группу операторов используется структура: IF <условие > THEN <оператор 1> < оператор 2 > … <операторN > END IF Важно! Конструкция IF...THEN позволяет в зависимости от справедливости условия либо выполнить оператор, либо пропустить этот оператор. Конструкция IF...THEN...END IF позволяет в зависимости от справедливости условия либо выполнить группу операторов, либо пропустить эту группу операторов. Рассмотрим применение укороченного условного оператора при решении практических задач. Пример 1. Проверить, равно ли введенное с клавиатуры число некоторому значению, и в случае равенства выдать на экран сообщение о равенстве значений. Текст программы имеет вид: REM Сравнение числа с каким-либо значением INPUT "Введите а"; а IF a = 7 THEN PRINT "Числа равны" END После запуска программы проверяется, равно ли введенное с клавиатуры число 7 или нет. В случае равенства на экран выводится сообщение “Числа равны”. 2) Для полной развилки (т.е. организации вычислений по двум направлениям) используется условный оператор IF...THEN...ELSE...END IF, который имеет структуру: IF <условие > THEN <группа операторов1 > ELSE <группа операторов 2 > END IF Если <условие> принимает значение TRUE, то выполняется <группа операторов 1>, а <группа операторов 2> будет пропущена. Если <условие> принимает значение FALSE, то выполняется <группа операторов2>, а <группа операторов 1> будет пропущена. Важно! Группа операторов может состоять только из ОДНОГО оператора. Пример 2. Составить программу для нахождения значения функции у = | х – 1| при произвольном значении х. Как известно значение функции у зависит от знака величины, записанной под знаком модуля, и вычисляется по формуле:
Текст программы имеет вид: REM Нахождение модуля выражения CLS INPUT “Введите значение переменной х”; x IF x - 1< 0 THEN y = - x + 1 ELSE y = x – 1 END IF PRINT “y=”; y
3) Для вложенной развилки, когда требуется организовать вычисления по трем и более ветвям используется составной условный оператор, имеющий структуру: IF <условие 1 > THEN <группа операторов1 > ELSEIF <условие 2 > THEN <группа операторов2 > ELSE <группа операторов 3 > END IF Если <условие 1> принимает значение TRUE, то выполняется <группа операторов 1>, а <группа операторов 2> и <группа операторов 3> будет пропущена. Если <условие 1> принимает значение FALSE, то <группа операторов1 >будет пропущена ипрограмма перейдет к проверке <условия 2>. При этом если <условие 2> принимает значение TRUE, то выполняется <группа операторов 2>, а в противном случае <группа операторов 3>. Пример 3. Составить программу для вычисления значения составной функции при произвольном значении х: При решении таких задач нужно учесть, что условия на значения х делят числовую ось на три интервала (в нашем случае точки деления х = 0 и х = 1), поэтому при реализации алгоритма используется вложенный условный оператор, блок-схема которого приведена на рисунке: REM Cоставная функция CLS INPUT “Введите значение х”; x IF x < 0 THEN y = EXP(– x + 1) ELSEIF x > 1 THEN y = 1 / x + SIN(x) ELSE y = TAN(x) END IF PRINT “y=”; y
|