|
Разветвленный алгоритм
Немного теории Разветвленный алгоритм – это алгоритм, в котором в зависимости от условия выполняется одна или другая серия команд. Блок-схема разветвленного алгоритма
Плевдокод разветвленного алгоритма если условие то серия 1 иначе серия 2 кон если
Командная структура ветвления в Small Basic В Small Basic для записи разветвленного алгоритма используется следующая серия команд: If условие Then серия 1 Else серия 2 EndIf
Например: If b<>0 Then c=a/b TextWindow.WriteLine("Отношение равно " + c) Else TextWindow.WriteLine("делить на 0 нельзя!") EndIf
При выполнении данной программы, если (If) переменная b не равна 0, то (Then) будет вычислено и выведено значение с=а/b. Иначе (Else) будет выведено сообщение, что на 0 делить нельзя.
Условие Условие — это выражение логического типа, которое может принимать одно из двух значений: "истина" или "ложь". Простое условие состоит из двух выражений и знака сравнения между ними: < (меньше), > (больше), = (равно), <> (не равно), <= (меньше равно), >= (больше равно).
Например: a < 0 m > n
x + y = 6 Mach.Sin(x) <> 0.5 s1 <= s2 t/2 >= (-1)*zСложные условия строятся с помощью логических операторов: And (и), Or (или), Not (не). Например: a < 0 And b > 0 m = n Or m <> k Not (s = v*t)
Программа "Разность чисел"Напишем программу вычисления разности двух чисел при условии, что всегда следует вычитать из большего числа меньшее. План1. Ввести два числа а и b 2. Сравнить числа (a>b) 3. Вычислить разность согласно условию Код программы 'разность двух чисел TextWindow.WriteLine("Введи два числа: ") a = TextWindow.ReadNumber() b = TextWindow.ReadNumber() If a>b Then c=a-b Else c=b-a EndIf TextWindow.WriteLine("Разность чисел равна " + c)Программа "Треугольник"Напишем программу, которая определяет существование треугольника по условию, что сумма двух любых его сторон должна быть больше третьей. План1. Ввести три стороны треугольника а, b и с 2. Сравнить стороны треугольника: a<b+c и b<a+c и c<a+b 3. Вывести результат Код программы 'треугольник TextWindow.WriteLine("Введи три стороны треугольника:") a = TextWindow.ReadNumber() b = TextWindow.ReadNumber() c = TextWindow.ReadNumber() If a<b+c And b<a+c And c<a+b Then TextWindow.WriteLine("Треугольник существует") Else TextWindow.WriteLine("Треугольник не существует") EndIf Программа "Времена года"
При помощи нескольких инструкций If можно осуществить множественный выбор. Напишем программу, которая определяет время года по его месяцу.
План
1. Ввести название месяца
2. Сравнить название месяца
3. Вывести результат по условию
Код программы
Для многих такая сложная ступенчатая структура с многочисленными If, Else. EndIf выглядит пугающе. Во многих языках программирования множественный выбор задается специальной командой, которая облегчает восприятие и написание программы, но её нет в Small Basic. В случае возникновения проблем с множественным выбором можно посоветовать использовать краткую форму записи условия. Например предыдущую программу можно записать следующим образом.
Восприятие программы стало проще, но пропала возможность контроля некорректного ввода названия месяца.
Вопросы и задания
- Почему алгоритм с условием называют разветвленным алгоритмом?
- Можно ли было в программе "Разность чисел" использовать условие b>a? Что ещё при этом пришлось бы изменить?
- Напишите программу тест: верно - неверно
- Напишите программу сравнения двух чисел: больше, меньше, равны
- Напишите программу вычисления корней квадратного уравнения.
Файлы программ
Разность двух чисел (скачать архив zip) Треугольник (скачать архив zip) Времена года (скачать архив zip) Тест (скачать архив zip) Сравнение двух чисел (скачать архив zip) Квадратное уравнение (скачать архив zip)
|
|
Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|