![]() |
![]() |
||
![]() |
Начинающему пользователю персонального компьютера о Turbo-паскалеКак уже упоминалось выше, трансляторы с языка паскаль имеются практически на ЭВМ всех типов. Особенно удобна для работы система Turbo Pascal на персональных компьютерах (ПК), совместимых с IBC PC (ЕС-1840/41, ЕС-1850 и др.). Эта система состоит из транслятора, сервисных и прикладных программ. Транслятор реализует стандарт языка паскаль и предоставляет ряд дополнительных возможностей, в частности, работу с данными типа BYTE (последовательность бит) и STRING (строка символов). Разрешается также использовать и прописные, и строчные буквы в любом сочетании. В этом кратком приложении мы не ставим себе цель дать последовательное и полное описание языка паскаль для ПК. Мы хотим помочь пользователю преодолеть психологический барьер и начать работать в системе Turbo Pascal; удобный и мощный язык, комфортный сервис экранного редактора, богатые графические возможности не могут никого оставить равнодушным. Получив начальные навыки, пользователь затем в процессе работы сам освоит все необходимые ему возможности системы. Здесь мы приводим краткое руководство по работе на ПК, иллюстрируемое на конкретных примерах. Предполагается, что пользователь знаком с клавиатурой ПК и имеет хотя бы небольшой опыт работы в системе DOS*. * (Пул Л. Работа на персональном компьютере / Пер. с англ.- М.: Мир, 1986.- 383 с. Хаузер Д., Хирт Дж., Хоукинс Б. Операционная система MS-DOS: Популярное руководство / Пер. с англ. и дополн. А. Б. Пандре.- М.: Финансы и статистика, 1987.- 168 с.) Чтобы отличать информацию, выводимую компьютером на экран, от информации, набираемой пользователем, последнюю будем выделять курсивом. Название не алфавитно-цифровых клавиш возьмем в угловые скобки. Например, клавишу перевода строки будем обозначать (RETURN) (<ENTER>). Пусть мы хотим составить и выполнить программу, которая вводит с клавиатуры два вещественных числа и выводит их на экран. Вот ее текст. ![]() ![]() Пример сеанса работы. Вы должны иметь две дискеты: одну с системой DOS, другую с системой Turbo. 1. Дискету с DOS вставьте в дисковод А, дискету с Turbo - в дисковод В. 2. Включите компьютер. Система DOS попросит набрать текущую дату. Наберите ее, нажмите клавишу <RETURN> ((ENTER)). Затем в ответ на запрос системы наберите текущее время и нажмите <RETURN> (<ENTER". В дальнейшем будем обозначать эту клавишу только ><RETURN>. 3. После загрузки DOS проведите следующий диалог: а) А > В: <RETURN> - переключение на дисковод В; б) В > TURBO <RETURN> - вызов системы Turbo; в) INCLUDE ERROR MESSAGE (Y/N)? Y - включение выдачи диагностики ошибок; г) >W - заказ рабочего файла; д) WORK FILE NAME: TEST1 (RETURN} - присвоение файлу имени TEST1; е) LOADING В: TEST1.PAS NEW FILE - сообщение системы: "новый файл"; ж) >E - перевод системы в режим редактирования (EDIT) 4. После этого сверху появится строка ![]() Система расширила имя файла, добавив точку и PAS, указывающие, что файл содержит паскаль-программу. Теперь можно набирать текст программы. ![]() 5. Если ошибок в программе вы не нашли, продолжайте диалог: з) <F10> - выход в систему Turbo; и) > S - запись файла с программой на дискету; к) SAVING В: TEST1.PAS - подтверждение системы, что запись выполнена; л) >R - запуск задачи на трансляцию и счет. Если система не обнаружит ошибок в программе, на экране появится слово RUNNING. м) В ответ наберите через пробел два вводимых вещественных числа, например, 5.2 3.8 <RETURN> На экран выдается результат: А = 5.2000000000Е + 00 В=3.8000000000Е + 00 6. Пусть в программе были допущены ошибки, например, ![]() Тогда по команде Я во время трансляции будет выдана диагностика в нижнюю строку экрана:
ERROR 41:Unknown identifier or syntax error. Press 7. Нажмите <ESC>. На экране появится текст программы, и мигающий курсор укажет на место первой ошибки (установится в начале слова REAAD). 8. Для устранения ошибок воспользуйтесь средствами экранного редактора. Он не требует никаких команд для своего вызова и всегда готов к работе. В приведенном примере необходимо выполнить два действия: стереть лишнюю букву А в REAAD и вставить R в WITELN. Вставка символа. Подведите курсор к нужной позиции (под букву I) и нажмите вставляемый символ (R). Вся строка, начиная с указанного места, сместится вправо, а вставляемый символ встанет на место. Удаление символа. Подведите курсор под удаляемый символ и одновременно нажмите две клавиши: <CTRL> и G. Символ будет удален, а строка сомкнется. В конце приложения приводится перечень команд экранного редактора системы Turbo. 9. После исправления ошибок нажмите клавишу <F10>, затем S. Файл с откорректированным текстом программы запишется под прежним именем (TEST1.PAS), а предыдущий файл также будет сохранен на дискете, но расширение PAS система заменит на ВАК (TEST1.BAK). 10. Чтобы посмотреть, какие файлы хранятся на дискете, достаточно набрать ![]() 11. Для выхода из системы Turbo в DOS служит команда ![]() Наши первые программы. Эти несложные программы помогут пользователю персонального компьютера на практике познакомиться с некоторыми возможностями системы Turbo. Программа 1. Разбиение вводимой строки на слова ![]() Эта программа иллюстрирует некоторые возможности работы с переменными типа STRING (строка символов). Здесь стандартная функция LENGTH(Sl) дает длину строки S1, т. е. число символов в ней; оператор S2: = "' означает, что в S2 заносится "пустая" строка, не содержащая ни одного символа; операция + "сцепляет" две строки в одну. ![]() В программе использован массив MONTHES, состоящий из переменных-строк, описанный в разделе CONST. Программа 3. Орнамент ![]() ![]() Эта программа рисует орнамент с заданным центром. Вводятся также цвет орнамента и цвет фона. Необходимые данные программа запрашивает в процессе выполнения. Программа использует графический пакет GRAPH.Р, который описывается как внешний модуль посредством псевдокомментария {$1 GRAPH.Р}. В общем виде, внешний модуль с именем F описывается как {$1, .F}. Опишем некоторые стандартные процедуры для работы с графикой. GRAPHCOLORMODE - переводит экран в графический режим. Координаты точек на экране задаются парой чисел (X,Y), где 0 ≤ X ≤ 319, 0 ≤ Y ≤ 199. GRAPHBACKGROUND(N) - закрашивает весь экран цветом с номером N, где 0 ≤ N ≤ 15. Соответствие параметра N и цвета фона следующее: 0 - черный; 1 - синий; 2 - зеленый; 3 - голубой; 4 - красный; 5 - малиновый; 6 - коричневый; 7 - светло серый; 8 - темно-серый; 9 - светло-синий; 10 -светло- зеленый; И - светло-голубой; 12 - светло-красный; 13 - розовый; 14 - желтый; 15 - белый. Это соответствие справедливо, однако, не для всех мониторов. Если монитор вообще не цветной, то смена цвета приведет лишь к изменению яркости. ARC (X,Y,ALFA,R,M) - рисует дугу, начиная от точки (X,Y), размером] ALFA градусов, радиусом R, цвета М. Если ALFA > 0, то дуга рисуется по часовой стрелке; если ALFA <>0 - против часовой стрелки. М = 0;1;2;3. PLOT (X, Y, М) - ставит точку цвета М с координатами (X, Y). М = 0; 1 ;2;3. DRAW (X1,Y1,X2,Y2,M) - рисует отрезок цвета М, соединяющий точки (XI,Y1) и (X2,Y2). М = 0;1;2;3. CIRCLE (X,Y,R,M) - рисует окружность цвета М с центром в (X,Y) и радиусом R. CetPic (A,X1,Y1,X2,Y2) - копирует в массив А(буфер) участок экрана - прямоугольник с координатами концов его диагонали (XI,Y1) и (X2,Y2). Минимальный размер NMIN буфера в байтах следующий: для экрана 320 × 200 точек NMIN = ((| XI - X2 | + 1)DIV 4) 2(| Yl - Y2 | + 1) +6; для экрана 640 X 200 точек NMIN = ((I XI - X2 | + 7) DIV 8) (| Yl - Y2 | + 1) + 6. Во втором и третьем байте буфера А после выполнения G GETPIC (A,X1,Y1,X2,Y2) запоминается высота и ширина копируемого прямоугольника. PutPic (A,X,Y) - копирует содержимое буфера А на экран и прямоугольник, у которого нижняя левая вершина имеет координаты (X,Y). В буфере А предварительно должна быть запомнена картинка (цвет каждой точки внутри прямоугольника). TurnLeft (ALFA) - поворот направления рисования на угол ALFA градусов. Если ALFA > 0, то поворот против часовой стрелки, ALFA < 0 - по часовой стрелке. Программа 4. Управляемый объект. ![]() ![]() Эта программа создает управляемый объект ("крестик"). Управление осуществляется клавишами: ↑ , ↓, →,← <PgUP>, <End>, <Ноте>, <PgDn> и <пробел> (остановка). Объект может передвигаться по экрану, не оставляя следа, а может рисовать след, подобно мелу на доске. Переключение режима "след - да/нет" производится клавишей D. При движении по горизонтали "крестик" оставляет след в виде двух цветных линий, по диагонали - трех линий. Экран можно стереть клавишей С. Для выхода из программы в систему Turbo следует нажать клавишу Е. Переменные KEYPRESSED и KBD известны системе и не требуют описания в программе. KEYPRESSED имеет тип BOOLEAN и принимает значение TRUE, если нажата какая-либо клавиша на клавиатуре. KBD - файл, куда попадает код нажатой клавиши. Оператор READ(KBD,CH) читает из KBD код нажатой клавиши и засылает в переменную СН. Анализируя значение этого кода, программа передвигает объект на шаг в одном из направлений: вверх, вниз, влево, вправо, по биссектрисам координатных углов. Коды предваряются знаком #. Если объект пытается выйти за пределы экрана, программа ставит ему ограничения. Кодировка клавиш приведена в табл. 1.
При нажатии функциональных клавиш и клавиш с ALT вырабатываются два кода, из которых первым всегда является 27. Поэтому при чтении символа из KBD следует сделать проверку на 27; если "да", то читать второй код и его анализировать. Для клавиши Таблица кодов клавиш клавиатуры персонального компьютера (совместимого с IBM PC) ![]() Таблица 1
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
![]() |
|||
© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна: http://informaticslib.ru/ 'Библиотека по информатике' |