Ошибка в коде программы!

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
Анна Бак
новенький
Сообщения: 13
Зарегистрирован: 11.02.2014 13:23:09

Ошибка в коде программы!

Сообщение Анна Бак »

Всем доброго времени суток.
В книге Алексеев Е. Р., Чеснокова О. В., Кучер Т. В. - Free Pascal и Lazarus(2010), есть пример такой программы:

Код: Выделить всё

var a, b, c, d, x1, x2: real;
begin
writeln (’Введите_коэффициенты_квадратного_уравнения’);
readln (a, b, c);
d:=b*b−4*a*c;
if d<0 then
begin
//Если дискриминант отрицателен, то вывод сообщения,
//что действительный корней нет и вычисление комплексных корней.
writeln (’Действительных_корней_нет’);
{Вычисление действительной части комплексных корней.}
x1:=−b/(2*a);
{Вычисление модуля мнимой части комплексных корней.}
x2:=sqrt(abs(d))/(2*a);
writeln ( ’Комплексные_корни_уравнения_’,
a:1:2, ’x^2+’ ,b:1:2, ’x+’ ,c:1:2, ’=0’ );
{Вывод значений комплексных корней в виде x1±ix2}
writeln (x1:1:2, ’+i*(’ ,x2:1:2, ’)’);
writeln (x1:1:2, ’−i*(’ ,x2:1:2, ’)’);
end
else
begin
{иначе вычисление действительных корней x1, x2}
x1:=(−b+sqrt(d))/2/a;
x2:=(−b−sqrt(d))/(2*a);
{и вывод их на экран.}
writeln ( ’Действительные_корни_уравнения_’ ,
a:1:2, ’x^2+’ ,b:1:2, ’x+’ ,c:1:2, ’=0’);
writeln (’X1=’ ,x1:1:2, ’X2=’ ,x2:1:2)
end end.

Когда я начинаю компилировать программу выходить такое сообщение об ошибке:
Fatal: Syntax error, ")" expected but "identifier B" found.
Не могу найти где эта ошибка
КТО-НИБУДЬ, ПОДСКАЖИТЕ!!!
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

Видимо, проблема в том, что Вы отсканировали текст и не почистили от фигни.

Вместо короткого тире − должен знак минус -,
вместо обратной кавычки ’ — знак апострофа '.
Анна Бак
новенький
Сообщения: 13
Зарегистрирован: 11.02.2014 13:23:09

Сообщение Анна Бак »

Дож писал(а):Видимо, проблема в том, что Вы отсканировали текст и не почистили от фигни.

Вместо короткого тире − должен знак минус -,
вместо обратной кавычки ’ — знак апострофа '.


Я отсканировала текст только для того, чтобы задать вопрос.
А в Free Pascal вводила все в ручную и все знаки переписывала уже несколько раз, ничего не помогает.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

какая строка с ошибкой?
Анна Бак
новенький
Сообщения: 13
Зарегистрирован: 11.02.2014 13:23:09

Сообщение Анна Бак »

Little_Roo писал(а):какая строка с ошибкой?

В этом-то и проблема. Я не могу найти строчку с ошибкой.
Полный текст ошибки такой:
Zero.pas (15,12) Fatal: Syntax error, ")" expected but "identifier B" found.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

Анна Бак писал(а):Zero.pas (15,12

Таки строка 15, позиция 12.... :shock:
Но это в ПОЛНОМ тексте кода программы....
Анна Бак
новенький
Сообщения: 13
Зарегистрирован: 11.02.2014 13:23:09

Сообщение Анна Бак »

Little_Roo писал(а):Таки строка 15, позиция 12.... :shock:
Но это в ПОЛНОМ тексте кода программы....

СПАСИБО БОЛЬШОЕ!!! :D :D :D
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

Анна Бак писал(а):
Дож писал(а):Видимо, проблема в том, что Вы отсканировали текст и не почистили от фигни.

Вместо короткого тире − должен знак минус -,
вместо обратной кавычки ’ — знак апострофа '.


Я отсканировала текст только для того, чтобы задать вопрос.
А в Free Pascal вводила все в ручную и все знаки переписывала уже несколько раз, ничего не помогает.

Разумно приводить на форуме именно неработающий код, потому что приведённый в первом посте после замены указанных мною символов на правильные благополучно компилируется и запускается.
Анна Бак
новенький
Сообщения: 13
Зарегистрирован: 11.02.2014 13:23:09

Сообщение Анна Бак »

Дож писал(а):Разумно приводить на форуме именно неработающий код, потому что приведённый в первом посте после замены указанных мною символов на правильные благополучно компилируется и запускается.


Спасибо. Постараюсь.
Ответить