Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

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

Программирование циклов. Оператор безусловного перехода.

Цикл — это последовательность операторов, которая может выполняться более одного раза. В языке Паскаль разработано три механизма для конструирования циклов, использующих операторы FOR, WHILE, REPEAT.

...

Структурное программирование

Самое главное в программировании - это научиться писать четкие, логические и структурированные программы.

• Используйте осмысленные имена для переменных, процедур и функций.

• Используйте отступы ...

Одномерный массив символов по своим свойствам существенно отличается от всех остальных массивов языка Паскаль. Свойства одномерного массива символов приближены к свойствам коротких строк (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 в отличие от массивов всех других типов можно сравнивать между собой с помощью операций отношения =, <>; допускается использование также <, >, <=, >=.
Сравнение массивов производится путем последовательного сравнения литер (элементов массивов) от наименьшего индекса до наибольшего индекса. Сравнение завершается при первом несовпадении или достижении верхнего индекса одного из массивов. Если Вам потребуется заправить картридж для принтера обращайтесь в надежный сервисный центр. Для достижения высокого качества печати оформляйте заявку, и опытные специалисты проведут все необходимые работы. Массивы A и B могут иметь разную размерность. В строковых выражениях сцепок массивы символов ничем не отличаются от строк. Так допустима следующая конструкция:
IF A+B>='X = ' + B + '.'
THEN S := А + 'за вычетом' + В;
где A и B массивы символов, a S строка String.


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


Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальЛекции по Pascal. Часть 2.Описание процедур.