Начало. Возможные ошибки

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

Неописанная переменная

begin
  S := 1; // Неизвестное имя S
end.

Все используемые переменные должны быть предварительно описаны в разделе описаний.

Отсутствующая ;

var S: integer // Ожидалась ;
begin
  S := 1; 
end.

var S: integer;
begin
  S := 1 // Ожидалась ;
  S := S + 1
end.

Очень частая ошибка у начинающих. Курсор, как правило, позиционируется в начале следующей строки

Несовместимость типов при присваивании

var S: integer;
begin
  S := 1.3; // Нельзя преобразовать тип real к integer
end.

Безболезненно можно присваивать только данные одного типа. Если данные - разных типов, то в редких случаях можно преобразовать данные одного типа в данные другого. Например, целое можно преобразовать в вещественное, а символ - в строку. Обратные преобразования не допускаются.

Отсутствие закрывающего апострофа литеральной строки

var x,y: integer;
begin
  x := 2; y := 3;
  writeln('Результат сложения равен=,x+y); // Не хватает закрывающего апострофа
end.

Закрыть апостроф надо на той же строке, где расположен открывающий апостроф

Ошибки расстановки запятых и апострофов при выводе строк и выражений

var x,y: integer;
begin
  x := 2; y := 3;
  writeln(x,'+,'y,'=',x+y); // Неверная расстановка запятых и апострофов
end.

Ошибка ввода

var x: integer;
begin
  read(x); // введите блаблабла и посмотрите, что получится
end.

Ошибка неинициализированной переменной

var x,r: integer;
begin
  // Забыли инициализировать или ввести x
  r := x*x;
  writeln('Квадрат числа ',x,' = ',r);
end.

Деление на 0

var x,c: integer;
begin
  x := 0;
  c := 666 div x; // Здесь происходит деление на 0
end.

Корень из отрицательного числа

begin
  writeln(sqrt(-1)); // Корень из отрицательного числа 
end.

В PascalABC.NET выводит NaN - Not a Number

Ссылки

Оглавление