WHILE condition (3.14)
.
.
.
WEND
Вместо нее рекомендуется использовать DO ... LOOP. Промежуточной между операторами и программой структурой являются
ПРОЦЕДУРЫ И ФУНКЦИИ.
Если программисту недостаточно стандартных процедур и/или функций, предоставляемых средой QBasic, то он может разработать и написать собственные подпрограммы. Для этого имеется несколько возможностей, которые соответствуют различным этапам развития языка. Функции и процедуры обладают некоторой «самостоятельностью» относительно основной программы в двух отношениях:
• во-первых, они представляют собой часть текста, который может быть использован не только любой другой программой, но зачастую и самой подпрограммой (это очень важное свойство математики называют рекурсивностью), то есть они занимают некоторый уровень в иерархии потока управления;
• во-вторых, они могут обладать своей областью данных в ОЗУ и для работы с ними реализуются специальные способы передачи им данных и получения от них результатов вычислений, то есть они занимают некоторый уровень в иерархии потока данных. Рассмотрим различные варианты оформления процедур и функций от простого к сложному (хотя в смысле их использования это движение от сложного к простому, иначе для чего было городить огород?).
Первоначально для вычисления функций использовались подпрограммы, обращение к которым осуществлялось командой GOSUB с соответствующей меткой. В конце текста подпрограммы обязательно должна быть команда возврата к вызывающей программе RETURN. Что касается передачи данных и результатов выполнения подпрограммы, то здесь никаких ограничений не было, подпрограмме были доступны все объекты вызывающей программы как для чтения, так и для записи. Здесь возможности программиста наибольшие (в том числе и по части ошибок!). Недостатками такого оформления подпрограмм являются некоторые сложности обращения к ним:
• во-певых, для обращения к подпрограмме необходимо использовать метку,
• во-вторых, перед обращением к подпрограмме необходимо присвоить значения аргументов соответствующим переменным подпрограммы,
• в-третьих, после обращения к подпрограмме нужно присвоить вычисленное значение функции некоторой переменной вызывающей программы.
Во всех современных языках высокого уровня подпрограммы для удобства обращения к ним оформляются как функции и процедуры.