1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var current, past, sum: real;
i, n: integer;
begin
current : = 10;
for i : = 1 to 10 do begin
writeln(i, ' ', current);
past : = current;
current : = current * 1.1;
end;
current : = 10; sum : = 0;
write('n = ');
read(n);
for i : = 1 to n do begin
sum : = sum + current;
past : = current;
current : = current * 1.1;
end;
writeln('за ', n, ' дней: ', sum);
end.
Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам
1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i).
2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.
3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).
Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора
Ввод()
Присваивание
Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.
Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2.
И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.
Успехов!