В Вашем варианте после while необходимо писать begin, а после Writeln - end. Но само по себе решение некрасивое.
Вот Вам еще два на выбор.
1. Без массива
var
s,n:integer;
begin
Write('Введите сумму: '); Read(s);
n:=s div 5000;
if n>0 then begin
Writeln('Банкнот "5000" всего: ',n);
s:=s mod 5000
end;
n:=s div 1000;
if n>0 then begin
Writeln('Банкнот "1000" всего: ',n);
s:=s mod 1000
end;
n:=s div 500;
if n>0 then begin
Writeln('Банкнот "500" всего: ',n);
s:=s mod 500
end;
n:=s div 100;
if n>0 then begin
Writeln('Банкнот "100" всего: ',n);
s:=s mod 100
end;
n:=s div 50;
if n>0 then begin
Writeln('Банкнот "50" всего: ',n);
s:=s mod 50
end;
n:=s div 10;
if n>0 then begin
Writeln('Банкнот "10" всего: ',n);
s:=s mod 10
end;
if s>0 then Writeln('Недоплачено: ',s)
end.
Пример:
Введите сумму: 162504
Банкнот "5000" всего: 32
Банкнот "1000" всего: 2
Банкнот "500" всего: 1
Недоплачено: 4
2. С массивом
const
k:array[1..6] of integer=(5000,1000,500,100,50,10);
var
s,n,i:integer;
begin
Write('Введите сумму: '); Read(s);
for i:=1 to 6 do begin
n:=s div k[i];
if n>0 then begin
Writeln('Банкнот "',k[i],'" всего: ',n);
s:=s mod k[i]
end
end;
if s>0 then Writeln('Недоплачено: ',s)
end.
Пример
Введите сумму: 15470
Банкнот "5000" всего: 3
Банкнот "100" всего: 4
Банкнот "50" всего: 1
Банкнот "10" всего: 2
Program i7;
var
i,n,k: integer;
begin
writeln('vvedi 4etireh znachoe chislo');
readln(n);
k:=1;
while n>0 do
begin
k:=k*n mod 10;
n:=n div 10;
end;
writeln(k);
end.
"Страны мира";
СТРАНА – символьный
СТОЛИЦА – символьный
ПЛОЩАДЬ – числовой
НАСЕЛЕНИЕ – числовой
ПОСЕЩАЛ – логический
"Мои одноклассники";
ФАМИЛИЯ – символьный
ИМЯ – символьный
АДРЕС – символьный
ТЕЛЕФОН – символьный
РОДИЛСЯ – дата
"Кинофильмы";
НАЗВАНИЕ – символьный
СТРАНА – символьный
ЖАНР – символьный
РЕЖИССЕР – символьный
ДУБЛИРОВАН – логический
"Телефонный справочник";
ФИО – символьный
АДРЕС – символьный
НОМЕР – числовой
"Мои посещения врача".
ДАТА – дата
ДИАГНОЗ – символьный
ЛЕЧЕНИЕ – символьный