Методика изучения основ алгоритмизации и программирования: ознакомление с символьными и строковыми величинами
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Данный материал изучают в 10-м классе. Учащихся знакомят с понятиями «строковая константа», «символьная величина», «строковая величина». Рассматривают операции над ними, стандартные процедуры и функции для работы с этими величинами.

Одно из первых вводимых понятий – «строковая константа». Со строковыми константами учащиеся уже сталкивались при решении задач, просто не называли их так. Во многих программах ответ требовалось выводить словами, которые в операторе writeзаключались в апострофы. Последовательность символов, заключенных в апострофы, называют строковой константой. Например, строковые константы:‘пирожок’, ‘z’, ‘sum’, ‘2009’, ‘example for you’.

Если строковая константа не содержит ни одного символа (апостроф открывается и сразу закрывается), ее называют пустой текст или пустая строка.Записывают: ‘’. Надо отличать пустую строку (запись ‘’)от константы, содержащей пробел (запись ‘ ’).

Каждая строковая константа имеет определенную длину – количество символов между апострофами. Длина пустой строки равна нулю.

Далее учащихся знакомят с символьными величинами.

Задачи программирования не сводятся к работе с числовыми данными. Иногда требуется обрабатывать текстовую информацию. Для хранения символов используется тип данных char. Значением величины типа char может быть один любой символ из кодовой таблицы, заключенный в апострофы. Величины, которые принимают значения типа char, называют символьными величинами.В программе такие величины описывают так:

vart, f, p, s : char;

Им задают значения с помощью оператора присваивания:

t:='Y'; f:='N'; p:='$'; s:='7';

В памяти компьютера значения этого типа занимают 1 байт и представляют собой символы в кодировке Windows. Каждый символ в этой таблице имеет свой код. Для работы с символьными величинами и их кодами в языке Паскаль есть функции:

ord (символ) – возвращает код символа;

chr (число) – возвращает символ по его коду-числу.

Например,

write ('код символа z ', ord('z'));

write ('символ с кодом 122 ', chr(122));

Константы символьного типа можно записать в виде #k – символ с кодом k . Например, chr(122)и #122 даютодин и тот же результат – символ z.

Символы можно сравнивать. При этом большим считается символ с большим кодом. Например, d<g, так как ord('d')=100, ord('g')=103 и 100 < 103.

Для символьных величин рассматривают еще две функции:

UpCase (s) – переводит символьную величину s в верхний регистр;

LowCase (s) – переводит символьную величину s в нижний регистр.

Пример 4. Дана маленькая латинская буква. Преобразовать ее в большую латинскую букву.

program preobrazovanie;

var small, big : char;

begin

write('Введитемаленькуюбукву '); read(small);

big:=UpCase(small);

writeln('Большая буква ', big);

end.

Эту задачу можно решить вторым способом – без использования функции UpCase. Заметим, что разница между кодами соответствующих больших и маленьких букв одинакова. Т.е. если из кода буквы 'a'вычесть код буквы 'A', то получится то же значение, как при вычитании из кода буквы'z' код буквы'Z'. Зная разность между кодами и код маленькой буквы, можно найти код большой.

program preobrazovanie_2;

var small, big : char;

r: integer;

begin

write('Введитемаленькуюбукву '); read(small);

r:=ord('a')-ord('A'); // находим разность кодов

big:= chr(ord(small)-r); // находим большую букву

writeln('Большая буква ', big);

end.

Далее учащихся знакомят со строковым типом данных.

Для хранения строк текста в языке Паскаль используют переменные типа string. Значением величины типа string может быть любая последовательность символов, заключенная в апострофы. Величины, которые принимают значения типа string, называют строковыми величинами.В программе такие величины описывают так:

vart, f, p, s :string;

Им задают значения с помощью оператора присваивания:

t:='цена дипломата'; f:= '2009';  p:='$';

Если в состав строки должна входить кавычка, то в этом месте ее удваивают. Например, s:='Надвор''е чакаецца добрае'

Одна переменная может хранить строку длиной до 255 символов. В памяти компьютера строка занимает 255 байт + 1 байт (нулевой) для хранения длины строки.Для экономии памяти в описании строк указывают их максимально возможную длину, меньшую 255.Например,

vart, f, p : string[12];

Если после сцепления длина строки превышает 255 символов, программа прерывает работу и выдает сообщение об ошибке.

Строки можно сравнивать между собой, используя операции отношения:<, >, =, <=, >=, <>. Сравнение строк происходит по следующему правилу. Сначала сравниваются коды первых символов строк: чей код больше, та и строка больше. Если коды первых символов равны, сравниваются коды вторых символов: какой код больше, та и строка больше. И так далее. Если одна из строк закончилась, то вторая –­ более длинная считается большей.

В строке можно рассматривать отдельные символы. К каждому символу можно обращаться, используя индекс – позицию символа в строке:s[i] – i-тый символ в строке.Например,s:='крот'; тогда по команде q:=s[2]+s[3]+s[1]+s[3]+ s[4];           получим q – рокот.

Обращение к нулевому символу s[0] является ошибкой.Если индекс i выходит за пределы памяти, отводимой под строку, то выдается сообщение об ошибке. Однако, если индекс i выходит лишь за пределы длины строки, сообщение об ошибке не выдается.

Строки целиком можно переводить в верхний или нижний регистр. Для этого служат функции:

UpperCase (q) – переводит строку q в верхний регистр;

LowerCase (q) – переводит строку q в нижний регистр.

Например, p:='фамилия';

              pb:=UpperCase(p);

              pm:=LowerCase(pb);

Внимание школьников обращают на отличия: не следует путать эти функции с функциями для символов UpCase (s) и LowCase (s).

С помощью функции Length можно вычислить длину строки:

Length (s) – количество символов в строке s.

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

Trim(s) – удаление из строки s пробелов в ее начале и конце;

TrimLeft(s) и TrimRight(s) – удаление из строки s пробелов, расположенных в начале или в конце соответственно.

SetLength(s,n)– устанавливает длину строки s равнойn;

Str(x,s) атакжеStr(x:n,s)иStr(x:n:m,s) – преобразует x кстроковому представлению (во втором и третьем случаях согласно формату вывода, устанавливаемому n и m)и записывает результат в строку s.

Дата: 2019-02-19, просмотров: 563.