Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Некоторые фрагменты программы могут повторяться многократно в цикле до выполнения определенного условия. Цикл организуется оператором цикла:
for: i=N1 to n2 step n3
где n1,n2,n3 ‑ параметры цикла, определяющие начальное, конечное значения и шаг приращения, соответственно, переменной цикла i. Значения этих параметров не могут изменяться в программе внутри цикла, но вне цикла могут модифицироваться.
Если не указана величина шага, то он принимается равным 1. Цикл должен быть завершен командой:
next i
где i ‑ переменная цикла.
Команды цикла не используются в операционной среде.
Пример:
>100 dim x(50)
>110 for k=0 to100 step 2
>120 x(k/2)=k*k
>130 next k
Данная программа заполняет массив x квадратами четных чисел, т.е. числами 0,4,16…10000.
4.8. goto ‑ команда перехода
Программа в camac‑basic выполняется последовательно согласно номерам строк. Однако часто требуется изменить порядок выполнения команд. Для этого служит команда:
goto n
где n ‑ номер строки, с которой программа должна продолжаться.
Пример:
>100 input а
>101 goto 200
>102 for i=1 то а
>200 а=а/2
>220 goto 102
4.9. if, then ‑ команды условных переходов
Команда условного перехода позволяет перейти к выполнению одной из двух строк программы в зависимости от заданного условия:
if с then n
где
с ‑ условие (выбирается из отношений, описанных в 7.2.);
n ‑ номер строки программы, на которую нужно передать управление при выполнении заданного условия.
При невыполнении условия сохраняется естественный порядок выполнения программы. Данные команды не могут быть использованы в операционной среде.
Пример:
>100 input a
>110 if a=1 then 1000
>120 if a<=3 then 1100
>130 goto 100
- - - - - - - - - - - - - - - - - - - - - - - - -
>1000 …
>1100 …
Программа после команд if будет продолжаться со строки 1000 при а=1 и со строки 1100 при а=2 или а=3. При а>3 будет выполняться команда, следующая за строкой 120.
4.10. gosub, return ‑ организация подпрограмм
В случае, когда некоторые последовательности команд часто повторяются в программе, эффективно объявлять их подпрограммами.
Команда:
gosub n
где
n ‑ номер строки программы, позволяет передавать управление подпрограмме, начинающейся с указанной строки.
Команда:
return
позволяет вернуться к очередной строке за gosub главной программы.
Пример:
>100 gosub 2000
>110 …
- - - - - - - - - - - - - - - - - - - - - - - - -
>200 gosub 2000
- - - - - - - - - - - - - - - - - - - - - - - - -
>2000 …
>2100 return
4.11. print ‑ вывод информации
Для вывода на экран дисплея информации используется команда:
print p
где p ‑ список параметров, разделенных запятыми, в число которых может входить:
‑ последовательность знаков (текст), заключенная в апострофах;
‑ значение, представленное числом либо именем переменной;
‑ функция табуляции;
‑ функция выводе знака по коду;
‑ функция форматирования чисел;
Значение числа записывается в обычном виде, если для него хватает 8 позиций. В противном случае оно записывается в формате Е.
Функция tab(n) печатает n пробелов.
Функция chr(n) выводит знак в соответствии с ascii кодом n.
Функция форматирования чисел %…% дает возможность управления распечаткой чисел:
%E% ‑ числа будут распечатаны в формате Е;
%Z% ‑ числа будут распечатаны со всеми нулями;
%N% ‑ будет распечатано n цифр после запятой;
%% ‑ возврат к стандартной распечатке;
параметры e, z, n могут быть использованы в любой последовательности.
пример:
>100 а=10
>120 print tab(5),”a=”,a,tab(20),%3E%,4*a
после выполнения 120 строки будет напечатано:
а=10 4.000e1
4.12. lprint ‑ вывод на печать
Инструкция lprint выполняется аналогично инструкции print, но информация выводится на устройство, определенное как устройство печати.
4.13. push ‑ занесение данных в стек
Инструкция позволяет заносить 16-разрядные данные во внутренний стек системы. Требует задания одного параметра:
push V
где v ‑ константа, переменная или выражение, опред. значение данного, заносимого в стек.
примеры:
>10 push 13
>20 push i+2*7
4.14. out ‑ выдача данных в порт микро-ЭВМ
Инструкция позволяет выдавать 16-разрядные данные в любой из внешних портов микрокомпьютера. Требует задания двух параметров:
out n[v]
где
n ‑ константа, переменная или выражение определяющее номер порта;
v ‑ список констант, выражений или переменных, определяющих выдаваемые данные.
Пример:
>5 n=6
>10 out n[v]
>20 out 3[x+1]
>30 out 206[111,j]
4.15. poke ‑ занесение данных по абсолютному адресу
Инструкция позволяет записывать 8-разрядные данные в любые ячейки озу. Требует задания двух параметров:
poke n[v]
где
n ‑ константа, переменная или выражение, определяющее абсолютный адрес ячейки памяти;
v ‑ константа, переменная или выражение, определяющее записываемые данные.
Пример:
>5 v=r-12
>10 poke o[10]
>20 poke a[v]
4.16. clear ‑ сброс переменных
Команда:
clear
обнуляет значения всех переменных и отменяет ранее установленные параметры размерности массивов.
4.17. end ‑ конец программы
При встрече с инструкцией:
end
программа перестает выполняться и интерпретатор готов выполнить следующую инструкцию операционной среды.
4.18. stop ‑ прерывание программы
Команда:
stop
вызывает прерывание программы на строке, в которой находится эта команда, и переход в операционную среду camac‑basic.
Команда stop часто используется при отладке программ. в случае неправильной работы программы можно между двумя строками вставить строку с командой stop. После прерывания выполнения программы можно подать команду print и вывести на экран интересующую нас информацию.
Пример:
>110 а=а*b/с+1
>115 stop
>120 if a>=d then 1000
- - - - - - - - - - - - - - - - - - - - - - - - -
>I000 end
>run /выполнение программы/
stop in line 115 /печать на экране/
>print a
4.19. rem ‑ ввод комментария
для ввода комментария в программу используется команда:
rem t
где t - любой текст комментария
Команда rem при выполнении программы пропускается интерпретатором и не оказывает влияния на ход выполнения программы.
Пример:
>10 input a, b
>20 rem ввод параметров а и в
Дата публикования: 2014-12-25; Прочитано: 197 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!