массив_сдвиг.ppt
- Количество слайдов: 8
Тема урока: Самостоятельная работа «Линейный массив» .
Знать: 1. План работы с линейным массивом. 2. Блок описания линейного массива. 3. Блок ввода линейного массива. 4. Блок вывода линейного массива.
Уметь: 1. Применять на практике план работы с линейным массивом. 2. Применять все изученные блоки при решении задач. 3. Этапы работы за ПК.
Циклический сдвиг Задача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего. 1 2 3 4 … N-1 N 3 5 8 1 … 9 7 5 8 1 … 9 7 3 Алгоритм: A[1]: =A[2]; A[2]: =A[3]; … A[N-1]: =A[N]; Цикл: почему не N? for i: =1 to N-1 do c : = A[1]; A[i]: =A[i+1]; A[N] : = c;
Программа program qq; const N = 10; var A: array[1. . N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } c : = A[1]; for i: =1 to N-1 do A[i]: =A[i+1]; A[N] : = c; { вывести полученный массив } end;
Циклический сдвиг Задача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего. 1 2 3 4 … N-1 N 3 5 8 1 … 9 7 7 3 5 … 9 Алгоритм: A[n]: =A[n-1]; A[n-1]: =A[n-2]; … A[2]: =A[1]; Цикл: почему не N? for i: =n to 1 do c : = A[n]; A[i]: =A[i-1]; A[1] : = c;
Программа program qq; const N = 10; var A: array[1. . N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } c : = A[n]; for i: =n to 1 do A[i]: =A[i-1]; A[1] : = c; { вывести полученный массив } end;
Задания "4": Заполнить массив из 10 элементов выполнить циклический сдвиг ВЛЕВО после 5 элемента. Пример: Исходный массив: 4 -5 3 10 -4 -6 8 -10 1 0 Результат: 4 -5 3 10 -4 8 -10 1 0 -6 "5": Заполнить массив из 12 элементов выполнить циклический сдвиг ВПРАВО до 7 элемента. Пример: Исходный массив: 4 -5 3 10 -4 -6 8 -10 1 0 5 7 Результат: -6 -5 3 10 -4 -6 4 8 -10 1 0 5 7
массив_сдвиг.ppt