- •Алгоритм. Свойства алгоритма.
- •2. Алфавит языка Pascal.
- •3. Структура Pascal-программы.
- •4. Идентификаторы. Переменные.
- •5. Константы. Виды констант.
- •6. Типы данных языка Pascal
- •7. Порядковые типы данных и стандартные подпрограммы для их обработки
- •8. Операции. Арифметические операции. Арифметические выражения
- •9. Стандартные арифметические функции. Порядок вычислений.
- •10. Преобразование типов данных. Стандартные функции преобразования типов данных.
- •11. Ввод с консоли. Вывод на консоль. Форматированный вывод.
- •12. Комментарии. Простейшие операторы языка Pascal.
- •13. Условный оператор if.
- •14. Оператор выбора case.
- •15. Метки и безусловный переход. Операторы break и continue.
- •16. Оператор циклов for-to.
- •17. Оператор циклов for-downto.
- •20. Массивы. Описание переменных размерностей. Обращение к компонентам массива.
- •21. Многомерные массивы. Задание массива константой.
- •22. Символы. Символ-константа. Операции с символами. Стандартные функции для работы с символами.
- •23. Строки. Строка-константа. Операции со строками. Стандартные функции и процедуры обработки строк.
- •24. Множества. Множество-константа. Операции со множествами.
- •25. Функции. Объявление функции. Описание функции. Возвращаемые значения. Вызов функции.
- •26. Функции. Способы постановки аргументов.
- •27. Процедуры. Объявление процедуры. Описание процедуры. Возвращаемое значение. Вызов процедуры.
- •28. Процедуры. Способы постановки аргументов.
- •29. Записи. Описание. Задание записей константой. Доступ к полям записи.
- •30. Записи. Оператор with.
- •31. Файлы. Разновидность файлов. Описание файлов.
- •32. Текстовые файлы. Назначение текстовых файлов. Открытие и закрытие файла.
- •33. Текстовые файлы. Назначение текстовых файлов. Запись в файл. Считывание из файла.
- •34. Типизированные файлы. Описание типизированных файлов. Назначение типизированных файлов. Открытие и закрытие файлов.
- •35. Типизированные файлы. Назначение типизированных файлов. Запись в файл. Считывание из файла. Поиск в типизированном файле.
- •36. Нетипизированные файлы. Описание нетипизированных файлов. Назначение нетипизированных файлов. Открытие и закрытие файлов.
- •37. Нетипизированные файлы. Назначение нетипизированных файлов. Запись в файл. Считывание из файла. Поиск в нетипизированном файле.
- •38. Модульность программ. Стандартные модули языка Pascal. Подключение модулей.
- •39. Структура модуля. Секция внешних связей. Секция реализации. Секция инициализации.
- •40. Взаимодействие модулей. Компиляция модулей.
21. Многомерные массивы. Задание массива константой.
var имя: array[<тип_диапазон>,<тип_диапазон>] of <тип данных>
var a9: array[1..10,1..20] of real; - двумерный массив 10 х 20
В памяти компьютера элементы массива следуют друг за другом так, что при переходе от младших адресов к старшим наиболее быстро меняется самый правый индекс массива.
var y:array [1..2,1..2] of integer;
begin
y[1,1]:=1;
y[2,1]:=2;
y[1,2]:=3;
y[2,2]:=4;
end.
В памяти друг за другом будут расположены байты со знач. 1,3,2,4.
Для того чтобы не вводить массивы вручную во время отладки программы (особенно если они имеют большую размерность), можно входные данные задавать прямо в тексте программы при помощи типизированных констант.
Если массив линейный (вектор), то начальные значения для компонент этого вектора задаются через запятую, а сам вектор заключается в круглые скобки.
Многомерный массив также можно рассматривать как линейный, предполагая, что его компонентами служат другие массивы. Таким образом, для системы вложенных векторов действует то же правило задания типизированной константы: каждый вектор ограничивается снаружи круглыми скобками.
Исключение составляют только массивы, компонентами которых являются величины типа char. Такие массивы можно задавать проще: строкой символов.
Примеры задания массивов типизированными константами:
type mass = array[1..3,1..2] of byte;
const a: array[-1..1] of byte = (0,0,0); {линейный}
b: mass = ((1,2),(3,4),(5,6)); {двумерный}
s: array[0..9] of char = '0123456789'; {строка символов}
Замечание: Невозможно задать неименованную или нетипизированную константу, относящуюся к типу данных array.
22. Символы. Символ-константа. Операции с символами. Стандартные функции для работы с символами.
Неименованные константы. В тексте программы на языке Pascal последовательность любых символов, заключенная в апострофы, воспринимается как символ или строка. c:='z'; {c: char} s:='abc'; {s: string}
Константе автоматически присваивается "минимальный" тип данных, достаточный для ее представления: char или string[k].
Нетипизированные константы. Все правила задания символов и строк как неименованных констант остаются в силе и при задании именованных нетипизированных констант в специальном разделе const. Например:
const c3 = ''''; {это один символ - апостроф!}
Типизированные константы. Типизированная константа, которая будет иметь тип char или string, задается в разделе const следующим образом:
const c4: char = ''''; {это один символ - апостроф!}
s4: string[20] = 'This is a string';
Операции. Результатом унарной операции #<положительная_неименованная_константа_целого_типа>
является символ, номер которого в таблице ASCII соответствует заданному числу. Например, #100 = 'd'
Кроме того, к символьным переменным, как и к значениям всех порядковых типов данных, применимы операции сравнения <, <>, >, =, результат которых также опирается на номера символов из таблицы ASCII.
Стандартные функции
Функция chr(k:byte):char "превращает"; номер символа в символ. Действие этой функции аналогично действию операции #. Например: c:= chr(48); {c: char} {c = '0'} Обратной к функции chr() является функция ord().
Стандартные процедуры и функции pred(), succ(), inc() и dec(), определенные для значений любого порядкового типа, применимы также и к символам (значениям порядкового типа данных char).
Стандартная функция upcase(c: char):char превращает строчную букву в прописную. Символы, не являющиеся строчными латинскими буквами, остаются без изменения (к сожалению, в их число попадают и все русские буквы).
