
- •Введение
- •Алгоритмизация задач Понятие алгоритма
- •Виды записи алгоритма
- •Типы алгоритмов
- •Свойства алгоритма
- •Языки программирования
- •Общие сведения о языке программирования бейсик
- •Алфавит языка basic. Идентификаторы, константы, переменные
- •Константы
- •Переменные
- •Переменные с индексами
- •Выражения на языке basic
- •Запись математических выражений на Бейсике
- •Операции отношения Числовые операции отношения
- •При сравнении на равенство двух вещественных чисел рекомендуется ввести погрешность и сравнивать абсолютную величину разности этих двух чисел с величиной веденной погрешности. Например, так:
- •Строковые операции отношения
- •Структура программы. Комментарии в программе
- •Оператор присваивания
- •Операторы управления Операторы перехода и оператор stop
- •Условные операторы
- •Операторы цикла
- •Функции пользователя
- •Подпрограммы Операторы gosub и return
- •Оператор on - gosub
- •Операторы ввода - вывода Операторы read, dата и restore
- •Оператор input
- •Операторы вывода Оператор print
- •Дополнительные возможности оператора print
- •Оператор print using – форматный вывод
- •Средства подготовки и отладки программ Основные директивы интерпретатора
- •Выполнение программы в среде basic
- •Примеры составления типовых программ
- •Обработка одномерных массивов
- •Использование вложенных циклов при работе с индексированной переменной
- •Задания для лабораторных и самостоятельных работ Задание 1. Составить блок-схему алгоритма и программу вычисления функций:
- •Задание 2. Составить блок-схему алгоритма и программу разветвляющегося процесса:
- •Задание 4. Программирование алгоритмов циклической структуры
- •Задание 5. Составление алгоритмов и программ обработки одномерных массивов
- •5.1. Составление простейших алгоритмов обработки одномерных массивов
- •5.2. Решение циклических задач с использованием характерных приемов
- •Задание 6. Составление алгоритмов и программ обработки двумерных массивов
- •Задания для самостоятельной работы
- •2. Выполнить указанное преобразование над элементами массивов:
- •Описание множеств
- •Контрольная работа №1
- •1.Вычислить и вывести на экран значение функции
- •Тестовые задания
- •Список литературы
- •Методические указания и задания по алгоритмизации и программированию по дисциплине «Информатика»
Подпрограммы Операторы gosub и return
Последовательность повторяющихся в программе операторов может быть оформлена в виде подпрограммы. Подпрограмма на языке БЕЙСИК - это часть программы, которая реализует операции, выполнение которых требуется в нескольких точках программы.
Для перехода к подпрограмме используется оператор, имеющий следующий формат:
<номер строки> GOSUB <номер строки подпрограммы>
где <номер строки подпрограммы> - номер строки подпрограммы, содержащий оператор подпрограммы, с которого начинается ее выполнение (точка входа).
При выполнении оператора GOSUB управление передается в точку входа в подпрограмму.
Первая строка подпрограммы может начинаться оператором комментария (оператором REM) или любым выполняемым оператором.
Подпрограмма обрабатывается интерпретатором до тех пор, пока не встретится оператор RETURN, формат которого следующий:
<номер строки> RETURN.
Оператор RETURN обуславливает возврат управления оператору, следующему за оператором GOSUB.
БЕЙСИК допускает использование в одной программе нескольких подпрограмм. Подпрограммы могут быть вложенными, то есть одна подпрограмма может осуществить вызов другой подпрограммы. Если при выполнении подпрограммы встречается оператор RETURN, то он вызывает передачу управления тому оператору, который следует после оператора GOSUB, произведшего обращение к этой подпрограмме (в точку возврата).
Программа может содержать несколько точек входа, кроме того, подпрограмма может иметь более одного оператора RETURN, причем, как только встречается первый из них, осуществляется выход из подпрограммы.
Оператор on - gosub
Оператор ON - GOSUB используется (аналогично оператору ON - GOTO) для условной передачи управления одной из нескольких подпрограмм или к одной из нескольких входных точек одной (или нескольких) подпрограмм. Формат оператора:
<номер строки> ON <арифметическое выражение> GOSUB <список номеров строк подпрограммы>
Во время выполнения оператора ON - GOSUB вычисляется значение арифметического выражения и целая часть этого значения (n) используется в качестве указателя на один из перечисленных номеров строк в списке. В результате происходит передача управления подпрограмме, которая начинается номером строки, находящимся в списке на n - ом месте. Оператор RETURN возвращает управление оператору, следующему за оператором ON - GOSUB.
Операторы ввода - вывода Операторы read, dата и restore
Такая возможность ввода удобна при значительном объеме и разнородности данных.
Операторы READ и DATA используются для организации блока данных, которые считываются интерпретатором Basic во время выполнения программы.
В одной программе может быть один или несколько операторов DАТА. Списки всех операторов рассматриваются как один блок данных. За время выполнения программы информация из блока данных извлекается для присвоения значения переменным с помощью оператора READ. Оператор READ имеет следующий формат:
<номер строки> READ <список переменных>.
Список переменных представляет собой перечень имен переменных (числовых и символьных, простых и с индексом), имена переменных в списке разделяются запятыми.
Пример:
30 READ M, А, К, ВК, S$, А2
Если при выполнении программы встречается оператор READ, то первой переменной списка оператора READ присваивается первое значение из блока данных, второй переменной - второе значение и т.д.
При этом интерпретатор запоминает последнее значение, присвоенное переменкой из списка операторе READ . Поэтому, когда в программе встречается еще один оператор READ , то переменной присваивается следующее имеющееся значение из блока данных.
В случае, когда количество данных меньше количества переменных в списке ввода оператора READ, выдается сообщение “Данные отсутствуют “ (DATE OF OUT) и программа аварийно завершается.
Если количество данных в DATA больше числа переменных, указатель устанавливается на первое из данных, не востребованных во вводе. Эти данные могут быть считаны последующими операторами READ .
Если одни и те же данные необходимо использовать несколько раз, то используется оператор RESTORE (восстановить). Оператор RESTORE в программе должен размещаться перед каждым следующем считыванием данных.
Формат оператора RESTORE:
<номер строки> RESTORE <номер строки> RESTORE <номер строки 1>
После его выполнения выборка значений операторами READ начнется повторно с самого первого значения элемента блока данных, в случае первого формата оператора RESTORE, или со значения элемента блока данных, помещенного в операторе DATA с <номером строки>, во втором случае. Оператор RESTORE можно использовать в любой момент рабочей программы, не дожидаясь полного исчерпания блока данных.
При использовании операторов необходимо следить за соответствием типов данных. Допускается чтение числовой константы в строковую, обратное действие вызывает сообщение об ошибке.
Примеры:
1. 10 READ А, В, С
15 RESTORE
20 READ D,Е
40 DATA 22, 4.5, 6.15, -6, 10
В результате будет получено A=22; B=4.5; C=6.15; D=22; E=4.5
2. В результате выполнения приведенного фрагмента программы строковые переменные получат значения С1$=“шифр продукции” С2$=”,”кол-во прод.” С3$=.”,“цена”,” С4$=”стоим.”.
DATA“шифр продукции”,”кол-во прод.”,“цена”,”стоим.”,
004011, 316, 11.2, 004012, 252, 14.6, 004018, 479, 9.7
20 READ С1$ ,С2$,С3$,С4$
40 FOR I=1 TO 3
READ C(I),K(I),Z(I)
80 NEXT I
В цикле FOR…NEXT фрагмента описано заполнение числовых массивов данными, в результате будет получено:
C(1)= 004011, C(2)= 004012, C(3)= 004018,
K(1)= 316, K(2)=252, K(3)=479,
Z(1)=11.2, Z(2)=14.6, Z(3)=9.7.