Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение


Найдите максимальный по величине элемент и ука- жите его номер в массиве.  Решение


Download 0.99 Mb.
Pdf ko'rish
bet68/103
Sana05.05.2023
Hajmi0.99 Mb.
#1432201
TuriУчебно-методическое пособие
1   ...   64   65   66   67   68   69   70   71   ...   103
Bog'liq
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 maxWriteln('Максимальный элемент=',c[nom]:6:2,'его номер=',nom:3); 
End; 
{Основная программа } 
Var a:mas;
n:Integer; {a, n – фактические параметры} 
Begin 
Writeln(‘Ввести количество элементов массива’); 
Readln( n ); 
Wwod(n,a); 
Writeln(‘Исходный массив’); 
Wuwod(n,a); 


124 
Poisk(n,a);
End. 

Download 0.99 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   103




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling