![]() |
|
|
Реферат: Описание языка Turbo Basic для студентов всех специальностейРеферат: Описание языка Turbo Basic для студентов всех специальностейАННОТАЦИЯ Настоящее пособие содержит описание основных средств языка Турбо-Бейсик, а также необходимые сведения по среде Турбо-Бейсика. Пособие в основном ориентировано на использование при выпол- нении практикума по курсу "Основы прикладной информатики". Может также использоваться в качестве справочника по языку Турбо-Бейсик. С Московский государственный институт стали и сплавов 1994 г. - 3 - С О Д Е Р Ж А Н И Е 1. Основные средства языка.............................. 4 1.1. Структура программы............................. 4 1.2. Типы данных..................................... 4 1.3. Массивы......................................... 5 1.4. Выражения....................................... 5 1.5. Стандартные функции............................. 6 1.6. Основные операторы.............................. 8 1.7. Операторы цикла................................. 10 1.8. Подпрограммы, функции и процедуры............... 12 2. Цвет и графика....................................... 16 3. Файлы. Работа с файлами данных последовательного и прямого доступа...................................... 20 3.1. Файлы последовательного доступа................. 20 3.2. Файлы прямого доступа........................... 23 4. Движущиеся изображения, звуковые эффекты и нестандар- тный ввод с клавиатуры............................... 26 4.2. Оператор DRAW................................... 26 4.3. Операторы GET и PUT............................. 27 4.4. Оператор BEEP................................... 28 4.5. Оператор SOUND.................................. 28 4.6. Оператор PLAY................................... 28 4.7 Функция INKEY$.................................. 30 5. Библиотека стандартных процедур в Турбо-Бейсике...... 31 6. Рекомендуемый порядок работы на ПЭВМ при создании и выполнении программ на языке Турбо-Бейсик............ 32 - 4 - 1. ОСНОВНЫЕ СРЕДСТВА ЯЗЫКА 1.1. Структура программы Программа состоит из строк. Одна строка содержит один или несколько операторов, разделенных двоеточием. Например, a=1:b=1 Перенос оператора на другую строку допускается. В этом слу- чае используется знак переноса _. Например, a=1:b_ =1 Строки могут нумероваться (но это не обязательно). Ссылка в нужное место программы может осуществляться также по метке. _Метка . размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двое- точие. Например, aaa: x=x+1 ... GOTO aaa Если первым символом в строке является апостроф ('), то строка воспринимается как комментарий. _Имя . образуется из букв от A до Z (или от a до z), знака под- черкивания _ и цифр от 0 до 9, начинается с буквы. Имя использу- ется для обозначения переменных, меток, процедур и т.п. 1.2. Типы данных Целый (значения от -32767 до 32767, занимает 2 байта); длин- ный целый (от 2 5-31 0до 2 531 0, 4 байта); вещественный (4 байта); ве- щественный двойной точности (8 байт); символьный ( последователь- ность любых символов, каждый символ занимает 1 байт). _Тип переменной .определяется типом данных, которые она предс- тавляет. Указание типа переменной задается соответствующим знаком после имени. a$ - символьный a% - целый a& - длинный целый - 5 - a! - вещественный обычной точности а# - вещественный двойной точности Если знак после имени отсутствует, то эта переменная счита- ется по умолчанию вещественной обычной точности. То есть a!=1.1 и а=1.1 одно и то же. 1.3. Массивы _Описание массивов . осуществляется с помощью оператора DIM с указанием размеров. Например, оператор DIM a(10), b(10:20, 25:45) описывает одномерный массив a, элементы которого имеют индексы от 0 до 10, и двухмерный массив b, элементы которого имеют индексы : первый от 10 до 20, второй от 25 до 45. Если нижняя граница индексов в описании не указана, то она считается равной 0. Используя оператор _OPTION BASE n ., можно задать нижнюю грани- цу индексов равной n. Например, OPTION BASE 1 DIM a(10) В этом случае индекс элементов массива a 2 0будет принимать значе- ния, начиная с 1. Если описание массива отсутствует, то по умол- чанию верхний индекс равен 10 ( нижний - 0). В описании массива вместо константы может использоваться переменная. Например, DIM a(n) Значение n должно быть предварительно определено. Используя _оператор ERASE ., можно освободить память, выделен- ную под массив, и вернуть ее для дальнейшего использования. Нап- ример, оператор ERASE a возвращает память, выделенную под массив a. 1.4. Выражения _Символьные выражения . состоят из символьных констант (после- довательность символов, заключенная в кавычки), символьных пере- - 6 - менных, символьных функций, соединенных знаком + (конкатенация, или объединение). Например, a$="КАТЯ" b$="ЛЕНА" f$=a$+" И "+b$ В результате f$ будет иметь значение "КАТЯ И ЛЕНА". При помощи функций LEFT$, RIGHT$, MID$ можно выбрать часть символьной пере- менной слева, справа или из середины. Например, F1$=LEFT$(f$,4) F2$=RIGHT(f$,4) F3$=MID$(f$,6,1) В результате будет F1$ = "КАТЯ", F2$ = "ЛЕНА" и F3$ = "И". _Числовые выражения . включают в себя константы, переменные, функции, соединенные знаками арифметических операций, при этом могут использоваться величины разных типов. _Приоритеты . арифметических операций: 1. Возведение в степень (^) 2. Умножение, деление (*,/ ) 3. Деление нацело (\) (например, 5\2 равно 2) 4. Вычисление остатка от деления (MOD) (например, 45 MOD 19 равно 7) 5. Сложение, вычитание (+,-) 1.5. Стандартные функции Запись на Бейсике Математическая запись ABS (x) │x│ SIN (x) sin x COS (x) cos x TAN (x) tg x ATN (x) arctg x EXP (x) e 5x LOG (x) ln x LOG2(x) log 42 0x LOG10(x) lg x INT (x) целая часть х SGN (x) знак х (+1 при х > 0, 0 при х=0, -1 при x < 0) SQR (x) квадратный корень из х - 7 - LEN (а$) количество символов а$ LEFT$(a$,n) выбирает из a$ n символов, начиная с первого MID$ (a$,m,n) выбирает из a$ n символов, начиная с m-го RIGHT$ (a$,n) выбирает n символов а$, начиная с последнего STR$ (x) преобразует число к символьному виду VAL (a$) определяет числовое значение а$ ASC (a$) определяет код первого символа а$ TAB (n) указывает номер позиции для вывода следующего элемента в списке вывода оператора PRINT SPC (n) вывод n пробелов, используется в списке вывода оператора PRINT RND [(x)] выдает случайное число из инте- рвала (0,1) Замечания. 1. [] обозначают необязательный параметр. 2. Если х=0, то повторяется последнее сгенерированное число; если х < 0, то для каждого x 2 0генерируется новая последовательность случайных чисел; если x > 0 или отсутствует, то генерируется оче- редное случайное число, но при повторном запуске последователь- ность повторяется. Можно использовать оператор RANDOMIZE (перед первым использованием функции RND), чтобы при новом запуске прог- раммы получать новую последовательность случайных чисел. _Операции отношения .: <, <=, >, >=, <>. Левая и правая части отношения - это числовое или символьное выражение (в последнем случае сравниваются числовые коды симво- лов). Если отношение удовлетворяется (является истинным), то его значение равно -1 , если не удовлетворяется (является ложным), то его значение 0. Отношения могут быть использованы также в число- вых выражениях. Например, при выполнении оператора PRINT 5 > 6, 5 < 6, (5 < 6) * 15 будет напечатано 0, -1 и -15. _Логические операции .: AND (логическое и ), OR (логическое или), XOR (исключающее или ), EQV (эквивалентность), IMP (импли- кация). - 8 - Логические операции осуществляются над целыми числами -1 (TRUE) и 0 (FALSE). -1, если A = -1, B = -1 A AND B 0, в остальных случаях 0, если A = 0, B = 0 A OR B -1, в остальных случаях -1, если A и B не совпадают A XOR B 0, если A и B совпадают -1, если A и B совпадают A EQV B 0, если A и B не совпадают 0, если A = -1, B = 0 A IMP B -1, в остальных случаях 1.6. Основные операторы _Оператор присваивания . имеет вид 1переменная 0 = 1 выражение _Оператор безусловного перехода . имеет вид GOTO 1метка _Условный оператор . имеет вид IF 1условие 0 THEN 1операторы 0 [ELSE 1операторы 0] Например, IF a < b THEN t=15 : V=16 ELSE t=17 В качестве условия может использоваться целое выражение, которое интерпретируется как FALSE, если его значение равно 0, и TRUE, если не равно 0. Если после THEN или после ELSE располагается целая группа операторов, то можно использовать _IF блок ., который имеет следую- щую структуру IF 1условие 0 THEN 1операторы ELSE 1операторы END IF При этом ELSE и операторы за ним могут отсутствовать, т.е. воз- - 9 - можна конструкция IF 1условие 0 THEN 1операторы END IF Если после ELSE необходима проверка условия, то используется опе- ратор ELSEIF IF 1условие 0 THEN 1операторы ELSEIF 1условие 0 THEN 1операторы ELSE 1операторы END IF _Оператор конца END . используется для окончания выполнения программы. Может использоваться в программе несколько раз. Ис- пользуется также с IF, SUB, DEF, SELEСT (см.ниже) _Оператор очистки экрана CLS .обычно располагается в начале программы для очистки экрана перед выводом результатов программы. _Оператор ввода INPUT . имеет вид INPUT [;] [ 1поясняющий текст 0], 1список переменных Поясняющий текст заключается в кавычки. Переменные в списке отде- ляются друг от друга запятыми. ";" после INPUT означает, что кур- сор останется на той же строке, когда будет нажат "Ввод". _Оператор вывода PRINT . имеет вид PRINT [ 1список вывода 0] Элементы списка разделяются "," или ";" или пробелом. В первом случае вывод следующего элемента начинается в новую зону (строка экрана условно разделена на 5 зон по 14 позиций каждая), во вто- ром - через пробел (для чисел) или непосредственно вслед (для символьных строк) за предыдущим элементом. Элементом списка может быть имя переменной, константа (сим- вольная заключается в кавычки) или выражение (перед выводом вы- числяется). _Оператор вывода PRINT USING . имеет вид PRINT USING 1формат 0; 1список вывода Формат задается в виде символьной строки (заключенной в ка- вычки), задающей форму вывода каждого элемента списка по следую- щим правилам для чисел : # - для каждой цифры, ^^^^ - для вывода в показательной форме. Остальные символы обозначают сами себя. - 10 - Например 1, ##.## - будет выведено 2 цифры в качестве целой части и две - дробной. Если целая часть содержит более двух цифр, то перед числом будет напечатан знак % . #.## ^^^^ - вывод будет осуществляться в показательной фор- ме. Для символьных строк : "\ 1 0 \" - (два пробела) - будет выведено четыре символа "\\" 1 0- (без пробела) - будет выведено два символа Вообще количество выведенных символов будет равно числу пробелов между двумя наклонными линиями + 2. "!" 1 0- будет выведен один символ "&" 1 0- будут выведены все 1 0символы Например, A$= "КОТ" : GA= 6.5 B$= "СОБАКА" : GB= 15.3 PRINT USING "& ВЕСИТ #.#,\ \ ВЕСИТ ##.# КГ";A$,GA,B$,GB При выполнении этого оператора на экране появится КОТ ВЕСИТ 6.5, СОБАКА ВЕСИТ 15.3 КГ _Оператор определения положения курсора LOCATE i,j устанавливает координаты (номер строки i и номер столбца j), в ко- торые начнется вывод данных оператором PRINT. 1.7. Операторы цикла 1. FOR i=i 4нач 0 to i 4кон 0 [STEP ih] 1операторы NEXT i i, i 4нач 0, i 4кон 0, ih - соответственно, управляющая переменная цикла, ее начальное, конечное значения и шаг изменения. Если ih=1, то шаг можно опустить. Например, FOR i=1 to 10 .... NEXT i FOR i=1 to 10 FOR j=1 to 20 .... NEXT j: NEXT i - 11 - или FOR i=1 to 10 FOR j=1 to 20 .... NEXT j,i 2. DO WHILE 1условие 1операторы LOOP или WHILE 1условие 1операторы WEND (операторы выполняются 1, 0 пока выполняется условие) 3. DO UNTIL 1условие 1операторы LOOP (операторы выполняются до тех пор, пока не будет выполнено усло- вие. Как только условие будет выполнено, осуществляется выход из цикла). 4. DO 1операторы LOOP Выход из цикла в этом случае осуществляется оператором EXIT. _Оператор EXIT . 1( 0выход) используется с SELECT, DEF, FOR, IF, LOOP, SUB, WHILE. Например, EXIT FOR осуществляет выход из цикла, организованного опера- торами FOR/NEXT до его завершения EXIT IF - выход из любого места IF блока EXIT LOOP - выход из цикла, заканчивающегося оператором LOOP или WEND. Остальные случаи использования EXIT будут рассмотрены вместе с соответствующими операторами. _Операторы выбора . ON/GOTO и ON/GOSUB ON n GOTO 1метка 0 [, 1метка 0...] n может принимать значения от 0 до 255. Переход осуществляется на метку, определяемую значением n. Например, при n = 2 переход осу- ществляется на вторую метку в списке. Если n = 0 или n больше ко- личества меток в списке, то выполняется следующий по порядку опе- - 12 - ратор. ON n GOSUB 1метка 0 [, 1 метка 0...] n принимает значения от 0 до 255. Переход осуществляется к одной из возможных подпрограмм (см.ниже), определяемых метками в спис- ке, в зависимости от значения n. После выполнения подпрограммы возврат осуществляется к опе- ратору, следующему за ON/GOSUB. 1.8. Подпрограммы, функции и процедуры _Подпрограмма . - помеченная последовательность операторов, за- канчивающаяся оператором RETURN. Выполняется, когда достигнут GOSUB. .... GOSUB aa .... END aa: 1операторы RETURN Оператор RETURN осуществляет возврат к оператору, непосредственно следующему за GOSUB. _Функция . может быть определена одной строкой (оператор-функ- ция) или несколькими строками (подпрограмма-функция). DEF FN 1имя 0 [( 1список параметров 0)] = 1выражение (это определение оператора-функции) 1. Здесь список параметров может включать 1 0не более 16 параметров. DEF FN 1имя 0 [( 1список параметров 0)] 1описание переменных 1операторы [EXIT DEF] .... [FN 1имя 0 = 1выражение 0] END DEF (это определение подпрограммы-функции) 1. Обращение к функции записывается там, где нужно получить ее зна- чение. При этом параметры заменяются их фактическими значениями. Например 1, DEF FNF (x,y) = x * x + y * y - 13 - a = 3 : b = 4 P = FNF (a,b) или P = FNF (3,4) Функция возвращает одно значение, тип которого определяется име- нем функции. Определение функции может располагаться в любом месте программы (обычно в начале или в конце). Например, F = FNa (1.5) PRINT F DEF FNa (x) FNa = x*x END DEF END или F = FNa (1.5) PRINT F END DEF FNa (x) FNa = x*x END DEF В результате будет напечатано 2.25. Список параметров оператора-функции может включать только имена переменных. _Процедура . - это последовательность строк программы, располо- женная между операторами SUB и END SUB и выполняемая при обраще- нии к ней при помощи оператора CALL. SUB 1имя 0 [( 1список параметров 0)] 1описание переменных 1операторы [EXIT SUB] END SUB Имя может содержать до 31 символа. Список параметров (не более 16) может включать имена переменных и массивов. Для массивов в скобках указывается размерность. Например, 1 - для одномерного массива, 2 - для двухмерного и т.д. В обращении к процедуре за именем фактического массива сле- дуют пустые скобки. Например, SUB SUM (x (1), n, S) S = 0 - 14 - FOR I=1 to n S = S + x (I) NEXT I END SUB DIM A (3) A (1) = 1 : A (2) = 2 : A (3) = 4 CALL SUM ( A (), 3, S) S = S/3 PRINT S END Эта программа вычисляет среднее значение элементов массива A, процедура SUM суммирует элементы массива. Основные отличия процедуры от подпрограммы-функции : 1 - процедура не обязана возвращать значение, она не имеет типа; 2 - вызывается оператором CALL, а не из выражения. Отдельные переменные, используемые в процедуре (или подпрог- рамме-функции), могут быть объявлены локальными, т.е. действующи- ми только в данной подпрограмме (оператор LOCAL), общими, т.е. действующими как в подпрограмме, так и в основной программе (опе- ратор SHARED) и статическими, т.е. действующими в данной подпрог- рамме как LOCAL, но сохраняющими полученные значения до следующе- го обращения (оператор STATIC). По умолчанию в подпрограмме-функ- ции переменная является SHARED, а в процедуре STATIC. DEF FNF1 LOCAL i, S FOR i =1 to 10 S = S + i NEXT i FNF1 = S END DEF После выхода из подпрограммы-функции переменные i и S теряют свои значения (при входе в подпрограмму всегда S = 0). Эти же имена могут использоваться в программе для обозначения других величин. DEF FNF2 LOCAL i SHARED S FOR i = 1 to 10 S = S + i NEXT i - 15 - FNF2 = S END DEF В этом случае S сохраняет значение после выхода из подпрограммы и имеет один и тот же смысл во всех частях программы. DEF FNF3 LOCAL i STATIC S FOR i = 1 to 10 S = S + i NEXT i FNF3 = S END DEF В этом случае S сохраняет значение после выхода из подпрограммы до следующего обращения к ней, т.е. после первого обращения зна- чение функции FNF3 будет 55, после второго - 110 и т.д. (S нельзя изменять в основной программе). - 16 - 2. ЦВЕТ И ГРАФИКА В графическом режиме экран рассматривается как решетка, точ- ки в узлах которой могут быть включены (белым или другим возмож- ным цветом) или выключены. Точка идентифицируется координатами x, y; x - номер позиции по горизонтали (от 0 до 319 или до 639 в за- висимости от режима), y - номер позиции по вертикали (от 0 до 199 или до 349 в зависимости от режима). Точка с координатами 0,0 на- ходится в верхнем левом углу экрана. Графический режим устанавливается (или отменяется) _операто- Страницы: 1, 2 |
|
|||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |