Алгоритм и блок-схема в Small Basic
Алгоритм — точное предписание, определяющее процесс перехода от исходных данных к результату.
Предписание считается алгоритмом, если оно обладает следующими тремя свойствами:
- определенностью, то есть точностью, не оставляющей место произволу при выполнении предписания;
- универсальностью, то есть возможностью обработки различных, находящихся в заранее оговоренных пределах, исходных данных;
- результативностью, то есть направленностью на получение результата.
Давайте немного усложним нашу первую программу: сделаем конвертер двусторонним.
В таком случае программа должна сначала спрашивать у пользователя, какую величину он хочет конвертировать.
Составим текстовый алгоритм действий:
- Запрашиваем исходные данные: величина, которую будем конвертировать и количество.
- Если исходная величина фунты, то считаем по формуле Масса (в килограммах) = Масса (в фунтах)*0,45359.
Иначе считаем по формуле Масса (в фунтах) = Масса (в килограммах)/0.45359.
- Выводим на экран полученный результат с указанием величины.
Составленное нами предписание обладает всеми тремя свойствами алгоритма:
- определенностью: в предписании указаны исходные данные, условия и формулы, по которым надо выполнять расчет; формулы указаны для каждого из двух возможных выборов величин;
- универсальностью: в предписании указаны не конкретные массы, а формулы;
- результативностью: при выполнении предписания получается конкретный результат — масса в требуемой системе измерений.
Алгоритм решения задачи может быть представлен в виде словесного описания, его мы только что сделали или графически — в виде блок-схемы.
В блок-схемах для обозначения логически различающихся фрагментов программы или действий используются определенные стандартные символы:
- Начало или конец
- Действие
- Ввод или вывод
- Выбор
Теперь мы можем нарисовать блок-схему нашей программы.
Начало алгоритма. Вводим количество единиц исходной массы. Предлагаем пользователю выбрать единицу масс. Если выбраны фунты, то считаем по первой формуле и обозначаем исходную величину за фунты, а результирующую за килограммы. Иначе считаем по второй формуле и обозначаем величины противоположным образом.
Выводим на экран результат вычислений. Конец алгоритма.
Вот таким будет программный код.
' Пересчет массы кг <-> ф.
TextWindow.WriteLine("Введите исходную массу:")
mass_start = TextWindow.ReadNumber()
TextWindow.WriteLine("Выберите исходную величину:")
TextWindow.WriteLine("1) Фунты")
TextWindow.WriteLine("2) Килограммы")
choise = TextWindow.ReadNumber()
If choise = 1 Then
mass_finish = mass_start * 0.45359
mass_start_label = "ф."
mass_finish_label = "кг"
Else
mass_finish = mass_start / 0.45359
mass_start_label = "кг"
mass_finish_label = "ф."
EndIf
TextWindow.Write(mass_start)
TextWindow.Write(" "+ mass_start_label + " = ")
TextWindow.Write(mass_finish)
TextWindow.WriteLine(" " + mass_finish_label)