Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Поиска максимального элемента в массиве и его номера
Дан массив X, состоящий из n элементов. Найти максимальный элемент массива и номер, под которым он хранится в массиве. Алгоритм решения задачи следующий. Пусть в переменной с именем Max хранится значение максимального элемента массива, а в переменной с именем Nmax - его номер. Предположим, что первый элемент массива является максимальным, и запишем его в переменную Max, а в Nmax занесем его номер, то есть - 1. Затем все элементы, начиная со второго, сравниваем в цикле с максимальным. Если текущий элемент массива оказывается больше максимального, то записываем его в переменную Max, а в переменную Nmax - текущее значение индекса i. Процесс определения максимального элемента в массиве приведен в таблице 3.1 и изображен при помощи блок-схемы на рис. 3.7.
Совет. Алгоритм поиска минимального элемента в массиве будет отличаться от приведенного выше лишь тем, что в условном блоке знак поменяется с > на <. Билет№18 Сортировка элементов в массиве Сортировка представляет собой процесс упорядочения элементов в массиве в порядке возрастания или убывания их значений. Например, массив X из n элементов будет отсортирован в порядке возрастания значений его элементов, если X1 ≤ X2 ≤...≤ Xn, и в порядке убывания, если X1 ≥ X2 ≥ ... ≥ Xn. Существует большое количество алгоритмов сортировки, но все они базируются на трех основных:
Представим, что нам необходимо разложить по порядку карты в колоде. Для сортировки карт обменом можно разложить карты на столе лицевой стороной вверх и менять местами те карты, которые расположены в неправильном порядке, делая это до тех пор, пока колода карт не станет упорядоченной. Для сортировки выбором из разложенных на столе карт выбирают самую младшую (старшую) карту и держат ее в руках. Затем из оставшихся карт вновь выбрать наименьшую (наибольшую) по значению карту и помещают ее позади той карты, которая была выбрана первой. Этот процесс повторяется до тех пор, пока вся колода не окажется в руках. Поскольку каждый раз выбирается наименьшая (наибольшая) по значению карта из оставшихся на столе карт, по завершению такого процесса карты будут отсортированы по возрастанию (убыванию). Для сортировки вставкой из колоды берут две карты и располагают их в необходимом порядке по отношению друг к другу. Каждая следующая карта, взятая из колоды, должна быть установлена на соответствующее место по отношению к уже упорядоченным картам. Итак, решим следующую задачу. Задан массив Y из n целых чисел. Расположить элементы массива в порядке возрастания их значений. Билет№19
Билет№20 Нахождение наибольшего элемента в заданной строке матрицы Пусть задана матрица А из действительных чисел размера 3х4. Найти наибольший элемент во второй строке данной матрицы. Программа решения задачи: Program max_st; Type Matr=array[1..3, 1..4] of real; Var max: real; a: Matr; i, j: integer; begin for i: =1 to 3 do for j: =1 to 4 do begin readln(a[i, j]); end; max: =a[2, 1]; for j: =2 to 4 do if max< a[2, j] then max: =a[2, j]; writeln(‘Наибольший элемент второй строки=', max: 8: 2); end. Данная программа представляет собой реализацию алгоритма нахождения наибольшего элемента вектора, полученного путем фиксирования одного из индексов двумерного массива. Билет№21 Файл - это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. Файлы предназначены только для хранения информации, а обработка этой информации осуществляется программами. Использование файлов целесообразно в случае: 1. долговременного хранения данных; 2. доступа различных программ к одним и тем же данным; 3. обработки больших массивов данных, которые невозможно целиком разместить в оперативной памяти компьютера. В Паскале определены текстовые файлы, типизированные и нетипизированные. Файл, не содержащий ни одного элемента, называется пустым. Создается файл путем добавления новых записей в конец первоначально пустого файла. Длина файла, т.е. количество элементов, не задается при определении файла. Все файлы должны быть описаны в программе либо в разделе переменных VAR, либо в разделе типов TYPE. Под чтением файла понимают ввод данных из внешнего файла, находящегося на диске, в оперативную память машины. Запись в файл - вывод результатов работы программы из оперативной памяти на диск в файл. Работа с файлами выполняется следующими процедурами: Assign – устанавливает связь между именем файла в программе (файловой переменной ) и физическим именем файла, принятым в ОС. Текстовые файлы Текстовые файлы – файлы на диске, состоящие из символов ASCII. Для разделения строк используются символы «конец строки». Текстовые файлы являются файлами с последовательным доступом. В любой момент времени доступна только одна запись файла. Другие записи становятся доступными лишь в результате последовательного продвижения по файлу. Текстовые файлы внутренне разделены на строки, длины которых различны. Для разделения строк используется специальный маркер конца строки. Объявляются текстовые файлы переменной типа text. Обрабатывать их можно только последовательно и с помощью процедур и функций: Readln (f, st )- чтение строки st из файла f и переход на начало следующей; Типизированные файлы Типизированные файлы – это файлы, состоящие из нумерованной последовательности объектов (записей) любого типа. С такими файлами можно работать в режиме прямого доступа, при котором выполняется непосредственное об ращение к любой записи файла. Каждая запись файла имеет свой номер, начиная с 0 и т.д. 1) Write и Read- записывают и читают информацию из указанного файла и перемещают указатель файла к сле дующей записи. Для добавления записей в конец файла используются процедуры: Readln (a ); |
Последнее изменение этой страницы: 2017-03-14; Просмотров: 1493; Нарушение авторского права страницы