Главная » Просмотр файлов » metod_15.03.04_atppp_oaip_ump_2016

metod_15.03.04_atppp_oaip_ump_2016 (1016599), страница 40

Файл №1016599 metod_15.03.04_atppp_oaip_ump_2016 (Методические документы) 40 страницаmetod_15.03.04_atppp_oaip_ump_2016 (1016599) страница 402017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 40)

Такимобразом, команда Make следит за соответствием TPU-файлов их PAS-файлам, принеобходимости обновляя все TPU-файлы, используемые в программе.Команда Build всегда заново перекомпилирует все модули, используемые основнойпрограммой. Если PAS-файлы не найдены, то используются их имеющиеся TPU-файлы.Подключение модулей к вызывающей программе и их компиляция производится впоследовательности их перечисления в Uses. При переходе к очередному модулю183система предварительно отыскивает все модули, на которые он ссылается. Ссылкимодулей друг на друга могут иметь древовидную структуру.

Но запрещается явное иликосвенное обращение модуля к самому себе (его рекурсия).Стандартные модулиПаскаль содержит стандартные модули SYSTEM, DOS, CRT, PRINTER, GRAPH,OVERLAY. Модуль GRAPH содержится в одноименном TPU-файле, остальные входятв состав библиотечного файла TURBO.TPL.Для использования из программы процедур и функций модулей надо послеоператора PROGRAM поместить предложение Uses, в котором должны быть указаныимена требуемых модулей. Например: Uses Printer, Crt, Graph;Модуль SYSTEM подключается к программе автоматически, без указания егоимени в Uses.Стандартные модули содержат большое число разнообразных процедур ифункций.

Подсказки о них можно получить из среды Паскаль.Процедуры и функции модуля DOS выполняют ряд действий, в том числе:- обслуживание прерываний;• проверку состояния диска;- обработку файлов (поиск в каталоге, выдачу и установку атрибутов файлов);- управление процессом выполнения программ;• управление операционной средой.Например, с помощью процедуры DiskFree ( d : word ) ; можно получить количествосвободных байт на заданном диске; при d = 1 определяется диск А, при d = 2 - диск В ит.

д. Процедуры SetDate и SetTime устанавливают в ОС текущую дату и время. Спомощью GetDate и GetTime можно получить текущую дату и время.В последующих разделах данной части рассмотрим назначение некоторых процедури функций модулей CRT и GRAPH. Более детально с ними можно ознакомиться по [9]и [11].РАБОТА С МОДУЛЕМ CRTНазначение и состав модуля CRTМодуль CRT (Cathode-Ray Tube - электронно-лучевая трубка) входит вбиблиотечный файл Turbo.TPL.

Для использования модуля CRT в программе долженбыть оператор Uses CRT;.Процедуры и функции модуля CRT предназначены для:1) управления клавиатурой, в том числе считывания кода символа нажатой клавишис высвечиванием символа на экране и без высвечивания;2) управления текстовым экраном, в том числе:а) формирования окна; б) управления положением курсора и определения координатположениякурсора; в) определения цвета фона и цвета символов на экране и в выделенномокне;1843) управления принтером, в том числе выбором шрифтов и перемещением бумаги;4) управления звуковым сигналом.Рассмотрим некоторые возможности модуля CRT.Управление клавиатуройСредства управления клавиатурой с помощью модуля CRT рассмотрим на примерах:- кодировки символов клавиатуры;- ввода текстов с их высвечиванием на экране (процедуры Read и Readln);- ввода символа без его высвечивания на экране (процедура ReadKey);- определения нажатия на любую клавишу (функция KeyPressed).При нажатии на каждую клавишу схемно вырабатывается уникальный код - кодсканирования (скан-код).

В программах он не используется. Код сканированияпрограммно преобразуется в другой код, который и используется в программах. Длянаиболее широко применимых кодов разработаны стандарты. Например, для кодировкисимволов используется код ASCII - American Standard Code for Information Interchange.Это 7-битовый код. С его помощью можно закодировать всего 128 символов с кодами0..127.

Примеры этих кодов приведены в таблице. Символы с кодами 0..31 - служебные.При выводе они представляются пробелами. Некоторые из них могут иметьсамостоятельное значение, например, 7 - звонок.Таблица . Примеры кодов ASCIIКод0781013262732353637СимволNULЗвукВозврат (BS)Новая строка(LF)Enter (CR)EOFESCПробел#$%Код3840414243484950515253Символ&()*+012345Код6566676869707172737475СимволABCDEFGHIJKКод979899100101102103104105106107СимволabcdefghijkКаждый символ в памяти занимает 1 байт (8 бит). С помощью байта можнозакодировать 256 символов с кодами 0..255. Символы с кодами 128..255 не ограниченыстандартами.

С их помощью можно кодировать национальные алфавиты и специальныесимволы псевдографики. Один из вариантов кодировки символов кодами 128..255 дан втаблице, где коды символов русского алфавита упорядочены в порядке возрастания.Таблица содержит коды символов псевдографики. С их помощью можнопредставить в текстовом редакторе или вывести операторами программы некоторыерисунки, например состоящие из горизонтальных и вертикальных одинарных идвойных линий для представления шапки таблицы, подчеркивания строк таблицы,вертикальные линии для разделения отдельных ее граф185Код128133138143148153158163168173178183188193198203208213218223228233238243248253СимволАЕКПФЩЮгин▓╖╝┴╞╦╨╒┌▀фщюєº¤Код129134139144149154159164169174179184189194199204209214219224229234239244249254СимволБЖЛРXЪЯдйо│╕╜┬╠╠╤╓█рхъяÏ•■Код Символ130В1353140М145С150Ц155Ы160а165е170к175п┤180185╣190╛195├200╚205=210╥215╫220▄225с230ц235ы240Ё245ï250.255Код Символ131Г136И141Н146Т151Ч156Ь161б166ж171л░176╡181186║191┐─196201╔206╬211╙216╪221▐226т231ч236ь241ё246Ÿ251√код Символ132Д137Й1420147У152 Ш157Э162в167з172м177▒182 ╢187╗192└197┼╩202207╧╘212217 ┘222▌227у232ш237э242Є247ÿ252 №В примере приведен текст программы, с помощью которой можно вывести значениясимволов, имеющих значения кодов, заданные с помощью переменной i.

Значениесимвола по i-коду определяется с помощью функции chr (i). Результаты выводятся по 6значений в строке.Пример. Вывод значений символов, заданных кодами.Uses CRT;vari : integer;beginClrScr;for i := 0 to 255 dobegin{ - перебор i-значений кодов }write ('i=', i,':', chr(i)); { - вывод символов на экран }if i mod 6=0 then Writeln; { - переход на следующую строку }endend.186Определить коды заданных символов, например символов русского алфавита, можнос помощью программы: код a [i] - символа определяется с помощью функции ord(a [i]).Программа вывода кодов символов русского алфавита.const a : array [1..62] of char =‘абвгдежзийклмнопрстуфхцчшщьъэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЭЮЯ’ ;var i : integer;beginfor i := 1 to 62 do { - перебор i-номеров символов массива 'а' }writeln ( 'кода[', i, '] = ', a[i], ' = ', ord( a[i] } } ;end.Воспроизвести символ большинства кодов на экране можно, нажав соответствующую ему клавишу.

Но этого нельзя сделать, например, для кодов псевдографики.Любой из символов, имеющих коды 1..255, можно воспроизвести на экране,дополнительно используя клавишу Alt. Для этого в среде Паскаль надо установитьрежим работы с цифровой клавиатурой (правая часть клавиатуры), нажав клавишу NumLock, что фиксируется индикатором Num Lock. Затем надо нажать клавишу Alt и, неотпуская ее, на цифровой клавиатуре набрать код символа, после чего отпуститьклавишу Alt. На экране воспроизведется символ, код которого был набран.Процедуры Read и Readln модуля System осуществляют ввод данных, в том числе спомощью клавиатуры.

Причем они приостанавливают выполнение программы до техпор, пока не будет нажата клавиша Enter. Для этого сначала значение набирается спомощью клавиатуры, запоминается в буфере и высвечивается на экране, и посленажатия клавиши Enter данные из буфера передаютсяв область ОП переменных программы. Ввод с помощью процедур Read и Readlnимеет следующие недостатки:1) с их помощью невозможно опознать нажатие на клавиши управления курсором(Т, 4, —>, <—) и на функциональные клавиши;2) ввод символов сопровождается их воспроизведением (эхо-повтором) на экране;3) обращение к этим процедурам приостанавливает программу до нажатия клавишиEnter.Это неудобно, например, для игровых задач.

Ряд дополнительных возможностейдают функции ReadKey и KeyPressed. Они обеспечивают потребности большинстваприкладных программ.Функция ReadKey без параметров. Она возвращает значение типа CHAR - коднажатой клавиши. С ее помощью можно считать и опознать нажатие на любуюклавишу, кроме клавиш-переключателей (Alt, Shift, Ctrl, Caps Lock). Эта функцияприостанавливает работу программы до тех пор, пока не будет нажата клавиша.Считанный символ не отображается на экране, т.

е. функция ReadKey вводит символбез высвечивания его на экране (без эхо-повтора). Это дает возможность для разработкиудобных интерактивных программ, управление которыми сводится в основном кнажатию функциональных клавиш.С помощью ReadKey можно считать коды основных клавиш (табл. 4.1 и 4.2) ирасширенные коды ПК (табл. 4.3). Расширенные коды - это коды верхнего ряда клавиш,коды правой части клавиатуры и коды комбинаций клавиш Alt, Ctrl, Shift с другимиклавишами. В случае считывания расширенных кодов при первом обращении функция187ReadKey возвращает код 0, а при втором - код расширенного набора кодов.

Примерырасширенных кодов даны в табл. 4.3. В листинге 4.15 приведена программа, котораясчитывает и выводит код нажатой клавиши, в том числе клавиши, имеющейрасширенный код. Завершается программа нажатием Ctrl + 2.Таблица 1. Примеры расширенных кодовКодКлавишаПервыйбайтВторойбайт0000000+359..6871727375077000079808182083КодКомбинацияклавишПервый ВторойбайтбайтУправляющие клавиши и их сочетание со сдиговымиCtrl + 20132Ctrl + PgUpF1..F10084.

.93SHIFT-F1 .. SHIFT-F10НОМЕ094 .. 103CTRL-F1 .. CTRL-F10Курсор вверх ↑0104 .. 113ALT-F1 .. ALT-F10PGUP0114CTRL-PRTSCRКурсор влево0115CTRL- Курсор влево←Курсор вправо0116CTRL-Kypcop вправо→END0117CTRL-ENDКурсор вниз ↓0118CTRL-PGDNPGDN0119CTRL-HOMEINS0120 .. 131ALT-1 .. ALT - (верхний рядклавиш)DEL0132CTRLСчитывание кодов с помошью ReadKey и вывод их на экран.uses Crt;varCl, C2 : char;{ - переменные для считанных символов }beginClrScr;{ - очистка экрана }repeat{ - начало цикла }Cl := ReadKey;{ - считывание первой половины кода }if C1 = #0{ - анализ значения первой половины кода }then C2 := ReadKey;{ - считывание второй половины кода }if Cl = #0 then writeln ('Cl = #0 ', ord(Cl): 5, ord(C2) :5)else Writeln ('Cl <> #0', ord(Cl) : 5 );until (Cl = #0) and (C2 = #3 );{ - это код Ctrl+2 }end.Функция KeyPressed без параметров.

Она возвращает значение типа Boolean:значение TRUE, если была нажата какая-либо клавиша, и значение FALSE, если ниодна клавиша не была нажата. Функция не приостанавливает выполнение программы.Пример. Программа, которая выводит символы 'Хх' до тех пор, пока не будет нажатакакая-либо клавиша. Цикл repeat в программе бесконечный, и программа завершитсятолько после нажатия какой-либо клавиши.Uses Crt;188beginClrScr;{ - очистка экрана }repeat{ - начало бесконечного цикла }Write ('Хх'); Delay (100); { - вывод 'Хх1 и задержка на 100 мс )until KeyPressed;{ - бесконечный цикл }end.После нажатия клавиши соответствующий ей код остается в буфере ввода. Вигровых программах, использующих функцию KeyPressed, часто надо очистить буферввода клавиатуры.

Характеристики

Тип файла
PDF-файл
Размер
4,37 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7045
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее