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

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

Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

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

Циклы с параметром. Оператор FOR.

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

Сортировка одномерного массива. Метод пузырька.

Сортировка — перестановка местами объектов в определенном порядке. Известно несколько сотен алгоритмов сортировки и их модификаций.

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

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

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.
Следующая статья: Инициализация одномерного массива.


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

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

   ГлавнаяПаскальЛекции по ПаскальЦиклы с параметром. Оператор FOR.