Не особо знаю паскаль, так что дабы не накосячить с синтаксисом, покажу на примере. Тут всё просто - тебе лишь нужен цикл For и расчет процентов.
FOR i = 1 TO 100 percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round) x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет END 'завершаем программу END IF NEXT i ' конец цикла Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.
Type Massiv=array[1..100] of integer; var a,b:Massiv; n,i,j,p:integer; begin randomize; write('Ввод n='); readln(n); writeln('Нужно неубывание (1) или невозрастание (2)?'); readln(p); if p=2 then p:=-1; writeln('Массив:'); a[1]:=random(20)-5; for i:=2 to n do a[i]:=a[i-1]+p*random(5); write('('); for i:=1 to n do write(a[i],' '); write(')'); writeln;
i:=1; j:=0; while i<n do begin if a[i]=a[i+1] then begin inc(j); b[j]:=a[i]; end; while (i<n)and(a[i]=a[i+1]) do inc(i); inc(i); end; writeln('Новый массив:'); for i:=1 to j do write(b[i]:4); readkey End.