Natashenka Lebedeva
Natashenka Lebedeva

помогите разобраться с программой на паскале! пожалуйста!

я нашел прогу в инете, а мне она для зачёта нужна пожалуйста народ кто может досконально объясните нубу что в каждой строке вычисляется и происходит, пожалуйста как можно поподробнее, т. к. мне это потом рассказать нужно будет. Вот сама прога- program massiv1;
const
n=20;
var
s :array[1..n] of integer;
i,j,t :integer;
begin
for i:=1 to n do
s:=random(21); Заранее всем большое спасибо!
writeln('Результат');
for i:=1 to n-1 do
for j:=i+1 to n do
if s < s[j] then
begin
t:=s;
s:=s[j];
s[j]:=t;
end;
for i:=1 to n do
write(s:4);
end.

ОЛ
Ольга Левчук

Заполнение массива случайными целыми числами от 0 до 20 и последующая пузырьковая сортировка этого массива.

ДХ
Дмитрий Харитонов

объявление константы
n равной 20
переменные
s: массив (с индексами от 1 до константы n), состоящий из integer'ов
i, j, t: integer'ы
начало программы
цикл, начальное значение счетчика i=1, и до n
s[i] (т. е. элемент массива s, индекс которого равен i) = вызов функции, генерирующей случайное число (кстати, почему не запущено randomize?) Заранее всем большое спасибо! - комментарий автора
вывести на экран строку "Результат" и перевод строки
цикл от i=1 до n-1:
цикл (вложенный) от j=i+1 до n :
если s < s[j] тогда begin (начало блока кода)
t = s
s = s[j]
s[j] = t { 3 эти строки кода обменивают значения переменных s и s[j] }
конец этого блока кода
цикл от i=1 до n
вывести на экран элемент массива s[i] с форматированием (ХЗ, что значит ":4")
конец программы

Ан
Андрей

n=20 это вводят константу. Другими словами. приравнивают n к 20и.
Потом описывают массив. Количество значений массива будет варьироваться от 1 до 20и
Начинается сама программа.
Теперь начинают заполнять массив значениями.
Вводится цикл от 1го до 20и
В цикле значению i нного элемента массива присваивают рандомное значение. Другими словами, массив заполняют случайными числами.
Внутри этого цикла вводят еще один, от 1го до 19
Теперь внутри этого еще цикл, уже от 2 до 20.
Условие: Если значение i нного элемента массива (ЗДЕСЬ ВЕРОЯТНО ОШИБКА В КОДЕ, ПОСМОТРИ ЕЩЕ РАЗ! буду считать что там написано S(i)) меньше значения Jнного элемента того же массива, (значение J элемента описано выше в цикле и будет зависеть от того, какой цикл идет) , то
значение i нного элемента массива присваивается переменной t, а оно само примет значение J нного элемента. После значение j нного присваевается t
Другими словами, значения меняются друг с другом. Пример (a=2 а b=5, вот этой махинацией стало: a=5 b=2. Значения поменялись)
Циклы завершаются и при помощи еще одного цикла выводятся значения массива в том тоя же порядке.

Своими словами: случайно генерируется ряд чисел. Если следующий элемент больше предыдущего, он элементы меняются местами. По завершению этого цикла все числа встанут последовательно, от меньшего к большему. Программа расставливает значения массива в порядке возрастания.
С Вас 10ка)

ND
Nata D

странно.
неужели ты не видишь, что код твой покоцало? или думаешь "хрен с ним, и так разберутся"?
может, и разберемся, конечно, но все же не приятно.
а прога, кажись, сортирует массив. методом пузырька.

Похожие вопросы
помогите пожалуйста с написанием программы в Паскале!
Программа в паскале. Массивы. Помогите пожалуйста!
Помогите разобрать программу на паскале на циклы
Помогите пожалуйста с программой в Паскале!
Помогите пожалуйста с программой на паскале
Помогите, пожалуйста.. . разобраться с Паскалем
помогите разобраться в программе паскаль
Помогите пожалуйста с программой в паскале
Помогите пожалуйста с программой в паскале.
программа на паскале. помогите пожалуйста