Статический ввод данных
Если программа постоянно работает с некоторым набором числовых или символьных констант, то можно объявить такой набор блоком данных:
DATAсписок констант
В списке констант через запятую указываются значения констант, например:
10 DATA 5,25,19.6,30,12,"ABC"
20 DATA "BASIC","Pascal",25.9
В программе можно записать произвольное число операторов DATA. В блок данных по порядку включаются все константы и в памяти создаётся специальный указатель блока данных. Во время работы программы этот указатель содержит порядковый номер константы в блоке данных. При запуске программы указатель показывает на первую константу из блока данных.
Для присвоения значений констант из блока данных переменным используется оператор READ:
READсписок переменных
В списке переменных через запятую указываются имена переменных, которым присваиваются значения констант из блока данных. Типы переменных в списке READ должны соответствовать типам констант из блока данных. Например:
READ a%, m%, t
Переменным a%, m%, t присвоятся значения 5, 25 и 19.6. Указатель перемещается на 4-ую константу. Оператор
READ c, sc%, a$
Присвоит переменным c, sc%, a$ значения 30, 12, "ABC" и указатель переместится на "BASIC" и т.д.
Как несколько раз прочитать одни и те же данные из блока данных? Для восстановления указателя блока данных используется оператор RESTORE:
RESTOREномер строки или метка
где номер строки должен указывать на оператор DATA.
Если не указан номер строки, следующий после RESTORE, READ начнет чтение с первой константы блока данных. Например:
RESTORE
READ vk%, s%
RESTORE 20
READ z1$, z2$
vk%, s% присвоятся значения 5 и 25, а переменным z1$, z2$ - значения "BASIC" и "Pascal".
Блок данных удобен в тех случаях, когда несколько раз используется одна и та же последовательность констант.
Пример. Составить программу нахождения высоты равнобедренной трапеции, у которой основания 5м и 11м, а боковая сторона 4м. Данные ввести статически.
DATA 5,11,4
READ BC,AD,AB
AE=(AD-BC)/2 'Основание треугольника
HT=SQR(AB^2-AE^2)
PRINT"Высота трапеции =";HT
END
Дата добавления: 2015-09-14; просмотров: 938;