Вы не зарегистрированы

Авторизация



Рабочая тетрадь по теме "Данные символьного типа в языке программирования Pascal"

Фото пользователя Людмила Ивановна Орлова
Submitted by Людмила Ивановна Орлова on чт, 03/11/2011 - 17:32
Данные об авторе
Автор(ы): 
Орлова Людмила Ивановна
Место работы, должность: 

МБОУ "Вурнарская СОШ №2" , учитель информатики

Регион: 
Республика Чувашия
Характеристики ресурса
Уровни образования: 
основное общее образование
Уровни образования: 
среднее (полное) общее образование
Класс(ы): 
9 класс
Класс(ы): 
10 класс
Класс(ы): 
11 класс
Предмет(ы): 
Информатика и ИКТ
Целевая аудитория: 
Учащийся (студент)
Целевая аудитория: 
Учитель (преподаватель)
Тип ресурса: 
дидактический материал
Краткое описание ресурса: 
<p> Ресурс предназначен для учащихся при освоении темы <strong>&quot;Символьные типы данных в программировании&quot;</strong>. В частности, в рабочей тетради за основу взят <em>язык программирования PascalABC</em>. Рабочая тетрадь содержит теоретический материал для ученика с заданиями на закрепление и ответы на задания для самопроверки или для учителя.</p> <p> &nbsp;</p>

 ЧАСТЬ I. Рабочая тетрадь для ученика

 1. ПОНЯТИЕ О СИВОЛЬНЫХ ТИПАХ ДАННЫХ

Символьный тип данных – это любой символ, заключенный в одиночные кавычки.

Значением символьного типа данных является один символ, который занимает 1 байт.

Символами могут быть буквы, цифры, пробелы и любые другие знаки, за исключением знака кавычек.

Пример:

a1:=’и’ {данное символьного типа}

a2:=’1’ {данное символьного типа, заметим, что символ 1 отличается от целого числа 1 тем, что он не может быть использован в арифметических операциях.}

a3:=1 {не является данным символьного типа }

a4:=’F’ {данное символьного типа}

a5:=’text’ {не является данным символьного типа}

a6:=F{не верная запись данного символьного типа}

В языке Pascalиспользуется множество символов, находящихся в таблице кодов, называемой ASCII - американский стандартный код обмена информацией.

Все символы упорядочены, т.к. имеют свой личный номер. Десятичные коды заглавных букв на 32 меньше десятичных кодов строчных букв как в русском, так и в латинском алфавите.

Важно, что соблюдаются следующие отношения:

  'A' < 'B' < 'C' < ... < 'X' < 'Y' < 'Z'

'0' < '1' < '2' < ... < '7' < '8' < '9'

Для проверки равенства или неравенства переменных символьного типа могут использоваться операторы булевого сравнения.

Задание для самостоятельного выполнения

Используя часть кодовой таблицы ASCII, определите десятичный код символов:

‘+’ - ___________

‘?’ - ___________

‘W’ - __________

‘w’ - ___________

‘Ф’- ___________

‘ф’ - ___________

 2. ОПИСАНИЕ ДАННЫХ СИМВОЛЬНОГО ТИПА

Символьные данные (переменные и постоянные) должны быть описаны в программе: переменные - в разделе описания переменных с помощью служебного слова char,постоянные - в разделе описания постоянных.

 Описание постоянных (констант) символьного типа:

Const

     S=’*’;

 

Описание переменных символьного типа:

Var

     A: char;

 

Задания для самостоятельного выполнения

1. Определите, какие из значений могут принимать символьные переменные типа char:

□ 345                                      □ ‘345’                                    □ т    

□ ‘т’                                       □ 4                                          □ ‘4’

2. Найдите ошибки в записях символьных переменных (если они есть). Ответ поясните:

а) А: = ‘и’

б) С2: = "в"

в) D: = к

г) 64N: = ‘5’

д) N64:=’5’

е)N5:=5

__________________________________________________________

__________________________________________________________

__________________________________________________________

__________________________________________________________

__________________________________________________________


3. ОПЕРАЦИИ НАД ДАННЫМИ СИМВОЛЬНОГО ТИПА

Ввод, присвоение и вывод символьных переменных осуществляются так же, как и для числовых типов данных.

Пример:
  Составить программу, по которой компьютер многократно вычисляет сумму А+В при различных значениях А и В. в конце каждого этапа появляется запрос о продолжении или прекращении вычислений: "Завершить программу?(Д/Н)".

Var A,B:real

      C : char;
Begin

   Repeat

   Write('Введитедвачисла'); Readln(a,b);

   Writeln(a+b:0:2);

   Writeln('Завершить программу?(Д/Н)')

   Readln(с);

   Until с='Д'; {программа завершит работу если будет введено Д}

Readln

End.

 

Операция #
#<положительная константа целого типа от 0 до 255>

Результат - символ, номер которого в таблице ASCII соответствует заданному числу. Например,

#100  = 'd' #39   = '''          {апостроф} #232  = 'и'        #1000   {ошибка: выход за границы диапазона типа char}

Операция сравнения

К символьным переменным применимы операции сравнения <, <>, >, =, ≤, ≥, результат которых также опирается на номера символов из таблицы ASCII.

Например, ‘А’ < ‘В’
 
Стандартные функции
 chr(k)

k:byte или integer

"превращает" номер символа в символ. Действие этой функции аналогично действию операции #.

Примеры:

1) c:= chr(48); {c: char} Результат: c = '0'

2) Chr(65)='A' - символ, соответствующий коду 65, равен А;

ord(c)

c: char

Обратная к функции chr(). Возвращает значение кода символа c.
Примеры:
1) a:=ord(‘0’) {a:byte}
Результат: a=48

2) Ord('A')=65 - код символа А равен 65

ord(chr(k)) = k             и                 chr(ord(c)) = c
Pred(c)
Succ(c)

c: char

Pred - возвращает предыдущий символ литерного множества;

Succ - возвращает следующий символ литерного множества;

Примеры:

Pred('3')='2' - символ, предшествующий символу 3, равен 2;

Succ('0')='1' - символ, следующий за символом 0, равен символу 1.

upcase(c)

lowcase(c)

c: char

upcase(c)преобразует строчную букву в прописную.

lowcase(c)преобразует прописную букву в строчную.

 
Примеры:
1) c:=lowcase('F');
    writeln(c);
Результат: f
2) ch:=upcase('f');
    writeln(ch);
Результат: c=F
 

 

Задания для самостоятельного выполнения

1. Используя фрагмент кодовой таблицы ASCII, определите значения логических выражений (Trueили False)

‘4’<’Э’ Ответ: _______________

‘Z’>’z’Ответ:_______________

‘D’<’Д’Ответ:_______________

2. Определите значение переменной Ch(Ch:char):

Ch:=Chr(224);               Ответ: ________________

Ch:=Upcase(‘n’);           Ответ: ________________

Ch:=LowCase(‘W’);      Ответ: ________________

Ch:=Pred(‘R’);              Ответ: ________________

Ch:=Succ(‘N’);              Ответ: ________________

 

3. Определите значение переменной k(k: byte):

k:=ord(‘я’);                   Ответ: ________________

k:=ord(‘V’)+4;               Ответ: ________________

k:=ord(chr(56));             Ответ: ________________


4. ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ

Char1.Дан символ C. Вывести его код (то есть номер в кодовой таблице).

Char2.Дано целое число N (32 <= N <= 126). Вывести символ с кодом, равным N.

Char3.Дан символ C. Вывести два символа, первый из которых предшествует символу C в кодовой таблице, а второй следует за символом C.

 

Char4.Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (то есть заглавных) букв латинского алфавита.

Char5.Дано целое число N(1 ≤ N≤ 26). Вывести Nпоследних строчных (то есть маленьких) букв латинского алфавита в обратном порядке (начиная с буквы «z»).

Char6.Дан символ C, изображающий цифру или букву (латинскую или русскую). Если Cизображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus»

Char7.Дано целое число N(> 0) и символ C. Вывести строку длины N, которая состоит из символов C.

 

Char8.Дано четное число N (> 0) и символы C1 и C2. Вывести строку длины N, которая состоит из чередующихся символов C1 и C2, начиная с C1.

5. ЗАДАЧИ ДЛЯ ДОПОЛНИТЕЛЬНОГО РЕШЕНИЯ

  1. Вывести в одну строку АаБбВвГг.
  2. Запросите у пользователя символ и выведите на экран 5 символов, следующих за ним в таблице американских стандартных кодов обмена информацией. Проверьте, есть ли среди них знаки препинания.
  3. Запросите у пользователя символ и выведите на экран 5 символов, предшествующих данному в таблице американских стандартных кодов обмена информацией. Проверьте, есть ли среди них знаки простейших математических действий.
  4. Определите выведите на экран коды русских заглавных букв и латинских прописных.
  5. Определите и выведите на экран коды русских прописных букв и латинских заглавных.
  6. Вывести в одну строку ZYY...AA...A.
  7. Составьте программу, проверяющую, является ли введенный символ буквой латинского алфавита или скобкой (учесть круглые, фигурные и квадратные скобки).
  8. Запросите у пользователя несколько символов и выведите на экран их коды. Проверьте, являются ли они буквами.
  9. Вывести в одну строку ABBCCCDDDD...ZZ...Z.
  10. Вывести треугольник:
    Аяяяяяяяя…я
    Бюююю…ю
    Вээээээ…э
    . . .
    Эввв
    Юбб
    Яа.
  11. Вывести треугольник:
    A B C ...Y Z
    B C …Y Z
    C ...Y Z

ЧАСТЬ II. Рабочая тетрадь для учителя (с ответами)

 

1. ПОНЯТИЕ О СИВОЛЬНЫХ ТИПАХ ДАННЫХ

Символьный тип данных – это любой символ, заключенный в одиночные кавычки.

Значением символьного типа данных является один символ, который занимает 1 байт.

Символами могут быть буквы, цифры, пробелы и любые другие знаки, за исключением знака кавычек.

 

Пример:

a1:=’и’ {данное символьного типа}

a2:=’1’ {данное символьного типа, заметим, что символ 1 отличается от целого числа 1 тем, что он не может быть использован в арифметических операциях.}

a3:=1 {не является данным символьного типа }

a4:=’F’ {данное символьного типа}

a5:=’text’ {не является данным символьного типа}

a6:=F{не верная запись данного символьного типа}

В языке Pascalиспользуется множество символов, находящихся в таблице кодов, называемой ASCII - американский стандартный код обмена информацией.

 Все символы упорядочены, т.к. имеют свой личный номер. Десятичные коды заглавных букв на 32 меньше десятичных кодов строчных букв как в русском, так и в латинском алфавите.

Важно, что соблюдаются следующие отношения:

  'A' < 'B' < 'C' < ... < 'X' < 'Y' < 'Z'

'0' < '1' < '2' < ... < '7' < '8' < '9'

Для проверки равенства или неравенства переменных символьного типа могут использоваться операторы булевого сравнения.

Ответы на задание для самостоятельного выполнения

Используя часть кодовой таблицы ASCII, определите десятичный код символов:

‘+’ - 43     

‘?’ -   63     

‘W’ -  87     

‘w’ - 119   

‘Ф’-   212   

‘ф’ - 244   

 


 

2. ОПИСАНИЕ ДАННЫХ СИМВОЛЬНОГО ТИПА

Символьные данные (переменные и постоянные) должны быть описаны в программе: переменные - в разделе описания переменных с помощью служебного слова char,постоянные - в разделе описания постоянных.

 

Описание постоянных (констант) символьного типа:

Const

     S=’*’;

 Описание переменных символьного типа:

Var

     A: char;

 Ответы на задания для самостоятельного выполнения

1. Определите, какие из значений могут принимать символьные переменные типа char:

□ 345                                      □ ‘345’                                    □ т    

þ‘т’                                      □ 4                                          þ‘4’

2. Найдите ошибки в записях символьных переменных (если они есть). Ответ поясните:

а) А: = ‘и’

б) С2: = "в"

в) D: = к

г) 64N: = ‘5’

д) N64:=’5’

е) N5:=5

б) ошибка: вместо одиночных кавычек записаны “ “                                              

в) ошибка: символ не заключен в одиночные кавычки (апострофы)             

г) ошибка: имя переменной указано не верно (оно не может начинаться с цифры

е) ошибка: символ 5 не заключен в одиночные кавычки                               

 


 

3. ОПЕРАЦИИ НАД ДАННЫМИ СИМВОЛЬНОГО ТИПА

Ввод, присвоение и вывод символьных переменных осуществляются так же, как и для числовых типов данных.

Пример:
  Составить программу, по которой компьютер многократно вычисляет сумму А+В при различных значениях А и В. в конце каждого этапа появляется запрос о продолжении или прекращении вычислений: "Завершить программу?(Д/Н)".

Var A,B:real

      C : char;
Begin

   Repeat

   Write('Введитедвачисла'); Readln(a,b);

   Writeln(a+b:0:2);

   Writeln('Завершить программу?(Д/Н)')

   Readln(с);

   Until с='Д'; {программа завершит работу если будет введено Д}

Readln

End.

 

Операция #
#<положительная константа целого типа от 0 до 255>

Результат - символ, номер которого в таблице ASCII соответствует заданному числу. Например,

#100  = 'd' #39   = '''          {апостроф} #232  = 'и'        #1000   {ошибка: выход за границы диапазона типа char}

Операция сравнения

К символьным переменным применимы операции сравнения <, <>, >, =, ≤, ≥, результат которых также опирается на номера символов из таблицы ASCII.

Например, ‘А’ < ‘В’
 
Стандартные функции

 

 chr(k)

k:byte илиinteger

"превращает" номер символа в символ. Действие этой функции аналогично действию операции #.

Примеры:

1) c:= chr(48); {c: char} Результат: c = '0'

2) Chr(65)='A' - символ, соответствующий коду 65, равен А;

ord(c)

c: char

Обратная к функции chr(). Возвращает значение кода символа c.
Примеры:
1) a:=ord(‘0’) {a:byte}
Результат: a=48

2) Ord('A')=65 - код символа А равен 65

ord(chr(k)) = k             и                 chr(ord(c)) = c
Pred(c)
Succ(c)

c: char

Pred - возвращает предыдущий символ литерного множества;

Succ - возвращает следующий символ литерного множества;

Примеры:

Pred('3')='2' - символ, предшествующий символу 3, равен 2;

Succ('0')='1' - символ, следующий за символом 0, равен символу 1.

upcase(c)

lowcase(c)

c: char

upcase(c)преобразует строчную букву в прописную.

lowcase(c)преобразует прописную букву в строчную.

Примеры:
1) c:=lowcase('F');
    writeln(c);
Результат: f
2) ch:=upcase('f');
    writeln(ch);
Результат: c=F
 

 

 

Ответы на задания для самостоятельного выполнения

1. Используя фрагмент кодовой таблицы ASCII, определите значения логических выражений (Trueили False)

‘4’<”Э” Ответ: True                    

‘Z’>”z” Ответ: False                   

‘D’<’Д’ Ответ: True                    

 

2. Определите значение переменной Ch(Ch:char):

Ch:=Chr(224);               Ответ:      а                          

Ch:=Upcase(‘n’);           Ответ:      N                         

Ch:=LowCase(‘W’);      Ответ:      w                         

Ch:=Pred(‘R’);              Ответ:      Q                        

Ch:=Succ(‘N’);              Ответ:      O                        

 

3. Определите значение переменной k(k: byte):

k:=ord(‘я’);                   Ответ:      255   

k:=ord(‘V’)+4;               Ответ:      90     

k:=ord(chr(56));             Ответ:      56     


 

4. ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ

Для каждой задачи приведен один из вариантов решения

Char1.Дан символ C. Вывести его код (то есть номер в кодовой таблице).

Program char1;

Var     c: char;

begin

    read(c);   writeln(ord(c));

end.

 

Char2.Дано целое число N (32 <= N <= 126). Вывести символ с кодом, равным N.

Program char2;

Var     c: char;

          N:integer;

begin

    read(N);

    c:=chr(N);

    writeln(c);

end.

 

Char3.Дан символ C. Вывести два символа, первый из которых предшествует символу C в кодовой таблице, а второй следует за символом C.

Program char3;

Var    c: char;

begin

    read(c);

    writeln(pred(c),' ',succ(c));

end.

 

Char4.Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (то есть заглавных) букв латинского алфавита.

Program char4;

Var       N,i,k: integer;

            Ch: char;

begin

readln(N);

k:=ord('A'); {кодсимволаA}

for i:=k to k+N-1 do

        begin

        Ch:=chr(i);  {очередной символ с кодом i}

        write(Ch,' ');

        end;

end.

Char5.Дано целое число N(1 ≤ N≤ 26). Вывести Nпоследних строчных (то есть маленьких) букв латинского алфавита в обратном порядке (начиная с буквы «z»).

Program char5;

var

    N,i,k: integer;

    Ch: char;

begin

readln(N);

k:=ord('z'); {кодсимволаz}

for i:=k downto k-N+1 do

        begin

        Ch:=chr(i);  {очередной сивол с кодом i}

        write(Ch,' ');

        end;

end.

 

Char6.Дан символ C, изображающий цифру или букву (латинскую или русскую). Если Cизображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus»

Program char6;

var

    C: char;

    k: integer; {кодсимволаc}

begin

readln(c);

k:=ord(c);

If (k>=48) and (k<=57) Then write ('digit');

If (k>=65) and (k<=90) or (k>=97) and (k<=122) Then write('lat');

If (k>=192) and (k<=255) Then write ('rus');

end.

 

Char7.Дано целое число N(> 0) и символ C. Вывести строку длины N, которая состоит из символов C.

Programchar7;

var

    C: char;

    N,i: integer;

begin

cls;

readln(N, c);

For i:=1 to N do write(c);

end.

 

Char8.Дано четное число N (> 0) и символы C1 и C2. Вывести строку длины N, которая состоит из чередующихся символов C1 и C2, начиная с C1.

Program char8;

var

    C1, C2: char;

    N,i: integer;

begin

cls;

readln(N, C1, C2);

For i:=1 to N do

       begin

       if i mod 2=1 then write(C1)

       Else write(C2);

       end;

end.

 

Прикрепленный файлSize
ASCII_Pascal.doc43 KB
char1_char8.rar2.36 KB


Фото пользователя Нурия Талгатовна Гаязова

На: Рабочая тетрадь по теме "Данные символьного типа в языке про


Очень хороший материал к уроку! Особенно понравилась часть с практикумом по программированию!