Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение
Найдите максимальный по величине элемент и ука- жите его номер в массиве. Решение
Download 0.99 Mb. Pdf ko'rish
|
Osnovy algoritmizacii i programmirovaniya
Найдите максимальный по величине элемент и ука-
жите его номер в массиве. Решение. Решение задачи разобьем на несколько частей: 1. Ввод элементов массива. 2. Вывод элементов массива на экран. 3. Нахождение максимального элемента и вывод его на экран. Каждую из этих частей можно представить как процедуру пользователя. В основной программе нужно будет записать только обращение к этим процедурам в перечисленном порядке. Максимальный элемент будем находить следующим образом: 1. Сначала за максимум примем первый элемент массива (зафиксируем это так: max := a[первый]) и зафиксируем его номер в переменной nom := 1. 2. Затем каждый следующий элемент массива будем сравнивать с тем, который находится в ячейке max. Если элемент массива больше того элемента, который находится в ячейке max, то значение ячейки max меняем на значение большего элемента и значение ячейки nom также меняем на номер этого большего элемента. 3. После просмотра всех элементов массива в ячейке max будет находиться самый большой элемент, а в ячейке nom – его номер. Блок-схемы изображаются отдельно для каждой части задачи. 122 а) б) в) г) Рис. 8.5. Блок-схема к примеру 4: а – блок-схема задания элементов массива; б – блок-схема вывода элементов массива на экран; в – блок-схема нахождения максимального элемента в массиве; г – блок-схема основной программы 123 Program Primer_4; {Раздел объявлений} Type mas=Array[1..40] of Real; {Процедура ввода элементов массива} Procedure Wwod(k:Integer; Var c:mas); {k – входной формальный параметр, который обозначает количество элементов в массиве, с – выходной формальный параметр, который обозначает массив} Var i:Integer; {i – локальный параметр} Begin For i:=1 to k do c[i]:=100*(Random-Random); End; {Процедура вывода элементов массива на экран} Procedure Wuwod(k:Integer; c:mas); Var i:Integer; Begin Writeln('Массив :'); For i:=1 to k do Write(c[i]:6:2); Writeln; End; {Процедура поиска максимального элемента в массиве} Procedure Poisk(k:Integer; c:mas); Var i:Integer; max:Real; Begin max:=c[1]; nom:=1; For i:=1 to k do If max End; {Основная программа } Var a:mas; n:Integer; {a, n – фактические параметры} Begin Writeln(‘Ввести количество элементов массива’); Readln( n ); Wwod(n,a); Writeln(‘Исходный массив’); Wuwod(n,a); |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling