- •Техника программирования на алгоритмическом языке бейсик
- •Операторы языка
- •Операторы управления
- •Организация ветвлений
- •Input “Укажите х”, X
- •2 Print y
- •Input X
- •Input a,b,c
- •Организация циклов
- •Программа к задаче 9
- •Input "Введите числа X и y", X, y
- •Input X
- •Input X
- •Работа с массивами
- •Input "Введите число вкладчиков и процент ",n,p
- •Input X(I,j)
- •Input n
Операторы языка
Оператор является основной единицей программы и выполняет какое-то элементарное действие. Во многих версиях Бейсика операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна. При задании формата оператора символами [ ] будем ограничивать необязательную часть оператора.
Оператор присваивания. Формат оператора:
переменная=выражение
Такая запись означает, что выражение, стоящее справа, вычисляется и его результат присваивается переменной, стоящей слева.
Примеры операторов: Z=2, А=3.5+EXP(8), S=X^4+Y/2.
Присваивание не является равенством в обычном смысле. Справа и слева от знака “=” можно указывать одну и ту же переменную, например: М=М+2, X=X/3. Эти выражения следует понимать как реализацию так называемых рекуррентных соотношений, то есть новое содержимое ячейки М будет равно старому, увеличенному на 2, и новое Х будет равно старому, деленному на 3. По обе стороны равенства могут стоять переменные разных типов. Но если слева от знака равенства – целочисленная переменная, а справа получено вещественное число, то его дробная часть будет отброшена. Так, если А=2, то после вычислений в операторе М%=А*0.2+0.5 получим не М%=0.9, а М%=0.
Часто возникает необходимость в перестановке значений переменных. Так, если нужно поменять значения Х и Y, следует записать три оператора: A=X, X=Y, Y=A. Здесь понадобилась дополнительная “транзитная” переменная А, в которой временно запоминается значение Х.
Оператор
SWAP переменная1, переменная2
позволяет выполнить обмен значений сразу.
Например: SWAP X,Y
Наше общение с компьютером имеет характер переписки. Мы пишем, он читает. Он пишет, читаем мы. Эти действия реализуются следующими специальными операторами ввода-вывода.
Оператор вывода. Для просмотра и анализа результатов вычислений необходимо вывести их на внешний носитель – бумагу или экран дисплея. Для этой цели используется следующий оператор.
PRINT [список_выводимых_переменных]
или ? [список_ выводимых_переменных]
Здесь вопросительный знак может заменять слово PRINT, что экономит время ввода программы. Например, оператор:
PRINT a, m читается так – “Печатать переменные А, М”.
Оператор PRINT может вообще использоваться без аргументов. Тогда при выводе будет формироваться только пустая строка.
В оператор вывода могут включаться не только переменные, но константы и целые выражения. Например, если Х=12, а Y=100, то применение оператора
? “СУММА=” x+y
даст следующий результат: СУММА=112
При выводе данных имеет значение, какой разделительный знак использован для перечислении переменных. Если используется точка с запятой или пробел, следующая переменная будет выведена непосредственно за предыдущей. Если запятая – следующая переменная будет выведена с начала следующей зоны вывода. Бейсик разделяет каждую строку вывода на зоны по 15 символов. Это означает, что первое выводимое значение займет колонки с 1 по 15, второе – с 16 по 30, третье с 31 по 45 и т.д.
Если необходимо управлять положением и разрядностью выводимых данных, следует использовать оператор
PRINT USING шаблон; список,_выводимых_переменных
Здесь шаблон содержит символы, определяющие эти параметры. Символ “#” в шаблоне указывает на то, что в этой позиции будет выведена цифра. Символ “.” определяет место десятичной точки. Например, положим, что Х=2539.23745. Оператор
PRINT USING “######.##”; x
выведет число 2539.24, которому предшествуют два пробела, поскольку под целую часть числа отводиться 6 позиций. Дробная часть округляется до двух разрядов.
Оператор ввода. Исходные данные, обрабатываемые программой, можно задавать оператором присваивания. Пусть нужно вычислить площадь круга S=2ПR2. Если задать непосредственно в программе значение радиуса окружности, например оператором R=5, то программа будет вычислять площадь только такой окружности. Если нужно вычислить значение S с иным радиусом, придется изменить оператор непосредственно в программе. Это очень неудобно, поскольку пользователь программы не имеет квалификации и возможности изменять что-нибудь в программе. Необходимо сделать так, чтобы результаты вычислений зависели не от текста программы, а только от данных. Для этого имеется оператор чтения данных вида:
INPUT [приглашение ;/,] список_вводимых_переменных
где приглашение – необязательная символьная константа, указывающая, что именно нужно вводить. Если после приглашения указана точка с запятой, после приглашения будет выведен вопросительный знак. Если запятая – нет.
Все переменные в списке переменных разделяются запятыми. Если список переменных содержит более одной переменной, вводимые значения следует разделять запятыми. Число вводимых данных по количеству и типу должно соответствовать списку переменных. По завершении ввода всех переменных для данного оператора INPUT следует нажать клавишу ENTER. Если ввод был осуществлен неверно, ПК выдаст сообщение “Redo from start” о необходимости его повторить.
Пример: INPUT “Введите переменные R и L”; r, l
Дословно оператор интерпретируется следующим образом: “Читать в память ЭВМ, введенные с клавиатуры, переменные R и L”. При этом на экране сначала будет выведено приглашение вида “Введите переменные R и L?”