Процедуры и функции. Возможные ошибки: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Строка 12: Строка 12:


=== Описание переменной цикла, используемого в процедуре, как глобальной===
=== Описание переменной цикла, используемого в процедуре, как глобальной===
<source lang="Delphi">var i: integer;
procedure Bad;
begin
  for i := 1 to 10 do // Переменная-параметр цикла for должна описываться подпрограмме, где используется цикл
    write(i);
end;
begin
  for i := 1 to 10 do
    Bad;
end.</source>
=== Передача выходных параметров по значению ===
=== Передача выходных параметров по значению ===


== Ссылки ==
== Ссылки ==
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]]
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]]

Версия от 12:59, 28 ноября 2009

Невозвращение значения функции по одной из ветвей алгоритма

function Bad(x: integer): integer;
begin
  if x>0 then 
    Result := 777 
  // При x<=0 значение функции непредсказуемо  
end;

begin
  writeln(Bad(-2));  
end.

Описание переменной цикла, используемого в процедуре, как глобальной

var i: integer;

procedure Bad;
begin
  for i := 1 to 10 do // Переменная-параметр цикла for должна описываться подпрограмме, где используется цикл
    write(i);
end;

begin
  for i := 1 to 10 do
    Bad;
end.

Передача выходных параметров по значению

Ссылки

Алгоритмы для начинающих