Исправьте ошибки
mas1=array[1..10] of integer;
mas2=array[1..20] of integer;
Var
a,b:mas1;
c:mas2;
i:integer;
Begin
randomize;
writeln('Массив A');
for i:=1 to 10 do
begin
a[i]:=random(51);
write(a[i]:5);
end;
writeln('Массив B');
for i:=1 to 10 do
begin
b[i]:=random(151)-70;
write(b[i]:5);
end;
for i:=1 to 20 do
if i mod 2=0 then
c[i]:=b[i div 2]
else
c[i]:=a[i div 2];
writeln('Массив C');
for i:=1 to 20 do
write(c[i]:6)
end.
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, чтобы было нагляднее.
DIM n AS INTEGER
INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER
DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n
INPUT "Введите имя студента:", studentName(i)
INPUT "Введите год рождения студента:", studentYearsOld(i)
NEXT i
PRINT
FOR i = 1 TO n
PRINT "Студент "; studentName(i)
studentYrs = 2016 - studentYearsOld(i)
IF studentYrs < 18 THEN
PRINT "Лет до права голоса:"; 18 - studentYrs
ELSEIF studentYrs >= 18 THEN
PRINT "Студент уже имеет право голоса!"
PRINT
END IF
studentYrs = 0
NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.