Олег 4 ноября 2019 в 07:38

Помогите Найти и объяснить ошибки

п/п Пример Ответ Пояснения
1 for i=1 to n do;
2 for i:=n to 1 do
3 for i=1 to n do step 1
4 while a < 5 do;
a:=a+1; b:=b+a;
5 Repeat a < 5
a:=a+1; b:=b+a;
until;
6 while c < k or k = 0 do
7 while c < k
s:=s+k; ;
8 if a > 9 if a = b or a > 5 then a:=a+b;
10 if (a => b) c:=a+b;

Объясню так, будто я компилятор =)
1. Вместо оператора присваивания (:=) оператор сравнения (=). В цикле не объясняется, что он должен делать, т.е. после do отсутствуют операторы, не говоря уже об отсутствии признака завершения строки - (;).
2. Вместо оператора присваивания - оператор сравнения, нет точки с запятой и операторов после do, цикл написан не в лучшем стиле - т.е. в качестве границы счетчика используется целочисленная константа - 1.3. Step это неизвестный для компилятора оператор или функция.
4. do отделен от операторов ;. Компилятор не выдаст ошибки, но программа зациклится.
5. Repeat-until - цикл с постусловием - т.е. логическое выражение a lt; 5 должно быть описано после ключевого слова until.
6. Выражения должны быть в скобках.
7. Лишняя ;.
8. Не хватает then после первого if.
10. Не хватает then после if. Неверно написан оператор сравнения (=gt;).

Компьютеры и вычисления
Для комментирования необходимо зарегистрироваться на сайте