17 Янв 14
Поиск элемента в массиве паскальКомментарии : 0 Просмотры : 18666
Мы знаем , что массив содержит в себе упорядоченные элементы данных , которые имеют свои значения и адреса. Во многих задачах нам потребуется обрабатывать подобные массивы. Например : ( поиск наибольшего элемента , наименьшего элемента и т.п ). Алгоритм поиска элемента в массиве мы разберем в данном уроке. Поиск максимального элемента в массивеЧтобы разобраться в том , как осуществляется поиск элемента в массиве паскаль , мы разберем такую задачу :Условие : С клавиатуры вводятся 5 целых чисел , требуется найти наибольший элемент ( наибольшее число ) и вывести его на экран. Решение : Код program mypascal; var a: array[1..5] of integer; i,max:integer; begin for i:= 1 to 5 do read(a[i]); max:= a[1]; for i:= 2 to 5 do if ( a[i] > max ) then max:= a[i]; writeln(max); end. Разбор : В блоке var объявляем массив "а". Диапазон индексов от 1 до 5 , так как максимальное количество введенных чисел = 5 ( исходя из условия задачи ). Тип переменных integer ( вводятся целые числа ). Также нам понадобятся ещё две переменные "i" и "max". Переменная i будет играть роль счетчика для цикла , а переменная max будет хранить в себе максимальное значение элемента в массиве. В начале программы создаем цикл , который будет заносить значения вводимые с клавиатуры в наш массив. Далее присваиваем переменной max значения первого элемента массива. Возможно у вас возникает вопрос для чего это делается ? ведь первый элемент массива может и не быть наибольшим , более того , он может быть наименьшим. Это делается для того , чтобы иметь "точку отправления" , с которой мы будем сравнивать все остальные элементы в массиве. В следующем цикле мы будем проверять все элементы в массиве ( из условия 5 ). Проверять нужно все элементы массива , так как мы не знаем где находится наибольший. Но начинать мы будем со 2 , так как первый элемент уже занесен в максимум и сравнивать одинаковые числа не имеет смысла. Представим , что мы заполнили наш массив так : 4 17 -5 0 8 , тогда переменная max = 4 ( так как a[1] = 4 ). Во время сравнения двух элементов max и a[i] выполняется условие ( a[i] > max ). Если условие истинно ( какой-либо элемент массива больше max ) , то переменной max присваивается значение этого элемента ( a[i] ). Второй элемент массива больше переменной max , поэтому max присваивается значение 17. При дальнейших сравнениях в массиве , не найдены элементы большие 17 , поэтому max остается неизменным. В конце программы выводим max на экран ( 17 ). Поиск минимального элемента в массивеУсловие : С клавиатуры вводятся 5 целых чисел , требуется найти наименьший элемент ( наименьшее число ) и вывести его на экран.Решение : Код program mypascal; var a: array[1..5] of integer; i,min:integer; begin for i:= 1 to 5 do read(a[i]); min:= a[1]; for i:= 2 to 5 do if ( a[i] < min ) then min:= a[i]; writeln(min); end. алгоритм поиска минимального элемента массива почти полностью аналогичен алгоритму поиска максимального. Отличие заключается только в условии внутри второго цикла. Поиск отрицательного элемента массиваУсловие : С клавиатуры вводятся 5 целых чисел , требуется найти первый отрицательный элемент и вывести его на экран. Если отрицательных элементов нет , то ничего не выводить.Решение : Код program mypascal; var a: array[1..5] of integer; i:integer; begin for i:= 1 to 5 do read(a[i]); for i:= 1 to 5 do if ( a[i] < 0 ) then begin writeln(a[i]); break; end; end. Разбор : В данной задаче мы будем сравнивать элементы массива с 0. Если элемент меньше 0 ( отрицательный ) , то выводим его на экран. Главное заметить , что нам нужен только первый отрицательный элемент ( выводить остальные не надо ) , поэтому после нахождения мы будем выходить из массива командой break. Комментарии : 0 Просмотры : 18666 |
НавигацияЛичный кабинетПоискПопулярные
Сумма целых чисел от 1 до... 07 Июн 13
Перевод в двоичную систем... 19 Янв 14 Поиск элемента в массиве ... 17 Янв 14 Практическая работа №6. О... 10 Янв 14 Найти факториал числа 14 Июл 13 Обсуждаемые
Сумма целых чисел от 1 до... 07 Июн 13
Найти наибольшее число 05 Июн 13 Обмен значениями двух пер... 20 Июн 13 Найти факториал числа 14 Июл 13 Сортировка массива в паск... 16 Июл 13 Скачать паскальRSS лентаРешение задач
Если вас интересует решение какой-либо задачи , то вы можете опубликовать
её условие на нашем сайте или форуме. И в скором времени другие пользователи помогут вам. Опубликовать на сайте Опубликовать на форуме Опрос |