- •Внутреннее представление данных
- •1) Представление чисел
- •2) Представление текстовых данных.
- •3) Представление мультимедийной информации
- •2. Основные этапы обработки программ пользователя.
- •Средства записи алгоритмов. Виды алгоритмов
- •4. Основные этапы решения задачи на компьютере.
- •Структура программы на языке Паскаль
- •6. Идентификаторы, числа, строки, выражения .
- •Операторы ввода/вывода данных
- •8. Числовые типы данных .
- •Полезные функции
- •Логические операции над битами
- •Символьный тип данных
- •10. Логический тип данных (Boolean) .
- •11.Перечисляемый и ограниченный типы.
- •Функция succ(X)
- •Функция pred(X)
- •Функция ord(X)
- •12. Раздел описания типов и констант . Типизированные константы.
- •Оператор присваивания, составной и условные операторы
- •Составной оператор
- •Оператор if-else
- •14. Операторы цикла.
- •Циклы включают в себя
- •Цикл for
- •Итерационные циклы Цикл while
- •Цикл repeat
- •16. Оператор выбора.
- •Массивы и переменные с индексами
- •18. Сортировка массивов.
- •Метод "пузырька"
- •Сортировка вставками
- •Строковые типы данных.
- •20. Приведение типов в Паскале.
- •Правила работы с типами данных
- •Пример задачи, где используется явное преобразование типов
- •21. Тип множество (Set).
- •23. Файловые типы данных
- •Классификация файлов в tp
- •24. Типизированные файлы. Создание и просмотр файлов.
- •25. Корректировка и дозапись компонент в типизированных файлах.
- •26. Текстовые файлы.
- •27. Корректировка и дозапись информации в текстовый файл.
- •28.Описание и вызов процедур в Паскале.
- •Параметры-значения, параметры-переменные
- •29. Описание и вызов функций в Паскале.
- •30.Область действия переменных при использовании подпрограмм.
- •31.Способы передачи параметров в подпрограммы.
- •32.Рекурсивное описание процедур и функций.
- •Существует два вида рекурсий:
- •33. Динамические типы данных. Простейшие действия с указателями.
- •34.Создание и обработка динамических списков
- •35. Создание и обработка стеков.
- •36.Создание и обработка очередей.
- •37. Создание и использование таблиц.
- •40.Буферизированный и небуферизированный ввод данных.
Параметры-значения, параметры-переменные
Параметры-значения (x1, x2:myType) – создается локальная копия переменной, передаваемой в качестве параметров. Существует только во время работы процедуры.
Параметры-переменные (var x1, x2:MyType) – процедура работает с с самой переменной, переданной ей в качестве параметра. Тем самым можно изменять непосредственно значение самой переменной, находящейся в основной программе.
Результат выполнения процедуры может быть передан только через параметр-переменную.
29. Описание и вызов функций в Паскале.
Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово function, идентификатор (имя) функции, заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой локальный блок, по структуре аналогичный программе:
function <имя> (Формальные параметры) : тип результата;
const ...;
type ...;
var ...;
begin
<операторы функции>
end;
В разделе операторов должен присутствовать, по крайней мере, один оператор, присваивающий имени функции значение. В точку вызова возвращается результат последнего такого присваивания.
Обращение к функции осуществляется по имени с необязательным указанием списка аргументов. Каждый аргумент должен соответствовать формальным параметрам, указанным в заголовке, и иметь тот же тип.
Когда процедура или функция вызываются, то в скобках вместо формальных параметров, указав фактические параметры (аргументы). Это могут быть либо конкретные значения, либо переменные из основной программы.
Тело подпрограммы, как и любого составного оператора на языке Паскаль, ограничивается скобками begin и end.
Пример:
var num: integer;
function digits (n:integer): integer;
var i: integer;
begin
i := 0;
while n > 0 do begin
n := n div 10;
i := i + 1
end;
digits := i
end;
begin
write ('Введите положительное число: ');
readln (num);
num := digits (num);
writeln ('Количество разрядов = ', num);
readln
end.
30.Область действия переменных при использовании подпрограмм.
Объекты, описанные внутри блока, являются по отношению к нему локальными и не доступны внешним блокам.
Формальные параметры являются локальными переменными в пределах данной подпрограммы.
Объекты, описанные во внешнем блоке доступны и могут быть использованы в любом его подблоке, т.e. они являютсяглобальными.
Пример.
procedure t1;
var y1, y2: real;
procedure sq1;
var a, b, c, d: real;
begin
{ Переменные a, b, c, d являются локальными для sq1,
область их действия – процедура sq1 }
……………………………………
end;
begin
{ Переменные y1, y2 - нелокальные для sq1,
область их действия – t1 и sq1 }
end;
Локальные переменные, описанные в подпрограмме прекращают свое существование после работы подпрограммы. (Память выделенная под них в начале работы очищается)
Все что описано выше блока (подпрограммы) в основной программе будет видно и может быть использовано в этом блоке. Поэтому, чтобы не нарушать принцип локальности и не допустить ошибок в случае совпадений имен переменных, лучше поместить раздел описаний переменных (Var) ниже всех подпрограмм.