Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога.docx
Скачиваний:
1
Добавлен:
28.10.2018
Размер:
96.22 Кб
Скачать

17. Структурированные типы данных. Массивы.

Паскаль допускает использование массивов произвольной размерности, но занимать они могут не более 65520 байт.Формат описания массива: type <имя__типа> = array [<тип__индекса>] of <тил__элемента>; var <идентификатор, ...>:<имя типа>; Рассмотрим формат описания массивов в разделе var, без предварительного описания типа: var <идентификатор, ...>:array [<тип_индекса>] of <тип_элемента>;Здесь array и of - ключевые слова. Над элементами мас­сива допустимы все действия, определенные для данного типа. Единственным действием, которое возможно произвести с мас­сивом целиком - присваивание и сравнение. Но для этого масси­вы должны быть описаны через имя типа, либо в одном списке раздела var. Одномерные массивы. Линейный массив является линейной таблицей, в которой для точного указания на элемент данных достаточно знания толь­ко одного. В Паскале можно использовать массивы произвольной раз­мерности, Бели речь идет о двумерных (в общем случае - многомерных) масси­вах, то в описаниях должны быть заданы диапазоны изменения всех индексов.

Разновидности: массивы, множества, записи -структуры, т.к. их разме-ры неизменны в течение вып проги, Может иметь неогран уровни структурир. Индекс –порядк номера эл.

Элем массива – индексирован перемен. Массив - это упорядоч структура однотипн данн, хранящая их последовательно. Доступ к эл мас осущ ч/з его индекс.

Имя типа = ARRAY [ диапазоны индексов ] OF тип элемента массива;

В кач типа для эл масс можн исп люб типы Паскаля кроме файловых. Диапазоны индекс предст один или несколько диапазонов, перечислен через запятую. В кач диапаз индек нельзя исп диапаз с базовым типом Longint.

18. Строки

Структура строки в ПаскалеСтрока есть последовательность символов языка Паскаль, В выражениях константу-строку заключают в апострофы.Формат описания строки: var <идентификатор1>, .... string[<длина строки>] ;<длина строки> — количество символов в строковой переменной. Число символов не может превышать 255. Фактиче­ская длина строки может быть короче указанной в описании. Длину строки можно не указывать. В этом случае ее длина будет предельной - 255 символов. Для хранения строки в памяти отво­дится количество байтов на 1 больше длины строки. В нулевом байте хранится реальная длина строки. Доступ к элементам стро­ки - символам - осуществляется так же, как к элементам массива, с помощью индекса, который записывается в квадратных скобках за идентификатором строковой переменной.Примеры описания строк: const slovo = 'massiv'; frasa = 'Я пишу программу' ; type subekt - string [30]; var В,A : subekt; fio : string[30]; text: string;Над строками определена операция соединения (конкате­нации) «+». Она соединяет две строки в одну результирующую строку. ФункцииConcat(si, s2, sn) возвращает строку, являющуюся слиянием строк si, s2, .... sn. Ее действие аналогично операции конкатенации.Copy (s, i, n) возвращает подстроку длиной n, начи­наюoeюся с позиции i строки s. Параметры n и i должны быть целого типа.Length(s) возвращает фактическую длину строки S, ре­зультат имеет тип byte. Pos (s1, s) возврашает номер первого символа подстро­ки s1 в строке s или нуль, если si не содержится в s.Процедуры Delete(s, i, n) удаляет из строки s, начиная с пози­ции i, подстроку длиной n.Insert (s1, s, i) вставляет в строку s подстроку si, начинаяс позиции I S t г (х, s) преобразует числовое значение х в строку s, при этом для х может быть задан формат, как в процедурах вывода.Val(s, х, code) преобразует строку s, содержащую символьное представление числа, в значение числовой перемен­ной х. В случае успешного преобразования переменная code рав­на нулю. Если же обнаружена ошибка, то code будет содержать номер позиции первого ошибочного символа, а значение х не оп­ределено.