Ввод и вывод элементов одномерного массива

Ввод элементов массива выполняется в два этапа. Вначале указывается его размерность (количество элементов), а затем задаются значения для каждого элемента массива. Рассмотрим два способа организации ввода элементов одномерного массива.

1 способ. Алгоритм ввода массива Х размерностью N (i =1¸ N) (рис. 5.1.1.а). На первом этапе вводится размерность массива N (блок 1). На втором этапе организовывается цикл «Для» на основе блока модификации, выполняющий поэлементный ввод произвольных однотипных значений компонент массива.

Параметр цикла i в тоже время является индексом элементов массива Х. Блок модификации (блок 2) перебирает значения i от 1 до N и для каждого значения i выполняется ввод значения для Хi -го элемента массива (блок 3), т.е. при i =1 будет введено значение для X 1, при i =2 – для X 2 и т.д. Таким образом, за один шаг выполнения цикла вводится один элемент массива Х.


2 способ. Алгоритм формирования массива Х, значения элементов которого принадлежат заданному интервалу xn ≤ Xi ≤ xk с шагом изменения hx (рис. 5.1.1.б). На первом этапе вводятся значения xn, xk и hx (блок 1) и вычисляется N – размерность массива X (блок 2). На втором этапе организовывается цикл «Для» на основе блока модификации (блок 3), в котором перебираются значения i. На каждом шаге цикла вычисляется значение одного элемента массива Х (блок 4), т.е. при i =1 будет вычислено значение для X 1 =xn+ (1-1) ×hx=xn, при i =2 – для X 2 = =xn+ (2-1) ×hx=xn+hx и т.д.

Вывод массива также выполняется поэлементно с помощью цикла «Для» (рис. 5.1.2).

Циклы по вводу или выводу элементов массивов не обязательно делать отдельно. Их можно объединять с циклами по обработке элементов массивов.

Пример 5.1. Используя элементы исходного массива Х размерности N, вычислить элементы массива Y по следующей формуле: Yi =1/ Xi. Определить среднее арифметическое положительных элементов массива Y.

Результирующий массив Y будет иметь туже размерность, что и массив Х.

Решение поставленной задачи можно разделить на 4 этапа: ввод элементов исходного массива Х, вычисление элементов массива Y, вычисление среднего арифметического положительных элементов массива Y и вывод элементов массива Y. Для реализации каждого этапа необходимо организовать отдельные циклы для перебора элементов массивов. Однако, такой способ решения не рационален, хотя и возможен. Вследствие того, что организация всех четырех циклов будет полностью идентична, этапы решения со 2-го по 4-й можно реализовать с помощью только одного цикла «Для». Это значительно уменьшит размер алгоритма и скорость его выполнения. Блок-схема алгоритма приведена на рис. 5.1.3.

       
   
 
 


Ввод исходного массива (блоки 2-4) осуществляется поэлементно, описанным выше способом. В блоке 5 присваиваются начальные значения для переменных S и k (сумма и количество положительных элементов массива Y). Затем организовывается цикл «Для» (блок 6), на каждом шаге которого будут выполняться следующие действия: вычисление по заданной формуле текущего элемента массива Y (блоки 7-9); проверка – не является ли вычисленный элемент Yi положительным (блок 10); добавление положительного значения Yi к сумме S и увеличение счетчика таких элементов k на 1 (блок 11); вывод текущего элемента массива Y (блок 12).

Особое внимание следует обратить на наличие возможной «аномалии» в вычисляемом выражении (Xi не должно быть равным 0). Обработка «аномалий», возникающих при вычислении элементов массива, немного отличается от предложенной в п. 4.1. Если просто пропустить все операции, которые невозможно выполнить, то текущий элемент массива не будет вычислен. В результате может быть сформирован массив, у которого часть элементов будет не определено (массив с «дырами»). Дальнейшее использование такого массива недопустимо. Поэтому в случае возникновения аномалии при вычислении текущего элемента массива, ему надо присвоить такое значение, которое не повлияет на дальнейшие вычисления, например 0 (блок 9).

Таким образом, с помощью одного цикла «Для» будут поочередно перебраны все элементы массива Х, для каждого элемента Xi вычислен и выведен соответствующий элемент массива Yi. После выхода из цикла вычисляется и выводится среднее арифметическое значение положительных элементов массива Y (блоки 13-15). При этом предварительно в блоке 13 проверяется возможность деления на ноль.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: