Сдревних времен люди пытались постичь природу вселенной. не обладая возможностями современной науки, астрономы открывали новые планеты, лунные горы, солнечные пятна; изучали звезды, образующие галактики. звезды, планеты и созвездия, которые можно видеть на небосклоне невооруженным глазом, люди знали всегда. а как же та планета, на которой жили сами люди, и живут сейчас? кто открыл нашу планету? как открывали землю? может быть, люди всегда знали о земле? неизвестная вселенная в прошлом разные народы называли свое местонахождение по-разному, подразумевая различные значения этих слов. для древних славян слово «земля», означало поверхность той местности, на которой они находились, или территорию, например, земля новгородская или киевская. а другие народы «землями» обозначали собственные территории. то, что было за пределами этих «земель», оставалось долгое время неизведанным. и выходит так, что неизведанную планету земля люди все-таки открывали. чтобы узнать, как человек открывал землю, надо, прежде всего, выяснить, когда это происходило, и кто первый понял, что живет на планете, подобной другим, вращающимся вокруг солнца. в древности существовали различные представления о строении вселенной. но уже много веков назад древние греки предполагали, что земля не бесконечна, имеет определенную форму и находится в каком-то пространстве. различные наблюдения природных явлений подтверждали, что земля не плоская, а имеет форму шара, вращается вокруг своей оси и вокруг солнца. но это противоречило священным писаниям и учению о геоцентрической модели мира, утверждаемому древнегреческим ученым философом аристотелем. он считал, что земля – это свободно висящий шар в центре множества вложенных друг в друга сфер с различными планетами, а за так называемой «сферой неподвижных звезд», находится «перводвигатель», приводящий в движение всю вселенную. как то
рассмотрим, что делает эта программа.
c : = 0; // начальное значение счётчика
for i : = 1 to 9 do // цикл по i
if a[i - 1] < a[i] then begin // если текущий элемент больше предыдущего
c : = c + 1; // то увеличиваем счётчик на 1
t : = a[i]; // и меняем текущий элемент местами с предыдущим
a[i] : = a[i - 1];
a[i - 1] : = t
end;
последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 обмен
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 обмен
3) 9 7 6 2 1 5 0 3 4 8 ок
4) 9 7 6 2 1 5 0 3 4 8 ок
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 обмен
6) 9 7 6 2 5 1 0 3 4 8 ок
7, 8, 9) ноль будет "всплывать" в конец, 3 обмена
всего будет 6 обменов, c = 6.