1)
var
a: 100..999;
a1, a2, a3: 0..9; //а1 - сотни, а2 - десятки, а3 - единицы
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a1, a3, a2);
end.
2)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a2, a1, a3);
end.
3)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a3, a1, a2, a3);
end.
4)
var
a: 1000..9999;
a1, a2, a3, a4: 0..9;
begin
writeln('введите натуральное четырехзначное число');
readln(a);
a1: = a div 1000; //тысячи
a2: = (a mod 1000) div 100; //сотни
a3: = (a mod 100) div 10; //десятки
a4: = a mod 10; //единицы
writeln('полученное число: ', a4, a3, a2, a1);
end.
все остальное делается наподобие этого: просто в writeln меняешь местами цифры и все.
А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while