Вступление
Добрый день! |
Теория
Давайте подумаем, как мы можем представить строки ? Нам известен тип символов (char) поэтому строку вполне логично представить, как массив символов. Вот и в Паскале есть тип String, который очень похож на array [0 .. N] of char. N можно задать явно (объявить переменную String[N]) или вообще не задавать, тогда будет использоваться значение 255. К любому символу строки можно обратится точно так же как и к элементу массива. Давайте рассмотрим примерчик:
Если длинна строки будет больше N, то строка автоматически урежется до нужного размера! Например программа
выведет на экран Turbo Pasc Вот так! Будте внимательны!К строкам можно применять операцию "сцепление" - "+". Например st := 'a' +'b', потом st = 'ab' для работы со строками в Паскале имеется мощный арсенал функций:
Так же над строкаи можно выполнять операции сравнения (=, <> , >, <, >=, <=). Но подробнее об этом в разделе программа. |
ПрограммаСегодня мы напишем программу, которая выведет на экран таблицу символов. В этой таблице 256 символов. С некоторыми символами вы уже знакомы - это буквы. Но есть ещё большое количество символов - так называемые символы псевдографики. С их помощью можно например чертить таблицы. Весь интерфейс BP организован с помощью этих символов. Вот сегодня мы и выведем их на экран! Для этой цели можно было бы использовать array [1..256] of char, но куда проще написать это через строку!
Итак как вы видите мы использовали строку просто как массив, если вы попытаетесь вывести её на экран (write (st)), то ничего не выйдет. Почему ? Потому что мы в цикле присваеваем всем символам строки номер. А st[0] = 0 !!! А ведь в st[0] у нас хранится длинна строки ! Я надеюсь, что все уже успели выучить, что Паскаль - строго типизированный язык. Поэтому что бы присвоить символу целое значение, нам нужно его преобразовать к символу. Это и делает функция chr ! Теперь мы познакомились с таблицей символов. Обратите внимание, что руские буквы идут не подряд. Вначале от 'а' до 'п' потом 'р' до 'я' и ещё в конце идёт буква 'ё' ! Вернемся к сравнению строк. Все операции сравнения над двумя строками выполняются по-символьно слева на право, с учётом таблицы символов. Если одна строка меньше другой, то короткая дополняется 0-ым символом до нужной длинны! Например следующие сравнения будут истинны: 'A' > '1' |
ГолосованиеГолосовани по поводу объяснения материала в рассылке всё ещё доступно - http://narod.yandex.ru/survey/?id=79839. |
ПослесловиеНу вот вообщем-то и всё! Не слишком много, но ... Следующий выпуск будет по больше.... надеюсь :) |