Добавлен: 01.04.2023
Просмотров: 109
Скачиваний: 2
WHILE условие ← начало цикла
группа операторов ← тело
WEND ← конец цикла
Данный оператор очень похож на IF...THEN...ELSE, с той разницей, что в операторе ветвления, при условии что условие истинно – группа операторов выполниться один раз, а в случае оператора цикла WHILE...WEND – группа операторов будет выполняться в цикле множество раз, пока условие будет оставаться истинным. Если условие ложно – будет передано управление следующему оператору после ключевого слова WEND.
Оператор DO...LOOP[34]. Конструкция и алгоритм оператора DO...LOOP – крайне похож на WHILE...WEND. Здесь также есть последовательность операторов, повторное выполнение которых зависит от условия. Оператор DO...LOOP имеет два варианта написания:
В первом варианте цикл выполняется минимум один раз, так как проверка условия находится после выполнения первой итерации цикла:
DO
группа операторов
LOOP условие
Во втором варианте сначала проверяется условие, а после выполняется итерация цикла:
DO условие
группа операторов
LOOP
Второй вариант конструкции очень похож на работу оператора WHILE...WEND. Оба варианта поддерживают дополнительные ключевые слова WHILE и UNTIL, которые нужно прописывать перед условием (например, LOOP WHILE условие для первого варианта и DO UNTIL условие для второго варианта).
Ключевыми словами WHILE и UNTIL определяется способ проверки условий. В случае WHILE – цикл выполняется до тех пор, пока условие истинно. В случае UNTIL – цикл выполняется до тех пор, пока условие ложно.
3.3 Оператор безусловного перехода
Оператор GOTO[35] является оператором безусловного перехода, то есть, оператор не имеет условий для проверки и строго производит передачу управления к одной из объявленных меток.
Формат записи: GOTO метка перехода
Пример программы:
I = 1
POINT: ← объявляем метку перехода
PRINT I
I = I + 1
GOTO POINT ← возвращаемся к метке перехода
Признаком метки перехода является двоеточие в конце строки. После запуска данной программы переменная I будет бесконечное множество раз увеличиваться на 1 и на экран будет выводиться её содержимое.
4. Подпрограммы, процедуры и функции
Пользовательские функции – это операторы самостоятельно определенные пользователем. Для объявления пользовательской функции используется оператор DEF FN. Работа с пользовательской функцией была описана в главе 2.3. Но пользовательские функции лишь частично облегчают написание и чтение кода. Модульное программирование позволяет разделять написание кода программы на небольшие части – модули, например, поместив каждую функцию или задачу, решаемую программой в отдельный модуль. Такой подход облегчает как чтение кода, так и его доработку. Кроме того, использовать уже написанные модули можно и при создании новых программ, если вам необходимо реализовать часть функционала из старой программы.[36]
Язык QBasic поддерживает два типа модулей:
-
- Функция FUNCTION (FUNCTION … END FUNCTION)
- Процедура SUB (SUB … END SUB)
Функция, в отличии от процедуры, после исполнения своего кода, возвращает результат, который был получен после или в процессе исполнения подпрограммы.
Формат объявления модуля с типом FUNCTION:
FUNCTION имя [(список параметров)]
группа операторов
имя функции для возврата значения
END FUNCTION
Формат объявления модуля с типом SUB:
SUB имя [(список параметров)]
группа операторов
END SUB
Для запроса модулей используется оператор: DECLARE
Формат записи с типом FUNCTION:
DECLARE FUNCTION имя [(список параметров)]
Описание:
имя – имя модуля до 40 символов;
список параметров – имена переменных, для передачи в функцию/процедуру, не обязательно для использования (квадратные скобки не используются в коде, в данных примерах в них отмечается необязательный параметр).
Пример программы, которая вычисляет площадь круга:
DECLARE FUNCTION SKRUG (r) ← запрос модуля с именем SKRUG
PRINT "Площадь круга "
PRINT SKRUG(3)
PRINT SKRUG(13)
PRINT SKRUG(20)
END ← конец основного тела программы
FUNCTION SKRUG (r) ← объявление модуля
pi = 3.14159
SKRUG = pi*r^2 ← имя функции для возврата значения
END FUNCTION ←конец модуля
Модули типа FUNCTION могут использоваться в выражениях и не могут быть рекурсивными т. е. вызывать сами себя[37].
Заключение
QBasic является универсальным алгоритмическим языком программирования и позволяет решать множество задач. Встроенные операторы позволяют быстро решать поставленные задачи без необходимости написания кода с нуля. В случае отсутствия готового оператора из набора языка всегда можно создать свой оператор в виде модуля и обращаться к нему в любом месте программы. Операторы циклов и ветвления позволяют создавать сложные программы с динамическим исполнением в зависимости от вводных условий и параметров. Совместное применение указанных выше свойств дает возможность решать на языке QBasic задачи любой сложности, а каждый отдельный функционал программы реализовывать отдельным модулем.
Поставленная цель работы была достигнута. Изучена история появления языка QBasic и его основы BASIC. Изучен синтаксис, правила написания алгоритмов и модулей. Приведены примеры кода на алгоритмическом языке QBasic. QBasic действительно является легким для понимания и изучения языком.
Список литературы
- Алиев, В.К. Языки Бейсик / В.К. Алиев. – Москва : СОЛОН-ПРЕСС, 2009. – 224 с.
- Анеликова, Л.А. Алгоритмика в теории и практике / Л.А. Анеликова. – Москва : СОЛОН-ПРЕСС, 2010. – 70 с.
- Бковская, Е.В. Методическое пособие по изучению студентами алгоритмизации и программирования, а также выполнению самостоятельных работ при изучении дисциплины «Информатика и ИТК» / Е.В. Бковская, Б.М. Андреев. – Серпухов : ГБПОУ МО «Серпуховский колледж», 2016. - 24 с.
- ГОСТ 27787-88. Язык программирования БЕЙСИК. Дата принятия 26.07.1988 — URL: http://docs.cntd.ru/document/1200021946
- Зельднер, Г.А. Программируем на языке QBasic 4.5 / Г.А. Зельднер – Москва: ABF, 1996. – 432 с.
- Интернет-ресурс: Microsoft® BASIC Version Information – URL: http://www.emsps.com/oldtools/msbasv.htm#qbasic
- Интернет-ресурс: Архив документации «GW-BASIC Documentation» – URL: https://hwiegman.home.xs4all.nl/gwbasic.html
- Международный стандарт ANSI X3.113-1987 – URL: https://webstore.ansi.org/standards/incits/ansix31131987r1998
- Международный стандарт ISO 6373:1984 «Data processing — Programming languages — Minimal BASIC» – URL: https://www.iso.org/standard/12705.html
- Могилев, А.В. Методы программирования. Компьютерные вычисления / А.В. Могилев, Л.В. Листроева — СПб.: БХВ-Петербург, 2008. — 320 с.
- Обухова, О.В. Информатика: учебное пособие / О.В. Обухова ; Министерство транспорта Российской Федерации, Московская государственная академия водного транспорта. – Москва : Альтаир : МГАВТ, 2008. – 101 с.
- Харитонов, Е.А. Основы программирования для студентов технологического профиля / Е.А. Харитонов, А.К. Сафиуллина ; Министерство образования и науки России, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Казанский национальный исследовательский технологический университет». – Казань : Издательство КНИТУ, 2013. – 152 с.
- Харитонов, Е.А. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина ; авт.-сост. Е.А. Харитонов, А.К. Сафиуллина ; Федеральное агентство по образованию, Государственное образовательное учреждение высшего профессионального образования «Казанский государственный технологический университет». – Казань : КГТУ, 2008. – 107 с.
-
Обухова О.В. Информатика: учебное пособие / О.В. Обухова. – Москва: Альтаир-МГАВТ, 2008. – с.78 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования для студентов технологического профиля: учебное пособие / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КНИТУ, 2013. – с.82 ↑
-
Алиев В.К. Языки Бейсик / В.К. Алиев. – Москва : СОЛОН-ПРЕСС, 2009. – с. 5. ↑
-
Могилев А.В., Листроева Л.В. Методы программирования. Компьютерные вычисления / А.В. Могилев, Л.В. Листроева — БХВ-Петербург, 2008. — с. 13. ↑
-
Алиев В.К. Языки Бейсик / В.К. Алиев. – Москва : СОЛОН-ПРЕСС, 2009. – с. 8. ↑
-
Архив документации «GW-BASIC Documentation» – URL: https://hwiegman.home.xs4all.nl/gwbasic.html ↑
-
Зельднер Г.А. Программируем на языке QuickBASIC 4.5 / Г.А. Зельднер – М.: ABF, 1996 – c. 18. ↑
-
Международный стандарт ISO 6373:1984 «Data processing — Programming languages — Minimal BASIC» – URL: https://www.iso.org/standard/12705.html ↑
-
Алиев В.К. Языки Бейсик / В.К. Алиев. – Москва : СОЛОН-ПРЕСС, 2009. – с. 5. ↑
-
Зельднер Г.А. Программируем на языке QBasic 4.5 / Г.А. Зельднер – М.: ABF, 1996. – c. 19. ↑
-
Международный стандарт ANSI X3.113-1987 – URL:
https://webstore.ansi.org/standards/incits/ansix31131987r1998 ↑ -
ГОСТ 27787-88. Язык программирования БЕЙСИК. Дата введения 26.07.1988 — URL: http://docs.cntd.ru/document/1200021946 ↑
-
Microsoft® BASIC Version Information – URL: http://www.emsps.com/oldtools/msbasv.htm#qbasic ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 7 ↑
-
Алиев В.К. Языки Бейсик / В.К. Алиев. – Москва : СОЛОН-ПРЕСС, 2009. – с. 9. ↑
-
Алиев В.К. Языки Бейсик / В.К. Алиев. – Москва : СОЛОН-ПРЕСС, 2009. – с. 19. ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования для студентов технологического профиля: учебное пособие / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КНИТУ, 2013. – с. 96 ↑
-
Методическое пособие по изучению студентами алгоритмизации и программирования, а также выполнению самостоятельных работ при изучении дисциплины «Информатика и ИТК» / Е.В. Бковская, Б.М. Андреев. - Серпухов : ГБПОУ МО «Серпуховский колледж», 2016. - с. 9 ↑
-
Зельднер Г.А. Программируем на языке QuickBASIC 4.5 / Г.А. Зельднер – М.: ABF, 1996 – c. 56. ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 15 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 17 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования для студентов технологического профиля: учебное пособие / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КНИТУ, 2013. – с. 89 ↑
-
Обухова О.В. Информатика: учебное пособие / О.В. Обухова. – Москва: Альтаир-МГАВТ, 2008. – с.82 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 33 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 44 ↑
-
Обухова О.В. Информатика: учебное пособие / О.В. Обухова. – Москва: Альтаир-МГАВТ, 2008. – с.87 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 44 ↑
-
Анеликова Л.А. Алгоритмика в теории и практике / Л.А. Анеликова. – Москва: СОЛОН-ПРЕСС, 2010 – с.29 ↑
-
Анеликова Л.А. Алгоритмика в теории и практике / Л.А. Анеликова. – Москва: СОЛОН-ПРЕСС, 2010 – с.29 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 46 ↑
-
Анеликова Л.А. Алгоритмика в теории и практике / Л.А. Анеликова. – Москва: СОЛОН-ПРЕСС, 2010 – с.40 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования для студентов технологического профиля: учебное пособие / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КНИТУ, 2013. – с. 119 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 50 ↑
-
Обухова О.В. Информатика: учебное пособие / О.В. Обухова. – Москва: Альтаир-МГАВТ, 2008. – с.90 ↑
-
Обухова О.В. Информатика: учебное пособие / О.В. Обухова. – Москва: Альтаир-МГАВТ, 2008. – с.87 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования для студентов технологического профиля: учебное пособие / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КНИТУ, 2013. – с. 108 ↑
-
Харитонов Е.А., Сафиуллина А.К. Основы программирования на алгоритмическом языке высокого уровня QBASIC / Е.А. Харитонов, А.К. Сафиуллина. – Казань : Издательство КГТУ, 2008. – с. 53 ↑