Первое занятие. Функции. Модули. Тестирование функций. Кортежи.
1. Использование описание переменных внутри блоков и новых операторов присваивания (+=, *= и т.д.).
1.1.Описать функцию Exp1(x, eps)
вещественного типа (параметры x, eps — вещественные, eps > 0), находящую приближенное значение функции exp(x)
:
С помощью Exp1
найти приближенное значение экспоненты для данного x.
1.2 Реализовать проверку входных параметров с помощью Assert
.
2. Описать функцию IsDigit(D)
, которая возвращает истину, если целое число D представляет цифру (то есть D лежит в диапазоне 0–9). В основной программе вывести значение этой функции для N (N ≥ 0) данных чисел.
3. Описать функцию AddRightDigit(D, K)
, которая возвращает целое число, полученное «дописыванием» к целому положительному числу K справа цифры D (D — входной параметр целого типа, лежащий в диапазоне 0–9, K — входной положительный параметр целого типа).
Указание #1. Добавьте проверку корректности значений входных параметров D, K в начало функции AddRightDigit
:
Assert(IsDigit(d));
Assert(k > 0);
Описать в краткой форме функцию АMean(X, Y)
, вычисляющую среднее арифметическое
Описать в краткой форме функцию GMean(X, Y)
, вычисляющую среднее геометрическое
5 Кортежи. объявление может иметь вид:
var t: (string,integer);
Присваивание и вывод:t:=('Смирнов',56);
Print(t);
t[1]:= 100; ///ошибка - нельзя изменять. Но можно распаковать!
var name: string;
var age: integer;
(name,age) := t;
Print(name,age);
6.1 Кортежи - результат функции (вместо процедур).
Опишите в модуле функцию вычисления площади и периметра прямоугольника, заданного своими сторонами.
function SP(a,b: real) :(real,real);
в разделе реализации используйте краткую форму. Для вызова в основной программе можно использовать
var S,P: real;
(S,P) := SP(2,3);
print(S,P);
6.2 Картежное присваивание. Описать функцию FibN(N)
, которая принимает целое положительное значение N ≥ 1 и возвращает N-ое число Фибоначчи. Напоминаем, что последовательность Fk чисел Фибоначчи определяется следующим образом:
Это числа
Указание к реализации: после инициализации основное вычисление будет выглядеть:
for var i:=2 to n do
(f1,f2):=(f2,f1+f2);
result:=f2;
В основной программе считать значение N и вывести соответствующее число Фибоначчи FN.
6.3.Дано целое число N > 2.
Последовательность вещественных чисел Ak определяется следующим образом:
Дано целое число N > 3. Последовательность целых чисел Ak определяется следующим образом: