- •Среда программирования qbasic
- •Язык программирования qbasic
- •Типы данных
- •Виды данных
- •Имя константы (в неявном виде) или переменной
- •Оператор const
- •Оператор dim
- •Оператор присвоения значений переменным
- •Стандартные функции
- •Выражения
- •Арифметические выражения
- •Логические выражения
- •Операции сравнения
- •Логическое отрицание
- •Логическое умножение
- •Логическое сложение
- •Логическое равенство
- •Строковые выражения
- •Структура программ
- •Оператор ввода из памяти (read – data)
- •Вывод на экран (print) и принтер (lprint) Вывод данных на экран
- •Форматированный вывод на экран (print using) и принтер (lprint using)
- •Символы для вывода чисел
- •Алгоритмы
- •Действие 2
- •Операторы передачи управления по вычислению
- •Оператор условного перехода if then
- •Пример решения задач iia и iiб
- •Оператор выбора select case
- •Алгоритмы циклической структуры
- •Операторы цикла while – wend (цикл ‘’пока’’)
- •Операторы цикла do – loop
- •Операторы цикла for – next (цикл со счетчиком)
- •Итерационные циклы
- •Итерационные циклы с применением рекурентной формулы
- •Массивы в qbasic
- •Объявление массива
- •Действия с массивами
- •Функции и процедуры, определяемые пользователем (собственные)
- •Функция пользователя function
- •Объявление функции пользователя
- •Собственная процедура (подпрограмма) sub
- •Объявление подпрограммы пользователя
- •Формальные параметры делятся на 2 группы:
- •Операторы для работы с файлами
- •По принципу организации файлы подразделяются на:
- •Обработка файла состоит из следующих операций:
- •Создание дискового файла
- •Вывод данных в файл
- •Закрытие дискового файла
- •Ввод данных из файла в программу
- •Input # н.Ф., список
- •Функции, используемые при работе с файлами
- •Графические возможности qbasic
- •Выбор графического режима
- •Выбор цвета
- •Выбор окна выведения
- •Вывод точки на экран и ее удаление
- •Построение линии и прямоугольника
- •Построение эллипса (окружности)
- •Закрашивание замкнутых областей
- •Задание II Алгоритм разветвляющейся структуры задача iiа
- •Задача II б
- •Задание III алгоритм циклической структуры задача III а Табулирование функции
- •Задача III б Вычисление суммы (произведения)
- •Задание IV Алгоритм комбинированной структуры
- •Вариант решения (использование функции пользователя)
- •Вариант решения (использование подпрограммы пользователя)
Функции и процедуры, определяемые пользователем (собственные)
Стандартная функция - группа операторов в программе, объединенных именем функции.
С помощью аргумента функции в инициируемую именем функции группу операторов, передаются конкретные данные. Результат возвращается в основную программу.
Процедуры (подпрограммы и функции), написанные пользователем, называются собственными.
Различают собственные функции и подпрограммы.
Функция или подпрограмма – поименованная группа операторов, которая определяет логично связанный набор действий.
Эта процедура может быть выполнена только при обращении к ней из программы, которая называется головной (главный модуль).
Обмен данными между головным модулем и процедурой осуществляется 2 способами:
Использование глобального объявления типов данных
Данные, которые объявлены глобальными, доступны как в основной программе, так и в процедуре.
DIM SHARED MR%
DIM SHARED F!(1 TO 5)
Использование механизма формально-фактических параметров.
Здесь процедура использует формальные параметры, значения которых определяются с помощью фактических параметров при обращении к процедуре. Между фактическими и формальными параметрами существует соответствие по типу, количеству и порядку следования.
Оба способа обмена могут быть использованы в одной процедуре.
Функция пользователя function
Состоит из 1 или нескольких операторов, но возвращает только одно значение.
Для вызова собственной функции нужно указать ее имя.
Имя собственной функции выбирает пользователь. Последний символ имени определяет тип результата, т.е. того значения, которое возвращается.
Формальные параметры записывают через запятую в круглых скобках. SR$(A,T,X )
Локальные параметры касаются тех данных, которые используются только в процедуре (функции).
Последним оператором в процедуре обязательно должен быть оператор присваивания, который присваивает имени процедуры найденный результат.
Объявление функции пользователя
FUNCTION имя функции (форм. параметр [,ф.п....]) [STATIC]
Оператор 1
...
[Оператор n]
имя функции = выражение
END FUNCTION
STATIC – если в теле процедуры объявляются локальные переменные, то они сохраняют свои значения в промежутке между вызовом функции.
Для запуска процедуры FUNCTION в головном модуле должен быть оператор, который содержит обращение к функции (это операторы присваивания или вывода)
Процедура – функция FUNCTION может использоваться не только в том модуле, где она определена. Чтобы сделать доступным использование функции в другом модуле, надо включить в него оператор DECLARE.
DECLARE FUNCTION имя [перемен. [( ) ] ] [, перемен. [( )] ]...
Пример
REM извлечение корня произвольной степени
DIM SHARED ARG!, ST%
DO
INPUT”ввести аргумент”; ARG!
INPUT”ввести степень корня”; ST%
LOOP WHILE ARG! < 0
PRINT KOR! (ARG!, ST%)
END
FUNCTION KOR! (ARG!, ST%)
KOR! = ARG! ^ (1 / ST%)
END FUNCTION
Пример
REM демонстрация STATIC
DIM SHARED X
X = 2
PRINT “Z = “; Z(X)
PRINT “Z = “; Z(X)
END
FUNCTION Z (X) FUNCTION Z (X) STATIC
DIM C DIM C
C = C + 2 : Z = C C = C + 2 : Z = C
END FUNCTION END FUNCTION
Результат Z = 2 Результат Z = 2
Z = 2 Z = 4
Место процедуры FUNCTION - после текста основного модуля.
Ввод программы, в тексте которой находится обращение к функции, выполняется в 2 этапа:
Ввод текста головного модуля. После ввода последней строки необходимо ввести часть заголовка процедуры, а именно FUNCTION <имя> и нажать ENTER.
На экране появятся 3 строки
FUNCTION имя
-
END FUNCTION
Курсор в 1-й позиции 2-й строки
Ввод текста процедуры. Если в функции есть параметры, необходимо начать с ввода этих параметров.
После ввода последнего оператора функции (оператора присваивания) необходимо нажать клавишу F2.
На экране в поле диалога появляются имена головного модуля (например, UNTITLED) и функции.
С помощью курсорных клавиш и ENTER можно перейти в поле редактирования головного модуля или функции.
Команда SAVE записывает (сохраняет) программу на диск.
Перед записью в тексте головной программы появляется строка DECLARE FUNCTION имя функции ( )