Текст
                    ИНСТРУКЦИЯ
по
ЭКСПЛУАТАЦИИ
Обучающий компьютер на русском и английском языках

Содержание Часть первая Знакомство с персональной обучающей ЭВМ ....................................3 1. Назначение .........................................................3 2. Составные части ЭВМ ................................................3 3. Электропитание и меры предосторожности .............................3 4. Возможные неисправности и способы их устранения ....................4 5. Знакомство с клавиатурой............................................4 5.1 Расположение клавиш и работа с ними............................4 6. Основные правила работы с клавиатурой ..............................5 6.1. Положение тела при работе с клавиатурой ......................6 6.2. Расположение пальцев при печати...............................6 Часть вторая Работа с учебной кассетой...................................................7 1. Работа в режиме “Упражнение с клавиатурой”..........................7 2. Работа в режиме “Занимательное печатание” ..........................8 3. Режим “Музыка и песни”..............................................9 4. Работа в режиме “Редактирование”....................................9 4.1. Редактирование................................................10 4.2. Подсказка.....................................................И 4.3. Вывод на печать...............................................11 5. Работа в режиме “Вычисления”........................................12 6. Режимы про раммирования Ж-Бейсик и Ф-Бейсик.........................12 7. Дополнительные упражнения для тренировки пальцев ...................12 Часть третья Краткий курс программирования на языке Бейсик..............................17 1 .Общие сведения......................................................17 1.1. Структура программы...........................................17 1.2. Данные .......................................................17 2 .Работа в режиме Ж-Бейсик...........................................18 2.1. Встроенный текстовый редактор ................................18 2.2. Редактирование строки.........................................19 2.3. Ре (актирование программы ....................................19 2.4. Арифметические операции, выполняемые на ЭВМ...................20 2.5. Пример работы в режиме Ж-Бейсик...............................20 3.О ператоры ввода-вывода.............................................22 3.1. Оператор присваивания.........................................22 3.2. Оператор ввода INPUT..........................................22 3.3. Оператор вывода PRINT.........................................23 3.4. Операторы списочного ввода данных DATA и READ.................24 3.5. Оператор RESTORE .............................................25 3.6. Сравнение трёх способов ввода данных..........................25 3.7. Оператор обмена SWAP .........................................- .26 4.О ператоры управления........................... . . ..............26 4.1. Операторы перехода ...........................................26 I
4.2. Операторы организации цикла FOR и NEXT.....................28 4.3. Операторы прекращения выполнения программы STOP и PAUSE. Команда CONT....................................................30 4.4. Оператор завершения программы END .........................31 5 .Блок - схемы и комментарии......................................3 ] 5.1 Блок — схемы................................................3] 5.2 . Оператор REM............................................ 32 б .Функции..........................................................32 6.1. Встроенные функции ........................................32 6.2. Функции пользователя ................................... 37 7 .Подпрограммы.....................................................37 7.1. Операторы GOSUB и RETURN ................................ 37 8 .Массивы....................................................................39 ( 8.1. Оператор DIM...............................................39 9 .Управление памятью ЭВМ ..........................................41 9.1. Оператор РОКЕ и функция РЕЕК ..............................41 9.2. Оператор CLEAR.............................................41 Ю.Управление экраном.................................................41 10.1. Оператор и команда CLS................................. .41 10.2. Управление курсором ......................................42 10.3. Управление цветом ........................................43 10.4. Управление движением......................................47 10.5. Операторы управления слоями изображения...................50 10.6. Функции управления манипулятором “джойстик’’..............51 10.7. Функция SCR$(X,Y,Sw)......................................52 10.8. Несколько дополнительных примеров применения операторов управления мультипликационными фигурами.........................53 10.9. Создание графического изображения дальнего фона...........55 10.10. Объединение программы движущихся фигур с графическим изображением дальнего фона......................................56 11 .Краткое описание Ф-Бейсика.......................................57 11.1. Оператор НОМЕ ............................................58 11.2. Оператор CALL.............................................58 11.3. Функция FRE...............................................58 11.4. Операторы и команды TRACE и UNTRACE ......................58 11.5. Функции Ф-Бейсика ........................................58 11.6. Текстовый редактор Ф-Бейсик ..............................60 Приложение 1 ...................................................... 61 Приложение 2.........................................................62 Приложение 3 ........................................................64 2 L
Часть первая Знакомство с персональной обучающей ЭВМ 1. Назначение Приобретенная Вами электронно-вычислительная машина (ЭВМ) носит название — обучающая ЭВМ и пред- назначена для того, чтобы каждый школьник смог научиться пользоваться вычислительной техникой. При помо- щи этой ЭВМ можно научиться составлять простые программы на языке программирования Бейсик (Basic), а также создавать несложные, короткие мультфильмы. Любой желающий научится печатать текст, не глядя на клавиатуру, что заметно повысит скорость печатания. Эту ЭВМ можно использовать в качестве калькулятора и производить простейшие арифм—пческие расче~ы Ещё на ней можно играть в электронные игры, но для этого нужно заменить обучающую кассету на игровую. 2. Составные части ЭВМ Обучающая ЭВМ состоит из клавиатуры со встроенным в неё процессором, блока питания, обучающей и иг- ровой кассет, двух джойстиков и светового пистолета. А вместо дисплея используется бытовой телевизор. Внешний вид клавиатуры и расположение клавиш на ней соответствуют клавиатуре, используемой в современ- ной персональной ЭВМ (ПЭВМ). В верхней части клавиатуры и на задней панели расположены специальные гнёз- да для подключения различных устройств (см. рис. 1). Для распечатывания текстов к ПЭВМ может быть подключен принтер (печатающее устройство). Рис.1 3. Электропитание и меры предосторожности Блок питания включается в электрическую сеть переменного тока с напряжением 220 вольт. На выходе бтока питания — постоянный ток с напояжением 9 волы. При подключении блока питания к ПЭВМ следует избегать качательных и вращательных движений, которые могут i овредить контакты сопряжения. Между включением и выключением необходимо сделать паузу. По окончании работы ПЭВМ нужно отключить от сети Внимание! Установку и снятие кассет производить только при выключенном электропитании Во пзбея ание повреждения контактов, при установке кассеты в гнездо нельзя прикладывать больших усилий. Работать на ПЭВМ необходимо при комнатной температуре Для нормальной вентиляции внутри ПЭВМ нужно следить за тем. чтобы венти шпионная оешётка ничем не загораживалась. 3
Нельзя работать в непосредственной близости с источником тепла и под прямыми солнечными лучами. При хранении следует избегать попадания влаги и пыли Не следует ставить посторонние предметы на клавиатуру. Не разбирайте ПЭВМ при обнаружении неисправности. Если при повторном включении неисправность не устраняется, необходимо обратиться в гарантийную мастерскую или к специалисту. 4. Возможные неисправности и методы их устранения Во время настройки и в процессе эксплуатации ПЭВМ пользователь может столкнуться с какими-j ибо труд- ностями. Чтобы помочь Вам преодолеть эти трудности, приведём часто встречающиеся неисправности и мето ды их устранения. Характер неисправности Методы устранения 1 2 Нет изображения Проверить: -подключение ЭВМ к электросети - правильность выбора канала в телевизоре - правильность соединений и исправность соединительных проводов - исправность телевизора - правильность настройки телевизора на свободный канал - правильность установки кассеты Нет цветисто изображения Проверить - правильность настройки телевизора на свободный канал - регулировку цветности телевизора - правильность установки кассеты Нет звука Проверить: " регулировку громкости телевизора - правильность настройки телевизора на свободный канал - положение переключателя ПАЛ'СЕКАМ Отказ клавиатуры Проверить соединительный кабель на обрыв Сбой изображения Проверить: - правильность установки кассеты - блок питания 5. Знакомство с клавиатурой 5.1 Расположение клавиш и работа с ними Кланиатуоа предназначена лля ввола информации в машину от по шзоватетя Нестоящая ПЭВМ оснащена клавиатурой, соответствующей межщ наро тому стандарту. На рис. 2 показан внешний вид клавиатуры. функциональные курсором 4
Клавиатурное поле делится на три зоны: -зона функциональных клавиш -зона клавиш основного набора символов. Под словом символ подразумеваются буквы, цифры и знаки пунктуации - -зона клавиш управления курсором. Курсор — это мерцающая чёрточка, которая показывает, в каком месте экрана в данный момент времени находится условное перо. Функциональные клавиши. В верхней части клавиатуры расположены функциональные клавиши ([F1] - [F12]). В зависимости от того, в каком режиме работы заходится машина, изменяется и функция каждой функциональной клавиши. Клавиши основного набора. Бу1 венные клавиши надписаны двумя буквами. Одна буква русского алфавита ^буква кириллицы), адругая буква латинского алфавита. Расположение клавиш с буквами кириллицы такое же, как на русской пишущей машинке, а расположение клавиш с латинскими буквами соответствует английской пишущей машинке. Цифровые клавиши надписаны цифрой и знаком. При описании, для обозначения какой-либо клавиши, используются квадратные скобки. Например, клавиша с надписью “F1” записывается: клавиша [F1J. Для того чтобы набрат„ текст латинскими буквами, нужно нажать клавишу [F1], а для набора текста буквами кириллицы нужно нажать клавишу [F2], Клавиша [Caps] предназначена для фиксации регистра прописных букв. Например, если нужно вводить текст только прописными буквами, нужно нажать клавишу [Caps]. При этом включится средняя лампочка с надписью “Caps” в правой верхней части клавиатуры. Клавиша [Shift] служит тоже для переключения регистров строчных и прописных букв, но действует она только тог- да, когда нажата. Например, если нужно набрать строчную букву “а”, надо нажать клавишу [А], а чтобы ввести пропис- ную букву “А”, надо нажать клавишу [Shift] и, не отпуская её, нажать клавишу [А]. Но если лампочка [Caps] горнт. это значит, что включён регистр прописных букв. Тогда клавиша [Shift] переводит буквы из разряда прописных в стрс 'чыс. Если включён режим набора текста латинскими буквами, то при нажатой клавише [Shift] и цифровой клавише будут вводиться символы красного цвета. А в режиме букв кириллицы будут вводгться символы чёрного нве~а Клавиша [Пробел] — это длинная клавиша, расположенная в нижней части клавиатуры. Она предназначена для обозначения интервала между словами или отдельными символами. Клавиша [Tab] (табуляция) предназначена для ввода большого интервала длиною в несколько позиций. Специальные клавиши. Кроме алфавитно-цифровых клавиш и клавиш со знаками пунктуации, на клавиатуре имеются специальные клавиши. Клавиша [Enter J] предназначена для ввода команд в ЭВМ и для перевода строки при наборе текста. Клавиша [Ins] (Insert — вставка) предназначена для вставки символов внутрь имеющегося текста. Клавиша [Del] (Delete — удаление) предназначена для удаления символов, стоящих над курсором Клавиша [<—]. стоящая нал клавишей [Enter], удаляет символы, находящиеся слева от курсора. Клавиши управления курсовом. Клавиша [Ноте! перемещает курсор в начало текста. Клавиша [End] перемещает курсор в конец текста. Клавиша [Page Up] предназначена для перелистывания страницы текста вверх Клавиша [Page Down] перелистывает страницу вниз. Группу, состоящую из четырёх клавиш [ <— ] [?],[->],[ 4- ], называют клавишами управления курсором. Эти клавиши предназначены для перемещения курсора по экрану. В правой части клавиатуры расположена группа дополнительных клавиш, имеющих два регистра: верхний регистр для ввода чисел, а нижний — для управления курсором. Если включена лампочка [Num Lock], то при помощи этих клавиш можно набирать цифры Если лампочка [Num Lock] выключена, то это значит, что эти клавиши работая т в регистре управления курсором. Направления перемещений курсора указаны на клавишах. Здесь же расположены клавиши четырёх арифметических действий: клавиша [ / ] используется для операции деления клавиша [ ♦ ] — для умножения клавиша [ - ] — для вычитания клавиша [ + ] — для сложения. Дополнительная клавиша [Enter] имеет такое же назначение, что и основная клавиша [Enter-!]. 6. Основные правила работы с клавиатурой Каждый пользователь ПЭВМ должен научиться работав на клавиатуре как профессиональная машинистка. Представьте себе, какая получится музыка, если пианист будет играть одним пальцем. Во время работы или игры на ПЭВМ нужно быстро и безошибочно нажимать на нужные клавиши Этому можно научиться на Вашей ПЭВМ I л 5
с помощью двух специально разработанных программ: “Упражнение с клавиатурой” и “Занимательное печатание”. Программа “Упражнение с клавиатурой” поможет запомнить расположение клавиш на клавиатуре и правильно располагать пальцы. Программа “Занимательное печатание" закрепляет полученный навык и помогает научиться “бегло” печатать. Беглая работа на клавиатуре помогает развитию беглой, то есть быстрой, мысли. 6.1. Положение тела при работе с клавиатурой Во время работы с клавиатурой сидеть нужно прямо, не облокачиваясь на спинку стула, в 10-15 см от стола, слегка подавшись вперёд. Локти и предплечья — на одном уровне. Пальцы согнуты и слегка касаются клавиш. Ноги на ширине плеч свободно стоят на полу. Одна нога чуть выдвинута вперёд. При печати запястья свободно движутся вперёд и назад параллельно клавиатуре. Пальцы должны нажимать на клавиши строго вертикально как молоточки. Нажатие должно быть чётким и энергичным. При этом нужно стараться попадать по центру клавиши. После каждого нажатия пальцы должны возвращаться в исходное положение. Смотреть нужно на документ, лежащий напротив перед глазами или чуть левее. Если обучающийся смотрит и на документ, и на клавиатуру, то он, во-первых, теряет скорость печатания, а во-вторых, быстро устаёт. Неправильное положение тела при печати приводит к быстрому утомлению. 6.2. Расположение пальцев при печати Для того чтобы научиться быстро печатать, нужно: правильно располагать пальцы на клавиатуре, соблюдать правило движения рук, знать наизусть расположение клавиш и печатать, не глядя на клавиатуру . Этого можно достичь только путём тренировок. В таблице I представлено правильное расположение пальцев нВ клавиатуре 1 а б J и и а I Левая рука Правая рука Ряд Мизи нец Безы мяв ный Сред НИЙ Указатель ный Указатель ный Сред НИЙ Безы мян ный Мизинец Четвер тый 1 2 3 4 5 6 7 8 9 0 I Третий и ц У К Е н Г Ш щ 3 X ъ В то рой ф ы в А П р о Л д Ж э Пер вый я ч с М И т ь Б ю Е Каждая буква или цифра таблицы означает клавиш; Заштрихованные клавиши указывают на исходное положение пальцев. Каждый палец должен “обслуживать” строго указанные в таблице клавиши. Большие пальцы “обслуживают” клавишу [Пробел] После каждого нажатия палец должен возвращаться в исходное положение. В нижней части клавиш [А] и [О] имеются небольшие выступы в ви те чёрточек. Эти выступы помогают установить пальцы в исходное положение, не глядя на клавиатуру Для того чтобы нажать клавишу, находящуюся в первом ряду, нужно переместить руку (предплечье; к себе и чуть вправо. При этом пальцы лягут на свои клавиши, как указано в таблице 1. После нажатия на нужную клавишу необходимо вернуться в исходное положение. Как только указательный палец почувствует клавишу с выступом, это значит, что рука вернулась в исходное положение. Для нажатия клавиши, находящейся в третьем или в четвёртом ряду нужно переместить руку от себя и чуть влево. Пальцы при этом должны скользить по клавиатуре и постоянно чувствовать кл шиши Итак, при перемещении с одного ряда на другой руки должны двигаться параллельно клавиатуре к себе и от себя с небольшим наклоном в левую сторону. При возвращении в исходное положение указательные пальцы ложатся на клавиши с выступами, а остальные пальпы автом гтически паспреде тяготея по своим клавишам так. как указано в таблице 1. 6
Часть вторая Работа с учебной кассетой Перед включением ЭВМ необходимо объединить детали машины так, как указано на рис.1. На первом этапе обучения джойстики и световой пистолет можно не подключать. Вставить обучающий картридж (кассету) в разъём так, чтобы надписи были повёрнуты к пользователю. Отключить от бытового телевизора антенну, а в освободившееся гнездо вставить соединительный кабель. Другой конец кабеля вставить в гнездо “RF” на задней панели клавиатуры. Свободный конец провода, идущего от блока питания, вставить в гнездо “DS” на задней панели клавиатуры. Вставить блок питания в розетку электросети, нажать кнопку включения ЭВМ, находящуюся в верхней правой части клавиатуры, а затем включить телевизор. Если ручки настройки антенны Вашего телевизора выведены на панель управления, то Вы сами можете настроиться на сигнал ЭВМ и выбрать свободный канал телевизора. Если Ваш телевизор не имеет внешнюю настройку антенны, то Вам необходимо посоветоваться с продавцом магазина или обратиться к телевизионному мастеру. При правильной настройке после включения телевизора на экране появится фирменная заставка “СЮБОР”, сопровождаемая музыкой. Для продолжения работы нажмите на любую клавишу Фирменная заставка погаснет, а взамен её появится “главное меню” и бегущая строка (см Рис. 3). Обучающий картридж 1. Упражнение с клавиатурой 2. Занимательное печатание 3. Музыка и песни 4. Редактирование 5 Вычисления 6. G-BASIC 7. F-BASIC Рис.З Для того чтобы выбрать режим работы ЭВМ. нужно нажать на клавиатуре соответствующую цифру. 1. Работа в режиме “Упражнение с клавиатурой’’ Чтобы из главного меню войти в режим “Упражнение с клавиатурой”, нужно нажать клавишу [1]. На экране появится изображение зоны клавиатуры основного набора символов. На буквенной клавише изображены две буквы: одна буква русского алфавита, а другая буква латинского алфавита (буквы русского алЛавита ешё назы- вают буквами кириллицы) На цифровой клавише изображены цифра и какой-либо знак. Как управлять таким на- бором символов, Вы узнаете в процессе обучения. Над изображением клавиатуры слева и справа расположены два счётчика Левый счётчик указывав- общее количество задаваемых символов, а правый счётчик указывает количество правильных нажатий. Под клавиатурой расположены две группы белых заштрихованных квадратов, по четыре квадрата в каждой группе. Каждый квадрат соответствует определённому пальцу левой или правой руки. Крайний левый квадрат соответствует мизинцу левой руки, а крайний правый квадрат соответствует мизинцу правой руки. Если мысленно установить мизинцы на эти квадраты, то каждый патец, кроме больших, получит свой квадрат Во время выполнения упражнения эти квадраты будут по [сказывать пользователю каким пальнем нужно нажимать на клавишу. Чтобы начать работу с программой, нужно нажать на клавишу [ Пробел ]. При этом на клавиатурном поле экрана в сопровождении короткого гудка возникнет белый квадрат, выделяющий один из символов. А в нижней части экрана будет мерцать один из восьми заштрихованных квадратов. Пользователь должен правильно расположить пальцы на клавиатуре и нажимать на ту клавишу, которую задаст ЭВМ. Нажимать нужно именно тем пальцем, которому соответствует мерцающий белый квадрат. Если пользователь не нажал ни на какую клавишу, го ПЭВМ через короткий промежуток времени хаотично задаст другой символ, а счётчик слева увеличится на единицу. Каждый заданный символ сопровождается коротким гудком. Пользователь должен нажимать на клавиши, не глядя на клавиатуру. Koi да обучаемый 7
нажимает правильно, то раздается короткий шипящий звук, похожий на вспышку, а счётчик справа увеличивается на единицу. А если нажата не та клавиша, которую задала машина, то раздаётся короткий гудок и задаётся другой символ. Упражнение длится до тех пор, пока на левом счётчике не появится цифра 99. Это означает, что ПЭВМ предложила пользователю 99 раз нажать на нужную клавишу. По окончании упражнения правый счётчик покажет количество правильных нажатий. Чтобы научиться выполнять это упражнение без ошибок, нужно хорошо запомнить расположение клавиш, правильно работать пальцами и повторять упражнение ещё и ещё раз. Нс бойтесь ошибиться. Исправляйте ошибки и повторяйте упражнение. У Вас всё получится. Когда Вы захотите выйти из программы “Упражнение с клавиатурой”, нажмите клавишу [Esc] Машина вернётся в плавное меню. 2. Работа в режиме “Занимательное печатание” Программа “Занимательное печатание” предназначена для повышения скорости печатания. Эта программа имеет 10 уровней сложности Работа с программой “Занимательное печатание” поможет закрепить навыки, полученные при работе с первой программой, и выработать чувство ритма. Чтобы войти в режим “Занимательное печатание”, нужно, находясь в главном меню, нажать клавишу [2]. На экране появится другое меню, которое называется подменю (смотри Рис. 4). Печатание 1. На английском языке 2. На русском языке Выбрать: (1,2) Esc: Выйдите Рис. 4 Это означает, что ПЭВМ предлагает пользователю выбрать, какими буквами он хочет выполнять упражне- ния, и что нужно сделать, чтобы выйти из этого режима. Для продолжения работы пользователь должен нажать одну из предложенных клавиш. Предположим, что Вы нажали клавишу [2]. Тогда на экране возникнет столбец цифр от “0” до “9”, а с левой стороны от цифры [0] стрелка, направленная к цифре. В верхней части экрана расположены две информационные строки. В первой строке говорится о падающих буквах: LETTERS INVADE Во второй строке предлагается выбрать уровень: SELECT LEVEL В нижней части экрана написано: SPEED: 30 СРМ Число 30 указывает на скорость печати нулевого уровня. Каждому уровню соответствует своя скорость. Чтобы установить нужный уровень, необходимо переместить стрелку до той цифры, которую Вы выбрали. Для перемещения стрелки можно пользоваться клавишами управления курсором [Ф] или [Т], или клавишей [Пробел]. Установить уровень можно также, нажав иа цифровую клавишу соответствующего значения. При этом машина сразу войдёт в рабочий режим. После того как Вы установили нужный Вам уровень, можно начинать работу с упражнением. Для этого нужно нажать клавишу [Enter]. На экране появятся хаотично падающие буквы. В нижней части экрана расположены три ряда цветных шариков. Как только какая-либо буква коснётся шарика верхнего ряда, то шарик исчезнет (лопнет). Смысл упражнения заключается в том, что нужно задержать букву н не дать ей долететь до шариков. Это можно сделать, нажав соответствующую клавишу. Если Вы нажали на нужную клавишу, то происходит взрыв и 8
падающая буква исчезает. Прежде чем начинать работу с обучающей программой, нужно придать своему телу правильное положение. Во время выполнения упражнения необходимо следить за правильным движением рук и пальцев. Старайтесь не смотреть на клавиатуру. Смотрите только на экран. Не бойтесь ошибиться при нажатии. Новичку всегда очень хочется не пропустить ни одной буквы. Он волнуется, лихорадочно нажимает на клавиши и сбивается ещё больше. Но надо учиться сдерживаться. Если Вы намерены всерьёз научиться бегло печатать, не гоняйтесь за каждой буквой. Главное -— научиться ритмично, в размеренном темпе нажимать на клавиши. А этому можно научиться, многократно повторяя упражнение. По окончании упражнения на экране высвечивается количество появившихся и уничтоженных букв. Начинать нужно с нулевого уровня. Его скорость равна 30 буквам в минуту. Уровни отличаются друг от друга только скоростью падения букв. Количество падающих букв на каждом уровне равно 99. Если Вы успели уничтожить 80 из них и более, то это значит, что Вы прошли данный уровень. На экране появится сообщение: GOOD !! что означает ХОРОШО !!. Для продолжения упражнения нужно нажать клавишу [Пробел]. При этом машина автоматически переведёт упражнение на более высокий уровень. Если Вам удалось правильно нажать от 67 до 80 раз, то ПЭВМ выдаёт сообщение: TRY AGAIN... Это означает, что Вы “удержались” на данном уровне и награждаетесь призовой игрой. Для продолжения работы нужно нажать клавишу [Пробел]. Машина войдёт в рабочий режим на этом же уровне. Если же все шарики лопнули, то упражнение-игра прекращается и на экране появляется сообщение: GAME OVER которое означает: игра окончена. Для запуска упражнения сначала надо нажать клавишу [Пробел]. А для выхода в подменю нажмите клавишу [Esc], Работу можно приостановить, нажав клавишу [Pause], и продолжить с этого же места нажатием на клавишу [Пробел]. Если Вы успешно будете проходить 7 и 8 уровни, то знайте, что Вы приобрели навык профессиональной машинистки. Для достижения такого результата необходимо провести за клавиатурой не менее 30 часов. Вы ю 1жиы приучить себя к тому, что при работе с ПЭВМ необходимо делать перерыв на 10-15 минут через каждые 40-50 минут. 3. Режим “Музыка и песни” Этот режим можно использовать для заполнения паузы во время короткого отдыха Как Вы уже поняли, для входа в нужный оежим надо нажать клавишу с соответствующей цифрой. Итак, находясь в главном меню, нажимаем клавишу [3]. ПЭВМ входит в режим "Музыка и песни ’. На экране появится список из 16 известных песенных мелодий Чтобы запустить какую-либо мелодию на воспроизведение, нужно подвести стрелку к этой мелодии и нажать клавишу [Enter]. Выбранная Вами мелодия будет звучать до тех пор, пока Вы не запустите другую или не выйдите из этого режима. Но звучание мелодии можно прервать, нажав клавишу [Пробел] или [lab]. Стрелку нужно передвигать, нажимая на клавиши управления курсором. 4. Работа н режиме ‘Редактирование” Режим “Редактирование” является текстовым редактором, который позволяет набирать текст на экране. А если подключить к ПЭВМ принтер (печатающее устройство), то можно набранный текст вывести на печать. Чтобы войти в режим ‘ Редактировтгие’. нужно нажать клавишу [4]. На экране появится такое подменю: 3 л. о
РЕДАКТИРОВАНИЕ . D — вход Н — подсказка Р — печать X — выход Ваш выбор: Рис. 5 Это значит, что машина предлагает Вам сделать выбор. Если Вы хотите тренироваться в печатании текстов, нужно нажать клавишу [D] Если Вы забыли, какую функцию выполняет та или иная клавиша, нажмите клавишу [Н]. Для того чтобы вывести на печать набранный текст,нужно нажать клавишу |Р| Чтобы закончить работу, нажмите клавишу [X], и машина выйдет в главное меню. 4.1. Редактирование После того как Вы нажмёте клавишу [D], на экране появится запрос: Введите имя файла: Вы должны набрать имя файла, а затем нажать клавишу [Enter], Под именем подразумевается любое слово, состоящее из букв и цифр с общим количеством не более 8. Имя файла должно быть таким, чтобы Вам бы то понятно, о чём этот файл или для чего он нужен. Например, если Вы хотите набрать на экране раегисание уроков, а затем распечатать (вывести на принтер), то этому файлу можно присвоить имя: “уроки” или “расп”. Так как в слове "расписание” количество букв больше 8, то мы его сократили. После того как Вы введёте имя файла, машина войдёт в текстовый редактор. На экране откроется чистое поле с курсором в левом верхнем углу. В верхней информационной строке написано: Filename: ... Ins что означает: имя файла, которое Вы задали Ins — включён режим вставки. В нижней информационной строке написано: English Это означает, что включён регистр латинских букв. Чтобы перейти на регистр букв кириллицы, нужно нажать клавишу [F2], При этом в нижней информационной строке возникнет сообщение: Russian Набирая текст, нужно соблюдать правила, изложенные в главе 6 части I данной инструкции. А также пользо- ваться сведениями о клавиатуре, представленными в главе 5 части I. В одной строке умещается 26 символов. Как только Вы набрали 26-ой символ, курсор автоматически переходит на следующую строку Если Вам ие нужно набирать строку до конца, но необходимо перейти на новую строку то нажмите клавишу [Enter]. Во время набора текста возникает необходимость вставить пропущенные буквы или заменить неправильно набранные. Для этого существует клавиша [1ns]. Если в верхней информационной строке есть слово “Ins”, то включён режим “вставка”. А если этого слова нет, то включён режим “замещение”. В режиме ‘вставка’ курсор имеет форму прямоугольника, а в режиме “замещение” — форму чёрточки. Чтобы вставить какой-либо символ, нужно подвести курсор к выбранному месту, при помоши клавиш управ- ления курсором включить режим “вставка” и нажать клавишу нужного символа. При этом над курсором появит- ся нужный Вам символ, а вся строка, расположенная справа от курсора, сдвинется на одну позицию вправо. Если текущая строка набрана до конпа, то при вставке символа часть текста, расположенного справ i от кур- сора до конца строки, переместится на следующу ю строку. А в текущей строке образуется свободное место оз курсора до конца строки. Текущей строкой является та строка, на которой в данный момент находится курсор. Чтобы выйти из текстового редактора нужно нажать клавишу [ Г8 ]. 11а экране появится запрос Выйти: (Y/NI? 10
Машина предлагает Вам подтвердить свое желание. Буквы Y и N — это начальные буквы английских слов “Yes” и “No”. Если Вы действительно хотите выйти из редактора, то нужно нажать клавишу Y. При этом система выйдет в подменю. Но если Вы нечаянно нажали клавишу [ Г8 ], а выходить из редактора не хотите, то нажмите клавишу [N] и Вы останетесь в редакторе. 4.2. Подсказка Для удобства работы в текстовом редакторе существует подпрограмма “Подсказка” (помощь). При обращении к “Подсказке” на экран выводится перечень клавиш и их функции. Обращаться к “Подсказке” можно двумя способами: — из подменю, нажав клавишу [Н]; — из текстового редактора, нажав клавишу [F7]. Причём, из текстового редактора можно обращаться за помощью в любой момент и сколько угодно раз. По- скольку перечень клавиш большой и не умещается на одной странице экрана предусмотрена возможность “пере- листывания”. Чтобы продолжить просмотр “Подсказки”, нужно нажать клавишу [Spacebar] (клавишу [Пробел]! Для выхода из “Подсказки” нужно нажать клавишу [Esc]. При этом система возвращается в то место, откуда было произведено обращение за помощью. Некоторые функции выполняются при нажатии двух клавиш. В перечне такие клавиши объединены знаком “+”. Например, запись Ctrl+A означает, что для выполнеиия функции перемещения курсора влево на одно слово нужно нажать клавишу [Ctrl] и, не отпуская её, нажать клавишу [А]. Обратите внимание, что в данном случае подразумевается клавиша с буквой “А” из латинского алфавита. 4.2Л. Перечень клавиш и соответствующих им функций F1 F2 F3 F4 F5 или Ноше F6 или End F7 F8 Ins Caps Ctrl+S или [<-] Ctrl+D или [->] Ctrl+E или [ф] CtrH X илн [v~] С trl+A Ctrl+F Ctrl+W Ctrl+Z Ctrl+R или PgUp Ctrl+C или PgDn Ctrl+T • Ctrl+Y Ctrl+G или Del [<] над клавишей [ Enter J] Ctrl+H — латинские буквы — буквы кириллицы — листать на страницу экрана вверх — - листать на страницу экрана вниз — переместиться в начало текста (файла) — переместиться в конец текста — подсказка (помощь) — выход из текстового редактора — вставка/замещеиие — сгрочный/прописиой регистры — смещение курсора алево на один символ — смещение курсора вправо на один символ — смещение курсора вверх на одну строку — смещение курсора вниз на одну строку — смещение курсора влево на одно слово — смещение курсора вправо на одно слово — смещение текста вниз на одну строку — смещение текста вверх на одну строку — перелистать текст на один экран вверх — перелистать текст иа один экран вниз — удалить от курсора вправо до конца строки — удалить текущую строку — удалить символ, стоящий над курсором — удалить символ, стоящий слева от курсора — изменение цвета экрана 4.3. Вывод на печать Для того чтобы вывести на печать набранный текст, нужно: а) подключить принтер (см. Рис. 1) б) находясь в подменю, нажать клавишу [Р] латинского алфавита. Прежде чем начинать печатать, нужно изучить инструкцию на принтер Внимание! При подключении и от» люченни соединительного кабеля идущего от принтера, ЭВМ должна быть отключена от электросети. 11
5. Работа в режиме “Вычисления” Режим ’Вычисления” позволяет производить расчёты при помощи четырёх арифметических действий. Чтобы войти в режим “Вычисления”, нужно, находясь в главном меню, нажать клавишу [5 ]. На экране появится поле, состоящее из восьми строк — по 24 позиции в каждой. В левом верхнем углу накопится курсор в виде гусиного пера В нижией части экрана дана подсказка о назначении функциональных клавиш. Каждое число, участвующее в вычислениях, не должно превышать 8 цифр. Например: Верно Неверно 99999999 0.99999999 4867.3214 4867.32140 0.0000001 0.00000001 Программа производит расчёты с соблюдением правил арифметики Возможности программы: — можно составлять арифмети 1еские формулы, используя круглые скобки; — длина одной формулы может быть в несколько строк, то есть, если формула не умещается на строке, то её продолжение можно перенести на следующую строку; — если результат вычислений не умещается на строке, то неуместившиеся цифры автоматически переносят- ся на следующую строку; Ограничения: — между формулами должен быть хотя бы одни пробел; — нельзя ставить пробел внутри формулы; — не должно быть пробела между окончанием формулы и знаком равенства; — результат вычислений, являющийся целым числом, не должен превышать 8 цифр, — если результат вычислений является десятичным числом с общим количеством цифр более 8, тэ система автоматически отбрасывает лишние десятичные цифры; — отрицательное число должно быть заключено в скобки. Если нарушено какое-либо ограничение, то система выдаёт следующие сообщения “Wrong” — ошибка или “OverFlow”- избыток. Чтобы очистить экран, нужно нажать клавиши [ Shift ] + [ Home ]. Чтобы выйти из режима “Вычисления”, нужно нажат; клавиш; | Esc ]. 6. Режимы программирования Ж-Бейсик и Ф-Бейспк Обучающий картридж содержит две версии языка программирования Бейсик: Ж-Бейсик и Ф-Бейсик. Вереи;, Ж-Бейсик позволяет составлять графические и музыкальные программы С помощью графических программ можно выводить на экран цветные рисунки и движущиеся фигуры. А с помощью музыкальных программ можно сочинять и воспроизводить мелодии Версия Ф-Бейснк предназначена для решения сложных математических задач. О том, как составлять программы. Вы узнаете в третьей части 7. Дополнительные упражнения для тренировки пальцев Упражнение!. Клавиши исходного положения Пальцы в исходном положении. Печатать: оллол лолло олоол ллоло оолол ололл лолоо ололо ллоло оолол ваава аваав вавва аавав ввава ваваа ававв вавав а звав ввава ьлаво овала ловла аловл алвло алаво ловла валао лалво аолов вол лов вал лава овал олово лжжлж жлжжд лжддж жжджд ддждж джджж ждждд джджд жжджд ддждж дат жал вода лада жало ложа вожжа жажда ждала вдова жаждала фыыфы ьиЬыыф Дыффы ыыфыф ффыфы фыфыы ыфыфф фыфыф ыыфыф ффыфы лыжа фолы долы волы лапы Даллы дылда доводы дважды выждал овод выводы выжал олово выпал выждала выдавала овал фалда 12
Упражнение 2. Клавиши указательных пальцев После каждого нажатия возвращайте пальцы в исходное положение. пррпр pi.ppn прппр ррпрп ппрпр прпрр рпрпп прпрп ррпрп ппрпр ров пол жар фары пора лорд парад пожар форвард водопровод кееке екеек кекке еекек ккеке кекее екекк кекек еекек ккеке рак перо дека кедр каре ведро дырка докер древко веревка нггнг гнггн нгннг ггигн ннгнг ьгнгг гнгнн нгнгн ггнгн ннгнг гол нож гонг граф рога нарды вагон капрон жонглер гангрена миими имиим мимми иимим ммими мимии имимм мим им иимим ммими дом вид мир миф вилы гром камин лимон манеж фиакр домино тььть ьтььт тьтть ььтьт ттьть тьтьь ьтьтт тьтьт ььтьт ттьть кот том коиь ларь торг март финт порт топь новь винт сладь гнать ждать жакет фагот вагон жетон метро плыть тальк ветер монета желать лорнет платье портье платок жаркое рыдать романтика математик агитатор натирает антрепренер артикль Упражнение 3. Клавиши средних и безымянных пальцев После каждого нажатия возвращайте пальцы в исходное положение. ШЩЩШЩ ЩШЩЩШ ШЩШШЩ ЩЩШЩШ ШШЩШЩ ШЩШЩЩ ЩШШШШ ШЩШЩШ ЩЩШЩШ ШШЩШЩ щит шарж вещь шапка шпага мешок кашне шофер лощина прищепка цууцу уцууц цуццу ууцуц ццуцу цуцуу уцуцц цуцуц ууцуи ццуцу луг цирк фунт кущи штука грунт фартук прицеп циркуль журавль бююбю юбююб бюббю ююбюб ббюбю бюбюю юбюбб бюбюб ююбюб ббюбю тюк бал плюш трюк клюв буран буфет флюгер барометр бушевать чссчс счссч чсччс ссчсч ччсчс чсчсс счсчч чсчсч ссчсч ччсчс чан час нос чиж часы ключ туча дочь бусы борец плечо кусты чибис чабан бочка мачта шоссе смотр смерть жесть баскетбол чащоба циркач встать судьба фосфор цитрус сапфир печать тюрбаи галстук счастье ложечка чеканка колючка офицер фасад фиксатор косточка высотник бастурма сетчатка частокол честь Упражнение 4. Клавиши мизинцев После каждого нажатия возвращайте пальцы в исходное положение, яййяй йяййя яйяяй(ййяйя яяйяй яйяйй йяйяя яйяйя ййяйя яяйяй фея рой соя йог шляпа ямщик фляга жидкий рябчик плясун йод зххзх ХЗХХЗ ЗХЗЗХ ХХЗХЗ ЗЗХЗХ ЗХЗХХ ХЗХЗЗ 3X3X3 ххзхз ззхзх хор зал газ узы вехи смех зной хлеб порох фазан зебра хобот -эъъэ/ ъэ/ъз зъэ/ъ /ъэъэ э/ъэъ эъэ/ъ ъэъ/э /ъэъэ ъ/эъэ ээъ'ъ —эхо эра поэт этаж эфир /эпос/ воля въезд экран объект заказ -этнос м/сек хряк химия явь объявление эндокринный хай язь -загар сахар л/мин подъем эбонит объезд призыв партия якорь —лошадь ясность парашют увалень км/час часовой неотъемлемый неприхотливый хозяйственный редкий хороший яркий аграрный Упражнение 5. Печать повторяющегося текста баня баня баня баня баня баня баня баня баня баня баня баня боты боты боты боты боты боты боты боты боты боты боты боты буря буря буря буря буря буря буря буря буря буря буря буря вера вера вера вера вера вера вера вера вера вера вера вера весы весы весы весы весы весы весы весы весы весы весы весы вето вето вето вето вето вето вето вето вето вето вето вето вода вода вода вода вода вода вода вода вода вода вода вода годы годы годы годы годы годы годы годы годы годы годы годы горы горы горы горы горы горы горы горы горы горы юры горы жало жало жало жало жали жало жало жало жало жало жало жало жито жито жито жито жито жито жито жито жито жито жито жито запя заря заря заря заря заря заря заря заря заря заря заоя баия боты буря вера гесы вето вола голы горы жало жите запя баня боты буря вера весы вето вода годы горы жало жито заря баня боты буря вера весы вето вода годы горы жало жито заря баня боты буря вера весы вето вода годы горы жало жито заря баня боты буря вера весы вето вода годы горы жало жито заря 4 л. 13
Упражнение 6. Печать повторяющегося текста зима зима зима зима зима зима зима зима зима зима зима зима зона зона зона зона зона зона зона зона зона зона зона зона кеды кеды кеды кеды кеды кеды кеды кеды кеды кеды кеды кеды кино кино кино кино кино кино кино кино кино кино киио кино киты киты киты киты киты киты киты киты киты киты киты киты кожа кожа кожа кожа кожа кожа кожа кожа кожа кожа кожа кожа дело дело дело дело дело дело дело дело дело дело дело дело депо депо депо депо депо депо депо депо депо депо депо депо доля доля доля доля доля доля доля доля доля доля доля доля дома дома дома дома дома дома дома дома дома дома дома дома дуга дуга дуга дуга дуга дуга дуга дуга дуга дуга дуга дуга дума дума дума дума дума дума дума дума дума дума дума дума зима зона кеды кино киты кожа дело депо доля дома дуга дума зима зона кеды кино киты кожа дело депо доля дома дуга дума зима зона кеды кино киты кожа дело депо доля дома дуга дума зима зона кеды кино киты кожа дело депо доля дома дуга дума зима зона кеды кино киты кожа дело депо доля дома дуга дума Упражнение 7. Печать повторяющегося текста душа душа душа душа душа душа душа душа душа душа душа душа дыня дыня дыня дыня дыня дыня дыня дыня дыня дыия дыня дыня лето лето лето лето лето лето лето лето лето лето лето лето лиса лиса лиса лиса лиса лиса лиса лиса лиса лиса лиса лиса ЛИЦО лицо лицо лицо лицо лицо лицо лицо лицо лицо лицо лицо ложа ложа ложа ложа ложа ложа ложа ложа ложа ложа ложа ложа луга луга луга луга луга луга луга луга луга луга луга луга лужа лужа лужа лужа лужа лужа лужа лужа лужа лужа лужа лужа луна луна луна луна луна луна луна луна луна луна луна луна лыжи лыжи лыжи лыжи лыжи лыжи лыжи лыжи лыжи лыжи лыжи лыжи лыко лыко лыко лыко лыко лыко лыко лыко лыко лыко лыко лыко меха меха меха меха меха меха меха меха меха меха меха меха душа дыня лето лиса лицо ложа луга лужа луна лыжи лыко меха душа дыня лето лиса лицо ложа луга лужа луна лыжи лыко меха душа дыня лето лиса лицо ложа луга лужа луна лыжи лыко меха душа дыня лето лиса лицо ложа луга лужа луна лыжи лыко меха душа дыня лето лиса лицо ложа луга лужа луна лыжи лыко меха Упражнение 8. Печать повторяющегося текста мода мода мода мода мода мода мода мода мода мода мода мода море море море море море море море море море море море море муха муха муха муха муха муха муха муха муха муха муха муха мыло мыло мыло мыло мыло мыло мыло мыло мыло мыло мыло мыло мясо мясо мясо мясо мясо мясо мясо мясо мясо мясо мясо мясо мята мята мята мята мята мята мята мята мята мята мята мята мячи мячи мячи мячи мячи мячи мячи мячи мячи мячи мячи мячи нора нора нора нора нора нора нора нора нора нора нора нора пена пена пена пена пена пена пена пена пена пена пена пеиа нища пища пища пища пища пища пища пища пища пища пища пища раки раки раки раки раки раки раки раки раки раки раки раки река река река река река река река река река река река река мода море муха мыло мясо мята мячи нора пена пища раки река мода море муха мыло мясо мята мячи нора пена пища раки река мода море муха мыло мясо мята мячи нора пена пиша раки река мода море муха мыло мясо мята мячи нора пена пища раки река мода море муха мыло мясо мята мячи нора пена пища раки река Упражнение 9. Клавиши четвёртого ряда клавиатуры После каждого знака возвращайте пальцы в исходное положение. —78878 87887 78778 88787 77878 78788 87877 78787 88787 77878 -баня7 боты8 буря7 вера8 весы7 вето8 вода7 годы8 горы7 жало8 -56656 65665 56556 66565 55656 56566 65655 56565 66565 55656 ~жито5 заряб зима8 зона7 кеды5 киноб киты5 кожа7 дело8 депоб -90090 09009 90990 00909 99090 90900 09099 90909 00909 99090 14
~доля9 домаО дуга7 домаО душаб дыня9 лето5 лиса9 лицо8 ложаО -34434 43443 34334 44343 33434 34344 43433 34343 44343 33434 -лугаЗ лужа4 лунаЗ лыжиО лыко7 меха4 модаЗ море4 мухаб мыло4 ~мясо= мята- мячиЗ нора- пена4 пища= раки5 река= рога7 роса= -12212 21221 12112 22121 11212 12122 21211 12121 22121 11212 ~рота2 роща1 руда- руки2 рыба- садыЗ село1 сеноб сила2 сито1 -темяб фарыЗценаЗцепиО= часы? 5чаша5 3 5чудо5 3 4шуба42-10 -WWW ’V'WVV -WVWVV TV \VV "V\ -7-5=12) 8-3=11 9-3=12 6-4=10 3-2=5 9-7=16 8-6=14) 9-8=17 6-2=8 -49-1=10) 4-7=11 6-9=15 2-8=10 3-4=7) 8-5=13 9-3=12 4-6=10 5-4=9 Упражнение 10. Клавиши верхнего регистра Клавиши верхнего регистра нажимайте мизинцем свободной руки. После каждого знака возвращайте пальцы в исходное положение. ПРВОН ПНВГС ЯЖССР РПЧСВ МЖОЗК ОПЛЧП ОВОУП НДПБТ ОУТПЕ СОПСН ПЕНБВ АПНВР ЛНТГТ КВФЖП АБВГО ДЗВГН КДСЗА ПСППВ НФАСО НПЗ/ ЧК КЗМВС ВБЭВМ ИМЧСТ ЕЦНЗН ВТИЕП ФПДНМ КАЛИВ РНЗМД НКЗОС ПБРЖЧ КОМЕТА ПОКРОВИТЕЛЬНИЦА ВИНОГРАДА ПРОДОЛЖЕНИЕ СЛЕДУЕТ ВПЕРВЫЕ РАДАР ТРЕНАЖЕР ИНСТРУКТОР ПРЕДМЕТ ЦЕНТР СИСТЕМА ЗАДАЧА БОРТ Упражнение 11. Четвёртый ряд — верхний регистр Клавиши верхнего регистра нажимайте мизинцем свободной руки. После каждого знака возвращайте пальцы в исходное положение. Н |”| tt | «]| | СС| «»* U | |„ it J р» I CCJ Ct Ci| |ЧМ ~”мода ! мода “! мода “ мода !” мода ! мода “”! мода “ мода !! - % :% %;;;% ;%; % ;; %%; % ;% ; %;% %;%; %;; % ;;% ; %;; - заря ; заря %; заря %%; заря % заря ;% заря ; заря ;% заря ; - кора кора “ кора кора : кора кора кора “ кора : ~ Л 9F * * * * ** W * * * * * * * ** - лужа . лужа *. лужа * лужа .* лужа . лужа **. лужа * лужа . - 0) ()Х (X (X) 0 )Х () )Х X) (0 X (X) О (( — луна ( луна )( луна) луна ( луна )() луиа ) луна 0 луна )( - мина _ мина ь_ мииа _+_ мина + мина г мина к мина _ мина _з -шина (‘ шина *% шина ) шинашина %_ шина ): шина. шина , -лицо ; лицо %( лицо лицо * лицо лицо “ лицо ) лицо -дело *; дело )" > дело (дело дело дело дело ; дело I -сода . сода “% сода (_) сода ; сода * сода : содасода .; - пена , пена .% пена * пена (: пена ); пена %_ пена . пена :% —тема * тема ;( гема )”, тема : тема * тема % тема ) тема - доля : доля %, доля .( доля ) доля ; доля ._ доля ,%* доля , - *!,+”% (!;+”” )!,+”% .!:+!_;!%+, )!*+”. (!.+”: )!(+"* .!%+( .[♦+>’« i)+” %!(+” ;!:+* )!;+”% Упражнение 12. Криптограмма 1лдсных букв оуэие юаэео ияэеы уоэиа еяиуэ юаоуи ояаэе ыиоеэ ыоюуа еэиуя иэуоы аюяеи оэаюи еяаэу ояюае эеоыи юяиео аеояи уыоаэ оиуэю аеоюя иэуоы юаеоэ ияеоы юеэуя аэуои юаеоу эиояе юаэуя иоеыа оеияю уоеыэ иеэаю ыеуэи аюяэо уоыею яэуои аюыуо эыияе юоаие руэяо иеаюу ыоэяа аюеыи ояэуа июеыэ уоеяю эыоеи аяуэы иуюоа Упражнение 13. Криптограмма букв русского алфавита пщцба ркхсо фнчжу кабйл вгпзц сочэт вьфъу чобгз ылчтя кьхдэ фшчду кэзди вбцнп емзкр жгьеэ фокьц рущьс ядбгж ъазуч твднп тызеб ицшел яхыъц млыеп ювшиц фгмду йгмлт ыьклч тшерв жкшрч щвьнд вдужр чгктм сьвшц дцгик режут фькгп эезчз жпхин чныбЛ лкгчю фхвтц ндйъы жъфнс чгызп шяжуо шурча жкьчэ рышеи вьиыл Упражнение 14. Открытые двухбуквепные слоги аоиеаоие аоигаоие аоиеаоие ;юиеаоие аоиеаоие аоиеаоие рарорире рарорире парорире рарорипе рарорипе рарорире папопипе папопипе папопипе папопипе папопипе папопипе фафофифе фафофифе фафофифе фафофифе фафофифе фафофифе вавовиве вавовиве вавовиве вавовиве вавовиве вавовиве I <
лалолиле л ал ол иле лалолиле лалолиле лалолиле лалолиле дадодиде дадодиде дадодиде дадодиде дадодиде дадодиде жажожиже жажожиже жажожиже жажожиже жажожиже жажожиже какокике какокике какокике какокике какокике какокике мамомиме мамомиме мамомиме мамомиме мамомиме мамомиме нанонине нанонине нанонине нанонине нанонине нанонине гагогиге гагогиге гагогиге гагогиге гагогиге гагогиге татотите татотите татотите татотите татотите тяготите чачочиче чачочиче чачочиче чачочиче чачочиче чачочиче сасосисе сасосисе сасосисе сасосисе сасосисе сасосисе бабобибе бабобибе бабобибе бабобибе бабобибе бабобибе нанонине нансийце цацоцице цаноцице цанонице цацоцице шашошише шашошише шашошише шашошише шашошише шашошише шашощище щащощище щащощище щащощище щащощище щащощище зазозизе зазозизе зазозизе зазозизе зазозизе зазозизе хахохихе хахохихе хахохихе хахохихе хахохихе хахохихе Упражнение 15. Закрытые трёхбуквенные слоги аоиеаоие аоиеаоие аоиеаоие аоиеаоие аоиеаоие аоиеао равровриврев равровриврев равровриврев равровриврев павповпивпев павповпивпев павповпивпев павповпивпев лавловливлев лавловливлев лавловливлев лавловливлев ларлорлирлер ларлорлирлер ларлорлирлер ларлорлирлер дардордирдер дардордирдер дардордирдер дардордирдер варворвирвер варворвирвер варворвирвер варворвирвер парпорпирпер парпорпирпер парпорпирпер парпорпирпер вал вол вил вел вал вол вил вел валволвилвел валволвилвел далдолдилдел далдолдилдел далдолдилдел далдолдилдел палполпилпел палполпилпел палполпилпел палполпилпел ралролрилрел ралролрилрел ралролрилрел ралролрилрел кайкойкийкей кайкойкийкей кайкойкийкей кайкойкийкей наднодниднед наднодниднед наднодниднед наднодниднед дамдомдимдем дамдомдимдем дамдомлимдем дамдомдимдем залзолзилзел залзолзилзел залзолзилзел залзолзилзел бакбокбикбек бакбокбикбек бакбокбикбек бакбокбикбек сансонсинсен сансонсинсен сансонсинсен сансонсинсен барборбирбер барборбирбер барборбирбер барборбирбер садсодсидсед садсодсидсед садсодсидсед садсодсидсед тантонтинтен тантонтинтен тантоитинтен тантонтннтен намномнимнем намномнимнем намномнимнем намномнимнем Упражнение 16. Открытые трёхбуквенные слоги аоиеаоие аоиеаоие аоиеаоие аоиеаоие аоиеаоие аоиеао рварворвирве рварворвирве рварворвирве рварворвирве пвапвопвипве пвапвопвипве пвапвопвипве пвапвопвипве лвалволвилве лвалволвилве лвалволвилве лвалволвилве лралролрилре лралролрилре лралролрилре лралролрилре драдродридре драдродридре драдродридре драдродридре вравровривре вравровривре вравровривре вравровривре прапроприпре прапроприпре прапроприпре прапроприпре влавловливле влавловливле влавловливле влавловливле дладлодлидле дладлодлидле дладлодлидле дладлодлидле плаплоплипле плаплоплипле плаплоплипле плаплоплипле рларлорлирле рларлорлнрле рларлорлирле рларлорлирле кнакиокникне кнакнокникне кнакнокникне кнакнокникне днадноднидне днадноднилне днадноднидне днадноднидне дмадмодмидме дмадмодмидме дмадмодмидме дмадмодмидме злазлозлизле злазлозлизле злазлозлизле злазлозлизле бкабкобкибке бкабкобкибке бкабкобкибке бкабкобкибке снасноснисне снасносиисне снасноснисие сиасноснисне брабробрибре брабробрибре брабробрибре брабробрибре тнатнотнитне тнатнотнитне гнатнотнитне тнатнотиитне мнамномнимне мнамномнимне мнамномнимне мнамномнимне 16
Часть третья Краткий курс программирования на языке Бейсик Глава I Общие сведения Электронно-вычислительные машины можно разделить на три класса: бытовые, учебные и профессиональ- ные. Данная ПЭВМ является учебной. Главная задача, стоящая перед разработчиками этой ЭВМ, — обучить на чннаюшего пользователя работе с вычислительной техникой. А знание какого-либо языка программирования позволит более осознанно использовать ПЭВМ. Мы предлагаем изучить Бейсик. Это язык программирования высокого уровня. На Бейсике можно писать сложные программы, но он прост в изучении и использовании. Программы создаются и применяются в режиме диалога с ЭВМ. На сегодняшний день известны 52 версии Бейсика. В обучающей кассете данной ПЭВМ имеются две версии: Ж-Бейсик и Ф-Бейсик. Версия Ж-Бейсик позволяет составлять графические и звуковые программы. Графические программы выво- дят на экран различные рисунки и движущиеся фигуры. Используя эти возможности, можно создавать мульт- фильмы и электронные игры. Звуковые программы позволяют сочинять и воспроизводить мелодии или отдельные звуки. Сочетая эти возможности, можно создавать мультфильмы со звуковым сопровождением. Версия Ж-Бейсик позволяет производить операции только с целыми числами. Версия Ф-Бейсик предназначена для решения математических задач и позволяет манипулировать как целыми, так и дробными числами. 1.1. Структура программы Программа на Бейсике представляет собой последовательность строк. Каждая строка содержит номер и информационную часть. Номер строки — это целое число, которое может содержать от 1 до 5 нифп. Номера строк определяют порядок размещения информационной части в программе. Информационная часть состоит из одного или нескольких операторов (команд) или комментариев Если в строке имеются несколько операторов, то они должны разделяться знаком двоеточие В Бейсике используются английские ключевые слова. Значение ключевого слова говорит о назначении оператора, функции или команды. Пример: 10 REM РЕСНАТ 20 PRINT “PROBA” 30 END Всю работу программы можно разбить на два этапа. Первый - редактирование • состоит в наборе программы на клавиатуре. По окончании набора каждого оператора нужно нажать клавишу [ Enter ] (эта клавиша ещё называется [Ввод]). Операторы, набранные на клавиатуре, автоматически засылаются в оперативную память машины. Второй этап - вычисление. Для этого нужно на клавиатуре набрать команду RUN и нажать клавишу [Enter], Прн этом программа запустится на выполнение, а результат счёта появится на экране. Результатом работы нашей программы будет выведенное на экран слово “PROBA”. Запомните — каждый набор оператора или команды должен сопровождаться нажатием клавиши [&iter] ([Ввод]). В дальнейшем мы будем писать только [Enter] так. как написано на клавише. Но Вы должны знать, что рта клавиша вводит информацию в машину и переводит курсор на следующую строку. 1.2. Данные Существуют три в;ша данных; константы, переменные и массивы. Они могут быть числовыми и строковыми. 1.2.1. Константы Величина, которая не меняется в процессе выполнения программы, называется константой. Числовые константы могут быть двух типов: целочисловые и вещественные. Цг точисловые константы являются целым числом в диапазоне от — 3276 до 32767 Они могу~ быть записаны в десятичной, восьмеричной или шестнадцатеричной системах счисления. 5 л. 17
Вещественные константы имеют два способа представления: с обычной и двойной точностью. Для констант с обычной точностью предусматривается точность 6 знаков, а для двойной точности — 16 знаков. Представление чисел в памяти ЭВМ. Целые числа представляются в виде двоичных целых чисел. Каждое целое число занимает 2 байта памяти. Вещественные числа представляются в форме с плавающей точкой. Числа с обычной точностью занимают 4 байта памяти, а числа с двойной точностью — 8 байт. Операции над целыми числами выполняются с большей скоростью, чем над числами с плавающей точкой. Строковая константа — это последовательность символов, заключённая в кавычки. В строковых константах можно использовать любые символы, имеющиеся в ПЭВМ, но не более 255. 1.2.2. Переменные Величина, которая в процессе выполнения программы может принимать различные значения, является переменной. Имя переменной образуется из букв и цифр. Но первым символом обязательно должна быть буква. Для нашей ПЭВМ имя переменной не может содержать более двух символов Последним необязательным символом имени переменной может быть один из знаков объявления типа переменной (%, !, #, $): знак % определяет переменную целого типа знак ! — переменная с обычной точностью знак # — переменная с двойной точностью знак $ — строковая переменная. Имена, отличающиеся друг от друга лишь последним знаком, воспринимаются как различные переменные Например, N%, N!, NW, NS — имена различных переменных. 1.2.3. Массивы Массив представляет собой последовательность переменных. В Бейсике могут использоваться одномерные и многомерные массивы до 255 измерений. Отдельный член массива является элементом массива. Отдельный элемент массива обозначается именем массива и списком индексов. Список индексов должен со- держать столько индексов, сколько измерений имеет соответствующий массив. Глава 2 Работа в режиме Ж-Бейспк 2.1. Встроенный текстовый редактор Каждая система программирования имеет свой текстовый редактор. В этой славе мы рассмотрим текстовый редактор версии Ж-Бейсик. Это экранный редактор, который позволяет отобразить нужный фрагмент текста на экране. Процесс работы с таким редактором заключается в выполнении различных операций над фрагментами текста программы, отобра- жённой на экране. Программа представляет собой последовательность строк текста. Строка программы является логической строкой. Если логическая строка не умещается на одной физической строке экрана, то может быть размещена на нескольких физических строках. Каждая коррекция, выполненная на экране, будет воспринята программой только тогда, когда будет нажата клавиша [ Enter ] в момент нахождения курсора на соответствующей строке. При редактировании текстов программ большую помощь оказывают функциональные клавиши. Представля- ем эти клавиши и соответствующие им действия редактора: F1 F2 F3 F4 F5 F6 F7 F8 Ноте Shift + Ноте — вызывает на экран ключевое слово MOVE — вызывав! на экран ключевое слово PRINT — вызывает на экран ключевое слово GOTO — вызывает на экран имя функции CHR$( — вызывает на экран ключевое слово SPRITE — вызывает на экран с последующим автоматическим выполнением команду CONT — вызывает на экран и выполняет команда LIST — вызывает на экран и выполняет команду RUN — перемешает курсор в левый верхний угол экрана — очищает экран Ключевые слова будут появляться в том месте экрана, где находится курсор в момент нажатия одной из 18
функциональных клавиш. Значения вызванных слов будут описаны в следующих главах. Запись комбинации клавиш означает, что сначала нужно нажать клавишу, стоящую перед знаком и, не отпуская её, нажать клавишу, стоящую после знака “+”. 2.2. Редактирование строки Чтобы ввести логическую строку программы в оперативную память машины (в оперативно-запоминаюшее устройство ОЗУ), нужно подвести курсор с помощью клавиш управления курсором к выбранному месту, набрать текст и, не сдвигая курсор, нажать клавишу [ Enter ]. При этом редактор считает всю логическую строку. Если при наборе одной логической строки курсор дошёл до конца физической строки, то для перехода на следующую физическую строку нужно продолжать набор текста. При наборе и редактировании текста можно использовать все возможности клавиатуры, описанные ранее, с некоторыми изменениями. Замена символа. Если в строке обнаружен ошибочный символ, то нужно подвести курсор под ошибочный символ, ввести правильный символ и нажать к завишу [ Enter |. Вставка символа. Чтобы вставить какой-либо пропущенный символ внутрь набранного слова, нужно подвести курсор в ту позицию, в которой должен стоять пропущенный символ, и нажать клавиш) [ 1ns ]. При этом все буквы, стоящие справа от курсора, сдвинутся на одну позицию вправо, а над курсором образуется свободный интеовал. В этот интервал можно вставить любой символ. Для увеличения интервала нужно ещё раз нажать клавишу [ 1ns ]. Удаление символа. Для удаления лишнего символа нужно установить курсор на позицию, стоящую справа от лишнего символа, и нажать клавишу [ «— ]. Затем нажать клавишу [ Enter ]. 2.3. Редактирование программы Программа на Бейсике рассматривается редактором как последовательность логических строк, каждая из которых начинается с номера строки. Строка программы может содержать не более 255 символов. Если строка окажется длиннее, то оча будет усекаться при нажатии клавиши. При этом лишние символы осэаются на экране, но в программу не включаются При создании программы желательно, чтобы номера строк были кратны десяти Это нужно для того, чтобы в случае необходимости можно было корректировать программу. Добавление строки. Чтобы добавить в программу новую строку, необходимо на чистой строке экрана набрать нужную информацию, но номер строки не должен повторяться ни с каким номером программы По окончании набора нужно нажать клавишу [ Enter ]. Чтобы проверить, как разместилась новая строка в программе, нужно нажать клавишу [ F7 ]. При этом редактор вызовет и автоматически выполнит команд) I 1ST (вывод программы на экран). На экране появится программа с новой строкой. Изменение строки. Внести изменения в строку можно двумя способами: а) если изменения небольшие, то необходимо подвести курсор к нужному месту и внести изменения, пользуясь правилами редактирования строки. По окончании набора нажать клавишу [ Enter |, б) в случае замены строки нужно набрать новую строку, присвоив ей иомер старой строки. После нажатия клавиши [ Enter | старая строка заменится новой. Для проверки нужно нажать клавишу [ F7] Удаление строки. Для удаления строки из программы нужно на свободной строке экрана набрать номер удаляемой строки и нажать клавишу [ Enter ]. При этом из программы удаляется вся логическая строка Команда LIST. Эта команда выводит текст программы из ОЗУ на экран. Команду LIST нужно набрать на свободной строке и нажать клавишу [ Enter ] или нажать клавишу | F7). При этом весь текст программы будет выведен на экран. Если набрать “LIST 40” и нажать клавишу Г Enter ]. то на экран будет выведена только строка с номером 40. Если набрать “LIST 40 - 100 ’, то на экране появятся все строки в заданном интервале, включая и указанные строки. Если дать команду “LIST - 80”, то на экране появятся строки, номера которых находятся в диапазоне от 0 до 80. По команде “LIST 80 на экран будут выведены строки номеоа которых нахе 1ятся в интервале от 80 до кош га программы. Таким образом, если текст программы ие умещается на экране целиком, то мы можем вызвать на экпан любой участок программы и проводить с этим участком вышеуказанные операции 19
2.4. Арифметические операции, выполняемые иа ЭВМ При программировании на языке Бейсик используются следующие специальные знаки: Знак Наименование Разделители . Точка или десятичная точка , Запятая ; Точка с запятой ? Вопросительный знак “ Кавычки ( ) Круглые скобки Пробел Знаки операций + Плюс или знак сцепления строк Минус * Звёздочка или знак умножения / Дробная черта или знак деления MOD Знак операции определения остатка после деления Знаки операций отношения < Меньше > Больше = Равно или знак присваивания Так как ЭВМ не способна воспринимать обычную запись арифметической формулы, мы должны перевести эту формулу в удобный для машины вид. Обычная запись Запись для ввода в ЭВМ 88-52x63 (88-52*63)/18+48/3) 18+48:3 Для нахождения остатка при делении двух целых чисел используется знак определения остатка MOD. 2.5. Пример работы в режиме Ж-Бейсик 2.5.1. Составление программы Предположим, что нужно найти частное от деления двух целых чисел и определить остаток после деления Составим текст программы на бумаге: 10 А=25/7 20 B=25MOD7 30 PRINT А.В 40 END Поясним каждую строку программы: 10 — вычислить и присвоить переменной А результат деления 25:7 20 — определить и присвоить переменной В остаток от деления 30 — вывести иа экран значения переменных А и В 40 — конец ввода программы Теперь нужно войти в редактор Ж - Бейсик, набрать программу иа экране и произвести расчёт 2-5.2. Вход в редакв р Ж - Бейсик Чтобы войти в редактор Ж - Бейсик, нужно, находясь в главном меню, нажать клавишу г 6 |. На экране появится подменю редактора: 20
G BASIC 1 - - BASIC 2 - - BG GRAPHIC 3 - - END 1,2,3. KEY TN !! Это означает, что система предлагает Вам выбрать режим работы. Если Вы нажмёте клавишу [ 1 ], то система войдёт в режим программирования Ж - Бейсик. Если Вы нажмёте клавишу [ 2 ], то система войдёт в режим создания фоновых картин. Если нажать клавишу [ 3 ], то система выходит в главное меню. Для решения нашего примера входим в режим программирования. На экране появится приглашение к работе на языке программирования Ж - Бейсик версии ЗЛА. Пользуясь приобретёнными навыками по печатанию текстов и соблюдая правила данного текстового редактора, набираем программу на экране. Помните, что по окончании набора каждой логической строки программы, нужно нажимать клавишу [Enter] Назначение этой клавиши — ВВОД информации в память машины. По окончании набора нужно проверить правильность перенесённой на экран программы. При исправлении обнаруженных ошибок нужно нажимать клавишу [ Enter ] до перехода на другую логическую строку. 2.5.3. Запуск программы на счёт После того как набранная программа проверена и исправлена её можно запускать на счёт. Для этого нужно на свободной строке экрана, под набранной программой, набрать команду RUN (run — прогон) и нажать клавишу [Enter], Или, не набирая команду RUN, нажать клавишу [ FS ]. Система вызовет эту команду и автоматически запустит программу на выполнение. Если программа не содержит ошибок, то иа следующей строке экрана появится результат: 3 ОК 4 Это означает, что целая часть при делении 25 на 7 равна 3, а остаток равен 4. Если в какой-либо строке система обнаружит ошибку, то работа программы будет остановлена, г на экране появится, например, такое сообщение’ ?SN ERROR IN 30 Это означает, что обнаружена ошибка в логической строке № 30. Необходимо исправить ошибку и повторить запуск. Если текст программы настолько велик, что ошибочная строка находится за пределами экрана, то для вызова ошибочной строки нужно воспользоваться командой LIST, описанной в разделе 2.3. Если Вам нужно набрать другую программу, то перед тем как избирать новый текст, необходимо очистить ОЗУ от предыдущих записей. Для этого нужно набрать команду NEW и нажать клавишу [ Enter ] 2.5.4. Выход из редактора Ж-Бейсик После того как Вы получили правильный результат счёта на ЭВМ, можно считать, что программа отлажена. Если Вы хотите в дальнейшем пользоваться отлаженной программой, то для сохранения необходимо переписать её иа бумагу или вывести на принтер. Это делается потому, что при выходе из редактора или выключении электропитания ОЗУ машины обнуляется и при повторном входе в редактор или включении ЭВМ память её будет пуста. Для того чтобы выйти из редактора Ж-Бейсик. нужно на свободной строке экрана набрать команду SYSTEM и нажать клавишу [ Enter ]. При этом система выходит из редактора и попадает в подменю Ж-Бейсика. Следующие главы содержат описания основных операторов Ж-Бейсика. В данной инсгрукции мы не рассма- триваем устройство ЭВМ. Главное — это научиться общаться с ЭВМ и составлять программы. Для этого Вам необходимо читать эту инструкцию, сидя у клавиатуры, и набирать программы. Читать инструкцию без ПЭВМ почти бесполезно. Проверяйте все примеры, приведённые в инструкции. Освоив несколько операторов, пишите свои программы. Набирайте их на экране и прогоняйте через ЭВМ. Хотя Бейсик и прост, но надо постоянно уп- ражняться. пробовать, искать. Машина Вам укажет на ошибку, а инструкция поможет исправить её. Чтобы на- учиться Бейсику, нужно писать программы и проверять их на ЭВМ. 6 л. 21
Глава 3 Операторы ввода-вывода 3.1. Оператор присваивания Структура оператора присваивания имеет вид: <номер строки* <имя переменной* < = > «значение переменной:*. Оператор присваивания, в данной версии Бейсика, не имеет ключевого слова. Ои обозначается знаком “ = Но это не арифметическое равенство. Пример 1: 10 А=3 20 В=4 30 С=А+В 40 PRINT А;В;С 50 END RUN — выполнить (запустить на счёт) 3 4 7 — результат счёта Прочитав такую запись, ЭВМ выделяет место в своей памяти для данных А, В и С. Это значит, что ЭВМ выделяет ячейки памяти для переменных А, В и С (любую ячейку памяти, которую ЭВМ сочтёт подходящей.) и присваивает им (переменным) числовые значения. ячейка памяти 3 4 7 имя АВС ячейки Рис. 6 Когда вы пишите А=3, вы даёте ком иду ЭВМ выбрать ячейку памяти, дать ей имя “А” и записать в неё число 3. Так же, когда пишите В=4, вы даёте команду ЭВМ записать в ячейку памяти В число 4. При записи С=А+В вы даёте команду ЭВМ сложить содержимое ячеек А и В, а результат записать в ячейку С. На рис.6 представлено образное изображение ячеек памяти. Оператор PRINT даёт команду ЭВМ вывести на экран (напечатать) содержимое ячеек памяти А. В. и С в данный момент времени. О leparop END (конец) говорит машине, что программа закончена. Команда RUN (выполнить) приказывает ЭВМ выполнить программу. Эта команда записывается без номера строки и следует сразу же за последним оператором программы. Несколько операторов присваивания можно записать на одной строке Пример 2: 10 А=3:В=4:С=А+В Знак является разиелителем межд; операторами присваивания. 3.2. Оператор ввода INPUT Структура оператора INPUT имеет вид: «номер строки> «INPUT* «имя констаиты> или «набор имёи>. Оператор INPUT производит операцию ввода информации с клавиатуры в память ЭВМ. Пример 3: 10 INPUT А Можно записать несколько 01 ера^ор^в на одной строке: 22
Пример 4: 10 INPUT AiINPUT B:INPUT C Как видно из примера операторы разделяются друг от друга знаком двоеточие. Одним оператором можно вводить несколько констант, разделяя их запятой. Пример 5: 10 INPUT А,В,С 20 END Если Вы запустите эту программу на выполнение, то на экране появится знак вопроса. Машина будет ждать ответа от человека. Программист до (жен набрать число, например, 8 и нажать клавишу [ Enter ]. ЭВМ вводит это число в ячейку памяти А. На экране опять появится знак вопроса. Введём число 4. Машина запишет его в ячейку памяти В, а на экран выдаст знак вопроса. Введём число 12. ЭВМ запишет его в ячейку памяти С и закончит выполнение программы. Так как в примере имеются три константы (А,В,С), машина три раза просила ввести число. Можно после первого запроса набрать три числа через запятую 8,4,12 и ввести в машину, нажав клавишу [ Enter ]. ЭВМ введёт числа в ячейки памяти в порядке написания. То есть первое число — в ячейку памяти А, второе число — в ячейку В, третье число — в ячейку С. Используя оператор INPUT, можно вводить любые числа. 3.3. Оператор вывода PRINT Структура оператора вывода имеет вид: <иомер строки> <PRINT> <переменная> или <список переменных», или <арифметическое вычисление», или Последовательность символов>, или <сочетание всех возможностей». Оператор вывода PRINT применяется для вывода на экран или печатающее устройство (принтер) переменных, результатов вычислений, текста и любых сочетаний перечисленных операций. Пример 6; 10 А=17 20 PRINT А 30 END Эта программа выводит на экран значение переменной А: 17 Пример 7: 10 АЗ 20 В=-7 30С=10 40 PRINT А,В,С 50 END После запуска такой программы на экране высветится: 3 -7 10 Строка печати имеет длину 28 позиций. Это значит, что на строке умещается 28 символов — букв, цифр или знаков. Машина разбила строку на 4 зоны. Каждая зона имеет длину 7 позиций. Первое число (3) печатается на второй позиции; знак минус (-) второго числа находится иа позиции 8, а циф- ра 7— на позиции 9; цифра 1 числа 10 находится иа 16 позиции. Итак, внутри каждой зоны число размещено на второй позиции, а знак минус, если он есть, в первой позиции На 40 строке примера 7 переменные разделены знаком запятая. Составим такую же программу, но разделим переменные точками с запятой. В этом случае ЭВМ будет печатать значения более компактно, так как числа бу- 23
дут разделяться только одним г.рооелом (или без пробела, если перед числом стоит знак минус). Пример 8: 10 А=3 20 В=-7 30 С=10 40 PRINT А;В;С 50 END После выполнения пой программы результат будет такой: 3-7 10 Оператор PRINT может применяться для выполнения вычислений и вывода их результатов на печать. Пример 9: 10 PRINT 4*7 20 END 28 Вместо знака умножения применяется звёздочка, чтобы ие спутать с буквой X. Пример 10: 10 A=18:B=7:C=14:D=48:E=12 20 PRINT А-В+С; D/E 30 END 25 4 ЭВМ выдала ответ. Первое число (25) получилось в результате вычитания A-В и прибавления С Второе число (4) получилось в результате деления D на Е. Оператор PRINT может содержать текст, который должен быть напечатай. Пример 11: 10 PRINT “ Му first program” 20 END На охране с первой позиции появится фраза: MY FIRST PROGRAM что означает: Моя первая программа. В качестве текста может быть использовано арифметическое выражение примера 10. Пример 12: 10 PRINT “А-В+С" 20 END После прохождения такой программы на экране появится: А-В+С 3.4. Операторы списочного ввода данных DATA и READ В Бейсике для ввода списка констант применяют операторы DATA (данные) и READ (читать). Структура операторов имее1 вид: <номер строки> <DATA> < констаита>, <константа>, ...; Сномер строки> <READ> <имя переменной>, <имя переменной>, — Операторы DATA и READ применяются совместно. Данные, записанные в списке чисел опера ора DATA, по очереди присваиваются переменным, идущим в списке оператора READ В программе может быть несколько операторов DATA и READ. 24
Оператор DATA может находиться в любом месте программы В основном, его ставят сразу после соответствующего оператора READ или же, чтобы не загромождать программу, в конце её. Если в программе содержатся несколько операторов DATA, то их можно рассматривать как объединённый оператор DA1A, а все константы — объединенными в один список. При выполнении оператора READ константы последовательно выбираются из этого списка и поочерёдно присваиваются переменным, указанным в операторе READ. Тип константы в списке DATA должен соответствовать типу переменных оператора READ. Очередной оператор READ выбирает константы не с начала списка, а с того места в списке, на котором остановился предыдущий оператор READ. Неиспользованные константы из списка DATA игнорируются, а в случае нехватки констант для всех переменных оператора READ ЭВМ выдаёт сообщение о нехватке данных. Пример 13: 10 DATA10,20,30,”ABC” 20 READ А,В,С 30 READ D$,E,F 40 DATA 40,50 50 PRINT A,B.C,D$,E.F 60 END RUN 10 20 30 ABC 40 50 3.5. Оператор RESTORE (восстанавливать, возвращать) Оператор RESTORE позволяет неоднократно полу ia^b доступ к данным из оператора DATA. Структура оператора RESTORE имеет вид: <номер строки> <RESTORE> < иомер строки>. Если после имени оператора RESTORE стоит номер строки, то очередному оператор'' READ выборка данных начинается с первого элемента списка того оператора DATA, которому соответствует заданный номер. Если номер строки не задан, то выборка выполняется с начала списка. Пример 14: 10 DATA 9.2.7,4,8 20 READ X 30 PRINT X 40 READ А,В 50 PRINT A,В 60 RESTORE 70 READ P,Q,R,D 80 PRINT P,Q.R,D 90 END ЭВМ выполнит такие операции присваивания: 9 -> X 2 -» А 7 -> В 9 -> Р 2 -> Q 7 -> R 4 -> D 3.6- Сравнение трёх способов ввода данных Мы рассмотрели три оператора ввода данных: - “=” — оператор присваивания - INPUT оператор ввода - READ/DATA операторы списочного ввода. Оператор присваивания позволяет получить данные из выражения. В операторе присваивания можно описать большое количество данных | но для ввода их в ЭВМ понадобится много времени. С помощью оператора INPUT ввгп данных выполняется с клавигтуоы во врег 1я раб хгы прогоаммы. Данные могут быть любого типа Встретив оператор INPUT, программа перехошп в состояние ожидания и будет продолжена только после ввода данных. Если в этот момент будет допущена ошибка, то всю программу придётся повторить. 7 л. 25
Операторы READ/DATA удобны тем, что можно вводить большое количество данных. Но если нужно изменить данные, то приходится пересчитывать программу. Несмотря на недостатки, каждый способ ввода данных удобен для определённого типа задач. 3.7. Оператор обмена SWAP Обмен значениями двух переменных выполняется с помощью оператора SWAP Структура оператора: <номер строки> <SWAP> <имя переменной 1>, <имя переменной 2>. Переменные должны иметь один и тот же тип. После выполнения оператора SWAP переменная 1 получит значение переменной 2 и наоборот. Пример 15: 10 А=4:В=8 20 SWAP А,В 30 PRINT “А”;”=”;А,”В”;”=”;В 40 END По окончании работы программы на экране появится: В=4 Из примера видно, что переменные обменялись своими значениями. Глава 4 Операторы управления Обычно операторы выполняются один за другим в порядке присвоенных им номеров. Для изменения этого порядка используют операторы управления. К ним относятся: • оператор условного перехода IF THEN (if... then ... -если тогда...); • операторы безусловного перехода GOTO (goto... — перейти к...) и ON GOTO ton ... goto ... — при ... перейти к...); • операторы ор1анизапии цикла I OR (foi —для!ЛЧЕХТ (next — следующий); операторы прекращения выполнения программы STOP (stop- останов) и PAUSE (пауза); • команда CONT (продолжить); • оператор завершения программы END (end- конец). 4.1. Операторы перехода Эти операторы позволяют передавать управление любой строке программы. Для этого используются следующие опспаторьг GGTO — для безусловного перехода, IF THEN — для условного перехода и ON GOTO — для перехода по вычисляемому значению 4.1.1. Оператор GOTO Структура оператора имеет вид: <номер строки> <GOTO> <номер строки>. Пример 16: 10 PRINT “PRIVET' 20 GOTO 10 30 END Если эту программу запустить иа выполнение, ЭВМ будет без конца печатать “PRIVET’. Этот текст будет на- печатан тысячи раз, если ЭВМ не остановить. В таких случаях говорят, что программа “зациклилась". Остановить зациклившуюся программу можно нажатием клавиши [Break ] (прервать). При этом машина выйдет из цикла. 4.1.2. Оператор условного перехода IF Для пере тачи управления в зависимости от условия используется оператор IF, структура которого имеет вид: <номер строки> <IF> <выражение> <THEN> «"номер строки> или <группа операторов> IF и THEN—это две части одного оператора Первая часть содержит ключевое слово IF и условие, а вторая часть — ключевое слово THEN и указание, куда переходить программе при выполнении условия. А если условие не вы- полняется го машина переходит на следуютцую строку. Возьмём приведённую в прельщу: тем разделе' ацикленную’’ программу. Сделаем так, чтобы она отработала ровно 8 раз. 26
Пример 17: 10 К=8 20 К=К-1 30 IF К=0 THEN 60 40 PRINT “PRIVET’ 50 GOTO 20 60 END Мы ввели здесь строку 20 для постепенного уменьшения К, а в строке 30 — проверку “КО ?”. Строку 30 можно прочесть так: 30 Если К=0, тогда перейти на строку № 60. Когда ответ на этот вопрос будет положительным, программа закончит свою работу. Если запустить эту программу на выполнение, мы получим 7 строк приветствия Дело в том, что при К=К-1 количество “приветствий” уже уменьшилось на единицу. Исправить ошибку можно несколькими способами — записать 10 К=9, — поменять местами операторы в строках 30 и 40, — поставить оператор в строке 20 после оператора строки 40. Предлагаем начинающему программисту самому найти другой способ исправления ошибки. Величину переменной К изменять нежелательно. Так как эта переменная играет роль счётчика, то желательно, чтобы результат работы программы и начальное значение переменной К были одинаковы. То, что мы сейчас делаем, называется отладка программы. В работе программиста не всегда получается так, как задумано. 4.1.3. Оператор ON GOTO Структура оператора: <номер строки> <ON> <выражение> или <перемеиная> <GOTO> <список номеров строк>. Под <выражением> понимается любое чисовое выражение или число. Оператор ON GOTO передаёт управление одной из строк, номер которой задан в списке. Пример 18: 10 IF Х=1 THEN 100 20 IF Х=й THEN 150 30 IF Х=3 THEN 200 40 IF X=4 THEN 250 50 ... Используя оператор ON (переключатель), этот фра, мент программы можно записать так: Пример 19: 10 ON X GOTO 100, 150.200,250 20 Выбор номера строки зависит от значения переменной, заданной в операторе после ключевого слова ON. Значение переменной определяет порядковый номер в списке, что наглядно показано на рис 7. Рис. 7 В операторе ОМ может -спользоваться тюбая. удобная ппо-раммисту. переменная. Вместо переменной может также использоваться выражение. В списке может быть любое количество номеров строк. Некоторые из номеров могут повторяться. Если значение переменной или выражения. стоящих после ключевого слова ON. меньше единицы или больше количества номеров строк в списке, то управление передаётся оператору, следующем; за операторам ON GOTO Если значение переменной или выражения не является целым числом, то программа использует целую часть этого числа для определения, куда должно быт-, передано управление 27
4.2. Операторы организации цикла FOR и NEXT Последовательность операторов, выполнение которых многократно повторяется, образует цикл. Для записи циклов используются специальные операторы. В Бейсике одними из самых удобных и распространённых операторов цикла являются операторы FOR-NEXT. Первый из них — FOR начинает цикл, второй — NEXT з..вершает его. Они используются всегда вместе, отсутствие одного вызовет сообщения об ошибке. Структура операторов цикла имеет вид: <номер строки> <FOR> <переменная=начальное зиачение> <ГО> -«конечное значение> <STEP> <приращение>. <номер строки> <NEXT> <перемеииая>. В разделе 4.1.2. приводился пример простейшего цикла Изменим программу, используя операторы цикла. Пример 20: 10 FOR К=1 ТО 8 20 PRINT “PRIVET” 30 NEXT 40 END Если мы сравним два варианта решения, то легко увидим, что новый вариант удобнее. Не нужно заводить счётчик цикла и писать операторы перехода. Оператор FOR используется для организации начала цикла — для присваивания счётчик)' начального (К=1) и конечного (К=8) значений. Далее следуют операторы, образующие тело цикла и наконец, оператор NEXT ис- пользуется для обозначения конца цикла. Оператор NEXT изменяет значение счётчика и отсылает программ) на начало цикла, где анализируется значение счётчика. Если новое значение счётчика не превышает конечного зна- чения (в нашем случае К=8), то программа печатает ешё одну строку. А если новое значение счётчика больше конечного значения, то программа завершается. Группа операторов, стоящих внутри цикла, т.е. между операторами FOR и NEXT, называется — тело цикла. Рис. 8 Блок-схема, гпивеленная на рис. 8, наглядно иллюстрирует работу программы. Обратите внимание, что оператор FOR на блок-схеме изображается двумя геометрическими фигурами, а оператор NEXT — одной. Оператор начала цикла состоит иногда из двух слов FOR — ТО, а иногда из трёх - FOR — ТО — STEP. Первая форма частный случай, вторая — более общий. При шаге равном 1 слово STEP можно не писать. ЭВМ “сама понимает”, что шаг равен I, его размер задаётся, как говорят прогпаммисты. по умолчанию. Счётчик может изменяться с любым шагом, то есть на любую величину, положительную или отрицательную, целую или дробную Но если значение шага равно 0, то цикл будет повторяться бесконечно. Пример 21: 10L=0 20 FOR N=1 ТО 100 STEP 2 30L=LhN 40 NEXT 50 PRINT L 60 END 28
Эта программа вычисляет сумму целых нечётных чисел, т.е. программа вычисляет: L = 1+3+5+...т97т99 Если значение шага задано отрицательным числом, то начальное значение счётчика уменьшается при каждом выполнении цикла. Циклы, организованные с помощью операторов FOR и NEXT, могут быть вложены друг в друга, т.е. одни FOR/NEXT цикл может быть записан внутри другого FOR/NEXT цикла. Глубина вложения может быть любой. Пример 22: 10CLS 20 D=2 30 FOR А=1 ТО 9 STEP 2 40 FOR В=1 ТЭ 9 50 PRINT А “X” В “=” А*В, D”X”B D’B 60 IF В=9 THEN PRINT’ 70 NEXT 80 D=D+2 90 NEXT 100 END Эта программа выводит иа печать таблицу умножения в два столбика Рассмотрим работу этой программы по её блок-схеме, изображённой на рис. 9. Работа оператора CLS будет рассмотрена позже. Сейчас скажем только, что он очищает экран. 8 л 29
Первый (внешний) цикл начинается с присваивания переменной А значения 1. Затем оператор цикла проверяет “А > 9 ?”. Если ДА, то программа выходит из цикла и заканчивает работу. Если НЕТ, то управление программой передаётся следующему внутреннему) циклу. Здесь переменной В присваивается значение 1 и происходит проверка "В > 9 ?’’. Если ДА, то программа выходит из цикла. Если НЕТ, то на экран выводится результат умножения А на В и D на В. На экране появится строка: 1x1=1 2x1=2 После печати программа проверяет “В=9 ?”. Если ДА, то печатается пустая строка. Если НЕТ, то множитель В увеличивается на 1 (В=В+1) и управление передаётся на начало цикла. После первого круга значение переменной В будет равно 2. Значит, программа перейдёт на печать результата, и на экране появится вторая строка таблицы: 1x2=2 2x2=4 И так далее до тех пор, пока значение множителя В не увеличится до 9. После того как программа выведет на экран строку: 1x9 = 9 2x9=18 будет соблюдено условие строки 60 В = 9 и программа выведет на печать пустую строку. Затем множитель В возрастёт до 10 и после сравнивания “В>9 ?” программа выходит из внутреннего цикла. Программа переходит на строку 80, где переменная D увеличивае гея на 2. После этого управление программой переходит на строку 90. где стоит конечный оператор внешнего цикла Здесь значение переменной А увеличивается на 2, так как в операторе цикла иа строке 30 шаг равен 2. Затем программа выполняет операцию сравнивания “А > 9 ?”. Здесь завершается первый круг внешнего цикла. Легко заметить, что в этой точке программы значение переменной А будет равно 3. Значит, программа перейдёт на строку 40. Здесь переменная В примет значение 1, и повторится работа программы во внутреннем цикле, но с изменёнными переменными А и D Пустая строка, напечатанная ранее, предназначена для разделения колонок с разными значениями множимых. Первая строка второй пары колонок будет иметь вид: 3x1=3 4x1=4 Итак, программа будет "вертеться” во внутреннем цикле до тех пор пока значение множителя В не превысит число 9. Затем произойдёт выход из внутреннего цикла, увеличение на 2 переменных А и D и очередной переход во внутренний цикл. Когда значение переменной А превысит число 9, программа выйдет из внешнего цикла и закончит свою работу. Операторы цикла относятся к сложным операторам алгоритмического языка. Приведём основные правила использования операторов FOR/NEXT: — управляющие переменные могут быть записаны в виде числа или выражения: 10 FOR А=1 ТО 40 40 FOR B=P*D+4 ТО L/K STEP N 70 FOR M=Q TO C STEP -1 — значения выражений, определяющих начальное и конечное значения, а также приращение, вычисляются один раз и не изменяются в процессе выполнения цикла: — изменения величин, входящих в выражения, во время выполнения цикла не влияют на количество повторений цикла; — начальная переменная цикла может находиться как внутри никла, так и вне егс — нельзя менять значение переменной цикла, так как может измениться количество повторении цикла, — внутренний цикл должен целиком помещаться во внешнем цикле; — вложенные друг в друга никлы должны иметь различные упгавляюшие переменные. 4-3 Операторы прекращения выполнения программы STOP и PAUSE. Команда CONT Для ирекпашения выполнения nnoi раммы используется оператор STOP, который не содержит операндов. По оператору STOP выполнение программы прекращается и на экран телевизора выдаётся сообщение: 30
BREAK IN nn останов в строке nn Где nn — номер строки с оператором STOP, который вызвал прекращение работы программы. - Оператор STOP рекоме.шуе гея использовать при отладке программы для задания точек останова, в которых можно проверить правильность выполнения программы (например, проверить или изменить значения переменных}. Оператор STOP может находиться в любом месте программы В программе может быть любое количество операторов STOP. Выполнение программы можно продолжить с помощью команды CONT. Для временной остановки программы используется также оператор PAUSE. Он отличает -я от оператора STOP тем, что может работать в ручном и в автоматическом режимах. Структура оператора PAUSE имеет вид: <номер строки> <PAUSE> <целое число>. Операнд <целое число> указывает на длительность паузы. По истечении указан того времени ЭВМ автоматически продолжит работу программы. Если длительность паузы не указана, то программа, пройдя оператор PAUSE, остановится, и машина перейдёт в режим ожидания Для того чтобы ЭВМ вышла из режима ожидания, нужно нажать любую клавишу. Команда CONT позволяет продолжить выполнение программы, прерванное оператором STOP или клавишей [Break]. Команда CONT не имеет параметров и позволяет продолжить выполнение только с того места, где оно было прервано. 4.4. Оператор завершения программы LND Дтя завершения выполнения программы используется оператор END, неимеющий операндов. По оператору END машина переводится на уровень команд. Оператор END может стоять не только в конце программы. Обычно оператор END соответствует нормальному завершению программы. Глава 5 Блок - схемы и комментарии 5.1. Блок - схемы Перед написанием программы обычно разрабатывается алгоритм решения задачи в графической форме. Этот алгоритм состоит из набора геометрических фчгур, соединённых между собой линиями со стрелками, и называется блок-схемой программы. Каждая фигура (блок! подразумевает определённое действие, выполняемое ЭВМ: — овал используется для обозначения начала и конца блок-схемы: (Конец ) ( Начало ) — прямоугольник — для обозначения операций присваивания и выполнения вычислений: А=1 D=K/N х С — параллелограмм означает операции ввода и вывода: — кружок с любым символом показывает, откуда или купа переходит управление программой: или Внешнее различие блоков создаёт наглядность блок-схемы и помогает легко понять работу программы Благодаря этому различию, комментарии внутри блоков могут быть короче, так как внешний вит символа помогает понять: что в этом блоке происходит. Что имен ю будет написано в комментарии зависит только гп программиста.
Расположение операторов в программе необязательно должно в точности совпадать с расположением соответ- ствующих блоков в блог-схеме. Прогпаммист может записывать их где угодно, лишь бы последовательность вы- полнения операторов соответствовала последовательности символов блок-схемы. Стрелки, выходящие из блоков или подходящие к ним, могу- находиться в любом месте. Важно только, чтобы они были правильно направлены. ' Рассмотрим блок-схему, изображенную на рис. 9. Здесь блоки помечены номерами, соответствующими номерам операторов программы, приведённой в примере 22 Символы-соединители используются для замены линий, соеди- няющих начало и конец внутреннего цикла и выход из внутреннего цикла и стоящий за ним оператор присваива- ния. Программист может заменить символ-соединитель непрерывной линией, если ему это больше нравится. Символов-соединителей в блок-схеме может быть сколько угодно. Блок-схемы могут строиться сверху вниз или слева направо. Это личное дело программиста. 5.2. Оператор REM Оператор REM — это “пустой”, неисполняемый оператор. Он не содержит никаких указаний на проведение операций, не производит вычислений. Структура оператора REM имеет вид: <номер строки> <REM> <любой набор снмволов>. Оператор REM не влияет на работу программы. Он может стоять в любом месте программы и в любом количестве. Оператор REM только не может стоять после oi ерато] a END в конце программы. Оператор REM необходим для комментария, пояснений, примечаний, замечаний (remark — пояснение). При выполнении программы комментарии не печатаются. Они появляются только тогда, когда программа распечатывается по директиве LIST. Операторы REM помогают при составлении и отладке программы, а также разобраться в уже написанных самим или другим программистом. Так как данная версия Бейсик не позволяет набивать текст на русском языке, комментарии можно набрать латинскими буквами. Глава 6 Функции В расчётах часто возникает необходимость вычислять различные функции. Для вычисления строго определённых функций были заранее разработаны подпрограммы и включены в систему языка. Такие функции называются встроенными и являются частью системы Бейсик Кроме встроенных функций, пользователь может определить свои собственные функции. Такие функции называются функциями пользов ггеля. Они используются только в рамках одной программы. Появление имени Лункпии и соответствующих ей аргумен~ов вызывает выполнение этой функции и называется обращением к функции или вызовом функции. Фактические аргументы должны соответствовать формальным по количеству, типу и порядку следования. 6.1. Встроенные функции Каждая встроенная функция имеет своё имя. Аргументы функции загисываютя в скобках вслед за именем функции и разделяются запятыми. В качестве фактических аргументов функции могут быть использованы выражения. 6.1.1. Числовые функции Буквой X, заключённой в круглые скобки, обозначен аргумент функции. Он может быть числом именем переменной или выражением. Выпажгние. испод зуемое в качестве аргумента, может содержать обращение к другим функциям ABS(x) — вычисляет абсол отное значение данной числовой величины. Пример 23: 10К=-8 20 S=ABSCK+3H2 30 PRINT S 40 END RUN 7 OK 32
— знаковая функция. Если аргумент функции отрицательный, функция принимает значение -1. Если аргумент равен нулю, функция тоже принимает значение 0. Если аргумент положительный, функция принимает значение +1. SGN(x)=l для Х>0, SGN(x)=0 для Х=0, SGN(x)=-l для Х<0. Пример 24: 10 INPUT К 20 M=SGN(k) 30 IF M=-l THEN 70 40 IF М=0 THEN 90 50 PRINT K,K*K*K 60 GOTO 10 70 PRINT K,K*K 80 GOTO 10 90 PRINT K,K 100 GOTO 10 110 END Программа вводит число. Если это число равно нулю, программа печатает его дважды на одной строке, если оно отрицательное, программа печатает число вместе с его квадратом; если же число положительное, программа печатает это число вместе с его кубом. Программа будет работать до тех гор, пока пользователь не нажмёт клавишу I PAUSE ]. — генерация случайных чисел. Версия Ж-Бейсик позволяет получать целые случайные числа в интервале от 1 до 32767. Аргумент X показывает, в каком интервале ЭВМ будет генерировать случайные числа. Пример 25: 10Р=0 20 FOR К=1 ТО 10 30 A=RND(10): B=RND(10) 40 М=1 50 PRINT А; В; “=” 60 INPUT S 70 IF S=A+B THEN 120 80 PRINT “NE VERNO I” 90 M=M+1 100 IF M<3 THEN 50 110 GOTO 140 120 PRINT “PRAVILNO I” 130 P=P+5 140 NEXT 150 PRINT P; “ BALLOV” 160 END Эта обучающая программа выдаёт на экран два случайных числа в интервале от 0 до 9, которые нужно сложить. Если ученик ошибся, программа выдаёт сообщение “NE VERNO !” и предлагает повторить сложение этих чисел (так как данная версия Бейсик не позволяет поль- зоваться буквами кириллицы, то составляем сообщения латинскими буквами). Если ученик ошибся во второй раз, программа выдаёт на экран другую пару случайных чисел, которые нуж- но сложить. Если ученик ответил правильно, то программа выдаёт сообщение: “PRAVILNO а затем — другую пару случайных чисел. За каждый правильный ответ ученик получает 5 бал- лов. После того как программа выдаст десять пар случайных однозначных чисел, на экране по- явится итоговое количество баллов. Функция RND(x) применяется при моделировании случайных процессов. В нашей ЭВМ эта функция используется для моделирования подвижных целей в играх: самолёты, снаряды ит. п. 33
6.1.2. Функции преобразования 1 ипов данных Эти функции позволяют преобразовать какой-либо символ в десятичное число и наоборот, число — в символ. В па- шей машине используется система кодов GSCI1. В приложении 2 приведена таблица кодов GSC1I (Таблица В) Каж- дому символу соответствует строго определённое число, представленное в десятичном и шестнадцатеричном виде. Имя переменной, которой присваивается значение последовательности символов, должно иметь на конце специальный знак ($). ASC(x$) — выдаёт числовое значение первого символа строкового выражения х$ в соответствии с таблицей кодов GSCII. Пример 26: 10 X$-”VALENTIN” 20 PRINT ASC(x$) 30 END RUN 86 OK CHRS(x) — выдаёт символ, соответствующий заданному числовому коду по таблице кодов GSCII. Значение аргумента может быть представлено как в десятичном, так и в шестнадцатеричном виде в интервале от 0 до 255 и от &Н0 до &HFF соответственно. Для удобства различия десятичных и 16-ричных чисел принято писать перед 16-ричными числами символы “&Н”. Ппимер 27: 1OK=&H1F 20 INPUT L 30 PRINT K,L 40 C$=CHR$(66) 50 PRINT CHR$(65),C$ 60 END RUN ? &H46 — ввести 16-ричное число 31 70 —десятичные числа А В ОК STR$(x) — преобоазуез число в постеповатетьность символов, состоящую из цифо данного числа. Призер 28: 10 А=124: В—240 20 А$ =STR$(A) 30 B$=STR$(B) 40 PRINT А: В: АтВ 50 PRINT А$; В$; А$+В$ 60 END RUN 124 240 364 124 240 124 2ч0 ОК VALIxS) — ппеобоазует Поспелова"ельность символов, состоящую из цифр, в число Х$ может содержать цифры, символы для записи чисел в 16-ричной форме, знаки плюс и минус, буквы “Е” или “е”. Если Х$ содержи1 любые другие символы, тогда при исполнении программы появится “0” (сообщение об ошибке). Число 124 и последовательность символов “124” не являются одинаковыми величинами и хранятся в памяти в различной Лопме. Иногда удобно вводить число как строку, а затем преобразовать эту строку в числовую форму. 34
Функция VAL(x$) являтся обратной функции STR$(x). Пример 29: 10 INPUT AS 20 V=VAL(A$) 30 PRINT A$+”=";V 40 GOTO 10 50 END RUN ? &H7FFF &H71 FF=32767 ? 16 16=16 ? CD CD=O ? Эта программа преобразует введённую Вами последовательность символов в число, а затем показывает, чему равна эта последовательность. Для выхода из программы нужно нажать клавишу f Break ]. НЕХ(х) — преобразует число из десятичной формы записи в16-ричную. Десятичные целые числа должны находиться в пределах от -32768 до 32767. Для отображения отрицательных 16-ричных чисел введён дополнительный код. Информацию об использовании дополнительных кодов можно найти в литературе по вычислительной технике. Пример 30: 10 FOR 1=0 ТО 20 20 PRINT 1;”=&Н”,НЕХ$(1) 30 NEXT 40 END 6.1.3. Строковые функции LEFT$(xS.n) — выделение п левых крайних символов строки х$. Последовательность символов не должна превышать 31 символ. Например, из последовательности символов x$=”ABCDEF” нужно выделить 3 левых символа. Отрывок программы будет иметь вид: 20 x$=”ABCDEF" 60 KS=LEFT$(xS,3) 70 PRINT К$ на экране получим: АВС. RlGHTS(xS.n) — выделение п крайних правых символов строки х$ Допустим, что имеется последовательность символов xS-'ABCDEF' и из неё нужно извлечь 4 правых символа Получим такой фрагмент программы: 10 xS=”ABCDEF” 20 L$=RIGHT$(x$,4) 40 PRINT L$ RUN CDEF OK M lD$(x$ji,m) — извлечение m последовательных символов из строки х$, начиная с символа п. Если m опу- щено или количество символов в строке справа от симвста п меньше, чем т, тс извлекаю! ся символы, начиная с символа п, до конца строки. Если значение m равно 0 или значение п пре- вышает длину строки, то результатом выполнения функции будет пустая строка. 35
Например: есть последовательность символов x$=”ABCDEF” и из неё нужно извлечь два символа, начиная с четвёртого. Получим такие строки программы: 10 x$=”ABCDEF” 40 PRINT MID$(x$,4,2) на экране высветится: DE LEN(x$) — определение длины строки х$ (количество символов). Пример 31: 10 x$=”ABDCEF” 40 S=LEN(x$) 50 PRINT S RUN 6 OK 6.1.4. Функция ввода данных с клавиатуры INKEYS(n) — нестандартный ввод с клавиатуры. Как правило, ввод данных с клавиатуры осуществляется с помощью оператора INPUT. При этом знак вопроса (подсказка) и вводимый символ отображаются на экране (“эхо”). Функция INKEYS подавляет подсказку, эхо символа на экране, и не требует нажатия клавиши ввода Пример 32: 10 PRINT “UKAGITE NAPRAVLENIE” 20 DS-INKFYS(O) 30 IF D$=" “ GOTO 20 40 ON VAL(D$) GOTO 140,60,140,80,140,100, 140,120,140 50 GOTO 140 60 PRINT “NAZAD’ 70 GOTO 20 80 PRINT “NALEVO” 90 GOTO 20 100 PRINT “NAPRAVO” 110 GOTO 20 120 PRINT “VPERYOD” 130 GOTO 20 140 PRINT “NEVERNO” 150 BEEP 160 GOTO 20 170 END Эта программа показывает, как с помощью функции INKEYS пользователь управляет направлением движения. В правой части клавиа~уоы расположены клавиши, на которых совмещены цифры со стрелками направления перемещений: 2 — вниз 8 — вверх 4 — налево 6 — направо В строках 20 и 30 описан цикл. солеожашчй функцию INKEYS. Введённый символ сохраняется в строковой переменной DS. Затем этот символ преобразуется функцией VAL в число, котгоое анализируется в операторе ON...GOTO, и происходит переключение или ветвление программы При запуске программы Вы увидите, что результат оаботы функции INKEYS на экран не выводится. Оператор ВЕЕР воспроизводит звуковой сигнал Если пользовал -ль нажмёт любую клавишу, отличающуюся от направления движения (2,4 6 или 8), то на ’кране появится сообщение “неверно”, набранное латинскими буквами, в сэпоовожле ши |вукового сигнала 36
Прч правильном нажатии клавиш на экране появятся слова, соответствующие направлению движения. Для выхода из программы нужно нажать клавишу [ Break ]. 6.2. Функции пользователя Функция пользователя определяется внутри программы, которая использует эту функцию. Функция пользователя описывается одним оператором и задаётся выражением. Структура оператора определения функции имеет вид: DEF <имя функции» [<параметр>, (<параметр> ...)] <выражеиие>. Имя функции задаётся аналогично имени переменной и используется для обращения к функции. Параметр, который используется для определения функции, не связан с переменными программы, имеющими те же имена. Значения аргументов, заданных в обращении к функции, присваиваются соответствующим параметрам и ис- пользуются при вычислении выражения. Выражение определяет функцию. Тип выражения должен соответствовать типу имени функции В выражении можно использовать переменные, неявтяюшиеся параметрами. Определение функции должно предшествовать её использованию. Пример 33: 10 А=3 20 DEF SUM(A)=A*A+A/2 30 INPUT В 40 C=SUM(B)+4»A 50 END В строке 20 описана функция пользователя SUM, а в строке 40 — обращение к этой функции для вычисления В^ +0.5В. В строке 20 “А” является формальным параметром и действие оператора в строке 10 на него не испоостоаняется Глава 7 Подпрограммы При составлении сложных программ очень часто возникает необходимость описывать один и тот же алгоритм, сос~эяший из группы операторов. Эту группу можно записать отдельно и перелазать ей управление по мере не- обходимости. Такую группу операторов называют подпрограммой. Во время работы основной программы обращение к подпрограмме может быть сколько угодно раз. После выполнения подпрограммы управление передаётся основной программе. 7.1. Операторы GOSUB и RETURN Оператор GOSUB выполняет передачу управления подпрограмме IGO to SI JBroutine — перейти к подпрограмме ). Структура оператора GOSUB имеет вид: <номер строки» <GOSUB> <номер строки». Номер строки, стоящий после ключевого слова, указывает, куда передаётся управление программой. Опера- тор GOSUB в отличие от GOTO не только передаёт управление подпрограмме но и запоминает, какой именно оператор вызвал этот переход После выполнения подпрограммы управление снова перелается строке, непосред- ственно стоящей за оператором GOSUB. Этот возврат осуществляет оператор RETl R.N (return — возврат). Структура оператора RETURN имеет вид: <номер строки ' '"RETURN» <номср строки». Номер строки, стоящий после ключевого слова “RETURN”, указывает, куда передаётся управление после выполнения оператора RETURN. Если операнд <номер строки» не задан управление передаётся сператорз следующему за опепатопом GOSUB, выполнявшему передачу этой подпрограмме. В одной подпрограмме может быть несколько операторов RETURN. Пример 34: 10 DATA 6,1,3,2,7,4,3,8,2,2 20 DATA 5,4,3,9,0,0 30 READ Y.C 40 IF С=0 THEN 210 50 GOSUB 80 60 PRINT D 70 GOTO 30 80 IF C=1 THEN 130 37
90 IF C=2 THEN 160 100 IF C=3 THEN 190 110 PRINT “ERRORIN DATA”;Y;C 120 GOTO 200 130 D=Y*Y 140 GOTO 200 150 REAU Z 160 D=Y*Z 170 GOTO 200 180 READ H 190D=Y*H/2 200 RETURN 210 END Программа вычисляет площади квадрата, прямоугольника или треугольника. Данные в опера.оре DATA объединены в группы. Первое число в каждой группе Y — это или сторона квадрата, или одна из сторон прямоугольника, или одна из сторон треугольника. Второе число С — код 1,2 или 3, указывающий, площадь какой геометрической фигуры должна быть вычислена. Значения кодов следующие: 1 — квадрат 2 — прямоугольник 3 — треугольник Копа программа читает значения переменных Y и С, она прежде всего проверяет, равняется ли С нулю. Если “ДА”, то программа завершает свою работу, если “НЕТ’ — переходит к подпрограмме на строку 80. Здесь проверяется значение С. Если С=1, то Y принимается как сторона квадрата и вычисляется площадь квадрата. Если С=2. то Y — одна из сторон прямоугольника, и программа читает значение для второй стороны прямоугольника. Затем вычисляет площадь прямоугольника. Если С=3, то Y принимается как одна из сторон треугольника, и считывается значение высоты треугольника, а затем вычисляется его площадь. После того как вычислена площадь какой-либо из фи'ур управление передаётся на оператор RETURN (возврат) и происходит выход из подпрограммы на оператор строки 60. 38
Для обозначения оператора RETURN используется овал, как и для блоков “НАЧАЛО” и “КОНЕЦ”. Подпрограмма может обращаться к другой подпрограмме с помощью оператора GOSUB. Первым из операторов RETURN должен выполняться оператор, принадлежащий второй подпрограмме Подпрограмма всегда должна возвращать управление вызывающей программе. Разрешается любая глубина вызовов подпрограмм, ио возврат из подпрограммы должен осуществляться к вызывающей подпрограмме. Глава 8 Массивы Последовательность переменных, имеющих одно и то же имя, называется массивом. Каждый член массива носит название — элемент массива. Массив состоит из имени и размерности (количества ячеек памяти). Имя массива и его тип определяется как и имя, и тип переменной. Все элементы массива должны иметь один и тот же тип Допускается совпадение имён массива и простой переменной. 8.1. Оператор DIM Некоторые версии Бейсика позволяют не описывать массивы, если их размеры не превышают 10 ячеек. Но мы советуем всегда описывать массивы. Это поможет Вам избежать ошибок. Для описания (объявления) массива используется оператор DIM (DIMension — измерение). Структура оператора DIM имеет вид: <номер строки> <DIM> <имя массива> <(размерность)>, <имя массива> <(размерность)>.... Имя массива должно состоять из одной буквы (А,В,С ... ). А для описания массива с элементами типа последовательности символов (строкового типа) — AS, В$ и т. д. Размерность — это целое положительное число, определяющее количество переменных (ячеек) массива. Максимальные размеры массивов в разных системах различны. Обычно массив может состоять из 1000 ячеек. Наша машина может иметь 20 ячеек.- В одном операторе DIM можно описать вес массивы, применяемые в программе. Но для удобства лучше описывать не более трёх массивов. Оператор DIM должен стоять перед операторами, использующими данные массива, то есть в начале программы. Значения элементов массива можно изменять в программе несколько раз. Числа и переменные, заключённые в скобки, называются индексами. Пример 35: 10 DATA 4,6,2,8,7 20 DIM А(5) 30 FOR К=1 ГО 5 40 READ А(К) 50 NEXT 60 А(3)=31 70 PRINT А(1), А(2), А(3), А(4), А(5) 80 END RUN 4631 87 OK Так как в строке 60 третьему элементу массива А присвоено другое значение. ЭВМ вывела на экран не “2”, а новое значение — “31”. Индекс указывает на определённую ячейку массива. В качестве индекса может быть использовано число, переменная или выражение. Массив, содержащий одно число в индексе, является одномерным массивом. Если индекс состоит из двух чисел, разделённых запятой, то массив будет называться двумерным массивом. В нашей машине одномерный массив может иметь размерность от 0 до 20, а двумерный — от 0 до 3 и от 0 до 5. В двумерном массиве первый индекс всегла указывает на номер строки, а второй индекс — на номер позиции (колонки). Пример 36: 10 DIM В (4,5) 20 DATA 4,3,1,8,7,6,2,10 30 DATA 6,8,14,12,3,7,4,1 40 DATA 11,16,24.3 39
50 FOR К=1 TO 4 60 FOR M=1 TO 5 70 READ В (K,M) 80 NEXT 90 NEXT 100 FOB L=1 TO 4 110FORN-1 TO 5 120 PRINT В (L,N), 130 NEXT 140 PRINT 150 NEXT 160 END RUN 1 2 3 4 5 <— столбцы 1 4 3 1 8 7 2 6 2 10 6 8 массив 3 14 12 3 7 4 В 4 1 11 16 24 3 T строки OK Эта учебная программа загружает двадцать чисел в массив В. Это достигается выполнением цикла в цикле Внешний цикл чравляетя переменной К, внутренний цикл — переменной М. Сначала программа устанавливает К равным 1, а М изменяется от 1 до 5; затем К увеличиваемся на 1. а М проходит свой никл от I до 5. И так далее, пока К не пройдёт весь свой цикл. При этом значения из оператора DATA присваиваются соответствующим ячейкам массива: 4—>В(1.1) 3->В(1,2) 1 -> В (1,3) 8->В(1,4) 7 -> В (1,5) 6—> В (2.1) 2 -> В (2,2) 10-> В (2.3) 6 -> В (2,4) 8 > В (2,5) 14 - В (3,1) 12 -> В (3,2) 3 -> В (3,3) 7 -> В (3,4) 4 —> В (3,5) 1 -> В (4,1) 11 -> В (4.2) 16 — В (4.3) 24 —> В (4.4) 3 —> В ,5) Печатаются значения элементов массива также с использованием цикла в цикле. Запятая, стоящая в конце оператора PRINT на строке 120, вызывает подавление возврата каретки и позволяет печатать fen .ьтат г виде таблицы. Если бы запятой не было, система напечатала бы каждое число в отдельной строке. Оператор PRINT в строке 140 выводит систему из режима подавления возврата каретки и по окончании внутреннего цикла печати переводит строку, Еста этот оператор убрать, то система напечатает все 20 чисел в одну строку. 40
Глава 9 Управление памятью ЭВМ К работе с памятью ЭВМ нужно отнг ситься очень осторож.ю, так как неправильные действия могут привести к нарушению работы операционной системы и Бейсика. Для работы с памятью необходимо иметь глубокие знания о распределении и структуре информации в памяти. Для получения таких знаний нужно обратиться к специальной литературе. Здесь описаны только те операции с памятью, которые необходимы для работы с нашей ЭВМ 9.1. Оператор РОКЕ и функция РЕЕК Оператор РОКЕ позволяет осуществить запись в память одного байта данных. Структура оператора РОКЕ имеет вид: <номер строки> <РОКЕ> <смещение> <данные>. Оператор РОКЕ (роке — втолкнуть) помещает заданное значение (целое число в диапазоне от 0 до 255), находящееся в указанном смещении от начала текущего сегмента в байт памяти. Функция РЕЕК читает из памяти данные размером в один байт. Стоуктура функции РЕЕК имеет вид: <РЕЕК> <число>. Функция РЕЕК (реек — заглянуть) возвращает значение байта памяти (целое число в диапазоне от 0 до 255), находящееся в указанном смещении от начала текущего сегмента. Пример 37: 10 CLEAR &Н7600 20 D=0 30 FOR А=&Н7600 ТО &Н761 F 40 POKE A.D 50 D=D+1 60 NEXT 70 FOR А=&Н7600 ТО &Н761F 80 RD=PEEK(A) 90 PRINT RD 100 NEXT 110 END Здесь оператор CLEAR освобождает часть рабочей области в памяти ЭВМ. Оператор РОКЕ с помощью цикла, описанного в строках 30 — 60 записывает в освободившуюся память числа от 0 до 31. С помощью функции РЕЕК и цикла, описанного в строках 70 — 100, программа считывает эти 32 числа и выводит на экран 9.2. Оператор CLEAR Оператор CLEAR приводит в начальное состояние (инициализирует) все определённые в программе данные, не изменяя саму нрогпамму С помощью оператора CLEAR можно изменить стандартный объём памяти, используемой интерпретатором в рабочей облаг ги и освободить часть рабочей области для других целей. Структура оператора CLEAR имеет вид. сномер строки^ <CLEAR> <память>. Пример работы оператора CLEAR приведён в предыдущем разделе. Глава 10 Управление экраном 10.1. Оператор и команда CLS Оператор CLS очищает экран от любой информации и в любой момент. Структура оператора CLS имеет вид: сномер строки> cCI S> Оператор CLS ие имеет операндов. пператор CLS (CLearScreen — очистить экран) может быть в любом месте программы. Команда CLS очищает экран в любое время. После выполнения очистки экпана курсор размешается в верхнем левом углу экрана с координатами 0, 0. 41
10.2. Управление курсором 10.2.1. Оператор LOCA1Е Для обеспечения возможности вывода данных, начиная с любой позиции экрана, в состав Бейсика вклю 1ён оператор LOCATE (locate — определить место). Структура оператора LOCATE имеет вид: <номер строки> <LOCATE> скоордината по оси Х> Скоордината по оси Y>. Наша ЭВМ делит экран на 24 строки и 28 столбцов (позиций). Отсчёт производите” < т верхнего левого угла экрана. 24 строки 28 столбцов (27,23) Рис. 11 Пример 38: 10CLS 20 FOR Х=1 ТО 7 30 FOR А=1 ТО 2*Х-1 40 LOCATE 13+А-Х,Х 50 PRINT 60 NEXT 70 NEXT 80 END RUN * ### ***** ******* ********* *********** ************* OK Программа печатает символ в семи строках. Место расположения символа определяем оператор LOCALE. Количество символов в каждой строке задаёт внутренний цикл, описанный в строках 30-60. Оператор CLS, стоящий в начале программы, очищает экран. 10.2.2. Функции определения положения курсора POS(O). Функция (POSition - местоположение) определяет номер позиции (копр зинатс пп оси X), на которой в данный момент находится курсор. Результатом выполнения этой функции является число. Формат функции: posm Аргументом может быть любое значение. Оно не влияет на результат выполнения функции. 42
Пример 39: 10CLS 20 FOR X=0 TO 25 30 LOCATE X,8 40 PRINT POS(O) 50 PAUSE 40 60 NEXT 70 END Эта программа выдает на экран числа, соответствующие номерам текущей позиции на восьмой строке. CSRLIN. Функция ( CurSoR LINe - строка курсора) определяет номер строки (координату по оси Y), на которой в текущий момент находится курсор. Эта функция не имеет аргументов. Формат функции: CSRLIN Пример 40: 10CLS 20 FOR 1=0 ТО 20 30 LOCATE 1,1 40 Y=CSRLIN 50 PRINT Y 60 PAUSE 20 70 NEXT 80 END Эта программа выдает на экран поочерёдно номера строк вниз по диагонали. 10.3. Управление цветом Для построения изображений на экране язык Бейсик имеет специальные операторы и функции. При помощи этих операторов и функций можно строить различные фигуры и приводить их в движение. Для нашей ЭВМ заранее разработаны и встроены в систему 16 фигур . На рисунке 12 показан метод построения изображения на экране. 4-слой 3-слой 2-слой 1-слой Рис. 12 Первый слой, его ещё называют передний план, прелназначен для изображения фигур. На втором слое могут быть размещены фигуры и предметы ближнего фона. Третий слой используется для размещения таких фигур, которые могут быть спрятаны за предметами ближнего фона. Четвёртый слой предназначен для изображения дальнего фоня (небо, море). 10.3.1. Оператор COLOR Оператор COLOR управляет цветом фона. Структура оператора COLOR имеет вид: <номер строки> <COLOR> «координата по оси Х>, «координата по оси Y> «кол цветах 43
Рис. 13 При работе в графическом режиме весь экран условно разбит на квадраты так, как показано на рис. 13. Координаты по оси X изменяются от 0 до 27, а по оси Y — от 0 до 23. Код цвета определяется цифрами от 0 до 3. Начало координат находится в левом верхнем углу экрана и имеет значения 0,0. Результатом работы оператора COLOR является закрашивание части экрана в определённый цвет. Закрашива- ние производится по кусочкам. Каждый кусочек состоит из 4-х символов, стоя цих попарно друг над другом и образую тих квадрат. Базовая точка квадрата находится в его левом верхнем углу Базовая точка нужна для размещения квадрата на поле экрана. Каждый квадрат имеет чётную координату по оси X и нечётную координату по оси Y. Если в результате вычислений в программе это правило нарушается, то система сама смещает закрашиваемый квадрат на одну позицию в сторону начала координат. Пример 41: 10CLS 20 FOR Z=0 ТО 600 30 PRINT CHR$(195); 40 NEXT 50 FOR C=1 TO 3 60 COLOR 4+C*3,4+C*2, C 70 NEXT 80 LOCATE 0.22 00 END Эта учебная программа состоит из 2-х циклов. Первый цикл ( 20-40 1 заполняет экран символами Эти символы задаёт функция CHRSCXl Второй пикл ( 50-70 ) вычисляет координаты 3-х квтлоатов и задаёт каждому ква грату свой цвет. Из примера видно, что координаты первого квадрата будут иметь значения: 7,6. Соблюдая правила пазмешения. система изменит коорлинтгы пеового квадоата и установит его г координатами 6.5. Оператор LOCATE устанавливает курсор на свободное место по окончании работы программы. 44
10.3.2. Оператор CGEN Оператор CGEN указывает, по какой таблице нужно определять коды символов для создания плоскости фона и фигур на всех слоях Структура оператора CGEN имеет вид: <номер строки> <CGEN> <чнсло>. Число может принимать значения 0,1,2 или 3. В конце инструкции в приложении 2 приведены две таблицы кодов символов - А и В Таблица А предназначена для определения кодов фигур для всех слоёв. Таблица В предназначена для определения кодов символов плоскости фона. На рисунке 14 приведена таблица соотношений кодов символов. Число Плоскость ближнего фона Плоскость переднего плана 0 А А 1 А В 2 В А 3 В в Рис. 14 Предположим, что оператор CGEN содержит число 2. Это значит, что для создания плоскости фона нужно коды символов определять по таблице В А для создания самого изображения в плоскости переднего плана нужно коды символов определять по таблице А. Разница между таблицами А и В заключается в том, что в таблице А числовой код соответствует какой-либо фигуре, а в таблице В числовой код соответствует какому-либо символу (цифре, букве или знаку). 10.3-3. Оператор CGSET Оператор CGSET устанавливает слой фона и слой размещения фигур Структура оператора CGSET имеет вид: <номер строки> <CGSET> <номер слоя фона>. <номер слоя размещения фигур>. Номер слоя фона может принимать одно значение из двух. 0 или 1. 0 — означает ближний слой фона. 1 — дальний слой фона. Номер слоя размешения фигур изменяется в пределах от 0 до 2. 0 — слой переднего плана 1 - - слой размещения фигур за предметами ближнего фона 2 — слой размещения фигур, расположенный на одном уровне со слоем ближнего фона. Каждый слой имеет свой, строго определённый цвет. Изменение номера слоя фона влияет также и на цвет текста самой программы. При включении режима редактора Бейсик (по умолчанию) оператор CGSET имеет вид: CGSET1.1. Пример 42: 10 CLS: SPRITE ON: CGSET 0,1 20 FOR 1=32 TO 255 30 PRINT CHR$(1); 40 NEXT 50 DEF SPRITE 0.(0,1,0.0,0)=CHR$(64)+CHR$(65)+CHR$(66)+CHR$(67) 60 SPRITE 0.100,140 70 PAUSE 100: BEEP 80 CGEN 3 90 PAUSE: BEEP 100 CGEN 2 110 END 45
С помощью цикла (20 - 40 > ппсграмма выводит на экран все имеющиеся символы из таблицы В приложения 2. В строке 50 указано, какая фигура вызывается и с какими параметрами. В строке 60 определено место фигуры на экране. В строках 70 и 90 заданы пауза и звуковой сигнал. В строках 80 и 100 указано, по каким таблицам нужно определять фигуры 1 фон. Оператор CGSET может работать и как команда, то есть без указания номера строки. 10.3.4. Оператор PALET Оператор PALET управляет цветом фигур и фона. Формат оператора PALET имет вид: PALET B/S N,K,F1 ,F2,F3 где В - ключ слоя фона S - ключ слоя фигур N - код слоя (0 или 3) К - код цвета слоя фона F1-F3 - код цвета слоя фигур. Оператор PALET может работать и как команда, то есть без указания номера строки. Если в операторе стоит ктюч слоя В, то это значит, что оператор PALET может управлять цветом фонового слоя и изменять цвет текста программы. При этом операнд N должен иметь значение 0. Изменение значения операнда К влияет на изменение цвета фона. Изменение значения операнда F1 влияет на изменение цвета букв текста программы \ изменения значений операндов F2 и F3 ни на что не влияют Значения операндов К. Fl - F3 могут быть выражены в десятичной и 16-ричной формах и выбираются из таблицы 2 (таблица кодов). Таблица2 16-рнчная 10-тичная 16-рнчная ! 0-тичная 16-ричная 10-тичная 16-ричная 10-тичная цвет 00 0 10 16 20 32 30 48 01 1 н 17 21 33 31 49 синий 02 2 12 18 22 34 32 50 03 3 13 19 23 35 33 51 04 4 14 20 24 36 34 52 05 5 15 21 25 37 35 53 красный 06 6 16 22 26 38 36 54 07 7 17 23 27 39 37 55 08 8 18 24 28 40 38 56 09 9 19 25 29 41 39 57 зелёный 0А 10 1А 26 2А 42 ЗА 58 ОВ 11 1В 27 2В 43 ЗВ 59 ОС 12 1С 28 2С 44 ЗС 60 0D 13 1D 29 2D 45 3D 0Е 14 1Е 30 2Е 46 ЗЕ 0F 15 1F 31 2Г 47 3F серый белый промежу- точный черный тбмный светлый Если в операторе PALET стоит ключ слоя S, то это значит, что можно управлять цветом фона и цветом фигур. Для управления цветом фона операн (N должен иметь значение 0, а цветом фигур - значение 3. Непосредственно цвет фона зависит от значения операнда К. а цвет фигур — от значений операндов FI - F3. Обратите внимание, «то цвет фигуры складывается из значений трех операндов. Это значит, что разные участки фигуры могут иметь разный или одинаковый цвет. Правление цветом фона и цветом фигуры осуществляется раздельно. То есть если операнд N имеет значение 0, то можно изменять только цвет фона При этом изменения значений операндов F1-F3 ни на что не влияют. А если 46
операнд N принимает значение 3, то изменение значения операнда К ни на что не влияет. В программе оператор PALET обычно используется после операторов CGSET и DEF SPRITE. -Пример 43: 10 SPRITE ON 20 DEF SPRITE 0,(3,1,0,0,0)=CHR$(96)+CHR$(97)+CHR(98)+CHR(99) 30 SPRITE 0,100,140 40 END RUN OK PALETS 3,0,18,18,18 OK CGSET 1,0 OK После запуска этой программы на экране появится красно-белый пингвин. Затем набираем на экране и вво- дим команду PALET. Пингвин окрашивается в синий цвет. Предлагаем читателю самостоятельно изменить значения операндов Fl - F3 в команде PALET. Изменяя эти значения, ориентируйтесь по таблице цветовых кодов (таблица 2). Команда CGSET 1,0 возвращает все значения в исходное состояние. 10.4 Управление движением 10.4.1. Оператор DEF MOVE Оператор DEF MOVE определяет функцию движения фигуры н имеет следующий формат' DEF MOVE(n)=SPRITE(A,B,C,D,E.F), где: п - формальная переменная А - номер фигуры В - направление движения С - скорость движения D - величина перемещения Е - выбор слоя F - определяет цвет фигуры. Работу оператора DEF мы рассматривали в разделе 6.2. А сейчас разберём работу самой функции MOVE. С помощью этой функции осуществляется управление движением фигур Каждая фигура имеет свой номер, по которому производится обращение к фигуре: 0 - Охотник 1 - Девочка 2 - Муха 3 - Летающая рыба 4 - Пингвин 5 - Огненный шар 6 - Телега 7 - Небесная станция 8 - Спутник - киллер 9 - Космический корабль 10-Взрыв 11 - Чудовище 12 - Лазер (пуля, луч, нож) 13 - Черепаха 14 - Краб 15 - Птица Направления движений соответствуют номерам (0-8), которые определяются по рисунку 15. Рис. 15 47
Если операнд В имеет значение 0, это значит, что фигура топчется на одном месте. Скорость движения определяется в интервале от I до 255. Каждый символ на экране занимает одну позицию. Одна позиция состоит из 8 точек по горизонтали (X) и 8 точек по вертикали (Y). Весь экран имеет в ширин} (X) 256 точек, а в высоту (Y) — 240 точек. Операнд С устанавливает, сколько времени нужно потратить для перемещения на 60 точек. Если операнд С имеет значение 255, это означает, что для преодоления расстояния в 60 точек нужно затратить 255 секунд. Если операнд С имеет значение 1, то скорость движения будет максимальной. Величина перемещения — это расстояние, на которое передвигается фигура. Оно измеряется в точках экрана и задаётся в интервале от I до 255. Операнд Е указывает, в каком слое происходит перемещение (0 или 1): 0 - слой переднего плана 1 - слой, стоящий за ближним фоном Операнд F управляет цветом фигуры и изменяется в интервале от 0 до 3. 10.4.2. Функция MOVE После того как функция MOVE определена оператором DEF, её можно применять в любом месте программы. Функция MOVE может работать и как команда. Формат функции MOVE: MOVE п, где п может принимать значения от 0 до 7 (0,1,2,3,4,5,6,7) в любом наборе. Функция MOVE указывает направление движения. Пример 44: 10CLS 20 SPRITE ON 30 CGSET 1,0 40 FOR N=0 TO 7 50 DEF MOVE(N)=SPR1TE(0,N+I,3,255,0,0) 60 NEXT 70 MOVE 0,1,2,3,4,5,6,7 80 END Данная программа определяет функцию MOVE и задаёт фигуре с номером 0 восемь направлений движения. 10.4.3. Оператор CUT Оператор CUT останавливает движение фигуры. Формат оператора: CUT п, где п принимает значения от 0 до 7. Операнд п указывает, какое направление движения нужно остановить. Для наглядности добавим в программу примера 44 следующие операторы: 80 PAUSE 90 CUT 4 100 END и запустим программу. Оператор CUT используется совместно с оператором PAUSE. После запуска программы движения нужно на- жать любую клавишу. При этом остановятся те фигуры, направления движения которых указаны в операторе сит Самостоятельно замените или добавьте в оператог CUT другие цифры и проверьте работу программы. 10-4-4- Оператор ERA Оп< ратор ERA (ERAse - стереть) удаляет движущиеся фигуры. Формат оператора ERA: ERAn, 48
где операнд п указывает номер движущейся фигуры, которую нужно стереть. Оператор ERA может стереть одновременно от 1 до 8 фигур. Для восстановления стёртой фигуры нужно дать команду MOVE с номером стёртой фигуры. При восстановлении фигура возникает на том же месте, где исчезла, и продолжает свое движение, несмотря на остановку других фигур. В изменённой программе примера 44 заменим оператор CUT 4 на оператор ERA 2, 4 и запустим на выполнение. После того как мы нажмём на клавиатуре любую клавишу фигуры, движущиеся в направлении 2 и 4 исчезнут. Даже если после остановки всех фигур мы дадим команду MOVE 2, 4 (что означает продолжить движение), исчезнувшие фигуры появятся и продолжат своё движение. 10.4.5. Оператор POSITION Оператор POSITION задаёт координату начала движения фигуры. Формат оператора: POSITION n,X,Y где: п - код направления движения X - координата по оси X Y - координата по оси Y Координаты задаются в точках экрана ( X: 0 - 240, Y: 5 - 220 ) Пример 45: I0CLS: SPRITE ON 20 DEF MOVE(O) = SPRITE ( 11,3,2,10,1,21 30 X - RND(256): Y = RND(240) 40 PRINT “X:Y=”; X; Y 50 POSITION 0,X,Y 60 MOVE 0 70 PAUSE 80 80 GOTO 10 90 END Эта программа выводит на экран движущиеся фигуры, хаотично появляющиеся в разных местах. В левом верхнем углу экрана выдаются координаты начальной точки движения. Код направления движения п должен иметь одинаковое значение с кодом в операторе DEF MOVE(n). 10,4.6. Функции XPOS(n) и YPOS(n) Эти функции определяют координаты движущейся фигуры и используются совместно с оператором POSI- TION при изменении направления движения. XPOS(n) - определяет координату по оси X. YPOS(n) - определяет координату по оси Y. Аргумент и - код направления движения, определённого оператором DET MOVE. 10.4.7. Функция MOVE(n) Чтобы узнать, закончилось ли движение фигуры, определённое оператором DEF MOVE, используется функция MOVE(n). Если движение ещё продолжается, то функция MOVE(n) имеет значение “-1”. Если движение закончилось, то функция MOVE(n) принимает значение “0”. Аргумент п является кодом направления движения, определённого оператором DEF MOVE, и принимает значения от 0 до 7. Пример 46: 10 SPRITE ON: CGSET 1,1 20 DEF MOVE(0)=SPRITE (0,3,1,140,0,0) 30 MOVE 0 40 IF MOVE(0)=-1 THEN PRINT “MOVE(0)=”; MOVE(O): GOTO 40 50 PRINT “MOVE(0)=”; MOVE (0) 60 END 49
10.5. Операторы управления слоями изображения 10.5.1. Оператор DEF SPRITE Оператор DEF SPRITE определяет параметры мультипликационной фигуры, вызываемой на экран Формат оператора имеет вид: DEF SPRITE A,(B.C,D,E,F) = < последовательность символов >, где А - код номера фигуры ( 0 - 7 ). Все фигуры, представленные в разделе Ю.4.1., делятся на две группы. В первую группу входят фигуры с номерами от 0 до 7. Вторая группа состоит из фигур с номерами от 8 до 15. При вызове на экран фигуры пз первой группы значение операнда А совпадает с номером фигуры. Для вызова на жран фигуры из второй группы значения операнда А имеют следующие соответствия: Фигура с номером соответствует значению операнда 8 —> О 9 1 10 -> 2 11 -> 3 12 -> 4 13 -> 5 14 -> 6 15 —э 7 Например, для вызова на экран фигуры под названием “Краб” операнд А принимает значение 6. В - код цвета ( 0 - 3 ). С - код размера фигуры. Каждая мультипликационная фигура имеет два типа размера — 0 и 1. Фигура типа 0 занимает одну позицию экрана, которая представляет собой матрицу размером 8x8 точек. Фигура типа 1 занимает четыре позиции экрана, расположенные попарно друг нал другом и составляющие ма- трицу 16x16 точек. Глядя на таблицу А приложения 2, можно заметить, что каждая фигу ра содержит' етыре кода. Это значит, что каждая фигура состоит из 4-х частей. D - преимущество. Е - поворот фигуры вокруг оси Y. В памяти машины каждая фигура имеет строго определённое положение. Это положение называется базовым. Код О соответствует базовому положению фигуры. Код 1 означает, что фигура повёрнута. F- поворот фигуры вокруг оси X. 0 - базовое положение; 1 - фигура повёрнута. Последовательность символов, стоящая после знака равенства, представляет собой сумму чисел. Каждое число соответствует строго определённому фрагменту фигуры. Это соответствие смотрите в таблице А приложения 2. Номер фигуры, заключённый в операнде А, и числа, составляющие сумму последовательности символов, должны принадлежать какой-либо одной фшуре. 1о есть нельзя указывать номер одной фигуры, а числа — при- надлежащие другой фигуре. Пример Г7 5 CLS 10 SPRITE ON 20 DEF SPRITE 0,(0,1,0,0,0)=CHRS(0)+CHR$(1)+CHR$(2)^ CHR$(3) 30 SPRITE 0.100,140 40 END Этот пример выводит на экран фигуру под названием “Охотник”. Схематически эту фигуру можно грелставить так. как показано на рисунке 16 (а) 2 3 0 ] 0 1 2 3 1 0 3 2 3 2 1 0 в а б г Рис. 16 50
Как уже говорилось, каждая фигура состоит из 4-х фрагментов, попарно расположенных друг над другом, фрагмент определяется по таблице А приложения 2 и соответствует числу, составляющему последовательность символов. Поворот фигуры. Последовательность чисел, указанная на рис 16 (а), говорит о том, что вызываемая фигура на экране будет иметь базовое положение. В нашем случае “Охотник" расположен лицом влево. Чтобы расположить “Охотника" лицом вправо, нужно совершить две операции: - задать поворот вокруг оси Y; - поменять мессами числа при описании последовательности символов. I. Чтобы задать поворот вокруг оси Y, нужно операнду Е присвоить значение 1. При этом каждый из 4-х фрагментов, составляющий фигуру, повернётся вокруг оси Y. 2. Чтобы получить повёрнутую фигуру на экране, нужно поменять местами фрагменты так, чтобы левые фрагменты встали на правую сторону, а правые - на левую сторону ( см. рис 16 (б)). Представляем читателю изменённую строку 20 в примере 47: 20 DEF SPRITE 0,(0,l,0,l,0)=CHR$(I)+CHRS(0)+CHR$(3)+ CHR$(2) На рисунке 16 (в) представлено расположение фрагментов при повороте фигуры вокруг оси X. Рисунок 16 (г) показывает, как нужно расположить фрагменты для поворота фигуры вокруг осей X и Y одновременно. Предлагаем читателю самостоятельно совершить эти повороты Для этого нужно нажать клавишу [ F7 ], чтобы вызвать текст программы на экран, внести изменения и запустить программу. 10.5.2 . Оператор SPRITE Этот оператор позволяет вызвать на экран ту фигуру, которую определил оператор DEF SPRITE, или удалить её. Формат оператора SPRITE имеет вид: SPRITE n,X,Y где: п - номер фигуры (0 - 7) X - координата по оси X (0 - 240) Y - координата по оси Y (5 - 220) Если оператор SPRITE написать без указания координат, то с экрана исчезнет мультипликационная фигура с кодом номера, стоящим при операторе Номер фигуры должен совпадать с номером, указанным в операторе DEF SPRITE. 10.5.3 Операторы SPRITE Oh и SPRITE OFF Оператор SPRITE ON включает слои мультипликационных фигур, то есть делает их активными В результате чего на экране появляются фигуры. Обратите внимание на рассмотренные примеры. Во всех - в начале программы стоит этот оператор Оператор SPRITE OFF выключает слои фигур Несмотря на то что в операторах DEF MOVE и DEF SPRJ ГЕ фигуры определены, на экране их нет 10.5.4 . Сравнение операторов MOVE м SPRITE При создании графических программ, связанных с движущимися фигурами, очень важными операторами в Бейсике являются MOVE и SPRITE. Каждый из них образует семейство операторов. Семейство операторов MOVE осуществляет управление движением мультипликационных фигур. А семейство операторов SPRITE формирует форму,цвет и положение фигур. 10.6. Функции управлении манипулятором “джойстик” Внимание! Перед тем как начинать работу с манипуляторами, нужно при выключенной машине подсоединить к клавиатуре электрошнуры, идущие от манипуляторов ( см. Рнс. 1 ) 51
10.6.1. Функция STICK(x) Эта функция позволяет управлять клавишей [ Крест ]. Аргумент функции х может принимать одно из двух значений — 0 или 1. 0 - включение основного манипулятора; 1 - включение вспомогательного манипулятора. Пример 48: 10 S=STICK(Oj 20 IF S=0 THEN PRINT “S=0” 30 IF S=1 THEN PRINT “PRAVO” 40 IF S=2 THEN PRINT “LEVO” 50 IF S=4 THEN PRINT "NIZ” 60 IF S=8 THEN PRINT “VERH” 70 GOTO 10 80 END Эта программа наглядно показывает, как машина реагирует на нажатие клавиши [ Крест ] на манипуляторе. После запуска программы на экране появится непрерывный столбец сообщений “S=0”. Если нажать правую часть клавиши [ Крест ], на экране появится слово “PRAVO". Если нажать левую часть - появится слово “LEVO”. При нажатии на в< рхнюю часть клавиши [ Крест ] на экране появится слово “VERH”. Нажатие нижней части этой клавиши приводит к появлению слова “NIZ”. Но если нажать в центр клавиши [ Крест ] и держать, то вертикальное движение слов остановится. Эта программа зациклена оператором GOTO. Для выхода из цикла нужно нажать клавишу L Break ]. 10.6.2. Функция STRIG(x) Эта функция делает активными четыре клавиши манипулятора: [ SELECT ], [ START ], [ А ], [ В ]. Аргумент функции х может принимать значения: 0 - основной манипулятор; 1 - вспомогательный манипулятор. Пример 49: 10T=STR1G(0) 20 IF Т=1 THEN PRINT “START” 30 IF T=2 THEN PRINT “SELECT” 40 IF T=4 THEN PRINT “B" 50 IF T=8 THEN PRINT “A” 60 GOTO 10 70 END После запуска программы машина входит в режим ожидания. Как только Вы нажмёте одну и: че'ыоёх клавиш манипулятора, на экране возникнет название этой клавиши. Оператор GOTO зацикливает программу. 10.7. Функция SCR$(X,Y,Sw) Функция определяет - какая фигура или символ находятся в заданной координате экрана и код цвета. Формат функции. SCR$(X,Y,Sw) X и Y - числовые выражения, которые задают координаты позиции экрана; Sw - число, указывающее: вывод'пь код цвета фона или нет. Если операнд Sw опущен или имеет значение 0, то код цвета не выводится. Если операнд Sw имеет значение 1, то на экран выводится код цвета фона. Пример 50: 10CLS 20 LOCATE 0,10 30 PRINT “PROGRAMMA” 40 LOCATE 8,14 50 PRINT SCR$(1.10) 60 A$-SCRS(3,10) 70 LOCATE 8,16 80 PRINT A$ 90 C$=SCR$(3,10,l) 100 PRINT “COLOR-’; ASC(C$) 110 END 52
Рассмотрим действия операторов по строкам: 10 - очищает экран 20 - выводит курсор в координату 0, 10 -30 - печатает слово PROGRAMMA 40 - выводит курсор в координату 8, 14 50 - печатает символ, стоящий в первой позиции на строке 10 (см. строки 20 и 30) 60 - строковой переменной присваивается координата 3, 10 70 - выводит курсор в координату 8, 16 80 - печатает символ, стоящий в третьей позиции на строке 10 (см. строки 20 и 30) 90 - строковой переменной присваивается код цвета символа, стоящего в координате 3, 10 100 - печатает слово “COLOR” (цвет) со знаком равенства и код цвета. Предлагаем читателю самостоятельно изменить координаты в строках 20, 40, 50, 60, 70 или изменить слово в строке 30 и запустить программу. 10.8. Несколько дополнительных примеров применении операторов управления мультипликационными фигурами Для того чтобы получить изображение движущейся фигуры, нужно выводить на экран поочерёдно фигуры с разными фазами движения. В таблице А приложения 2 каждая фигура имеет несколько групп кодов. Каждая группа кодов представляет собой определённую фазу движения. Сложные фигуры имеют по семь фаз движения, простые фигуры - по две фазы. Для создания эффекта движения фигура должна иметь как минимум две фазы Приведём программу, выводящую на экран шесть фаз движения фигуры “Охотник”. Пример 51: 10 CLS: SPRITE ON 20CGSET 1,0 30 DEF SPRITE 0,(0,1,0,0,0)=CHR$(0)+CHRS(1)+CHR$(2)+ CHRS(3) 31 DEF SPRITE 1,(0,1,0,0,0)=CHR$(4)+CHR$(5)+CHR$(6)+ CHR$(7) 32 DEF SPRITE 2.(0.1,0.0,0)=CHRS(8)+CHR$(9)+CHR$(10h CHR$(11) 33 DEF SPRITE 3,(0,l,0,0.0)=CHRSH2)-rCHR$(13)+ CHR$(14)+CHR$(15) 34 DEF SPRITE 4.(0 1,0,0,0)=CHRS(16)t-CHR$(17)+ CHR$(18)+CHR$(19) 35 DEF SPRITE 5,(0,l,0,0,0)=CHR$(20)+CHR$(21)+ CHR$(22)+CHR$(23) 40 SPRITE 0,40,40 41 SPRITE 1,60,60 42 SPRITE 2,80,80 43 SPRITE 3,100,100 44 SPRITE 4,120,120 45 SPRITE 5,140,140 50 END Программа перемещения “Охотника” с подпрыгиванием и со звуковым сопровождением. Пример 52: 10 CLS: SPRITE ON 20CGSET 1,0 30 FOR N=2 TO 4 40 DEF MOVE(N)=SPRITE (0,N, 1,20,1,0) 50 NEXT 60 MOVE 3 65 PLAY “T1O4C1B1DEG1CDE1” 70 IF MOVE(3)=-1 THEN 70 80 ERA 3: POSITION 2, XPOS(3). YPOS(3): MOVE 2 85 PLAY “O3CDE1G1A” 90 IF MOVE(2)=-1 THEN 90 100 ERA 2: POSITION 4, XPOS(2), YPOS(2): MOVE 4 110 IF MOVE(4)=-1 THEN 110 120 ERA 4: POSITION 3, XPOS(4), YPOS(4): GOTO 60 На рисунке 17 представлена схема движения “Охотника” MOVE 2 MOVE 3 MOVE 4 MOVE 3 Рис. 17 53
Чтобы разобраться в работе программы, повторите разделы применяемых операторов и функций. Рассмотрим только строку 80. Здесь содержатся три оператора. Первый оператор удаляет фигуру, движущуюся в направлении 3. Второй оператор задаёт координату начала движения в направлении 2. Это конечная координата движения в направлении 3. Третий оператор задаёт движение в направлении 2. Аналогично работают строки 100 и 120. Программа управления движением "Охотника” в четырёх направлениях с помощью манипулятора “джойстик”. Прежде чем набрать на клавиатуре новую программу, нужно очистить память машины от предыдущей программы. Для этого нужно дать команду NEW. Пример 53: 10 CLS: SPRITE ON 20 CGSET 1,0 30 FOR N-0 TO 7 40 DEF MOVE(N)=SPRITE (0,N,l,3,0,0) 50 NEXT 60 S=STICK(0) 70 IF S=0 THEN N=0: GOTO 120 80 IF S=1 THEN N=3: GOTO 120 90 IF S=2 THEN N=7: GOTO 120 100 IF S=4 THEN N=5: GOTO 120 110 IF S=8 THEN N=1 120 IF MOVE(M)=-1 THEN 120 130IFM=N THEN 160 140 ERA M: POSITION N, XPOS(M), YPOS(M): M=N 150 MOVE N: GOTO 60 160 MOVE M: GOTO 60 170 END Для управления движением “Охотника” нужно нажимать на соответствующие части клавиши [ Крест ] на основном манипуляторе. Здесь применяются операторы семейства MOVE. Управление движением "Охотника” с помощью манипулятора и с применением операторов семейства SPRITL Пример 54: 10 CLS: SPRITE ON 20 CGSET 1,0 30 DEF SPRITE 0,(0,1,0,1,0)=CHR$(1)+CHR$(0jtCHR$(3)+ CHR$(2) 31 DEF SPRITE l,(0,l,0,0,0)=CHR$(0)+CHR$(l)+CHRSUr-CHR$(3) 32 DEF SPRITE 2,(0,1,0,1.0XCHR$(5HCHR$(4)+CHR$(7)+CHRS(6) 33 DEF SPRITE 3,(0,1,0,0,0)=CHR$(4)+CHRS(5') ’CHR$(6)+CHR$(7) 34 DEF SPRITE 4,(0,1,0,0,0)=CHR$(20)+CHR$(21)+CHR$(22)tCHRS(23) 35 DEF SPRITE 5,(0,l,0,l,0)=CHR$(21)+CHR$(20)+CHR$(23>+CHRi(22) 40 READ X,Y,A,B,C,D,E,F 50 DATA 120,140,1,3,0,2.4,5 60 SPRITE A,X,Y 70 S=STICK(0): IF S=0 THEN 70 80 IF S=1 THEN X=X+2 82 IF S=2THEN X=X-2 84 IF S=4 THEN Y=Y+2 86 IF S-8THEN Y=Y-2 90 IF X=248 THEN X=X-242 92 IF X=4 THEN X=X+240 94 IF Y=240 THEN Y=Y-232 96 IF Y=4 THEN Y=Y+236 100 IF S=1 THEN 1000 110 IF S~-2 THEN 2000 120 IF S=4 THEN 3000 130 IF S=8 THEN 3000 1000 PAUSE 4: SPRITE C,X,Y: SWAP C,D 1010 SPRITE A: SPRITE B: SPRITE C: SPRITE E: SPRITE F 1020 GOTO 60 2000 PAUSE 4: SPRITE A,X,Y: SWAP A,В 54
2010 SPRITE A: SPRITE C- SPRITE D: SPRITE E: SPRITE F 2020 GOTO 60 3000 PAUSE 4: SPRITE E,X,Y SWAP E,F 3010 SPRITE A: SPRITE B: SPRITE C: SPRITE D: SPRITE E 3020 GOTO 60 10.9.Создание графического изображения дальнего фона Чтобы нарисовать дальний фон, нужно, находясь в подменю Ж-Бейсика, войти в режим BG-GRAPHIC (гра- фический режим), нажав клавишу [ 2 ]. Курсор, имеющий форму квадрата, из левого верхнего угла можно перемещать по всему полю экрана с помощью клавиш управления курсором. В нижней части экрана находятся две информационные строки. В левой части выдаются координаты места нахождения курсора (X 00; Y:00). После координат расположен код цвета фрагментов рисунка (MODE 0). После кода расположен набор графических фрагментов состоящий из 13 групп, по 8 фрагментов в каждой группе. Под набором фрагментов находится стрелка, направленная вверх. Чтобы выбрать какой-либо фрагмент, нужно подвести стрелку под необходимый фрагмент и нажать клавиш} [ Пробел ]. Выбранный фрагмент появится в поле экрана на том месте, где находился курсор. Управление стрелкой выбора фрагментов производится клавишей [-<—], расположенной над клавишей [Enter] (движение - вправо), и клавишей [ Ins ] (движение - влево). Переключение групп производится при помощи клавиш [ Ноте ] (вперёд) и [ Shift J + [ Ноте ] (назад). Чтобы изменить цвет фрагмента, нужно нажать клавишу [ Enter ] При этом код цвета будет изменяться от 0 до 3 В таблице В приложения 2 представлено соответствие кодов и фрагментов изображения. Каждая группа фрагмен- тов обозначена своей буквой, а каждый фрагмент обозначен буквой и цифрой, заключёнными в круглые скобки При входе в графический режим на экране появляются фрагменты первой группы от (АО) до (А7). То есть крайний левый фрагмент на экране соответствует обозначению (АО) в таблице, второй фрагмент - (А1), третий - (А2) и так далее. При нажатии клавиши [ Ноте ] на экране появится вторая группа фрагментов, которая соответствует обозначениям в таблице от (ВО) до (В7). И так далее до тринадцатой группы и букв (МО) - (М7). Графический режим имеет своё подменю Чтобы переключить вид работы, нужно нажать клавишу [ Esr ]. В левом верхнем углу жрана появится подменю со стрелкой с левой стороны: ----X SELECT ----[/ COPY MOVE CLEAR CHAR Для изменения вида работ нужно с помощью клавиш управления курсором сдвинуть стрелку и нажать клави- шу [ Пробел ]. SELECT. Выбирает фрагмент и устанавливает его в нужное место. Для этого: - выбираем цвет и форму фрагмента, используя вышеуказанные правила; - устанавливаем курсор в нужном месте экрана, ориентируясь по координатам в левом нижнем углу экрана; - нажимаем клавишу [ Пробел ]. Фрагмент появляется на месте курсора, а курсор сдвигается на одну позицию вправо. Таким образом собираем желаемый рисунок. COPY. Копирует фрагмент: - клавишами управления курсором выбираем фрагмент в поле экрана; - нажатием клавиши [ Ins ] как бы “захватываем” фрагмент; - перемещаем его в нужное место и, нажав клавишу [ <- ], устанавливаем, как бы “отпускаем”. MOVE. Передвигает фрагмент с одного места на другое. Метод передвижения: - устанавливаем курсор на фрагменте, который нужно передвинуть, - нажимаем клавишу [ Ins ]. При этом курсор как бы “захватывает” выбранный фоагмент; - передвигаем курсор вместе с фрагментом в другое место; - нажимаем клавишу [ «- ], стоящую над клавишей [ Enter ]. При этом курсор как бы “отпускает” фрагмент. Теперь, сдвинув курсор в любую сторону, мы увидим, что фрагмент отцепился и остался стоять на месте. Если Вам нужно удалить фрагмент, то, подведя к нему курсор, нажмите клавишу [ Ins | два раза подряд 55
CLEAR. Предназначен для очистки экрана. Для того чтобы очистить экран, нужно: - включить вид работ CLEAR; - нажать клавишу [ Пробел ]; экран очищается, а система автоматически включает вид работы SELECT. CHAR. Позволяет набирать буквы латинского алфавита, цифры и знаки. После включения данного вида работ: - клавишами управления курсором выходим в нужное место и вводим текст; - с помощью клавиши [ Пробел ] можно удалять не только символы текста, но и введённые ранее фрагменты 10.10. Объединение программы движущихся фигур с графическим изображением дальнего фопа Для объединения изображения дальнего фона с программой нужно выполнить следующие операции 1) Создать изображение в графическом редакторе. 2) При выходе из графического редактора нужно нажать клавишу [ Esc ] затем клавишу [Break ] и, вернувшись в подменю Ж-Бейсика нажать клавишу [ ? ]. 3) Войти в режим программирования, нажав клавишу Г 1 ], и набрать программу. Первым оператором программы должен быть оператор V[EW (соединить). 4) Запустить программу на выполнение командой RUN. На экране появятся движущиеся фигуры на фоне графического рисунка. Если в программе будут ошибки, то перед тем как вызывать программу для исправления нужно очистить экран от фона с помощью комбинации клавиш [ Shift ) + [ Home ]. После исправления ошибок повторить запуск. Предлагаем читателю пример создания рисунка дальнего фена. На рис. 18 изображен экран в виде координатного поля. Сверху и слева имеются координатные шкалы. По всему полю в определён! ом порядке расположен! коды (Ьпагментов, взятые из таблицы В приложения 2. О 1 2 3 4 5 6 7 8 9 10 П 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 к 10 J 20 J 20 К 60 к 10 J 20 J 20 к 60 к 10 J 20 J 20 к 60 к 10 J 20 J 20 к 60 к 10 J 20 J 20 к 60 J 00 к 50 к 50 J 20 J 20 К 50 К 50 J 10 J 20 J 20 J 20 J 20 К 50 К 50 К 50 К 50 К 50 К 50 К 50 I 70 J 20 J 20 J 60 к 50 к 50 К 50 К 50 К 50 К 50 К 50 К 50 К 60 J 20 J 20 к 60 к 60 I 60 J 30 J 30 J 30 J 30 I 70 к 60 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 20 G 72 G 72 G 72 J 20 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 20 G 72 J 20 J 20 G 72 J 20 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 I 30 J 30 20 G 72 G 72 G 72 J 20 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 J 30 к 60 J 00 J 30 J 30 J 30 J 30 J 10 к 60 к 60 3 20 J 20 к 60 к 50 к 50 к 50 к 50 к 50 к 50 к 50 J 10 J 20 J 20 J 00 к 50 к 50 к 50 к 50 к 50 К 50 к 50 к 50 J 20 J 20 I 60 к 50 к 50 J 20 J 20 к 50 к 50 1 70 к 60 J 20 3 20 к 60 Рис. 18 56
Запись К10 означает, что это первый фрагмент 11-ой группы с нулевым кодом цвета Чтобы установить такой фрагмент в точку экрана с координатами Х=9 и Y=0, нужно: - нажимая клавишу [ Enter ], установить нулевой код цвета; . - установить курсор в эту точку, ориентируясь по показаниям X и Y в левом нижнем углу экрана; -вызвать на информационную строку II-ую группу фрагментов. Обратите внимание, что при включении ви- да работ SELECT система всегда вызывает на экран первую группу фрагментов. А для вызова 11 -ой группы нуж- но 10 раз нажать клавишу [ Ноте ]; — установить стрелку под первым фрагментом и нажать клавишу | Пробел ] Выбранный фрагмент появится на экране в точке с коордгпгатами: Х=9, Y=0 Используя вышеуказанные правила построения рисунка, таблицу В приложения 2 и рис. 18 с кодами фрагмен- тов, создаём картину дальнего фона. Глава 11 Краткое описание Ф-Бейсика Представленная версия Ф-Бейсик отличается от версии Ж-Бейсик тем, что позволяет производить сложные мат ематические расчёты. Это происходит в результате того, что Ф-Бейсик может проводить операции с дробными числами и имеет дополнительный набор математических функций. Количество значащих цифр при этом не должно превышать 9. Рассмотрим пример, который наглядно покажет правила работы системы: 0.0025/7 = 3.57142857Е - 04 0.025/7 = 3.57142857Е-03 0.25/7 = .0357142857 2.5/7 = .357142857 25/7 = 3.57142857 250/7 = 35.7142857 2500/7 = 357.142857 ит. д. Так как основной набор операторов версии Ф-Бейсик совпадает с операторами рассмотренной нами версии Ж-Бейсик, мы остановимся только на тех операторах и функциях, которых Ж-Бейсик не имеет. Перечислим операторы и функции Ф-Бейсика, которые используются и в версии Ж-Бейсик. Операторы: INPUT PRINT READ/DATA RESTORE GOTO IF THEN FOR/NEXT STOP CONT END REM DEF GOSUB/RETURN DIM POKE ABS(x) SGN(x) RND(x) VAL(x$) CHR$(n) LEN(xS) - оператор присваивания - оператор ввода данных с клавиатуры - оператор вывода - операторы ввода данных списком - оператор повторного чтения списка данных DATA - оператор безусловного перехода - оператор условного перехода - операторы организации цикла оператор остановки программы - команда продолжения выполнения программы - оператор завершения программы - оператор комментария - оператор создания функции пользователя - операторы обращения к подпрограмме - оператор объявления массива — оператор пересылки данных в байт памяти Функции: — выдаёт абсолютное значение X — определяет знак аргумента X — генерирует случайные числа — преобразует число из строкового представления в числовое — выдаёт символ, соответствующий заданному числовому коду по таблице колов GSCII — определяет количество символов в строке 57
Как работают эти операторы и функции, читатель уже знает. Рассмотрим дополнительные возможности версии Ф-Бейсик. 11.1. Оператор НОМЕ Оператор НОМЕ очищает экран от текущей информации. По окончании операции очистки курсор перемеща- ется в левый верхний угол экрана. Оператор НОМЕ для Ф-Бейсик аналогичен оператору CLS версии Ж-Бсйсик. 11.2. Оператор CALL Оператор CALL (call — вызвать) позволяет вызывать подпрограммы, написанные на языке ассемблер (машинный язык). Структура оператора CALL имеет вид: <номер строки> <CALL> <имя> <параметры>. Операнд <имя> является именем вызываемой подпрограммы. Оно не может быть представлено в виде строковой величины, поэтому символ $ не допустим. Имя используется только для отображения подпрограммы и ему никогда не присваивается никакого значения. Параметрами в операторе CALL могут быть переменные, константы или выражения. Они должны бь'"ъ согласованы по количеству и типу со списком параметров подпрограммы. 11.3. Функция 1RE Функция FRE ( FREe — свободный) позволяет в любой момент определить объём свободной памяти. Обращение к функции имеет формат: сномер строки> cFRE> с(выражение)>. Независимо от значения выражения результатом выполнения функции является число, означающее объём свободной памяти, измеряемый в байтах. В нашей ЭВМ эта функция может работать как команда. То есть достаточно набрать имя функции FRE и нажать клавишу | Enter ], как на экране появится число. 11.4. Операторы и команды TRACE и UNTRACF Оператор TRACE не имеет операндов и может находиться в любом месте программы Опепатог TRACE выводит на печать номера выполненных операторов. Пример: 10 TRACE 20 А=0 30 IF А=4 THEN GOTO 70 40 А=А+1 50 PRINT 60 GOTO 30 70 END RUN #10 #20 #30 #40 #50 #60 #30 #40 #50 #60 #30 #40 #50 #60 #30 #40 #50 #60 #30 «70 С помощью оператора TRACE можно проследить порядок выполнения операторов. Оператор UNTRACE отменяет действие оператора TRACE. Оба оператора могут работать и как команда. Если перед работой какой-либо программы дать команду TRACE, то после запуска программы на экран будут выводиться номера опеоатэоов в порядке их выполнения. Это будет происходить после каждого запуска программы. Если теперь дать команду UNTRACE то номера опе- раторов запущенной после этого программы выводиться на экран не будут. 11.5. Функции Ф-Бейсика VAL(x$) — преобразует последовательность цифр из строкового представления в числовое Мы уже встречались с этой функцией, но редактор версии Ф-Бейсик не воспринимает 16- ричное представление чисел в этой функции и выдаёт ошибку, если первый символ — не цифра. А в остальном Лчнкпия VAL(x$3 работает так же, как и в версии Ж-Бейсик. 58
ТАВ(х) — функция устанавливает позицию печати, стоящего за ней выражения в списке вывода оператора PRINT. Функция ТАВ(х) применяется только в операторе PRINT. Эта функция перемещает курсор в позицию X перед тем, как выводится на экран стоящее за ней выражение. Функция ТАВ(х) отделяется от соседних выражений знаком точка с запятой. Функцией ТАВ(х) пользуются тогда, когда нужно вывести на экран результат в виде таблицы. SlN(x) — вычисляет сииус угла X (X в радианах) COS(x) — вычисляет косинус угла X (X в радианах) TAN(x) — вычисляет тангенс угла X (X в радианах) ATN(x) — вычисляет арктангенс числа (угол, выраженный в радианах) ЕХР(х) — возводит число е в указанную степень LOG(x) — вычисляет натуральный логарифм (логарифм по основанию е) SQR(x) — вычисляет корень квадратный из X INT(x) — вычисляет наибольшее целое число, непревосходяшее X. Например, целая часть числа 4.7 равна 4, а целая часть числа - 7.4 равна - 8, так как - 7.4 > - 8. На примере двух программ покажем, как пользоваться описанными в данной главе операторами и функциями Задание 1. Составить программу построения кривой затухающего колебания при е -0.12х sin(x). Решение: 10 DEF FN A(x)=EXP(-0.12*x)*SIN(x) 20 НОМЕ 30 FOR К=0 ТО 1440 STEP 30 40 Х=КЛ 80*3.14159 50 Y=FN А(х) 60 PRINT TAB(14+Y*14);”*” 70 NEXT 80 END Пояснения к программе: в строке 10 определена функция пользователя Эта функция задаёт характер затухания; 20 — очистка экрана; 30 - задано начало цикла для трёх полных колебаний (1440°) с шагом равным 30°’ 40 — определено значение X через 30°; 50 - определено значение Y через функцию пользователя; 60 - выводится на печать контрольная точка в виде символа “*” через каждые 30°. Функция ТАВ(х) устанавливает ось X на 14 позицию и задаёт начальную амплитуду колебания выражением (Y*14); 70 - определяется конец цикла; 80 —указан конец программы. Обращаем Ваше внимание, что машина поворачивает оси координат на 90° по часовой стрелке. В результате чего ось X располагается вертикально и направлена вниз, а ось Y принимает горизонтальное положение и направлена вправо. Результатом работы этой программы будет изображение на экране затухающей синусоиды, направленной вниз и сформированной звёздочками. Задание 2. Составить программу' вычисления площади многоугольника с точностью до двух знаков после запятой. Возьмём для примера пятиугольник. Объединив противоположные вершины, разобьем его на три треугольника: Предположим, что длина сторон всех треугольников нам известна. Плошадь каждого треугольника можно определить по формуле: S1 = з/ Р (P-А) (P-В) (Р-С), 59
где Р = (А+В+С)/2 Составляем программу определения суммарной площади: 10 S=0 20 READ А,В,С 30 IF А=0 THEN GOTO 70 40 GOSUB ПО 5OS=S+S1 60 GOTO 20 70 S=INT(S* 100+0.5)/! 00 80 PRINT “S=”;S 90 DATA 4,7,6,3,7,7,8,10,14,0,0,0 100 END 110 P=(A+B+C)/2 120 S1=SQR(P*(P-A)*(P-B)*(P-C)) 130 RETURN Предлагаем читателю самостоятельно разобрать работу этой программы. 11.6. Текстовый редактор Ф-Бейсик Чтобы войти в редактор Ф-Бейсик, нужно, находясь в главном меню, нажать клавишу [ 7 ]. При этом заставка погаснет, а в левом верхнем углу чёрного экрана появится закрывающая квадратная скобка и квадратный курсор. Это означает, что редактор готов к работе. Перечислим различия в работе двух версий Бейсика. Ф-Бейсик не имеет возможности использовать клавиш}' [1ns] для вставки символа. Курсор не может свободно перемешаться по всему экрану. Его можно перемещать только внутри одной логической строки. Чтобы внести изменение в текст пршраммы, необходимо на свободной строке экрана набрать команду EDIT, а затем - номер строки программы и нажать клавишу [ Enter ]. Па экране появится указанная строка с курсором в первой позиции. После внесения изменения нужно нажать клавишу . Функциональные клавиши Ф-Бейсика соответствуют следующим командам: F1 — LIST F2 — EDIT F3 — NEW F4 — AUTO F5 — PRINT F6 — TRACE F7 — CONT F8 — RUN Из перечисленных команд до сих пор нам не встречалась только команда AUTO Она автоматически выводит номер логической строки после нажатия клавиши [ Enter ] при наборе программы. 60
Приложение 1 Дополнительные возможности текстовых редакторов Операторы двух версий Бейсик, которые могут работать и как команд». =; CLS; PRINT; HOMI; STOP; CONT; NEW; CLEAR; FRE; TRACE; UNTRACE. Пример: X=4*8 Y=X-14 PRINT Y 18 Это свойство можно использовать для быстрого проведения расчётов. Команду RUN можно использовать для запуска программы не с самого начала, а с определённой строки. Для этого нужно записать: RUNn, где п— номер строки программы. Ж-Бейсик имеет системную команду KEY, которая позволяет изменять функции функциональных клавиш (F1 — F8) Это изменение будет сохранено до окончания сеанса работы с редактором Прн выходе из редактора все изменения исчезают и восстанавливаются штатные функции клавиш. Чтобы установить желаемую фу акцию какой-либо клавиши, нужно составить такую команду: KEY п, “команда”, где п— номер функциональной клавиши (от 1 до 8); команда — функция клавиши (от 1 до 15 символов). Например: KEY 1, “PRINT” Нажав клавишу | Enter ], установим функцию для клавиши [ Fl ] Теперь при нажатии клавиши [ F1 ] на экране появится слово PRINT в том месте, гае находился курсор. В редакторе Ф-Бейсик нельзя изменять функции функциональных клавиш. Для просмотра функций всех клавиш нужно дать такую команду: KEY LIST На экране появится список: Ж-Бейсик Ф-Бейсик Fl - MOVE Fl - LIST F2 - PRIN Г F2-EDIT F3 - GOTO F3-NEW F4- CHR$( F4 - AUTO F5 - SPRITE F5 - PRINT F6 - CONT F6 - TRACE F7 - LIST F7-CONT Г8 RUN F8-RUN Прч нажатии какой-либо фу ткциональной клавиши на экране появится соответствующее слово (оператор, функция или команда). Во воемя оаботы иногда происходит сбой машины. То есть ЭВМ не реагирует на нажатие клавиш Чтобы вывести машину из этого состояния, нужно последовательно выполнить следующие операции- I) нажать клавишу [Break] 2) нажать клавиши [Ctrl] + [D] 3) нажать клавиши [Shift] + [Home] Если экран очищается, а курсор переходит в левый верхний угол, то можно продолжать работу. А если ситу- ация не меняется, то нужно пеоезагрузить машину нажатием клавиши [Reset]- 61
Приложение 1 В таолипах А и В даны коды символов по G-BASIC. В G-BASIC преобразование символов команд CHR$ (п) и АВС (“А$”) полностью соответствует этим таблицам. Символы, буквы, знаки из таблиц кодов символов А и В применяются как в фоновой, так и в мультг.пли:сацион- ной плоскостях. Цля какой картины применяется какая таблица - определяется CGEN. Таблица А содержит коды фигур и предназначена главным образом для мультипликационной плоскости. Таблица В содержит коды GSCI1, фрагменты изображений и предназначена главным образом для фоновой плоскости. 1 аблица А Код 10-тичн. система Код 16-ричн. система Фигура Код 10-тичн. система Код 16-ричн. система Фигура Код 10-тичн. система Код 16-ричн. система Фигура Код 10-тичн. система Код 16-ричн система Фигура Код система Код 16-ричк система Фигура Примечание 0 00 52 34 104 68 156 9С Спутник- 208 D0 Лазерная пуля 01 Охотник 53 35 Девочка 105 69 Пингвин 157 9D киллер 209 D1 <11 (2) 2 02 Ход 1 54 36 (Падение) 106 6А Спереди 158 9Е (Слева 210 D2 Лазерная луч 3 03 55 37 107 6В 159 9F наверху) 211 D3 (1) (2) 4 04 56 38 108 6С 160 АО Спутник- 212 D4 Лазерная нож 5 05 Охотник 57 39 Муха 109 6D Пингвин 161 А1 киллер 2 3 D5 (1) (2) 6 06 Ход 2 58 ЗА (1) 110 6Е (Спина) 162 А2 (сверху) 214 D6 Коды мульти- 7 07 59 ЗВ 111 6F 163 АЗ 215 D7 пликационкых 8 08 60 зс 112 70 164 А4 Космический 216 D8 плоскостей б 09 61 3D Муха 113 71 Огненный 165 А5 корабль 217 D9 Для написания 10 0А Охотник 62 ЗЕ (2) 114 72 шар 166 А6 (Слева) 218 DA музыки ов Ход 3 63 3F 115 73 <1) 167 А7 219 DB (2) (3) 12 ОС 64 40 116 74 168 А8 Космический 220 DC Курсор 1 13 0D Охотник 65 41 Летающая 117 75 Огненный 169 А9 корабль 221 DC Курсор 2 14 0Е (Прыжок) 66 42 рыба 118 76 шар 170 АА (Слева 222 DE Монитор 1 15 0F 67 43 1 слева 119 77 (2) 171 АВ наверху) 223 DF Монитор 2 ! 16 10 68 44 120 78 172 АС Космический 224 E0 17 11 Охотник 69 45 Летающая 121 79 Телега 173 AD корабль 225 El 18 12 (Катание) 70 46 рыба 122 7А 1 174 АЕ (Сверху) 226 E2 Перо 19 13 71 47 2 слева 123 7В Слева 175 AF 227 E3 кверху 20 14 72 48 Летающая 124 7С 176 ВО 228 E4 21 15 Охотник 73 49 рыба 125 7D Телега 177 В1 Взрыв 229 E5 22 16 (Спина) 74 4А 1 слева 126 7Е 2 178 В2 (Начало) 230 E6 23 17 75 .R наверху 127 7F Слева 179 ВЗ 231 E7 24 16 Охотник 76 4С Летающая 128 80 180 В4 232 E8 25 19 (Падение 77 4D рыба 129 81 Телега 161 В5 Взрыв 233 E9 26 1А 78 4Е 2 слева 130 82 1 182 В6 (Разрыв) 234 FA 27 1В 79 4F наверху 131 83 Слева 183 В7 235 EB Перо 28 1С 80 50 132 84 184 В8 236 EC вниз 29 1D Девочка 81 51 Летающая 133 85 Телега 1В5 В9 Черепаха 237 ED 30 1Е Ход 1 82 52 рыба 134 86 2 186 ВА (На ходу) 238 EE 31 1F 83 53 1 спереди 135 87 Слева 187 ВВ (D 239 EF 32 20 84 54 136 88 188 ВС 240 F0 1 33 21 Девочка 85 55 Летающая 137 89 Телега 189 BD Черепаха 241 F1 2 34 22 Ход 2 86 56 рыба 138 ВА 1 190 BE (Смирно) 242 F2 3 35 23 87 57 2 спереди 139 ВВ Сверху 191 BF (2) 243 F3 4 36 24 88 58 140 8С 192 СО 244 F4 37 25 Девочка 89 59 Чудовище 141 8D Телега 193 С1 Краб 245 F5 38 26 ХодЗ 90 5А (1) 14? 8Е 2 194 С2 (1) 246 F6 КОМПЬЮТЕР 39 27 91 5В 143 8F Сверху 195 СЗ 247 F7 40 28 92 5С 144 90 196 С4 248 F8 41 29 Девочка 93 5D Чудовище I45 91 Небесная 197 С5 Краб 249 F9 42 2А (Прыжок) 94 5Е (2) 146 92 станция 198 С6 (2) 250 FA 43 2В 95 5F 147 93 (1) 199 С7 251 FB 44 2С 96 60 148 94 200 СВ 252 FC ОПЕРАТОР 45 2D Девочка 97 61 Пингвин 149 95 Небесная 201 С9 Птица 253 FD 46 2Е (Катание^ 98 62 Ход1 150 96 станция 202 СА на лету 254 FE 47 2F 99 63 151 97 (2) 203 СВ (1) 255 FF 48 30 100 64 152 98 Спутник- 204 сс 49 31 Девочка 101 65 Пингвин 153 99 киллер 205 CD Птица 50 32 (Спина) 102 66 Ход 2 154 9А Слева 206 СЕ на лету 51 33 103 67 155 9В 207 CF (2) 62
Таблица В В таблице перечислены буквы, знаки, символы, применяемые для графической программы BG: коды 0 - 31 и 184-255 представляют собой различные картины, используемые для изображения фоновых плоскостей, которые применяются также и в F-BASIC. Код 10-тичн. система Код 16-ричн. система Соответ СИМВОЛ Код 10-TU4H. система Код 16-ричн. система Соответ символ Код 10-тичн. система Код 16-ричн. система Соотеет символ Код 10-тичн. система Код 16-ричн. система Соответствующий сим во/ 0 00 (АО) 64 40 @ 128 80 192 СО (FO) 1 01 (А1) 65 41 А 129 81 193 С1 (F1) 2 02 (А2) 66 42 В 130 82 194 С2 (F2) Для 3 03 (АЗ) 67 43 С 131 83 195 СЗ (F3) братьев 4 04 (А4) 68 44 D 132 84 196 С4 (F4) Марис 5 05 (А5) 69 45 Е 133 85 197 С5 (F5) 6 06 (А6) 70 *6 F 134 86 198 С6 (F6) 7 07 (А7) 71 47 G 135 87 199 С7 (F7) 8 08 (ВО) 72 48 Н 136 88 200 С8 (GO) 9 09 (В1) 73 49 I 137 89 201 С9 (G1) 10 0А (В2) 74 4А J 138 8А 202 СА (G2) Пейзаж 11 ОВ (ВЗ) 75 4В к 139 8В 203 СВ (G3) 12 ос (В4) 76 4С L 140 8С 204 сс (G4) 13 0D (В5) 77 4D М 141 8D 205 CD (G5) Звезда 1 14 ОЕ (В6) 78 4Е N 142 8Е 206 СЕ (G6) Звезда 2 15 OF (В7) 79 4F 0 143 8F 207 CF (G7) Шар 16 10 (СО) 80 50 Р 144 90 208 DO (НО) 17 11 (С1) 81 51 Q 145 91 209 D1 (Н1) 18 12 (С2) 82 52 R 146 92 210 D2 (Н2) 19 13 (СЗ) 83 53 S 147 93 211 D3 (НЗ) 20 14 (04) 84 54 т 148 94 212 D4 (Н4) Для 21 15 (С5) 85 55 и 149 95 213 D5 (Н5) Богатыря -2 22 16 (С6) 86 56 V 150 96 214 D6 (Н6) 23 17 (С7) 87 57 W 151 97 215 D7 (Н7) 24 18 (DO) 88 58 X 152 98 216 D8 (I0) 25 19 (01) 89 59 Y 153 99 217 D9 (11) 26 1А (D2) 90 5А Z 154 9А 218 DA (I2) 27 1В (D3) 91 5В [ 155 9В 219 DB (13} Остров 28 1С (D4) 92 5С \ 156 9С 220 DC (I4) 29 1D (05) 93 5D 1 157 9D 221 DD (15} Заблуждение 30 1Е (D6) 94 5Е Л 158 9Е 222 DE (16) 31 1F (07) 95 5F 159 9F 223 DF (17) 32 20 Space 96 60 160 АО 224 FO (J0) 33 21 ! 97 61 а 161 А1 225 E1 (Л) 34 22 98 62 b 162 А2 226 E2 (J2) 35 23 99 63 с 163 АЗ 227 E3 (J3) Заблуждение 36 24 s 100 64 d 164 А4 228 E4 (J4) 37 25 % 101 65 е 165 А5 229 E5 (J5) 38 26 & 102 66 f 166 А6 230 E6 (J6) 39 27 103 67 9 167 А7 231 E7 (J7) 40 28 ( 104 68 h 168 А8 232 E8 (КО) 41 29 ) 105 69 1 169 А9 233 E9 (К1) 42 2А * 106 6А J 170 АА 234 EA (К2) 43 2В +• 107 6В k 171 АВ 235 EB (КЗ) 44 2С 108 6С 172 АС 236 EC (К4) 45 2D — 109 6D m 173 AD 237 ED (К5) 46 2Е 110 6F n 174 АЕ 238 EE (Кб) Стороны 47 2F / 111 6F о 1?5 AF 239 EF (К7) графика 48 30 0 112 70 P 176 ВО 240 FO (L0) 49 31 1 113 71 q 177 В1 241 F1 (L1) 50 32 2 114 72 r 178 В2 242 F2 (L2) 51 33 3 115 73 s 179 ВЗ 243 F3 (L3) 52 34 4 116 74 t 180 В4 244 F4 (L4) 53 35 5 117 75 u 181 В5 245 F5 (L5) Рамки 54 36 6 118 76 V 182 Вб 246 F6 (L6) пластов 55 37 7 119 77 w 183 В7 247 F7 (L7) 56 38 8 120 78 X 184 В8 (Е01 248 F8 (МО) 57 39 9 121 79 У 185 В9 (Е1) 249 F9 (М1) 58 ЗА 122 7А z 186 ВА (Е2) 250 FA (М2) Графика 59 ЗВ 123 7В { 187 ВВ (ЕЗ) 251 FB (М3) 60 ЗС 124 7С 1 188 ВС (Е4) 252 FC (М4) 61 3D — 125 7D } 189 BD (Е5) 253 FD <М5) (1) 62 ЗЕ > 126 7Е X 190 ВЕ (Е6) 254 FE (Мб) (2) Графика 63 3F ? 127 7F — 191 BF (С’) 255 FF (М7) (3) 63
Приложение 3 Перечень функций буквенных клавиш в G-BASIC CTRL+ Содержание обработки Примечание А Переключатель для исходного положения С Выполняет функцию клавиши ВРЕАК, в ходе выполнения программы не действует D Восстановление исходного положения. Отбой для CTRL+ A CGEN2 , SPRITE OFF Е Удаление курсора и спуск его на строку G Звук ВЕЕР Н Выполняет функции клавиши возврата Клавиша возврата J Выполняет функции клавиши переноса строки К Возвращение курсора к левому верхнему углу SHIFT + НОМЕ L Очищение экрана М Перенос строки после ввода другой ENTER R Выполняет функции клавиши INS INS W Переход в английский и цифровой режимы Z Очищение экрана после курсора 64