1.Алексей учится работать с одномерными массивами. И он создал следующую программу:
const mas : array[1..5] of integer=(13, 22, 3, 44, 5);
var temp, n, i, j : integer;
begin
n := 5;
for i:=1 to n-1 do
for j := i+1 to n do
if mas[i] > mas[j] then begin
temp := mas[i];
mas[i] := mas[j];
mas[j] := temp
end;
for i:= 1 to n do
write(mas[i], ' ');
end.
2.Выберите строку, которая будет отражена на экране в результате работы программы.
44, 22, 13, 5, 3
13, 22, 5, 44, 3
3, 5, 13, 22, 44
13, 22, 3, 44, 5
Как называется это алгоритм, реализованный Алексеем?
Быстрая сортировка
"Гномья" сортировка
Алгоритм не меняет массив
Сортировка "Пузырьком"
В цикле с условием while цикл выполняется, пока истинно задающее его условие. Поэтому этот цикл также иногда называют циклом "пока". Часто цикл while используется, когда невозможно заранее предсказать, сколько раз необходимо выполнить тело цикла. В повседневной жизни цикл while можно встретить в алгоритмах, вроде "Пока в пределах видимости есть машины, стоять на месте" или "Пока в ящике есть детали, достать деталь из ящика".
В следующей программе цикл while используется подобно циклу for для вывода на экран всех чисел от 1 до 10:
i=1
while i<=10:
print i
i=i+1
В этой программе переменной i присваивается значение 1. Затем начинается цикл (ключевое слово while) с проверяемым условием i<=10. Тело цикла содержит две инструкции: вывод на экран значения переменной i и увеличение значения переменной i на 1.
При выполнении этого цикла проверяется условие i<=10. Поскольку значение i изначально равно 1, то условие верно и выполняется тело цикла: на экран выводится значение переменной i, то есть 1 и переменной i присваивается значение i+1, то есть 2. Снова проверяется условие, поскольку оно верно, то выполняется блок цикла: на экран выводится число 2 и переменной i присваивается значение 3. Опять проверяется значение цикла, и так далее до тех пор, пока проверяемое условие истинно.
* ее команды не допускают различных вариантов исполнения;
* указания предусмотрены для всех возможных вариантов развития событий.
С этой точки зрения можно составить, к примеру, алгоритм переливания из пустого в порожнее. Однако, на практике алгоритмы составляют для решения тех или иных задач, т. е. получения необходимых результатов по заданным исходным данным. Вид алгоритма, да и сама возможность его написания зависят от исполнителя (это может быть и человек, и автоматическое устройство) , или точнее, от его системы команд (т. е. набора инструкций, которые он "умеет" выполнять)