Ваша главная проблема в том, что i
выходит за рамки. i
может использоваться только внутри цикла for
. Поместите операторы put
в цикл for. Как это:
% calculates the population of a city from year 2000 to 2020
var popstart : real := 80000
var popgrowth : real
var popend : real
var growthrate : real := 0.03
% popgrowth := popstart * growthrate
for i : 2000..2020
popgrowth := popstart * growthrate
popstart += popgrowth
put "year population"
put "==== =========="
put i, " ", popstart
end for
@ Решение DavidWolever приведет только к росту населения в прошлом году. В вашей программе также есть логическая ошибка, заключающаяся в том, что она даст только темпы прироста населения, а не всего населения.
Я полагаю, что проблема с вашими учителями была решена, потому что Тьюринг - очень устаревший язык. Он потерял поддержку много лет назад. Я до сих пор помню некоторые из девятого класса, но, возможно, не стоит публиковать здесь вопросы, связанные с Тьюрингом, поскольку никто действительно не понимает язык и его соглашения.
Ресурсы для помощи: http://touque.ca/EC/programming/Turing/
Немного более придирчивых деталей, которые не связаны: оператор for
не имеет правильного отступа, а by 1
не нужен.