Заполнение массива Это можно сделать тремя способами Вручную ввести необходимое количество значений Считать из приготовленного файла Сгенерировать с помощью функции random МОУ СОШ п. Белоглинный
Cлайд 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. МОУ СОШ п. Белоглинный
Cлайд 4
Алгоритм поиска в массиве При поиске минимума или максимума используют дополнительную переменная min (или max): 1) промежуточной переменной присваивается значение первого числа из последовательности, т.е. принимается, что первое число является текущим минимумом (максимумом); 2) начиная со второго числа, производится сравнение этого числа со значением переменной min (или max) и если число из массива меньше min (больше max), то на место min (max) записывается это число. Теперь это число будет текущим минимумом (максимумом); После просмотра всех чисел в переменной min (или max) будет находиться окончательное значение минимума (или максимума). МОУ СОШ п. Белоглинный
Cлайд 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. МОУ СОШ п. Белоглинный
Cлайд 6
Сортировка массива по возрастанию (метод пузырька) При первом проходе по массиву элементы попарно сравниваются между собой: первый со вторым, затем второй с третьим, следом третий с четвертым и т.д. Если предшествующий элемент оказывается больше последующего, то их меняют местами. Не трудно догадаться, что постепенно самое большое число оказывается последним. Остальная часть массива остается не отсортированной, хотя некоторое перемещение элементов с меньшим значением в начало массива наблюдается. При втором проходе незачем сравнивать последний элемент с предпоследним. Последний элемент уже стоит на своем месте. Значит, число сравнений будет на одно меньше. На третьем проходе уже не надо сравнивать предпоследний и третий элемент с конца. Поэтому число сравнений будет на два меньше, чем при первом проходе. В конце концов, при проходе по массиву, когда остаются только два элемента, которые надо сравнить, выполняется только одно сравнение. После этого первый элемент не с чем сравнивать, и, следовательно, последний проход по массиву не нужен. Другими словами, количество проходов по массиву равно m-1, где m – это количество элементов массива. Количество сравнений в каждом проходе равно m-i, где i – это номер прохода по массиву (первый, второй, третий и т.д.). При обмене элементов массива обычно используется "буферная" (третья) переменная, куда временно помещается значение одного из элементов МОУ СОШ п. Белоглинный
Cлайд 7
Алгоритм и особенности этой сортировки таковы Существует множество методов сортировки. Одни из них являются более эффективными, другие – проще для понимания. Достаточно простой для понимания является сортировка методом пузырька, который также называют методом простого обмена. В чем же он заключается, и почему у него такое странное название: "метод пузырька"? Как известно воздух легче воды, поэтому пузырьки воздуха всплывают. Это просто аналогия. В сортировке методом пузырька по возрастанию более легкие (с меньшим значением) элементы постепенно "всплывают" в начало массива, а более тяжелые друг за другом опускаются на дно (в конец массива) МОУ СОШ п. Белоглинный
Cлайд 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. МОУ СОШ п. Белоглинный