Символьные константы и переменные
Оценка 4.7

Символьные константы и переменные

Оценка 4.7
Рабочие тетради
doc
информатика +1
10 кл—11 кл +1
25.04.2017
Символьные  константы  и  переменные
Занятие строится таким образом, что после прослушивания теоретического материала (10 –15 мин.), учащимся предлагается практическое задание, которое выполняется ими за 20 - 30 мин. и корректируется в процессе изучения материала в более сложную задачу по изучаемой теме. Автор сознательно избегал сложных примеров, будучи убежденными, в том, что гораздо важнее для учащихся понимание алгоритмов предлагаемых задач, приобретение навыков разработки алгоритмов, их программирования и выполнения на компьютере в течение одного занятия. Такой подход к изучению языка программирования позволяет сосредоточить внимание на самом процессе программирования, который в данном случае более важен для изучения языка, чем решение сложной задачи, наверняка трудной большинству учащихся. Такие задачи, по мнению авторов, неоправданно занимают большое количество учебного времени, превращая учителя из инициатора процесса обучения в диктатора.
Занятие 15ч1.doc
Символьные константы и переменные. Кодировка символов. Функции преобразования символьных переменных. Коды управляющих клавиш Символьные  константы  и  переменные    Занятие 15 1. Урок 1.    Символьные константы  и  переменные.    Кодировка символов. 2. Урок 2.    Функции преобразования символьных переменных. 3. Урок 3.    Работа с клавиатурой.   Коды   управляющих   клавиш клавиатуры. 4. Контрольные вопросы и упражнения.  Большая   часть  информации,   которая   обрабатывается  на  современных  компьютерах,   является   символьной, представленной в виде текста, отдельных строк или таблиц. Такая информация, как правило, вводится в компьютер вручную с помощью клавиатуры, затем подвергается обработке для формирования баз данных. На физическом уровне компьютеры работают только с цифровой информацией, поэтому символьная информация кодируется  цифровыми кодами. Урок 1.  Символьные константы и переменные.  Кодировка символов При нажатии любой клавиши клавиатуры, генерируется код, соответствующий символу, изображенному на клавише. Эти коды собраны в таблицу, которая называется  ASCII (American Standard Code for Information Interchange – стандартный американский код для обмена информацией).  Существует стандартный и расширенный  набор кодов символов.   Стандартный   набор   состоит   из  126  символов   и   соответствующих   им   кодов,   расширенный   из  255. Стандартный набор представлен латинским алфавитом (строчные и прописные буквы), набором десятичных цифр и     специальных   символов.  Расширенный  код   включает   в   себя   и  другие  алфавиты,   например,   кириллицу   для славяноязычных стран. Символьные константы и переменные  имеют тип   char   (от английского  слова   character  ­ буква) и следующие форматы в блоке описания переменных  Pascal ­ программы: для констант: Const <Имя_константы> = # <Код_символьной_константы>; или Const <Имя константы> = '<Символ ASCII>'; для символьных переменных: <Имя символьной переменной> : char; Например, для  Const ch = #72;, при выводе константы на экран  дисплея будет индицирован символ  H.  Для Const ch = 'H';  так же будет выведен символ  H. Небольшая программа продемонстрирует правоту, изложенного выше утверждения,  для символьных констант. Program V1L16P1; {Вывод символьной константы} Uses Crt; Const a=#72;b='H'; {} begin ClrScr; WriteLn(a); WriteLn(b); {} ReadKey end. {Присвоение значений символьным константам} {Вывод констант на экран дисплея} {В обоих случаях выводится символ H} Для   символьных   переменных   в   качестве   примера   рассмотрим   задачу   вывода   на   экран   дисплея   десяти символов. Для решения задачи необходимо  преобразовать  цифровой код символа в символ.   Для этого используем функцию преобразования Char. Функция имеет следующий формат: <Имя символьной переменной> := Char (x); где x  ­  код в кодовой таблице ASCII,  тип переменной  x ­ byte. Функция возвращает символ.  Здесь можно заметить, что  имя функции  совпадает  с  именем типа переменной. Это допускает  Pascal  и для  других  типов, в качестве функции преобразования типов. Нижеприведенная  программа выводит на экран дисплея два столбика, состоящих из десяти кодов символов и десятичных символов цифр (0 ­:­ 9). Program V1L16P2; {Вывод 10­ти символов десятичных цифр} Uses Crt; Var a:char; i:byte; {} begin {Определение переменных} 92 Символьные константы и переменные. Кодировка символов. Функции преобразования символьных переменных. Коды управляющих клавиш ClrScr; WriteLn('Десять числовых символов с кодами 48 ­ 57'); for i:=48 to 57 do begin {Цикл изменения кода символа} a:=Char(i); WriteLn(i,a:3); {Функция преобразования кода в символ} {Вывод на экран дисплея} end; {} ReadKey end. Результат работы программы Десять числовых символов с кодами 48 ­ 58 48  0 49  1 50  2 51  3 52  4 53  5 54  6 55  7 56  8 57  9 Урок 2.  Функции преобразования символьных переменных Имея   таблицу   кодов   символов  ASCII,   может   возникнуть   необходимость   нахождения   кода   по   заданному символу, либо символа по заданному коду. Такая операция возможна с помощью функций преобразования символьных переменных.  Задачу преобразования символьных переменных решают следующие функции. Chr(<Код>);  ­   возвращает   символ,   который   задан   кодом       в     кодовой   таблице    ASCII,   где переменная  <Код>  имеет тип  byte (аналогично функции  Char(x) см. программу  V2L01P2). ­ возвращает код, заданным символом     в кодовой таблице  ASCII, где переменная Ord(<Символ>);  <Символ>  имеет тип  char. Upcase(<Символ>);  переменная  <Символ>  имеет тип char. Данная функция не обрабатывает кириллицу. ­ возвращает символ записанный в верхнем регистре, в символ нижнего регистра, где Pred(<Символ>);  ­ возвращает  символ, который предшествует   ему   в кодовой таблице  ASCII, где переменная  <Символ> имеет тип  char. Succ(<Символ>);  ­ возвращает символ, следующий после  указанного  в кодовой таблице ASCII,  где переменная  <Символ>  имеет тип  char. Нижеприведенная программа демонстрирует работу функции  преобразования  Ord. Program V1L16P3; {Преобразование символа в код символа} Uses Crt; Var a:char; b:byte;    {} begin ClrScr; {Стирание экрана} WriteLn('Введи символ. Для завершения работы введи символ "*"'); repeat {Объявление переменных} if (a<>#13)and(a<>#10) then Write('Символ: '); Read(a); if (a<>#13)and(a<>#10) then begin {Цикл ввода символа и печати кода} {Печать строки при условии "да"} {Ввод символа} {Преобразование и печать кода при условии "да"} b:=Ord(a); WriteLn('Код: ',b:4) {Преобразование символа в код} {Вывод кода} end; until a='*'; WriteLn('Работа с программой завершена! Нажми любую клавишу.'); {} {Завершение цикла при вводе символа "*"} 93 ReadKey end. {Ожидание нажатия любой клавиши} Возможный результат работы программы Введи символ. Для завершения работы введи символ “*” Символ: a Код:   97 Символ: A Код:   65 Символ: а Код:  160 Символ: А Код:  128 Символ: * Код:   42 Работа с программой завершена! Нажми любую клавишу. Циклическая операция по вводу символов прерывается после ввода символа  “*”. Следующая программа демонстрирует работу функций Pred(x) и Succ(x) и выводит на экран дисплея символы, которые находятся выше и ниже от  введенного с клавиатуры символа. {Объявление переменных} Program V1L16P4; {Вывод на экран символа указанного выше или ниже от заданного символа} Uses Crt; Var a,b,c:char; n,m,i:byte; {} begin ClrScr; Write('Введи символ из таблицы ASCII '); Read(a); Write('Введи номер символа, от указанного, вверх '); Read(n); Write('Введи номер символа, от указанного,  вниз '); Read(m); b:=a;c:=a; for i:=1 to n do {Цикл поиска символа, от указанного, вверх} {Движение вверх на один символ} {Цикл поиска символа от указанного вниз} {Движение вниз на один символ} b:=Pred(b); WriteLn('Предыдущий  символ ',b); for i:=1 to m do c:=Succ(c); Write('Последующий символ ',c); ReadKey end. Возможные результаты работы программы Вариант 1 Введи символ из таблицы ASCII a Введи номер символа, от указанного, вверх 3 Введи номер символа, от указанного,  вниз 2 Предыдущий  символ ^ Последующий символ c Вариант 2 Введи символ из таблицы ASCII A Введи номер символа, от указанного, вверх 3 Введи номер символа, от указанного,  вниз 2 Предыдущий  символ > Последующий символ C Урок 3. Работа с клавиатурой. Коды управляющих клавиш клавиатуры Клавиатура является основным устройством ручного ввода информации в память компьютера. Все клавиши клавиатуры можно разделить на три группы: 1. Клавиши  и комбинации клавиш,  нажатие которых  посылает  в буфер клавиатуры  ASCII  –  код (символьный). 94 Символьные константы и переменные. Кодировка символов. Функции преобразования символьных переменных. Коды управляющих клавиш К таким клавишам относятся  алфавитно­цифровые и специальные символы на обоих регистрах (т.е. с Shift и без него), а также комбинации клавиш  Ctrl + Алфавитно­цифровая   и Ctrl + Некоторые специальные символы, которые    вырабатывают  ASCII­коды   управляющих  символов (0 ­ 32). 2. Клавиши и комбинации клавиш, нажатие которых посылает в буфер клавиатуры   расширенный код. кодов. К таким клавишам относятся функциональные клавиши, так и  в комбинации с любой из клавиш Shift, Ctrl, Alt; алфавитно­цифровые клавиши, нажатые в комбинации с   Alt   и другие клавиши и комбинации. Символьный код занимает 1 байт памяти компьютера. Коды управляющих, функциональных и комбинации клавиш ­ 2 байта. Такие коды называется  расширенными.     Расширенный   код состоит из двух символов:  первый   ­ символ с кодом   0, второй – ASCII код управляющего символа клавиатуры. 3. Клавиши   и  комбинации  клавиш,   нажатие   которых  не  посылает   в  буфер  клавиатуры     никаких К ним относятся клавиши   Shift, Ctrl, Alt, CapsLock, NumLock,   ScrollLock и некоторые комбинации клавиш (см. приложения). Для работы с клавиатурой в модуле  Crt  предусмотрены следующие функции. KeyPressed, имеет тип  boolean  и возвращает значение  True  (истина), если на клавиатуре нажата какая либо клавиша. В противном случае, функция возвращает значение False.  При этом введенные символы остаются в буфере клавиатуры и доступны для дальнейшей обработки.   ReadKey, имеет тип char, считывает символ с клавиатуры, который не отображается на экране дисплея, как это происходит при использовании процедуры   Read. Рассмотрим   пример   использования   данных   функций   в   нижеприведенной   программе.     Работа   программы заключается в перемещении символа  ‘*’ по экрану дисплея, который оставляет след, клавишами перемещения курсора. {Вызов библиотечного модуля} {Описание} {переменных} Program V1L16P5; {Позиционирование курсора} Uses Crt; Var i,j,n,m:integer; k:char; {} begin ClrScr; m:=1;n:=1; i:=40;j:=12; GoToXY(i+m,j+n); Write(''); {} repeat {Операторная скобка начала основного блока программы} {Стирание экрана} {Установка курсора в центр экрана дисплея} {На экран дисплея выводиться курсор} {Начало цикла} {Считывание символа первого байта кода} {Сравнение со значением 1­го байта кода} k:=ReadKey; if k=#0 then begin k:=ReadKey; if k=#77 then i:=i+1; if k=#75 then i:=i­1; if k=#72 then j:=j­1; if k=#80 then j:=j+1; {Считывание и сравнение символа 2­го байта кода} {вправо} {влево} {вверх} {вниз} end; GoToXY(i+m,j+n); Write('*'); until k=#27; {} ReadKey end. {Позиционирование курсора} {Вывод на экран символа ‘*’} {Пока не нажата клавиша ‘Esc’} {Операторная скобка конца основного блока программы} {Ожидание нажатия любой клавиши} Возможный результат работы программы                    **************                    *            *                    *            *                    *            *                   **************** 95 *              *                   *              *                   *              *                   *              *                   **************** 1. Вывести на экран дисплея символы, которые отстоят от введенного с клавиатуры на два символа вверх и на два Контрольные вопросы и упражнения вниз таблицы кодов ASCII. 2. Напишите программы,   в которых используются все функций преобразования (см. текст   программы   V1L16P3, V1L16P4). 3. Вывести   на   экран   дисплея   все   символы   таблицы   кодов  ASCII,   которые   отстоят   от   введенного   с   клавиатуры символа на  ‘n’  вверх и на ‘m’ вниз. Все выводимые символы должны быть расположены на экране дисплея. 4. Написать программу перемещения символа  ‘*’ по экрану дисплея клавишами перемещения курсора,  который не оставляет след. 5. Написать программу перемещения символа ‘*’ по экрану дисплея со следом, без следа и удаления следа при 6. Вывести на экран дисплея в строку символы стандартной и расширенной таблицы кодов ASCII. 7. Вывести  на  экран  дисплея  в  формате  таблицы  в  два столбца коды и символы стандартной и расширенной необходимости. таблицы кодов ASCII 8. Вывести  в  формате   таблицы   коды   и   символы стандартной и расширенной таблицы кодов ASCII, которая вся должна помещаться на экране дисплея. 9. Дана некая строка символов в виде осмысленной фразы. Определить количество одинаковых символов в ней. 10. Даны 20 тетрад из прописных символов русского алфавита. Вывести на экран дисплея все тетрады, у которых второй символ буква  “а”. Для заметок, вопросов и ответов ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ 96 Символьные константы и переменные. Кодировка символов. Функции преобразования символьных переменных. Коды управляющих клавиш ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ 97

Символьные константы и переменные

Символьные  константы  и  переменные

Символьные константы и переменные

Символьные  константы  и  переменные

Символьные константы и переменные

Символьные  константы  и  переменные

Символьные константы и переменные

Символьные  константы  и  переменные

Символьные константы и переменные

Символьные  константы  и  переменные

Символьные константы и переменные

Символьные  константы  и  переменные
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
25.04.2017