Процедуры и функции. Тексты программ: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) |
Mikst (обсуждение | вклад) |
||
Строка 117: | Строка 117: | ||
=== Функция определения простоты числа === | === Функция определения простоты числа === | ||
<source lang="Delphi">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.</source> | |||
=== Функция вычисления n-того числа Фибоначчи=== | === Функция вычисления n-того числа Фибоначчи=== | ||
=== Функция определения НОД числа === | === Функция определения НОД числа === |
Версия от 12:15, 28 ноября 2009
Вычисление площади и периметра прямоугольника
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.