 
        
        - •Тема 6. Обработка одномерных массивов
- •Массив X(4)
- •7.1.Ввод, вывод и обработка массива
- •7.2. Поиск максимального и минимального элементов массива
- •7.3.Объявление одномерного массива
- •7.4. Доступ к элементу массива
- •Локальные и глобальные переменные
- •Инициализация глобальных массивов
- •7.7. Ввод и вывод массивов
Тема 6. Обработка одномерных массивов
Массив – это совокупность (набор) однотипных элементов, имеющих общее имя и упорядоченных по номерам. Каждый элемент массива располагается в отдельной ячейке памяти. Доступ к элементу массива осуществляется по общему имени массива и порядковому номеру элемента в массиве (рис.7.1). Размерность массива – это количество его элементов. Вычислительный процесс по обработке массива реализуется с помощью алгоритма циклической структуры. Число повторений цикла равно размерности массива. Вводится и выводится массив поэлементно. В каждом цикле обрабатывается только один элемент массива - текущий.
Массив X(4)
 
	Рис. 7.1. Размещение элементов  массива
	в памяти
7.1.Ввод, вывод и обработка массива
- Если, задана размерность массива и его элементы вводятся, то говорят, что массив задан явно. 
- Если элементы массива формируются на заданном интервале, т.е. заданы Xn, Xk, dX (например, -3.5≤Xi≤3.5, dxi=0.5), то говорят, что массив задан неявно. 
Ввод массива,заданного явно, происходит в 2 этапа;
- Сначала вводится размерность массива – N. 
- Затем организуется цикл для поэлементного ввода массива. 
Элементы вводятся по порядку. В одном цикле вводится 1 элемент массива: сначала 1-ый, затем 2-ой ….N-ый. Т.е. цикл повторяеется N раз. Пусть i –порядковый номер массива. Тогда в i –м цикле вводится i –ый єлемент (рис. 7.2). Вывод массива происходит также поэлементно, анологично вводу - в цикле.
 
 
	Рис. 6 
	.2. Ввод массива
Рассмотрим пример поэлементного формирования нового массива по вводимому исходному массиву.
ПРИМЕР 6.1. Задан массив X размерностью N. Сформировать массив Y, если каждый его элемент вычисляется по формуле:
 
где Xi – i-ый элемент заданного массива X, а
Yi – соответствующий элемент формируемого массива Y.
Определить среднее арифметическое положительных элементов массива Y.
Алгоритм приведен на рис. 6.3.
Сначала вводится размерность массива и его элементы. Затем происходит очистка счетчиков. В следующем цикле происходит поєлементное формирование и вывод нового массива Y, а также накопление счетчиков S и k. После завершения цикла происходит анализ значения k: если оно отлично от 0, вычисляется SА - среднее арифметическое положительных значений массива Y, а иначе - выводится сообщение.
 
 
	Рис. 7.3. Алгоритм
	решения примера 7.1
7.2. Поиск максимального и минимального элементов массива
В предыдущем примере размерность массива X задана явно, а теперь рассмотрим пример, в котором задан интервал для формирования значений элементов массива X .
ПРИМЕР 7.2. Элементы массива X формируются на заданном интервале шагом ΔX : Xn≤Xi≤Xk. Сформировать массив Y, вычислив по формуле его элементы. Определить максимальный элемент массива Y и его порядковый номер.
 
Алгоритм решения приведен на рис. 7.4. После ввода исходных данных определяется N - размерность массива X. Затем с помощью блока модификации организуется цикл. Он предназначен для поэлементного формирования и вывода массивов X и Y, определения максимального элемента массива Y и его номера.
Так как формула для вычисления Yi содержит аномалию, в алгоритме предусмотрена проверка: если cosXi=-1 , то вычислить Yi невозможно; в этом случае Yi присваивается 0 (Yi=0), так как все элементы массива должны быть определены. Внимание!!! В массиве не может отсутствовать какой-то элемент!!!
Для хранения значения максимального элемента и его номера отведены 2 вспомогательные ячейки : max и nom. Сначала в max помещается значение 1-го элемента массива Y, а в nom – его номер, т.е. число 1. Каждый следующий элемент массива Yi сравнивается с содержимым max и если Yi>max, то содержимое max меняется на Yi, а в nom помещается значение номера i. После завершения цикла в переменной max находится искомое значение максимального элемента, а в переменной nom – его номер.
Рассмотрим более подробно алгоритм поиска максимального элемента массива и его номера. Допустим значения элементов массива Y равны : Y1=-3, Y2=0, Y3=10, Y4=3, Y5=-2
 
	-3 
	0 
	3 
	10 
	-2 
 
 
 
 
 
 
 
	-3
 
	1
 
 
1) i=1 ; Y1=-3 ; max=-3 ; nom=1
2) i=2 ; Y2= 0 ; проверка Yi > max  “ИСТИНА”  max=0; nom=2
3) i=3 ; Y3= 10; проверка Yi>max“ИСТИНА” max=10; nom=3
4) ) i=4 ; Y3= 3; проверка Yi>max“ЛОЖЬ”
5) i=5 ; Y3= -2; проверка Yi>max“ЛОЖЬ”
Цикл завершен, результат  max=10; nom=3
 
 
 
 
	N=(Xk-Xn+X/2)/X+1
 
 
 
 
 
 
 
	Xi=Xn+ΔX(i-1)
 
 
	_
 
	+ 
 
 
 
 
	Yi=Ln|2+2cosXi| 
	Yi=0
 
	+ 
	+ 
	max=Y1 
	nom=1 
	max=Yi nom=i 
	_ 
	_ 
 
 
 
 
 
 
 
 
 
 
	Рис. 7.4. Алгоритм
	решения примера 7.2
Выводы.
- Для поиска максимального элемента массива и его номера необходимо предусмотреть 2 вспомогательные ячейки – для значения и для номера – например, max и nom. Сначала в max помещается значение 1 –го элемента, а в nom –единица. Все элементы массива начиная со 2-го последовательно сравниваются с содержимым max. Если при этом какой-то элемент превышает max, его значение заменяет содержимое max, а его номер заменяет содержимое nom.По окончании перебора всех элементов массива в max содержится значение максимального элемента массива, а в nom –его номер. 
- Все элементы массива должны быть определены (нельзя не вычислить какой-то элемент). Если какой-то элемент невозможно вычислить из-за аномальной ситуации, его определяют произвольно, например, обнуляют. 
