КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
END select
END IF ELSE Программирование разветвляющихся (условных) алгоритмов Алгоритм разветвляющейся (условной) структуры - алгоритм, в котором последовательность выполнения действий зависит от некоторых условий. В языке Бэйсик для ветвления используются следующие операторы: 1) Оператор безусловной передачи управления GOTO N, - где N метка строки. Этот оператор передает управление строке с меткой N. 2) Операторы условной передачи управления (приведены три типа): a) IF < логическое выражение > THEN < операторы > При выполнении оператора IF сначала определяется результат логического выражения: ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Если ИСТИНА, то управление передается операторам, следующим за словом THEN, если - ЛОЖЬ, то оператору, записанному после оператора IF. б) IF < логическое выражение > THEN < операторы > ELSE < операторы > При выполнении оператора IF данной модификации, сначала так же определяется результат логического выражения. Если ИСТИНА, то управление передается операторам, следующим за словом THEN, если - ЛОЖЬ, то оператору записанному после ELSE. в) блочный «IF» (записывается в нескольких строках): IF <логическое выражение> THEN <операторы> [ELSEIF <логическое выражение> THEN <операторы> <операторы> ]* При выполнении блочного IF, сначала определяется результат первого логического выражения. Если ИСТИНА, то управление передается операторам, следующим за первым словом THEN, а затем к строке следующей за END IF. Если - ЛОЖЬ, то определяется результат следующего логического выражения, и в случае ИСТИНЫ управление передается операторам, записанным за следующим THEN, а потом к строке идущей за END IF и т.д. Если же ни одно из условий оператора не выполняется, то выполняются операторы, записанные после слова ELSE, а потом к строке следующей за END IF. Логические выражения состоят из числовых или текстовых данных, знаков отношений и логических операций. Таблица 8. Знаки сравнения и логические операции
3) Оператор выбора SELECT CASE. С помощью оператора CASE можно выбрать любой вариант из допустимых значений переменной. Этот оператор записывается в нескольких строках. SELECT CASE <выражение> CASE <условие 1> <блок операторов 1> [ CASE <условие 2>] [<блок операторов 2>] ……………………………………….. [ CASE ELSE ] [<блок операторов n>] В этом операторе: <выражение> - любое числовое или строковое выражение; <условие> - одно или несколько выражений для сравнения с параметром <выражение>. Условие может быть записано в одном из видов: • <выражение> [, <выражение>]…..; • <выражение> TO <выражение>; • IS <оператор отношения> <выражение>. <блок операторов> - один или несколько операторов ПРИМЕР 10.1. Из трех случайных чисел X,Y, Z вывести наименьшее.
Рисунок 1. Схема алгоритма к примеру 10.1 REM Программирование условного алгоритма CLS RANDOMIZE TIMER ' Запущен датчик случайных чисел X=RND*20: Y=RND*20: Z=RND*10 ’X, Y, Z - случайные числа IF X<Y AND X<Z THEN PRINT "max="; X ELSEIF Y<Z THEN PRINT "max=";Y ELSE PRINT "max=";Z END IF END Пояснения к программе: В данной программе использован оператор IF - блочная форма. При выполнении сложного условия X<Y AND X<Z после THEN в соответствии со схемой алгоритма на экран выводится число X, которое в этом случае является минимальным из трех чисел. Если это условие не выполняется, значит X не является минимальным числом из трех и минимум следует искать среди Y и Z. Соответствующее условие Y<Z записано после ELSEIF. Если условие выполнено, то минимальным является Y, иначе минимальным числом является Z. Блочный оператор IF обязательно завершается оператором END IF. ПРИМЕР 10.2. Составить схему алгоритма и программу вычисления и вывода на экран функции f(x, y) для заданных значений x, y.
Рисунок 2. Схема алгоритма к примеру 10.2 REM Программирование условного алгоритма INPUT " Введите через запятую значения переменных x, Y:", x, Y IF x > Y THEN F = x / y + 4 * X * y ELSEIF X < Y THEN IF X + 10 < Y THEN F = X + 10 ELSE F = Y ELSE F = (X + 7)^Y END IF PRINT "F ="; F END Пояснения к программе: - в программе для организации ввода данных в диалоговом режиме используется только оператор «INPUT»; - «IF»-блочный обеспечивает ветвление; в зависимости от введенных значений переменных X и Y процесс вычисления F пойдет в соответствии с алгоритмом (рис. 2) по одной из ветвей; - в программе используется и «IF»-строчный при определении минимума (Х+10) и Y, в случае когда X < Y. Лабораторное задание 1. Набрать, отладить и выполнить программы, реализующие условные алгоритмы Вашего индивидуального задания. 2. Составить блок-схему. 3. Проанализировать работу операторов, пользуясь отладочными режимами. 4. Составить отчет. Защитить работу. Лабораторная работа состоит из трех задач. Студент выбирает из списка заданий свой индивидуальный вариант и выполняет его. Вариант №1 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны действительные положительные числа x, y, z. Выяснить, существует ли треугольник с такими длинами сторон. Если да, то ответить, является ли он прямоугольным. Задание № 3. Определить, есть ли среди цифр заданного трехзначного числа f одинаковые. Вариант №2 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Для произвольных чисел a, b, c определить, имеет ли уравнение хотя бы одно вещественное решение. Задание № 3. Определить, есть ли среди цифр заданного четырехзначного числа f цифра 9. Вариант №3 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны действительные числа x, y. Определить, принадлежит ли точка (x, y) кольцу с внутренним и внешним радиусами соответственно R1 и R2 и центром в начале координат. Задание № 3. Определить, есть ли среди цифр заданного трехзначного числа f цифры 3 или 7. Вариант №4 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Дано натуральное число п (возраст). Обеспечить вывод этого числа с соответствующим словом: «год», «года», «лет». Задание № 3. Даны четыре действительных числа x, y, z, k. Получить max(x, y, z, k). ___________________________________________________________________ Вариант №5 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны действительные числа x, y. Определить, принадлежит ли точка (x, y) кругу с радиусом R и центром в начале координат. Задание № 3. Дано трехзначное число f. Определить, кратно ли это число 9. Вариант №6 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Задан номер года п. Определить, високосный ли он. Задание № 3. Даны четыре действительных числа x, y, z, k. Получить min(x, y, z, k). Вариант №7 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны числа a1, b1, c1, a2, b2, c2. Определить координаты точки пересечения прямых и , либо сообщить, что эти прямые совпадают или не пересекаются. Задание № 3. Дано число f. Определить, кратно ли это число 2 или 3. Вариант №8 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны действительные числа a, b, c. Выяснить, имеет ли уравнение действительные корни. Если да, то найти их. Задание № 3. Дано натуральное число n. Выяснить, является ли это число палиндромом (или симметричным, например, 131, 747). Вариант №9 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Дано натуральное число r. Обеспечить вывод этого числа с соответствующим словом: «рубль», «рубля», «рублей». Задание № 3. Дано число f. Определить, кратно ли это число 7 и 9. Вариант №10 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны три точки на плоскости с координатами (x1,y1), (x2,y2), (x3,y3). Вывести номера точек с наибольшим расстоянием между ними. Задание № 3. Определить, равна ли сумма двух первых цифр заданного четырехзначного числа f сумме двух его последних цифр. Вариант №11 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Даны действительные числа x, y, z. Вычислить значение min(2(x+y+z),xyz,(x+y)z)+1. Задание № 3. Выяснить, есть ли в заданном четырехразрядном числе а цифра 5. Вариант №12 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Дана точка с координатами (x, y). Определить, какой четверти плоскости она принадлежит. Задание № 3. Определить, делится ли заданное четырехзначное число f на 9. Вариант №13 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Дан квадрат со стороной b, точка пересечения диагоналей которого расположена в начале координат. Определить, находится ли точка с координатами (x, y) внутри квадрата. Задание № 3. Определить, есть ли в заданном четырехразрядном числе а цифры 3 и 4. Вариант №14 Задание № 1. Вычислить f(x, y). Значения x, y задаются с клавиатуры: Задание № 2. Дан прямоугольник со сторонами а и b, точка пересечения диагоналей которого расположена в начале координат. Определить, находится ли точка с координатами (x, y) внутри прямоугольника. Задание № 3. Дано натуральное четырехразрядное число а. Выяснить, является ли это число палиндромом (симметричным, например, 3223, 1221). ___________________________________________________________________ ЛАБОРАТОРНАЯ РАБОТА № 11. Цель работы: 1. Изучение приемов программирования циклических алгоритмов. 2. Программирование циклических алгоритмов на языке Qbasic. 3. Отладка циклических программ в среде программирования Qbasic.
Дата добавления: 2014-12-08; Просмотров: 661; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |