ДІЇ ІЗ МАСИВАМИ. Частина І

ДІЇ ІЗ МАСИВАМИ

Сума елементів масиву.

Давайте порахуємо суму всіх елементів масиву, який ми виведемо у консоль програми.

Перед цим ми створювали проект, який називався «z». Де ми оголосили масив із 10-ти елементів, та заповнили його довільними числами.
Нам відомо, що наш масив містить 10 елементів. 
Користуючись знаннями із математики ми розуміємо,
що нам потрібно до ar[0] + ar[1] + … +ar[8] + ar[9] = sumAr.
Як це зробити у коді програми?
Раніше ми з вами вивчали цикли і вже знаємо що суму всіх елементів можна порахувати за допомогою циклу. 
Цикл, який лічить всі елементи масиву у нас вже є (див. код програми, рядок 6), тому нам необхідно за межами циклу оголосити ще одну змінну int sumAr = 0, у яку ми будемо записувати суму створених елементів масиву. 
Програмісту треба вставити наступні рядки у код програми:
int sumAr = 0;
sumAr = sumAr + ar[i];
System.out.println("Сума елементів у масиві становить: "+sumAr);


Наша програма змінить вигляд на наступний:
public class Main {
public static void main(String[] args) {
int [] ar = new int [8];
int sumAr = 0; 
for (int i = 0; i < ar.length; i++){
Random r = new Random();
ar[i]=r.nextInt(10);
System.out.print(ar[i]+" ");
sumAr = sumAr + ar[i];
}
System.out.println();
System.out.println("Сума елементів у масиві становить: "+sumAr);
  }
}

Середнє арифметичне значення усіх елементів масиву


Давайте навчимося писати код програми для знаходження середнього арифметичного значення елементів масиву. За основу візьмемо попередню програму та додамо до не декілька строк коду, які будуть знаходити середнє арифметичне значення.
З основ математики ми знаємо що     
      


Ця формула означає: 
треба знайти суму всіх елементів масиву і поділити її на кількість елементів масиву (поділити на довжину масиву).

Тому до коду програми додамо наступні рядки:
double average = (double)sumAr/ar.length;
System.out.println("Середнє значення елементві масиву: "+average);
???
 Поясніть чому перед sumAr зробили явний кастинг (кастинг - приведення типів)?
Наша програма змінить вигляд на наступний:
public class Main {
public static void main(String[] args) {
int [] ar = new int [10];
int sumAr = 0; 
for (int i = 0; i < ar.length; i++){
Random r = new Random();
ar[i]=r.nextInt(10);
System.out.print(ar[i]+" ");
sumAr = sumAr + ar[i];
}
System.out.println();
System.out.println("Сума елементів у масиві становить: "+sumAr);
double average = (double)sumAr/ar.length;
System.out.println("Середнє значення елементві масиву: "+average);
  }

Мінімальне і максимальне значення серед елементів масиву


Для того щоб знайти мінімальний чи максимальний елемент масиву, ми повинні поступово порівнювати всі елементи даного масиву.
Суть міркувань програміста. 
Нам важливо розуміти, як комп’ютер буде визначати мінімальний елемент масиву. Але ми повинні чітко уявляти і бути впевнені, що ми вміємо це робити самостійно.
Розгляньте масив із 5-ти елементів:
int [ ] m = {21, 12, 3, 16, 30}; коли ми дивимось на значення елементів масиву то інформація передана до нашого процесору через очі наступна:
m[ 0 ] = 21;
m[ 1 ] = 12;
m[ 2 ] = 3;
m[ 3 ] = 16;
m[ 4 ] = 30;
Наш мозок розклав масив на елементи, коли ми замислимося над мінімальним елементом масиву, то наш «процесор» виконає наступні дії:
 + ∞    > m[ 0 ] – yes! then min = m [ 0 ]
m[ 0 ] > m[ 1 ] – yes! then min = m [ 1 ]
m[ 1 ] > m[ 2 ] – yes! then min = m [ 2 ]
m[ 2 ] > m[ 3 ] – no! then min = m [ 2 ]
m[ 2 ] > m[ 4 ] – yes! then min = m [ 2 ]
тобто він порівнює елементи масиву із якимось значенням (чи із найбільшим числом, чи із найменшим числом). Але у вас виникне питання чому ми перше число взяли +∞? Та тому, що ми не завжди будемо знати перший елемент масиву і більшим за +∞ числа не існує!
Отже для програмного коду ми повинні реалізувати наші міркування, щоб комп’ютер не помилився під час перевірки даних ми повинні ввести нове значення (найбільше чи найменше число). У програмуванні таким числом є infinity. 
Синтаксис +∞ :
int min = (int)Double.POSITIVE_INFINITY;
int max = (int)Double.NEGATIVE_INFINITY;
Тепер ми утворимо новий цикл де будемо порівнювати наш min і змінювати у разі порівняння його значення із кожним елементом масиву. Для цього використаєм умовний оператор. І у нашому коді додадуться наступні рядки:
for (int i = 0; i < ar.length; i++){
if(ar[i]<min){
min = ar[i];
}
}
System.out.println("Mінімальне значення: "+min);
Або 
for (int i = 0; i < ar.length; i++){
if(ar[i]>max){
max = ar[i];
}
}
System.out.println("Максимальне значення: "+max);

Комментарии

Популярные сообщения из этого блога

Матриці