Символьные типы данных

Lazarus IDE: Основы программирования в Windows Lazarus IDE: Основы программирования в Windows

Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее...

Символ - это один знак (буква, цифра, или специальный символ, например, знак вопроса).

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

Что такое код ASCII?

Как уже неоднократно было сказано, компьютер не понимает слов. Следовательно, все буквы (символы) в памяти компьютера представлены в виде чисел. То есть каждому символу соответствует определённое число. Таких кодировок существует довольно много. ASCII-код разработан достаточно давно, но всё ещё применяется. В ASCII-коде каждая буква (точнее, каждый символ, так как в таблице ASCII есть не только буквы) представлена числом от 0 до 255. Например, английская буква «А» в ASCII-коде представлена числом 65.

В книге Как стать программистом мы с вами уже написали программу, которая выводит на экран таблицу ASCII-кодов. Если эта тема вам интересна, то рекомендую обратиться к упомянутой выше книге.

Однако этот курс рассчитан на людей с нулевыми знаниями в области программирования. И мы подразумеваем, что те, кто читает это статью, ещё ничего не знают об ASCII-кодах и других вещах. Ну да ладно, это пока не так и нужно. Просто будем считать, что символьный тип Char представляет символы с кодами от 0 до 255, то есть всего данные типа Char могут принимать одно из 256 значений.

Пример программы, которая выводит диапазон кодов типа Char, а также все символы, которые используются в этом типе данных, показан в листинге 13.3.

Листинг 13.3. Программа вывода на экран диапазонов логических типов.
program sim;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this };

var chi : Char;

begin
  Writeln('Char (code) : ',  Ord(Low(Char)), '..', 
           Ord(High(Char)), #13#10);
  for chi := #0 to #255 do
    Write(chi);
  Readln;
end.

Здесь мы несколько забежали вперёд: использовали переменные и стандартную функцию Ord. Но пока не обращайте на это внимание, а просто перепишите код и попробуйте запустить его.

Символы в программе можно записать двумя способами.

‘A’ - символ в одинарных кавычках.
#65 - код символа с префиксом #.

Например,

WriteLn('A');

и

WriteLn(#65);

выведут на экран один и тот же символ - английскую букву А.

Домашнее задание:

На внимательность: почему данные типа Char могут принимать одно из 256 значений, если коды символов лежат в диапазоне 0...255. Это очень просто, но многие не понимают)))

Создать новую программу, используя исходный код листинга 13.3. Запустить программу. Если у вашего компьютера есть динамик, то вы услышите противный писк. Этот звук будет повторяться при каждом запуске программы. Попробуйте догадаться, почему это происходит.

Попробуйте также догадаться, почему начиная с некоторого символа, вывод начинается с новой строки.


Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика