Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

GotoXY в Pascal.

Процедура GotoXY используется в Pascal для перевода курсора в нужную позицию на экране. Для этой процедуры указываются координаты. После указания процедуры GotoXY в коде программы сообщение будет выводиться на экран в тех координатах, которые мы ...

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Циклы и массивы

Массив строк типа STRING.

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

Вычисление предела последовательности.

Вычисление предела последовательности является типичной задачей на использование итерационного цикла.

Одномерный массив символов по своим свойствам существенно отличается от всех остальных массивов языка Паскаль. Свойства одномерного массива символов приближены к свойствам коротких строк (String).

Инициализация массива символов.

  • Массив можно объявить и присвоить ему начальное значение непосредственно в разделе констант. При этом требуется соблюдение условия — длина текстовой константы должна равняться количеству элементов массива. CONST В: ARRAY[1 .. 50] OF CHAR = 'Я учусь программировать';
  • Массив символов можно ввести с клавиатуры как последовательность символов конечной длины N, не превышающей количество элементов массива — N ? HIGH(B) – LOW(B) + 1.

VAR ARRAY[1.. 500] OF CHAR; I, N: WORD;
BEGIN ...
WRITELN('Введите длину строки текста не более 500 символов, N');
READLN(N);
WRITELN('Введите строку текста В');
FOR I :=1 ТО N DO READ(B[I]); ...
Существенным недостатком этого способа ввода текста является необходимость знать точное количество символов N во вводимой строке.

  • Массив символов можно заполнить в теле программы с помощью оператора присваивания. Но есть ограничение — количество символов в текстовой константе должно быть равно количеству элементов массива.

VAR ARRAY[1..23] OF CHAR;
BEGIN   ...
В:= 'Я учусь программировать';

Вывод массива символов.

Массив символов можно вывести на экран монитора двумя способами.

  • Процедуры WRITELN и WRITE поддерживают вывод массива символов. Допускается запись — WRITELN(B), где В — идентификатор одномерного массива символов.
  • Содержимое массива символов можно выводить в цикле, используя оператор WRITE(B[I]). Ниже приведен фрагмент программы, обеспечивающей посимвольный вывод элементов массива B в строку.

WRITELN('Массив В содержит текст:');
FOR I := LOW(B) ТО HIGH(B) DO WRITE(B[I]); WRITELN;
Пример 9. Ввести натуральное число N. Вывести строку S, представляющую запись этого числа в двоичной системе счисления. Для пояснения алгоритма преобразования десятичного числа в двоичную систему счисления используем пример на рис. 2.1.

stroki


PROGRAM PR9;
CONST B:ARRAY[1..10] OF CHAR = ";
VAR      I, К, N: BYTE; S: STRING[1];
BEGIN
  WRITELN('Введите число N');
  READLN(N);
  К:= 0;
  WHILE N> 1
  DO BEGIN
    К:= К + 1;
    STR(N mod 2:1, S);
    В[К] := S[1];
    N := N div 2
  END;
  IF(N= 1) or (K = 0)
  THEN BEGIN
    К := К + 1;
    STR(N mod 2:1, S);
    B[K] := S[1]
  END;
  WRITELN('B двоичном коде число будет равно:');
  FOR I:= К DOWNTO 1 DO WR1TE(B[I]); {Вывод массива символов}
  WRITELN
END.


stroki.

Из этой программы видно, что строковая процедура STR, преобразующая число в строку, не принимает в качестве аргумента переменные типа CHAR. Именно по этой причине пришлось ввести строку S единичной длины.

Операции с массивами символов.

Массивы символов можно использовать в сцепках. Например, в операторе WRITELN в списке вывода допускается строковое выражение:
WRITELN('Результирующая строка:' + B + ',');
где i массив символов. Знак + означает операцию сцепки строк. Недостатком такого выражения является то, что пустые разряды массива B займут на экране свои позиции, и поэтому запятая может оказаться на значительном удалении от текста, хранимого в массиве B.
Массивы символов A и B в отличие от массивов всех других типов можно сравнивать между собой с помощью операций отношения =, <>; допускается использование также <, >, <=, >=.
Сравнение массивов производится путем последовательного сравнения литер (элементов массивов) от наименьшего индекса до наибольшего индекса. Сравнение завершается при первом несовпадении или достижении верхнего индекса одного из массивов. Если Вам потребуется заправить картридж для принтера обращайтесь в надежный сервисный центр. Качественная заправка цветных картриджей HP по оптимальным ценам возможна как в офисе, так и на дому. Для достижения высокого качества печати оформляйте заявку, и опытные специалисты проведут все необходимые работы. Массивы A и B могут иметь разную размерность. В строковых выражениях сцепок массивы символов ничем не отличаются от строк. Так допустима следующая конструкция:
IF A+B>='X = ' + B + '.'
THEN S := А + 'за вычетом' + В;
где A и B массивы символов, a S строка String.


Предыдущая статья: РАБОТА СО СТРОКОВЫМИ ДАННЫМИ.
Оглавление: Лекции по Pascal. Часть 2.
Следующая статья: Манипулирование строками STRING.


   ГлавнаяПаскальЛекции по Pascal. Часть 2.Массив символов.