Отладка (PascalABC.NET): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
(Новая страница: «== Отладка == * [http://pascalabc.net/wiki/index.php?title=%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA Отладка]»)
 
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 +
{{TOCRight}}
 
== Отладка ==
 
== Отладка ==
 
* [http://pascalabc.net/wiki/index.php?title=%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA Отладка]
 
* [http://pascalabc.net/wiki/index.php?title=%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA Отладка]
 +
 +
== Примеры ==
 +
=== Простое число ===
 +
<syntaxhighlight lang="pascal" line>
 +
function IsSimple(num: integer): boolean;
 +
Begin
 +
  var res := true;
 +
  for var i := 2 to trunc(sqrt(num)) do
 +
  begin
 +
    if (num mod i = 0) then
 +
    begin
 +
      res := false;
 +
      break;
 +
    end;
 +
  end;
 +
 
 +
  result := res;
 +
end;
 +
 +
Begin
 +
  var n:= ReadInteger('Введите n:');
 +
  var simple := IsSimple(n);
 +
 
 +
  Writeln($'Число {n} ', simple ? 'простое': 'составное');
 +
end.
 +
</syntaxhighlight>
 +
 +
=== Числа Фибоначчи ===
 +
<syntaxhighlight lang="pascal" line>
 +
// 0 1 1 2 3 5 8 13 21 34 55 89 144
 +
Begin
 +
  var n := ReadInteger('Введите n:');
 +
  var a := 0;
 +
  var b := 1;
 +
 
 +
  while(b < n) do
 +
  begin
 +
    (a,b) := (b, a+b);
 +
  end;
 +
 
 +
  Writeln((b = n) ? 'Да' : 'Нет');
 +
end.
 +
</syntaxhighlight>
 +
 +
=== Доброе утро мистер Иван ===
 +
<syntaxhighlight lang="pascal" line>
 +
function GoodMorning(name, title: string): string;
 +
Begin
 +
  var res := 'Доброе утро ' + title + ' ' + name + '!';
 +
  result := res;
 +
end;
 +
Begin
 +
  var n := 'Иван';
 +
  var t := 'мистер';
 +
  Writeln(GoodMorning(n,t));
 +
end.</syntaxhighlight>
 +
 +
=== Факториал ===
 +
<syntaxhighlight lang="pascal" line>
 +
// 5! = 1*2*3*4*5
 +
// 5! = 5*4*3*2*1
 +
// 4! =  4*3*2*1
 +
// 3! =    3*2*1
 +
// 2! =      2*1
 +
// 1! =        1
 +
// 5! = 5*4!
 +
// 4! = 4*3!
 +
// 3! = 3*2!
 +
// 2! = 2*1!
 +
// 1! = 1
 +
function factorial(num: BigInteger): BigInteger;
 +
begin
 +
  result := (num = 1) ? 1 : num * factorial(num-1);
 +
end;
 +
Begin
 +
  var n := ReadInteger('Введите n:');
 +
  Writeln($'{n}! = {factorial(n)}');
 +
end.
 +
</syntaxhighlight>

Текущая версия на 09:18, 15 июня 2021

Отладка

Примеры

Простое число

 1 function IsSimple(num: integer): boolean;
 2 Begin
 3   var res := true;
 4   for var i := 2 to trunc(sqrt(num)) do
 5   begin
 6     if (num mod i = 0) then
 7     begin
 8       res := false;
 9       break;
10     end;
11   end;
12   
13   result := res;
14 end;
15 
16 Begin
17   var n:= ReadInteger('Введите n:');
18   var simple := IsSimple(n);
19   
20   Writeln($'Число {n} ', simple ? 'простое': 'составное');
21 end.

Числа Фибоначчи

 1 // 0 1 1 2 3 5 8 13 21 34 55 89 144
 2 Begin
 3   var n := ReadInteger('Введите n:');
 4   var a := 0;
 5   var b := 1;
 6   
 7   while(b < n) do
 8   begin
 9     (a,b) := (b, a+b);
10   end;
11   
12   Writeln((b = n) ? 'Да' : 'Нет');
13 end.

Доброе утро мистер Иван

 1 function GoodMorning(name, title: string): string;
 2 Begin
 3   var res := 'Доброе утро ' + title + ' ' + name + '!';
 4   result := res;
 5 end;
 6 Begin
 7   var n := 'Иван';
 8   var t := 'мистер';
 9   Writeln(GoodMorning(n,t));
10 end.

Факториал

 1 // 5! = 1*2*3*4*5
 2 // 5! = 5*4*3*2*1
 3 // 4! =   4*3*2*1
 4 // 3! =     3*2*1
 5 // 2! =       2*1
 6 // 1! =         1
 7 // 5! = 5*4!
 8 // 4! = 4*3!
 9 // 3! = 3*2!
10 // 2! = 2*1!
11 // 1! = 1
12 function factorial(num: BigInteger): BigInteger;
13 begin
14   result := (num = 1) ? 1 : num * factorial(num-1);
15 end;
16 Begin
17   var n := ReadInteger('Введите n:');
18   Writeln($'{n}! = {factorial(n)}');
19 end.