Тип данных String в Pascal.

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

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

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

Процедуры Dec и Inc в Pascal.

При работе с целыми числами используются процедуры DEC и INC. Процедура Dec уменьшает число на определенное значение, а процедура Inc увеличивает число на определенное значение.

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

Поиск минимального и максимального элементов массива.

Одной из наиболее распространенных задач обработки массивов является поиск минимального (максимального) элемента.

Оператор варианта CASE.

Иногда его называют также оператором выбора. Это оператор CASE, который является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов.

В простых типах данных каждое данное имеет свое название (идентификатор). В этом разделе вводится структурная взаимосвязь между данными, хранимыми в оперативной памяти путем организации массива, состоящего из непрерывно расположенных данных, не снабженных отдельными именами. Эти данные в свою очередь могут быть простыми или сложными и называются элементами массива.

Основное преимущество массива состоит в том, что его элементы не имеют отдельных имен, и нет необходимости описывать каждый элемент по отдельности. Достаточно описать весь массив. Объявление массива содержит следующее описание:

TYPE <имя типа> = ARRAY [тип индекса] OF <тип элементов массива>;

Каждый элемент именуется путем указания имени массива и порядкового номера, определяющего его позицию в массиве, то есть индекса. Если тип данных определен с помощью конструкции ARRAY ... OF то он называется регулярным типом.
Паскаль предоставляет пользователю широкие возможности по заданию типа индекса, которым может быть любой порядковый или интервальный типы данных, в том числе и определенные пользователем. Тип элемента массива иногда называется базовым. Он может быть как любым скалярным, так и структурированным типом данных. Правомерно существование массивов-массивов, записей, множеств. Однако не существует массивов файлов. Число компонентов массива неявно определяется через тип индекса при его объявлении и в дальнейшем не меняется.


Одномерные массивы. Вектора.


Если в описании массива типом элемента является простой тип данных, то такой массив называется вектором. Поскольку в таком массиве для идентификации величины используется только один индекс, то он называется одномерным. Такие одномерные массивы представляют собой простейшие структурированные данные. Обращение к элементам одномерного массива осуществляется с помощью индексированных переменных, например X[i]. Здесь X – имя массива, a i — константа, переменная или выражение того же типа, что и тип индекса в объявлении массива.

Пример 28.  Определить частоту появления латинских прописных букв в тексте, вводимом с клавиатуры. Ввод данных завершить символом '*'.

Здесь, в качестве индекса удобно использовать ограниченный литерный тип 'А' .. 'Z', что обеспечивает с одной стороны - мнемонический смысл индекса, соответствующего счетчику частоты появления литеры в тексте, а с другой стороны – легкость перебора значений индекса.

В Паскале нет средств ввода, вывода массива целиком, поэтому эти действия приходится выполнять как циклические процессы над отдельными элементами массива, используя (в частности, в нашем примере) оператор FOR. Если Вам понадобится программа для предприятия, Вы можете заказать разработку программ для управления и автоматизации предприятий торговли и сферы обслуживания. В этом примере при выводе результатов с помощью форматного вывода реализован перевод целочисленного выражения COUNTER[СН]*100/ N в вещественную форму числа с фиксированной десятичной точкой.


PROGRAM PR28;
VAR      COUNTER: ARRAY ['A'.. 'Z'] OF INTEGER;
CH: CHAR;
N: INTEGER;
BEGIN   
    { Инициализация массива счетчиков букв COUNTER, то есть — присвоение его элементам значения 0 }
     FOR СН := 'А' ТО 'Z' DO COUNTER[CH] := 0; {Обнуление счетчиков литер}
     N := 0;    { Обнуление счетчика числа символов в тексте}
        REPEAT    { Повторять для каждой новой литеры}
          READ(СН);    { Ввод очередного символа с клавиатуры }
          N := N + 1;    { Увеличение счетчика символов на единицу }
          IF (СН >= 'A') AND (СН <= 'Z')
          THEN COUNTER[CH] := COUNTER[CH] + 1;
          {Наращивается элемент массива с индексом, соответствующим коду вводимого символа}
    UNTIL СН = '*';    { Если True, то прочитана * - признак конца текста}
  WRITELN('Всегo прочитано символов:', N);
  WRITELN('буквa:' :10, 'частота:' :10, 'процент:' :10);
FOR СН := 'А' ТО 'Z'    { Вывод элементов массива на экран }
     DO       WRITELN(CH:8,COUNTER[CH]:10,COUNTER[CH]*100/N:10:2)
END.


Предыдущая статья: Программирование данных.
Оглавление: Лекции по Pascal.
Следующая статья: Инициализация одномерного массива.


   ГлавнаяПаскальЛекции по Паскаль