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

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


=== Использование одинаковой переменной цикла в заголовках вложенных циклов===
=== Использование одинаковой переменной цикла в заголовках вложенных циклов===
<source lang="Delphi">var i,j: integer;
begin
  for i := 1 to 10 do
  for i := 1 to 10 do // ошибка: во вложенном цикле нельзя использовать параметр цикла с тем же именем
  begin
    write(i);
  end; 
end.</source>
=== Неинициализированная переменная===
=== Неинициализированная переменная===
=== Зацикливание===
=== Зацикливание===

Версия от 12:57, 19 ноября 2009

Неверный тип переменной цикла

var x: real;
begin
  for x := 1 to 10 do // переменная - параметр цикла не может иметь вещественный тип
    write(x);
end.

Изменение переменной цикла в теле цикла

Пример 1.

var i: integer;
begin
  for i := 1 to 10 do
  begin
    write(i);
    i := i + 2; // Нельзя изменять значение переменной цикла внутри цикла
  end;  
end.

Пример 2.

var i: integer;
begin
  for i := 1 to 10 do
  begin
    read(i); // Нельзя изменять значение переменной цикла внутри цикла
    write(i);
  end;  
end.

Использование одинаковой переменной цикла в заголовках вложенных циклов

var i,j: integer;
begin
  for i := 1 to 10 do
  for i := 1 to 10 do // ошибка: во вложенном цикле нельзя использовать параметр цикла с тем же именем
  begin
    write(i);
  end;  
end.

Неинициализированная переменная

Зацикливание

Переполнение

Сравнение вещественных чисел на равенство

Ссылки

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