Другие языки программирования и технологии

Когда-нибудь сойду с ума с этим Паскалем....Помогите!!!!

Нужно написать программу, которая подсчитает сумму членов последовательности, построенной за К шагов. На каждом шаге между соседними элементами числовой последовательности (0 шаг последовательность 1, 1) их сумму. Т.е. на втором шаге у нас будет уже 1,2,1... Может тут нужен массив?
Можно динамическим списком это реализовать (процедуру суммирования напишите сами) :

program sequence;

type
PQueue = ^TQueue;
TQueue = record
data: integer;
next: PQueue;
end;

procedure create(node: PQueue; data: integer);
begin
new(node); node^.data := data; node^.next := nil;
end;

procedure insert(node: PQueue; data: Integer);
var temp: PQueue;
begin
new(temp);
temp^.data := data;
temp^.next := node^.next;
node^.next := temp;
end;

procedure insertSum(node: PQueue);
begin
while node^.next <> nil do
begin
insert(node, node^.data + node^.next^.data);
node := node^.next^.next;
end;
end;

procedure view(node: PQueue);
begin
while node <> nil do
begin
write(node^.data, ' ');
node := node^.next;
end;
writeln;
end;

procedure destroy(node: PQueue);
var temp: PQueue;
begin
temp := node;
while node <> nil do
begin
temp := node^.next;
dispose(node);
node := temp;
end;
end;

var queue: PQueue = nil; k: integer;
begin
{ Создаём первый элемент }
queue := new(PQueue);
queue^.data := 1;
queue^.next := nil;
insert(queue, 1); { Добавляем второй элемент }
{ Читаем количество итераций }
write('k? '); read(k);
while k >= 1 do
begin
insertSum(queue); { Очередной шаг итерации }
Dec(k);
end;
view(queue); { Смотрим последовательность }
destroy(queue); { Уничтожаем последовательность }
end.

Проверка:

$ echo 1 | ./sequence
k? 1 2 1
$ echo 2 | ./sequence
k? 1 3 2 3 1
$ echo 3 | ./sequence
k? 1 4 3 5 2 5 3 4 1
$ echo 4 | ./sequence
k? 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1
$ echo 5 | ./sequence
k? 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1
Карим Раджабов
Карим Раджабов
88 453
Лучший ответ
нужен: массив, цикл for и несколько целочисленных
п. с. паскаль уг
Илья Екимов
Илья Екимов
3 660