Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatic-hardquestions.docx
Скачиваний:
7
Добавлен:
26.09.2019
Размер:
50.05 Кб
Скачать

Одномерные массивы

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

Массив в Паскале

<имя массива>:= array [<количество элементов>] of <тип переменной>; Каждый элемент массива в общем виде описывается как А[I], где А - имя массива, I - номер или индекс массива (0<=I<=N, но практически употребляется 1<=I<=N) A[I] - значение элемента массива.

Действия над массивами

    Для работы с массивом как единым целым используется идентификатор массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения "равно", "не равно" и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и одинаковые типы компонентов.

    Например, если массивы А и В описаны как var А, В: array[1..20] of real; то применение к ним допустимых операций даст следующий результат:

    Выражение Результат

    А=В True, если значение каждого элемента массива А равно соответствующему значению элемента массива В

    А<>В True, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В

    А:=В Все значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны.

Действия над элементами массива

    После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись Mas[2], VectorZ[10] позволяет обратиться ко второму элементу массива Mas и десятому элементу массива VectorZ.

    При работе с двумерным массивом указываются два индекса, с n-мерным массивом - n индексов. Например, запись MatrU[4,4] делает доступным для обработки значение элемента, находящегося в четвертой строке четвертого столбца массива MatrU.

    Индексированные элементы массива называются индексированными переменными и могут быть использованы так же, как и простые переменные. Например, они могут находиться в выражениях в качестве операндов, использоваться в операторах for, while, repeat, входить в качестве параметров в операторы Read, Readln, Write, Writeln; им можно присваивать любые значения, соответствующие их типу.

Двумерные массивы

    Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце. В общем виде элемент матрицы обозначается как A(I,J), где А — имя массива, I — индекс (номер) строки, J — индекс (номер) столбца.

Описание матрицы на языке Паскаль

    Матрицу можно задать двумя способами:

  1. <имя матрицы>: array [<количество строк>] of array [<количество столбцов>] of <тип переменной>;

  2. <имя матрицы>: array [<количество строк >,<количество столбцов>] оf <тип переменной>].

Соотношение индексов в квадратной матрице

I=J элементы матрицы расположены на главной диагонали I<J элементы матрицы расположены над главной диагональю I>J элементы матрицы расположены под главной диагональю I+J=N+I элементы матрицы расположены на побочной диагонали (N — количество строк или столбцов в квадратной матрице) I+J<N+I элементы матрицы расположены над побочной диагональю I+J>N+I элементы матрицы расположены под побочной диагональю.

Операции в Pascal могут производиться не только над различными по характеру числами, но и над иными объектами. Такими объектами могут быть массивы, файлы, отдельные записи, их совокупности, ограниченные множества, перечисления и прочие логически связанные элементы.

Рассмотрим далее типы переменных - Char и String.

Переменные типа Char описывают отдельные символы кодовой таблицы ASCII (всего 256 символов). С этими переменными могут быть использованы функции Ord(a), Chr(x), UpCase(a).

Если аргументом функции Ord является какой-либо символ, то в результате операции присваивания t:=Ord(a);целочисленная переменная t получит значение, равное её числовому коду в системе ASCII. При выполнении присваиванияa:=Chr(x)a окажется символом, соответствующим коду x (при передаче параметра X, если он не Byte типа то преобразуется в него). Функция UpCase(a) при наличии в параметре a прописных символов преобразует их в заглавные, остальные же символы выдаст без изменения. UpCase применима лишь для преобразования символов латинского алфавита. Все эти особенности изложены в двух программах, приводимых далее:

Program Prochar; {Комплексная программа использования операторов символьных данных} Var a: Char; b, c: Byte; Begin Write('Введите символ'); ReadLn(a); b:= Ord(a); c:=Ord(UpCase(a)); WriteLn('a=',a,' Ord(a)=', b,' UpCase(a)=',UpCase(a),' c=',c); WriteLn(Chr(b),' ',Chr(c)); ReadLn End.

Program Casl; {Пример структуры Case<Порядковая переменная> of <Список выбора> else <Оператор> end;} {Выяснить, является ли введённый символ буквой латинского алфавита} Var ch: Char; Begin Write('Введите символ '); Readln(ch); Case ch of 'A'..'Z','a'..'z': Writeln('Символ ',ch,' является символом латинского алфавита'); Else Writeln('Символ ',ch,' не является символом латинского алфавита'); End; End.

Библиотека (модуль) CRT в Turbo Pascal.

 

Библиотека CRT позволяет менять цвета и яркость экрана, производить

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

Подключение модуля CRT производится директивой USES CRT, которая

указывается в разделе описаний.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]