Учеба и наука

Решено

Помошите с кодом Pascal Помогите найти ошибку - вопрос №2617736

Program TEST; var a, b, x, y, x1, x2, xx, i: integer; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output); read(x,y); x1:=0; x2:=1; for i:=3 to x do; begin xx:=x1+x2; x1:=x2; x2:=xx end; end; a:=y; div x1; b:=0; while x1*a+x2*b<>y do begin while x1*a+x2*b if x1*a+x2*b<>y then begin a:=a-1; b:=0; end; write(a,' ',b) end.

октябрь 12, 2017 г.

  • Всего ответов: 1

  • Константин - аватарка

    Константин

    4-й в

    1 — явная ошибка
    ...

    begin
    xx:=x1+x2;
    x1:=x2;
    x2:=xx
    end;
    end;
    … два «end;» подряд, один лишний, ломает баланс «begin end»

    2 — соответственно, в конце программы не хватает «end;» в предпоследней строке, перед «end.», то же самое — нарушен балас

    3 — точно ошибка — в строке «while x1*a+x2*b if x1*a+x2*b<>y then» пропущен «do», что бы такие ошибки были лучше видны, рекомендуется писать операторы/выражения по одному в строке, использовать отступ для наглядного отображения уровня вложенности, брать в кавычки логическое условие

    while (x1*a+x2*b) do
           if (x1*a+x2*b<>y) then

    4 — о наличии еще каких либо ошибок говорить невозможно, не зная назначения программы, входного файла, и листинга ошибок компилятора

    октябрь 12, 2017 г.
    Ответ понравился автору
    Лучший ответ по мнению автора

Похожие вопросы

информатика 2

Вопрос задан анонимно ноябрь 19, 2011 г.

Учеба и наука

Программирование

ноябрь 23, 2011 г.

Учеба и наука