Папирус. Мы обязаны изобретением бумаги египетскому папирусу. *Черные чернила. Изобретением чернил мы также обязаны древнему Египту. Для их изготовления египтяне смешивали сажу, растительную смолу и пчелиный воск. Чтобы сделать чернила разных цветов, они заменяли сажу с другим органическим материалом. Например, они использовали охру вместо сажи, чтобы сделать чернила красными * Плуг. Изобретение плуга не только коренным образом развило сельское хозяйство египетской общины, но модифицированная версия до сих пор используются фермерами отсталых стран, которые не могут себе позволить купить автоматические комбайны. * Часы. Египтяне научили мир определять время суток, придумав часы. Они изобрели два типа часов: солнечные и водяные часы. Солнечные часы - это были обелиски на которых движущиеся тени в течение дня египтянам определять время дня.
procedure quicksort(l,r:integer); var i,j,x,temp:integer; begin i:=l; //левый конец j:=r; //правый конец x:=ar[random(r-l+1)+l]; repeat while ar[i]<x do inc(i); //пока выбранный элемент больше всех, что левее его(всё норм), увеличивать индекс while x<ar[j] do dec(j); //пока выбранный элемент меньше всех, что правее его(всё норм), уменьшать индекс if i<=j then //если левый индекс меньше или равен правому-продолжать begin temp:=ar[i]; ar[i]:=ar[j]; ar[j]:=temp; inc(i); //чтобы не запустить бесконечную рекурсию dec(j); end; until i>=j; if l<j then quicksort(l,i); //l-левый конец нового витка, j-правый if r>i then quicksort(i,r); //r-левый конец нового витка, i-правый end;
begin randomize; writeln('First array:'); for s:=1 to n do begin ar[s]:=random(n); write(ar[s]:4); end; quicksort(1,n); writeln; writeln('Final array:'); ar.println; end.
//По убыванию Const n=55;
type ty=array[1..n] of integer;
Var ar:ty; s:integer;
procedure quicksort(l,r:integer); var i,j,x,temp:integer; begin i:=l; //левый конец j:=r; //правый конец x:=ar[random(r-l+1)+l]; repeat while ar[i]>x do inc(i); //пока выбранный элемент больше всех, что левее его(всё норм), увеличивать индекс while x>ar[j] do dec(j); //пока выбранный элемент меньше всех, что правее его(всё норм), уменьшать индекс if i<=j then //если левый индекс меньше или равен правому-продолжать begin temp:=ar[i]; ar[i]:=ar[j]; ar[j]:=temp; inc(i); //чтобы не запустить бесконечную рекурсию dec(j); end; until i>=j; if l<j then quicksort(l,i); //l-левый конец нового витка, j-правый if r>i then quicksort(i,r); //r-левый конец нового витка, i-правый end;
begin randomize; writeln('First array:'); for s:=1 to n do begin ar[s]:=random(n); write(ar[s]:4); end; quicksort(1,n); writeln; writeln('Final array:'); ar.println; end.