Слайды и текст этой онлайн презентации
Слайд 1
Массивы
Работаем с массивами
Слайд 2
Заполнение массива
Это можно сделать тремя способами
Вручную ввести необходимое количество значений
Считать из приготовленного файла
Сгенерировать с помощью функции random
МОУ СОШ п. Белоглинный
Слайд 3
Заполняем массив случайными числами
program mass;
uses crt;
const
m = 20; //устанавливаем размер массива
var
arr: array[1..m] of byte; //объявляем массив
i: byte; //объявляем переменную счетчика
begin
randomize; //запускаем генератор случайных чисел
write('Массив: ');
for i := 1 to m do begin //запускаем цикл
arr[i] := random(100); //заполняем массив случайными числами
write (arr[i]:3);
end;
writeln();
end.
МОУ СОШ п. Белоглинный
Слайд 4
Алгоритм поиска в массиве
При поиске минимума или максимума используют дополнительную переменная min (или max): 1) промежуточной переменной присваивается значение первого числа из последовательности, т.е. принимается, что первое число является текущим минимумом (максимумом); 2) начиная со второго числа, производится сравнение этого числа со значением переменной min (или max) и если число из массива меньше min (больше max), то на место min (max) записывается это число. Теперь это число будет текущим минимумом (максимумом); После просмотра всех чисел в переменной min (или max) будет находиться окончательное значение минимума (или максимума).
МОУ СОШ п. Белоглинный
Слайд 5
Находим максимальное значение в массиве
program mass;
const
m = 20; //уставливаем размер массива
var
arr: array[1..m] of byte;//объявляем массив
max_num, max_index: byte;//объявляем переменные типа byte если известно никакой значение ни одного элемента массива не превысит 255
i: byte; //объявляем переменную счетчика
begin
randomize; //запускаем генератор случайных чисел
write('Массив: ');
for i := 1 to m do begin //запускаем цикл
arr[i] := random(100);//заполняем массив случайными числами
write (arr[i]:3);
end;
max_index := 1; //присваиваем переменной начальное значение 1
max_num := arr[1]; //присваиваем переменной значение первого элемента массива
for i := 2 to m do //запускаем цикл чтения массива начиная со второго элемента массива
if arr[i] > max_num then begin //если очередной элемент массива больше чем значение переменой max_num, то
max_index := i; //переменной max_index присваиваем значение номера массива
max_num := arr[i]; //перменной max_num присваиваем значение элемента массива
end;
writeln;
writeln ('Max = ',max_num); //вывод максимального значения массива
writeln ('position: ', max_index);//номер этого элемента
readln
end.
МОУ СОШ п. Белоглинный
Слайд 6
Сортировка массива по возрастанию (метод пузырька)
При первом проходе по массиву элементы попарно сравниваются между собой: первый со вторым, затем второй с третьим, следом третий с четвертым и т.д. Если предшествующий элемент оказывается больше последующего, то их меняют местами.
Не трудно догадаться, что постепенно самое большое число оказывается последним. Остальная часть массива остается не отсортированной, хотя некоторое перемещение элементов с меньшим значением в начало массива наблюдается.
При втором проходе незачем сравнивать последний элемент с предпоследним. Последний элемент уже стоит на своем месте. Значит, число сравнений будет на одно меньше.
На третьем проходе уже не надо сравнивать предпоследний и третий элемент с конца. Поэтому число сравнений будет на два меньше, чем при первом проходе.
В конце концов, при проходе по массиву, когда остаются только два элемента, которые надо сравнить, выполняется только одно сравнение.
После этого первый элемент не с чем сравнивать, и, следовательно, последний проход по массиву не нужен. Другими словами, количество проходов по массиву равно m-1, где m – это количество элементов массива.
Количество сравнений в каждом проходе равно m-i, где i – это номер прохода по массиву (первый, второй, третий и т.д.).
При обмене элементов массива обычно используется "буферная" (третья) переменная, куда временно помещается значение одного из элементов
МОУ СОШ п. Белоглинный
Слайд 7
Алгоритм и особенности этой сортировки таковы
Существует множество методов сортировки. Одни из них являются более эффективными, другие – проще для понимания. Достаточно простой для понимания является сортировка методом пузырька, который также называют методом простого обмена. В чем же он заключается, и почему у него такое странное название: "метод пузырька"?
Как известно воздух легче воды, поэтому пузырьки воздуха всплывают. Это просто аналогия. В сортировке методом пузырька по возрастанию более легкие (с меньшим значением) элементы постепенно "всплывают" в начало массива, а более тяжелые друг за другом опускаются на дно (в конец массива)
МОУ СОШ п. Белоглинный
Слайд 8
Код программы
Program up_repl;
Uses crt;
Const n =10; k1=10; k2=2*k1+1;
Type vec=array[1..n] of integer;
Var a,b,c :vec;
k,i,j,f,m :integer;
ch :char;
l :Boolean;
Begin
Repeat
ClrScr;
Randomize;
Write('Исходый массив a[i]=');
For i:=1 to n do
Begin
f:=Random(k2);
a[i]:=k1-f;
Write(a[i]:3);
End;
Writeln;
b:=a;
For k:=1 to n do
Begin
m:=100;
For i:=1 to n do
If m>b[i] then
begin
m:=b[i];j:=i;
end;
b[j]:=100; c[k]:=m
end;
Write('Упорядоченный массив c[i]=');
For i:=1 to n do Write(c[i]:3);
End.
МОУ СОШ п. Белоглинный