Одномерные массивы. Алгоритмы циклического сдвига, сжатия.
презентация к уроку по информатике и икт (9 класс) по теме
Рассматриваются три алгоритма циклического сдвига, в том числе алгоритм Дуга Макилроя (Doug Mcllroy) зеркального отражения.
Скачать:
Вложение | Размер |
---|---|
massivy_ciklicheskie_sdvigi_i_szhatie.ppt | 507 КБ |
Предварительный просмотр:
Подписи к слайдам:
Алгоритм циклического сдвига на k позиций I способ определить сколько раз необходимо произвести одноэлементный сдвиг k := k mod n; k раз применить одноэлементный сдвиг Алгоритм одноэлементного сдвига . Запомнить в дополнительной ячейке первый (или последний) элемент массива Сдвинуть все элементы влево (вправо) На последнее (первое) место записать тот, который запоминали.
Сдвиг вправо и влево 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.
II способ Скопировать первые k элементов массива во временный массив Сдвинуть оставшиеся n-k элементов влево на k позиций Скопировать данные из временного массива обратно в основной массив на последние k позиций
III способ отобразить элементы массива( 1 , k ) отобразить элементы массива ( k +1 , n ) отобразить элементы массива ( 1 , n )
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; (** * ) { повторить цикл }
Сжатие массива. Удаление каждого 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;
По теме: методические разработки, презентации и конспекты
Одномерные массивы. Поиск элемента массива.
Расматриваются алгоритм линейного поиска и бинарного поиска в отсортированном массиве....
Схема конспекта урока «Одномерные массивы. Ввод и вывод одномерного массива»
Предмет «Информатика» Класс 9 Тема урока «Одномерные массивы. Ввод и вывод одномерного массива»Тип урока: комбинированныйОборудование: компью...
Урок по теме "Массивы.Одномерные массивы" 9 класс
Урок по теме «Массивы. Одномерные массивы» 9 класс Цель урока:Ø Образовательная: Создание условий для формирования понятия массива, основных алгоритмов обработки массива.Ø...
План-конспект урока в 9 классе по теме "Одномерные массивы. Обработка массива"
Урок изучения нового материала построен в технологии проблемного обучения....
Одномерные массивы на языке Паскаль. Вычисление суммы элементов одномерного массива на языке Паскаль
Данная разработка может быть использована в виде опорного материала для работы на уроке по изучению темы указанной ниже. Учебник: Информатика. Учебник для 9 класса. Босова Л.Л., Босова А.Ю....
Урок по теме "Массивы. Одномерные массивы"
Урок по теме «Массивы. Одномерные массивы» 9 класс Цель урока:Ø Образовательная: Создание условий для формирования понятия массива, основных алгоритмов обработки массива.Ø...
Конспект урока по информатике "Одномерные массивы целых чисел. Описание, заполнение и вывод массива" 9 класс
При решении практических задач данные часто объединяются в различные структуры данных, например в массивы. В языках программирования массивы используются для реализации таких структур данных, как посл...