Процедуры и функции. Тексты программ
Материал из Вики проекта PascalABC.NET
Вычисление площади и периметра прямоугольника
procedure RectSP(a,b: real; var S,P:real); begin S := a * b; P := a + b; end; var x,y: real; // Стороны прямоугольника S: real; // Площадь прямоугольника P: real; // Периметр прямоугольника begin write('Введите стороны прямоугольника: '); readln(x,y); RectSP(x,y,S,P); writeln('Площадь равна ',S); writeln('Периметр равен ',P); end.
Табулирование функции
function f(x: real): real; begin Result := x*x - 2*x + 3; end; var a,b: real; // [a,b] - отрезок, на котором табулируется функция f(x) N: integer; // Количество частей, на которые разбивается [a,b] begin write('Введите a,b: '); readln(a,b); write('Введите N: '); readln(N); var h := (b-a)/N; var x := a; writeln('x f(x)'); for var i:=0 to N do begin writelnFormat('{0,3:f1} {1,6:f2} ',x,f(x)); x += h; end; end.
Функция вычисления an
function Power(a: real; n: integer): real; begin Result := 1; for var i:=1 to n do Result *= a; end; var a: real; n: integer; begin write('Введите a: '); readln(a); write('Введите n: '); readln(n); writelnFormat('{0} в степени {1} = {2}',a,n,Power(a,n)); end.
Функция вычисления n!
function Factorial(n: integer): integer; begin Result := 1; for var i:=2 to n do Result *= i; end; var n: integer; begin write('Введите n: '); readln(n); writelnFormat('{0}! = {1}',n,Factorial(n)); end.
Функция, преобразующая цифру к ее словесному наименованию
function DigitName(n: integer): string; begin case n of 0: Result := 'ноль'; 1: Result := 'один'; 2: Result := 'два'; 3: Result := 'три'; 4: Result := 'четыре'; 5: Result := 'пять'; 6: Result := 'шесть'; 7: Result := 'семь'; 8: Result := 'восемь'; 9: Result := 'девять'; end; end; begin writeln(DigitName(3)); writeln(DigitName(5)); writeln(DigitName(7)); end.
Функция проверки числа на четность
function Even(x: integer): boolean; begin Result := x mod 2 = 0 end; begin writeln(Even(3)); writeln(Even(4)); writeln(Even(7)); end.
Функция определения простоты числа
function IsSimple(N: integer): boolean; begin Result := True; for var i:=2 to round(sqrt(N)) do if N mod i = 0 then begin Result := False; exit; end; end; begin writeln(IsSimple(13)); writeln(IsSimple(4)); writeln(IsSimple(7)); end.
Функция вычисления n-того числа Фибоначчи
function Fib(N: integer): integer; begin if (N=1) or (n=2) then Result := 1 else begin var a := 1; var b := 1; for var i:=3 to N do begin Result := a + b; a := b; b := Result; end; end; end; begin writeln(Fib(5)); writeln(Fib(6)); writeln(Fib(7)); end.
Функция определения НОД числа
function NOD(a,b: integer): integer; begin while b<>0 do begin var c := a mod b; a := b; b := c; end; Result := a; end; var x,y: integer; begin x := 15; y := 12; writelnFormat('НОД чисел {0} и {1} равен {2}',x,y,NOD(x,y)); x := 144; y := 64; writelnFormat('НОД чисел {0} и {1} равен {2}',x,y,NOD(x,y)); x := 99; y := 54; writelnFormat('НОД чисел {0} и {1} равен {2}',x,y,NOD(x,y)); end.
Процедура вывода таблицы умножения
procedure Pifagor(n: integer); begin for var i:=1 to n do begin for var j:=1 to n do write(i*j:4); writeln; end; end; begin Pifagor(15); end.
