Использование program, begin…end, write, readln, Uses Crt, Clrscr.

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны ...

Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

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

Вложенные итерационные циклы.

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

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

Одномерный массив символов по своим свойствам существенно отличается от всех остальных массивов языка Паскаль. Свойства одномерного массива символов приближены к свойствам коротких строк (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.Массив символов.