Презентация на тему "Одномерные массивы. Циклические сдвиги, сжатие" по информатике

Презентация по слайдам
Слайд №1

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


Слайд №2

Текст слайда: Алгоритм циклического сдвига на 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[1]; for i:=1 to n-1 do a[i]:=a[i+1]; A[n]:=t; End; {Вывод массива} End.


Слайд №4

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


Слайд №5

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


Слайд №6

Текст слайда: j-сколько раз произвести обмен, left - левая граница отображения, right - правая граница отображения, Dlina - длина отображаемой части массива j:=1; left:=1; right:=k; dlina:=right-left+1; (***) while j


Слайд №7

Текст слайда: Сжатие массива. Удаление каждого k-го элемента: i – индекс активного элемента l - индекс просматриваемого элемента kol – количество элементов после всех удалений. i:=k; l:=k; while l


Добавить комментарий