- •Оглавление
- •2.6. Модульное программирование
- •2.8. Численные методы анализа
- •2.1. Элементы языка
- •Мантисса e порядок
- •2.2. Операторы языка
- •Input [приглашение ;/,] список_вводимых_переменных
- •Операторы управления
- •If логическое_условие then оператор
- •If логическое_условие goto метка_оператора
- •If логическое_условие then оператор else оператор
- •I f логическое_условие then
- •2.3. Организация ветвлений
- •Input “Укажите х”, X
- •15 ? “Неверно”
- •2.4. Организация циклов
- •Программа к задаче 9
- •Input "Введите числа X и y", X, y
- •2.5. Работа с массивами
- •Input "Введите число вкладчиков и процент ",n,p
- •2.6. Модульное программирование
- •2.7. ОбРаботка Символьных данных
- •Пример. ?instr(”Саша”,”а”),instr(3,”Саша”,”а”) Результат: 2,4
- •2.8. Численные методы анализа
- •Input “Введите левую и правую границы a и в ”, a, b,
- •Input “Введите допустимую погрешность e ”, e
- •2.9. Выявление нажатия клавиш
- •2.10. Работа с графикой
- •2.11. Работа с дисковыми файлами
- •Тесты по курсу
- •Литература
I f логическое_условие then
операторы1
[ELSE
операторы2]
END IF
Здесь если логическое условие истинно, выполняются операторы группы 1, если нет – операторы группы 2. Присутствие фразы ELSE и следующей за ней группы операторов необязательно.
Для примера используем предыдущую задачу о сравнении чисел А и В.
IF a>b THEN
?”А больше В”
ELSE
?”В больше А”
END IF
Замечание к нотации. Для придания более наглядного вида программе удобно использовать отступы при вводе “подчиненных” операторов в структурах IF, FOR и других, как показано выше. В данном случае подчиненными операторами по отношению к структуре IF являются операторы печати.
ОПЕРАТОР ВЫБОРА (селектор). Оператор выбора позволяет осуществлять удобный выбор среди нескольких возможных альтернатив.
Вид оператора:
SELECT CASE выражение_для_проверки
[CASE список_выражений_1
операторы 1]
[CASE список_выражений_2
операторы2]
. . .
[CASE ELSE
операторы_N]
END SELECT
где: выражение для проверки – числовое или символьное выражение;
список выражений – одно или более выражений такого же типа, что и выражение для проверки.
Если выражение для проверки совпадает с каким-либо элементом из списка выражений, приведенного после ключевого слова CASE, то выполняется группа операторов, следующих за этим словом до следующего CASE или END SELECT. Затем осуществляется переход к оператору, идущему после END SELECT. Если нет ни одного совпадения, выполняются операторы, следующие после слова CASE ELSE (если есть).
Элементы списка выражений должны иметь одну из следующих форм:
выражение_1 [,выражение_2] – проверяется совпадение выражения для проверки с любым выражением из перечисленного списка.
выражение_1 TO выражение_2 – проверяется нахождение выражения для проверки в диапазоне от выражения 1 до выражения 2.
IS логическое_условие – проверяет истинность логического условия. Условие должно начинаться с одного из знаков отношений (<, >, <=, >=, <>, =).
Пример. Здесь проверяется, принадлежит ли переменная Х подмножеству чисел 1,3,5,7, или оно находится в диапазоне от 10 до 20, или оно больше 100 с выдачей соответствующего сообщения. Если ни одно из условий не выполняется, выдается сообщение "Остальные числа". Решение ниже слева.
Допускается соединение списков выражений любого типа. Положим, что нам нужно выяснить только факт принадлежности/непринадлежности к указанному множеству. В этом случае решение задачи (ниже справа) упрощается.
SELECT CASE x CASE 1,3,5,7 ? "x=1, 3, 5, 7" CASE 10 TO 20 ? "10<=x<=20" CASE IS > 100 ? "x>100" CASE ELSE ?"Остальные числа" END SELECT |
SELECT CASE x CASE 1,3,5,7,10 TO 20, IS > 100 ? "x=1,3,5,7 или 10<=x<=20 или х>100" CASE ELSE ? "Остальные числа" END SELECT
|
ОПЕРАТОР ЗАВЕРШЕНИЯ. Оператор END (“конец”) завершает выполнение программы. Он может находиться в любом месте программы. Таких операторов может быть несколько в случае, если предполагается завершение программы не только в ее конце. Присутствие END в конце программы необязательно, поскольку после выполнения последнего оператора, она все равно заканчивается.
КОММЕНТАРИИ. Написанная программа спустя некоторое время даже автору кажется малопонятным набором символов. Для облегчения понимания программы в нее вставляются комментарии – тексты, поясняющие суть процессов и не влияющие на ее исполнение. Такие тексты должны начинаться со слова-оператора
REM текст_комментария
Оператор REM может находиться как в отдельной строке, так и после любого оператора. Более удобной формой является использование для тех же целей апострофа. Ниже (слева и справа) изображены идентичные примеры комментариев.
PRINT x REM комментарии PRINT x 'комментарии
REM и это комментарии 'и это комментарии
Очевидно, что удобнее пользоваться апострофами.
В заключение еще один полезный оператор. Оператор очистки экрана.
CLS
В символьном режиме курсор будет установлен в левый верхний угол, в графическом – в центр экрана.
Блок-схема. При разработке алгоритма программы сначала удобно построить его графическое представление – блок-схему. В блок-схеме отдельные операции или группы операций помещаются в прямоугольные блоки. Операции анализа (операторы IF) отображаются ромбами, имеющими два выхода. Выход ДА, соответствует истинному значению, анализируемого условия, НЕТ – ложному.
Обычно, блок-схемы обрамляют блоки НАЧАЛО и КОНЕЦ. Мы будем изображать последние только в случае, если возможно разночтение.