🗊Одномерные массивы Циклические сдвиги, сжатие

Категория: Информатика
Нажмите для полного просмотра!
Одномерные массивы   Циклические сдвиги, сжатие, слайд №1Одномерные массивы   Циклические сдвиги, сжатие, слайд №2Одномерные массивы   Циклические сдвиги, сжатие, слайд №3Одномерные массивы   Циклические сдвиги, сжатие, слайд №4Одномерные массивы   Циклические сдвиги, сжатие, слайд №5Одномерные массивы   Циклические сдвиги, сжатие, слайд №6Одномерные массивы   Циклические сдвиги, сжатие, слайд №7

Вы можете ознакомиться и скачать Одномерные массивы Циклические сдвиги, сжатие. Презентация содержит 7 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Одномерные массивы 
Циклические сдвиги, сжатие
Описание слайда:
Одномерные массивы Циклические сдвиги, сжатие

Слайд 2





Алгоритм циклического сдвига на k позиций

I способ
определить сколько раз необходимо произвести одноэлементный сдвиг
		k := k  mod  n;
k раз применить одноэлементный сдвиг
	Алгоритм одноэлементного сдвига.
Описание слайда:
Алгоритм циклического сдвига на k позиций I способ определить сколько раз необходимо произвести одноэлементный сдвиг k := k mod n; k раз применить одноэлементный сдвиг Алгоритм одноэлементного сдвига.

Слайд 3





Сдвиг вправо и влево
Program test;
Uses crt;
Сonst n=10;                    
Var a:array[1..n] of integer;
    i,j,t,k:integer;
Begin
   clrscr;
{ввод массива}
K:=k mod n;
For j:=1 to k do
Begin
   t:=a[n];
      for i:=n downto 2 do
           a[i]:=a[i-1];
A[1]:=t;
End;
{Вывод массива}
End.
Описание слайда:
Сдвиг вправо и влево Program test; Uses crt; Сonst n=10; Var a:array[1..n] of integer; i,j,t,k:integer; Begin clrscr; {ввод массива} K:=k mod n; For j:=1 to k do Begin t:=a[n]; for i:=n downto 2 do a[i]:=a[i-1]; A[1]:=t; End; {Вывод массива} End.

Слайд 4





II способ 
II способ 
Скопировать первые k элементов массива во временный массив
Сдвинуть оставшиеся n-k элементов влево на k позиций
Скопировать данные из временного массива обратно в основной массив на последние k позиций
Описание слайда:
II способ II способ Скопировать первые k элементов массива во временный массив Сдвинуть оставшиеся n-k элементов влево на k позиций Скопировать данные из временного массива обратно в основной массив на последние k позиций

Слайд 5





III способ
отобразить элементы массива(1, k)
отобразить элементы массива (k+1, n)
отобразить элементы массива  (1, n)
Описание слайда:
III способ отобразить элементы массива(1, k) отобразить элементы массива (k+1, n) отобразить элементы массива (1, n)

Слайд 6





j-сколько раз произвести обмен, left - левая граница отображения, right - правая граница отображения, 
j-сколько раз произвести обмен, left - левая граница отображения, right - правая граница отображения, 
Dlina - длина отображаемой части массива 
j:=1; left:=1; right:=k; dlina:=right-left+1;
 (***)    while j<=dlina div 2 do begin
           	temp:=a[left];
           	a[left]:=a[right];
           	a[right]:=temp;
           	inc(left);dec(right);inc(j);
     	end;
j:=1; left:=k+1; right:=n; dlina:=right-left+1;
(***)    {повторить цикл}
j:=1; left:=1; right:=n; dlina:=right-left+1;
(***)  {повторить цикл}
Описание слайда:
j-сколько раз произвести обмен, left - левая граница отображения, right - правая граница отображения, j-сколько раз произвести обмен, left - левая граница отображения, right - правая граница отображения, Dlina - длина отображаемой части массива j:=1; left:=1; right:=k; dlina:=right-left+1; (***) while j<=dlina div 2 do begin temp:=a[left]; a[left]:=a[right]; a[right]:=temp; inc(left);dec(right);inc(j); end; j:=1; left:=k+1; right:=n; dlina:=right-left+1; (***) {повторить цикл} j:=1; left:=1; right:=n; dlina:=right-left+1; (***) {повторить цикл}

Слайд 7





Сжатие массива.
Удаление каждого k-го элемента:
i – индекс активного элемента
l - индекс просматриваемого элемента
kol – количество элементов после всех удалений.
	i:=k; l:=k;
	while l<=n do begin
			if  l mod k=0 then inc(l);
			if l<=n  then a[i]:=a[l];
			inc(i); inc(l);
	end;
	kol:=n-n div k;
Описание слайда:
Сжатие массива. Удаление каждого k-го элемента: i – индекс активного элемента l - индекс просматриваемого элемента kol – количество элементов после всех удалений. i:=k; l:=k; while l<=n do begin if l mod k=0 then inc(l); if l<=n then a[i]:=a[l]; inc(i); inc(l); end; kol:=n-n div k;



Похожие презентации
Mypresentation.ru
Загрузить презентацию