- •1. Понятие алгоритма и его свойства
- •2.Способы представления алгоритма
- •3. Средства описания языков программирования
- •4. Классификация языков программирования
- •5. Базовые элементы языка Паскаль
- •6.Структура программы
- •7.Стандартные типы данных.Числовые типы.
- •8. Стандартные не числовые типы данных
- •9. Выражения и виды операций
- •10. Стандартные функции
- •10.2 Стандартные функции
- •11. Операторы действия
- •12. Процедуры ввода
- •13. Процедуры вывода
- •14. Структурные операторы. Составной оператор. Условные операторы.
- •15. Операторы цикла.
- •17. Структурированные типы данных. Массивы.
- •18. Строки
- •19. Записи
- •20. Процедуры. Процедуры без параметров. Параметры- значения.
- •21. Процедуры. Параметры-переменные.
- •22. Пользовательские функции
- •23. Рекурсия
- •24. Понятие файла
- •25. Процедуры и функции для работы с файлами
- •26.Текстовые файлы
- •27. Модули
- •28. Распределение памяти при выполнении программ
- •29.Указатели. Ссылочные переменные
- •30. Процедуры для работы со ссылками
- •33. Структурное программирование.
- •34. Нисходящее проектирование программ
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 будет содержать номер позиции первого ошибочного символа, а значение х не определено.