К. Поляков, 2006-2011 Программирование на языке Паскаль Часть III Тема. Массивы.

Презентация:



Advertisements
Похожие презентации
1 Обработка массивов. 2 Реверс массива Задача: переставить элементы массива в обратном порядке. Алгоритм: поменять местами A[1] и A[N], A[2] и A[N-1],
Advertisements

1 Программирование на языке Паскаль Обработка массивов.
1 Случайные числа на языке Паскаль Тип величины Диапазон значений Паскаль Веществен ный [ 0, 1 ]x : = random [ 0, a]x : = random * a [ a, b ]x : = random.
Массивы Массивы Ввод и вывод массива Максимальный элемент массива Обработка массивов Сортировка массивов Поиск в массивеМассивыВвод и вывод массиваМаксимальный.
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
К. Поляков, Программирование на алгоритмическом языке. Часть III 1.Обработка массивовОбработка массивов 2.Сортировка.
Программирование на языке Си Часть II Тема 1. Массивы Учитель информатики: Корогод В.А.
Программирование на языке Паскаль. Часть II К. Поляков, Сумма выбранных элементов 1 Задача: заполнить массив случайными числами в интервале [-10,10]
Программирование на языке Паскаль. Часть II К. Поляков, Поиск в массиве 1 Задача – найти в массиве элемент, равный X, или установить, что его.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 63. Алгоритмы обработки массивовАлгоритмы обработки массивов.
1 Программирование на языке Паскаль Часть II Тема 4. Сортировка массивов © К.Ю. Поляков,
Программирование на языке Паскаль Массивы 1.Массивы (объявление, заполнение)Массивы (объявление, заполнение) 2.Поиск в массивеПоиск в массиве 3.Максимальный.
1 Программирование на языке Паскаль Максимальный элемент массива.
Программирование на языке Паскаль Массивы. 2 Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом. Особенности:
1 Программирование на языке Паскаль Тема 4. Сортировка массивов.
Программирование на языке Паскаль Часть II Матрицы.
К. Поляков, Программирование на языке Паскаль Часть II Тема: Массивы.
Одномерные массивы Циклические сдвиги, сжатие. Алгоритм циклического сдвига на k позиций I способ 1. определить сколько раз необходимо произвести одноэлементный.
К.Ю. Поляков, Е.А. Ерёмин, Программирование на языке Паскаль § 62. МассивыМассивы.
Транксрипт:

К. Поляков, Программирование на языке Паскаль Часть III Тема. Массивы

Программирование на языке Паскаль. Часть II К. Поляков, Реверс массива 2 Задача: переставить элементы массива в обратном порядке. Алгоритм: поменять местами A[1] и A[N], A[2] и A[N-1], … Псевдокод: 35…97 79…53 12…N-1N 12… N for i:=1 to N do { поменять местами A[i] и A[N+1-i] } for i:=1 to N do { поменять местами A[i] и A[N+1-i] } сумма индексов N+1 Что неверно? ? N div 2 do

Программирование на языке Паскаль. Часть II К. Поляков, Как переставить элементы? Задача: поменять местами содержимое двух чашек. Задача: поменять местами содержимое двух ячеек памяти ? ? x y c c := x; x := y; y := c; c := x; x := y; y := c; x := y; y := x; x := y; y := x; Можно ли обойтись без c ? ?

Программирование на языке Паскаль. Часть II К. Поляков, Программа 4 program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end. program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end. for i:=1 to N div 2 do begin c:=A[i]; A[i]:=A[N+1-i]; A[N+1-i]:=c; end; for i:=1 to N div 2 do begin c:=A[i]; A[i]:=A[N+1-i]; A[N+1-i]:=c; end;

Программирование на языке Паскаль. Часть II К. Поляков, Задания 5 «4»: Заполнить массив из 10 элементов случайными числами в интервале [ ] и выполнить инверсию отдельно для 1-ой и 2-ой половин массива. Пример: Исходный массив: Результат: «5»: Заполнить массив из 12 элементов случайными числами в интервале [ ] и выполнить инверсию для каждой трети массива. Пример: Исходный массив: Результат:

Программирование на языке Паскаль. Часть II К. Поляков, Циклический сдвиг 6 Задача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего. Алгоритм: A[1]:=A[2]; A[2]:=A[3];… A[N-1]:=A[N]; Цикл: 3581… …N-1N 581…973 for i:=1 to N-1 do A[i]:=A[i+1]; for i:=1 to N-1 do A[i]:=A[i+1]; Что неверно? ? почему не N ?

Программирование на языке Паскаль. Часть II К. Поляков, Программа 7 program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end. program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin { заполнить массив } { вывести исходный массив } { вывести полученный массив } end. c := A[1]; for i:=1 to N-1 do A[i]:=A[i+1]; A[N] := c; c := A[1]; for i:=1 to N-1 do A[i]:=A[i+1]; A[N] := c;

Программирование на языке Паскаль. Часть II К. Поляков, Задания 8 «4»: Заполнить массив из 10 элементов случайными числами в интервале [ ] и выполнить циклический сдвиг ВПРАВО. Пример: Исходный массив: Результат: «5»: Заполнить массив из 12 элементов случайными числами в интервале [ ] и выполнить циклический сдвиг ВПРАВО на 4 элемента. Пример: Исходный массив: Результат: