Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Масиви - один з головних засобів зберігання в пам'яті комп'ютера великих об'ємів інформації.
Для того, щоб зрозуміти масиви, потрібно володіти деякою культурою математичного мислення. Справжнього програмування без масивів не буває.
Рекурсія - це виклик процедури з тіла самої процедури. Вона лежить в основі рекурсивного стилю програмування, дуже цікавого і плідного стилю для певного круга задач.
Сортування - це процес впорядковування елементів масиву. Дуже популярна і поширена задача програмування.
1.2. Змінні з індексами
У основі масивів лежить поняття індексу. У математиці широко застосовуються так звані індексовані змінні. На папері вони записуються так:
x1 x2 b8 yi yi-6 z i j
а читаються відповідно так: ікс перше, ікс друге, бе восьме, ігрек іте, ігрек і мінус шосте, зет іте жіте. Всі ці маленькі підрядкові цифри і вирази називаються індексами. Оскільки в алфавіті VB немає підрядкових букв і цифр, то ті ж індексовані змінні в VB доводиться позначати так:
X(1) X(2) B(8) У(i) У(i-6) Z(i,j)
Числа Фібоначчі. Навіщо математикам потрібні індексовані змінні? Ну, їх зручно застосовувати хоча б при операціях над числовими рядами. Числовий ряд - це просто декілька чисел, збудованих по порядку одне за іншим. Чисел в ряду може бути багато і навіть нескінченно багато.Візьмемо, наприклад, нескінченний ряд чисел Фібоначчі:
1 1 2 3 5 8 13 21 34.....
Кожне з чисел, починаючи з третього, є сумою двох попередніх. А зараз спробуємо записати це твердження за допомогою мови математики. Для цього позначимо кожне з чисел Фібоначчі індексованої змінної таким чином:
Перше число Фібоначчі позначимо так: f(1),
Друге число Фібоначчі позначимо так: f(2) і т.д.
Тоді можна записати, що
f(1)=1 f(2)=1 f(3)=2 f(4)=3 f(5)=5 f(6)=8......
Очевидно, що
f(3)=f(1)+f(2),
f(4)=f(2)+f(3),
f(5)=f(3)+f(4) і т.д.
Як математично однією формулою записати той факт, що кожне з чисел є сумою двох попередніх? Математики в індексному вигляді записують це так:
f(i)=f(i-2)+f(i-1).
Для пояснення цієї формули підставимо замість i будь-яке число, наприклад, 6. Тоді вийде:
f(6)=f(6-2)+f(6-1)
або спрощуючи:
f(6)=f(4)+f(5),
що відповідає визначенню чисел Фібоначчі.
Яке б i, більше 2, ми не підставляли, виходить правильна рівність. Значить, формула вірна сама по собі.
1.3. Одномірні масиви
Одна з типових задач програмування формулюється приблизно так. Є велика кількість даних, наприклад, тих же температур або висот. З цими даними комп'ютер повинен що-небудь зробити, наприклад, обчислити середньорічну температуру, кількість морозних днів, максимальну узяту висоту і т.п. Раніше ми вже обчислювали подібні речі, і при цьому дані вводили в комп'ютер з клавіатури одне за іншим. При цьому завжди виходило, що вони вводяться в один і той же елемент пам'яті. Проте, практика програміста показує, що зручне, а часто і необхідно мати дані в оперативній пам'яті відразу все, а не по черзі. Тоді для задачі, скажімо, про температуру нам знадобиться 365 осередків. Ці 365 осередків ми і назвемо масивом. Отже, масивом можна назвати ряд елементів пам'яті, відведених для зберігання значень індексованої змінної. На питання про те, як велика кількість значень опиняється в пам'яті, відповімо, що звичайно вони вводяться з файлу.
1.4. Основи роботи з одновимірними масивами
Приклад. Розглянемо на прикладі простої задачі, як VB управляється з масивами. Припустимо, в зоопарку живуть три удави. Відома довжина кожного удава в сантиметрах (500, 400 і 600). Яка довжина вийде у трьох удавів, витягнутих в лінію?
Позначимо довжину першого удава - dlina(1), другого - dlina(2), третього - dlina(3). Накажемо VB відвести під цю індексовану змінну масив осередків в пам'яті. Робиться це так:
Дата публикования: 2014-11-18; Прочитано: 506 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!