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

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

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

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

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

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

Отображение на экране значений двумерного массива.

Если в результате работы вашей программы необходимо значения каждого элемента двумерного массива отобразить на экране монитора, то можно воспользоваться любым из двух способов, описанных ниже.

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


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

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

   ГлавнаяПаскальЛекции по ПаскальСортировка двумерного массива.