- •Лабораторная работа № 1
- •2. Основные сведения
- •2.1. Программы линейной структуры
- •2.2. Общие сведения о интегрированной Среде Borland Pascal
- •3. Выполнение работы
- •4. Форма отчета
- •5. Контрольные вопросы
- •Лабораторная работа № 2 программы разветвляющейся структуры
- •2. Основные сведения
- •2.1. Условный оператор if
- •2.2. Оператор варианта Case
- •4. Контрольные вопросы
- •Лабораторная работа №3 программы циклической структуры
- •2. Основные сведения
- •3. Выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа №4 обработка массивов
- •2. Основные сведения
- •2.1. Пример обработки одномерного массива
- •2.2. Пример обработки многомерного массива
- •3. Выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа №5 работа с символьными данными
- •2. Основные сведения
- •2.1. Тип данных char
- •2.2. Тип данных string
- •3. Выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 6 процедуры и функции
- •2. Основные сведения
- •2.1. Процедуры
- •2.2. Функции, определяемые программистом
- •2.3. Рекурсия
- •3. Выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа № 7 записи
- •2. Основные сведения
- •3. Выполнение работы
- •Лабораторная работа № 8 файлы
- •2. Основные понятия
- •2.1. Текстовые файлы
- •2.2. Типизированные файлы
- •3. Выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа №9 динамическая память
- •2. Основные сведения
- •3. Выполнение работы
- •4. Контрольные вопросы
- •Лабораторная работа №10 компьютерная графика
- •Основные сведения
- •Пример программы построения графика функции.
- •3. Выполнение работы
- •4. Контрольные вопросы
- •4.5. Принципы построения графика функции.
- •4.6. Привести пример построения 10 концентрических окружностей разного цвета. Лабораторная работа № 11 модули в турбо паскале
- •2. Основные сведения
- •3. Выполнение работы
- •4. Форма отчета
- •5. Контрольные вопросы
2.2. Функции, определяемые программистом
Набор встроенных функций языка Паскаль достаточно широк (ABS, SQR, TRUNC и т.д.). Если в программу включается новая, нестандартная функция, то ее необходимо описать в тексте программы, после чего можно обращаться к ней из программы. Обращение к функции осуществляется в правой части оператора присваивания, с указанием имени функции и фактических параметров. Функция может иметь собственные локальные константы, типы, переменные, процедуры и функции. Описание функций аналогично описанию процедур. Отличительные особенности функций:
- результат выполнения - одно значение, которое присваивается имени функции и передается в основную программу;
- имя функции может входить в выражение как операнд.
Пример 3. Написать подпрограмму-функцию степени а x ,где a, х – любые числа. Воспользуемся формулой а x =e x l n a
program p2;
var f, b, s, t, c, d : real; { глобальные параметры}
function stp (a, x : real) : real;
var y : real; { локальные параметры}
begin
y := exp (x * ln ( a)) ;
stp:= y;{присвоение имени функции результата вычислений подпр-мы}
end; { описание функции закончено }
begin {начало основной программы }
d:= stp (2.4, 5); {вычисление степеней разных чисел и переменных }
writein (d, stp (5,3.5));
read (f, b, s, t); c := stp (f, s)+stp (b, t);
writeln (c);
end.
2.3. Рекурсия
В языке Паскаль процедуры и функции могут вызывать сами себя, т.е. обладать свойством рекурсивности. Рекурсивная функция обязательно должна содержать в себе условие окончания рекурсивности, чтобы не вызвать зацикливания программы. При каждом рекурсивном вызове создается новое множество локальных переменных. Т.о. переменные, расположенные вне вызываемой функции, не изменяются.
Пример 4. Составить рекурсивную функцию, вычисляющую факториал числа n следующим образом: n!= 1 , если n= 1 и n!= ( n -1 )! · n , если n > 1
function f ( n : integer): integer;
begin
if n = 1 then f :=l else f := n * f ( n -1 ) { функция f вызывает саму себя}
end;
3. Выполнение работы
3.1. Разобрать приведенные выше программы.
3.2. С использованием процедур выполнить свой вариант задания Л.р. Двумерные массивы.
3.3. Используя подпрограммы-функции, написать программу вычисления значения определенного интеграла от заданной в варианте функции методом трапеций. Для этого используется формула
, где .
Число отрезков деления принять равным n=10 и n=20, оба результата вывести на экран. Вычисление интеграла и f (x) оформить в виде функций. Найти погрешность вычисления интеграла.
Варианты заданий
1. f (x)=(sin2 x+cos x)/(2 x2 +8) ; a=0; b=1.
2. f (x)=(sh x + ch x)/(3 + x2) ; a=1; b=2.
3. f (x)=(sh2 x - e x )/(2+x); a=0; b=1.
4. f (x)=(e x -2)/(sin 2 x + 5) ; a=2; b=4.
5. f (x)=(3 sin x - cos x)/(ch 2 x +2) ; a=1; b=3.
6. f (x)=(ch x - sh 2 x)/(6+2 x2) ; a=0; b=1.
7. f (x)=(sin x + sh x)/ (x 2 +2 x +3) ; a=0; b=2.
8. f (x)=(x 3 + 4 x)/(sin 2 x +5) ; a=1; b=2.