Рекомендую для задачи взять принцип работы почтовой службы, там сортировка имеет критически важное значение.
Например: В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу). Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.). Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
1. Вывести на экран N чисел, в порядке чередования (например если N = 9, то ответом будет 1 9 2 8 3 7 4 6 5) 2. Найти наибольший общий делитель и наименьшее общее кратное двух чисел. 3. Вывести введенную строку в обратном порядке. Решения на Pascal: 1.
var n, i: integer; begin read(n); for i := 1 to n do if odd(i) then write(i div 2 + 1, ' ') else write(n - i div 2 + 1, ' ') end.
2.
var a, b, a1, b1, t: integer; begin read(a, b); a1 := a; b1 := b; repeat t := a mod b; a := b; b := t; until b = 0; writeln('НОД=', a); writeln('НОК=', a1 * b1 div a); end.
3.
var s, s1: string; i: integer; begin read(s); s1 := ''; for i := length(s) downto 1 do s1 += s[i]; write(s1) end.
Например:
В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу).
Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.).
Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
2. Найти наибольший общий делитель и наименьшее общее кратное двух чисел.
3. Вывести введенную строку в обратном порядке.
Решения на Pascal:
1.
var n, i: integer;
begin
read(n);
for i := 1 to n do
if odd(i) then write(i div 2 + 1, ' ')
else write(n - i div 2 + 1, ' ')
end.
2.
var a, b, a1, b1, t: integer;
begin
read(a, b);
a1 := a;
b1 := b;
repeat
t := a mod b;
a := b;
b := t;
until b = 0;
writeln('НОД=', a);
writeln('НОК=', a1 * b1 div a);
end.
3.
var s, s1: string;
i: integer;
begin
read(s);
s1 := '';
for i := length(s) downto 1 do
s1 += s[i];
write(s1)
end.