- •Методические указания для студентов заочной формы обучения
- •Введение
- •Основные теоретические положения
- •Тема 1.1 Свойства и типы алгоритмов
- •Тема 2.1 Структура программы
- •Описание констант
- •Описание переменных
- •Тема 2.2 Типы данных Типы данных
- •П Read(список ввода); Readln(список ввода) роцедуры ввода
- •Процедуры вывода
- •Тема 2.3 Управляющие структуры
- •Оператор присваивания
- •Составной оператор
- •Операторы передачи управления
- •7 Кратно 7
- •Тема 2.4 Циклы
- •Сравнение работы операторов цикла
- •Вложенные (сложные) циклы
- •Тема 2.5 Массивы
- •Одномерный массив
- •Способы описания одномерного массива
- •Ввод элементов массива
- •Двумерные массивы
- •Способы описания двумерного массива
- •Ввод элементов массива
- •Вывод элементов массива
- •Методические указания по методике отладки программ в интегрированной среде PascalAbc Изучение интегрированной среды Pascal abc
- •По дисциплине «Название дисциплины»
- •Порядок оформления отчета
- •Перечень рекомендуемых учебных изданий, интернет-ресурсов, дополнительной литературы
Способы описания одномерного массива
1). Type имя типа = array [диапазон индекса] of тип элементов;
Var имя массива : имя типа;
2). Var имя массива : array [диапазон индекса] of тип элементов;
где, array of – «массив из» - служебные слова;
тип элементов – любой простой и структурированный;
диапазон индекса – диапазон изменения индекса.
Например: Type massiv=array[1..20] of real;
Var A:massiv;
B: array [1..9] of char;
Ввод элементов массива
|
Рrogram vvod; //Const N=10; Type mas=array[1..100] of real; Var a:mas; i: integer: Begin Readln(n); Writeln(‘Введите элементы массива’); For i:=1 to N do Begin Write(‘a[‘,i,’]=’); Readln( a[i]) End; … End. |
Пример1:
Составить программу для нахождения наибольшего элемента одномерного массива х , содержащего 15 элементов.
|
Program mas_1; var i:integer; max:real; x: array[1..15] of real; begin for i:=1 to 15 do begin write (' x [',i:2,']='); readln(x[i]); end; max:=x[1]; for i:=2 to 15 do if max <x[i] then max :=x[i]; writeln('max = ',max:7:2) end.
Результат решения задачи x [ 1]=1 x [ 2]=2 x [ 3]=3 x [ 4]=4 x [ 5]=5 x [ 6]=4 x [ 7]=3 x [ 8]=5 x [ 9]=6 x [10]=4 x [11]=3 x [12]=5 x [13]=6 x [14]=4 x [15]=5 max = 6.00 |
Чтобы осуществить перестановку любых элементов массива необходимо объявить дополнительную переменную для временного хранения любого элемента массива. Переменная должна быть того же типа, что и тип элементов массива. Сортировка и сдвиг элементов относится к перестановке.
Сортировка - один из наиболее распространенных процессов современной обработки данных. Сортировкой называется распределение элементов по группам в соответствии с определенными правилами. Существуют различные способы сортировки элементов массива: метод обмена (пузырька), метод выбора, метод вставок, бинарная сортировка и др.
Сдвиги бывают арифметические и циклические. При арифметическом сдвиге часть элементов теряется, а при циклическом сдвиге элементы массива только меняют свое местоположение.
Пример 2: Осуществить циклический сдвиг элементов массива на единицу вправо.
До сдвига вправо
… P:=a[n]; For i:=n downto 2 do A[i]:=a[i-1]; A[1]:=P; … |
После сдвига
вправо
a[5] |
a[1] |
a[2] |
a[3] |
a[4] |
Пример 3: Осуществить циклический сдвиг элементов массива на единицу влево.
|
… P:=a[1]; For i:=1 to n-1 do A[i]:=a[i+1]; A[n]:=P; … |
Сортировка элементов массива
Методом выбора (по возрастанию) – берется i-ый элемент массива и сравнивается со всеми элементами, расположенными после него. Если встретится элемент, меньший по значению a[i], то они меняются местами. Так продолжается до тех пор, пока все элементы не будут рассортированы.
-
For i:=1 to n-1 do
For y:=i+1 to n do
If a[i]>a[y] then
Begin
P:=a[i];
a[i]:=a[y];
a[y]:=p;
end;
Методом обмена (пузырька) - сравниваются соседние элементы a[i] и a[i+1]. Если a[i]< a[i+1], то эти элементы меняются местами.Так продолжается пока все элементы не будут рассортированы.
-
По убыванию
For y:=1 to n-1 do
For i:=1 to n-y do
If a[i]>a[i+1] then
Begin
P:=a[i];
a[i]:=a[i+1];
a[i+1]:=p;
end;
