39. Масив як засіб організації даних. Реалізація масивів у різних мовах програмування. Одномірні та багатовимірні масиви. Типові алгоритми обробки масивів.
Масив– це впорядкована (пронумерована) послідовність однотипних елементів. Масив має загальне всім елементів ім'я. Номер елемента в масиві називають йогоіндексом.Як індекс можна використовувати будь-які значення порядкового типу:наприклад, цілі числа, символи (приклад: від а до е).
Доступ до елементів масиву здійснюється за індексом, який вказується після імені масиву квадратних дужках. Наприклад: А[2]=12, C['d']=234.
Масиви реалізовані практично у всіх структурних та об'єктно-орієнтованих мовах програмування.
Розглянемо структуру масиву з прикладу мови TurboPascal:
Спочатку необхідно описати тип даних масив:
Описати змінну, що має тип масив:
Type List = Array [1..30] Of String;
MasNum = Array[1..15] Of Real;
Для обробки масивів найчастіше використовується оператор циклу з лічильником For.
Фрагмент програми, що дозволяє здійснити введення значень елементів масиву A з елементів N, може бути записаний наступним чином:
For i := 1 to n do
Write ('введіть ' , i , '-ий елемент ');
багатомірні масиви– це масиви елементами яких є інші масиви.
Розглянемо двовимірний масив у програмах мовою TurboPascal.
1) Опис типу:
2) Опис змінної типу масив:
Type Mas2 = Array [1..5, 1..6] of Integer;
A:Mas2– змінна А масив цілих чисел, у якому 5 рядків та 6 стовпців.
Над масивами не можна виконувати арифметичні дії (віднімати, складати та ін.). Усі дії виконуються поелементно.
Наведемо приклади типових алгоритмів обробки масивів мовоюPascal:
1)Підсумовування матриць:
for i:= 1 to n do
for j:= 1 to m do
2) Підсумовування елементів масиву:
for i := 1 to n do
3) Примноження елементів масиву:
for i := 1 to n do
40. Підпрограми (методи) у мовах програмування. Формальні та фактичні параметри. Глобальні та локальні змінні. Рекурсивне виконання підпрограм.
Підпрограма- це самостійний фрагмент програми, що реалізує певний алгоритм і допускає багаторазове звернення до нього з різних частин програми.
Мова Турбо Паскаль містить два типи підпрограм:
Процедури в Паскалі.Структура процедури аналогічна структурі програми і складається із заголовка та блоку (тіла програми).
Структура процедури майже повністю збігається із структурою програми. Але є винятки:
I. Заголовокпочинається з зарезервованого словаProcedure, крім того містить список параметрів.Параметри– це засоби зв'язку процедури з програмою та іншими процедурами, механізм обміну даними. Параметри процедури бувають двох видів:
- параметри-значення, або вхідні параметри –це вихідні (вхідні) дані, що передаються в процедуру. Їх значення після закінчення процедури залишаються незмінними. Опис параметрів-значень:: .
- параметри-змінні, або вихідні параметри– це результати роботи процедури, що передаються назад до програми чи іншої процедури. Їх значення поля закінчення процедури змінюються. Опис вихідних параметрів:Var: .
Наприклад, процедура може мати такий заголовок:
Procedure Calculate (x,y:integer; var z: integer, var f: real);
Ім'я цієї процедуриCalculate. Вона має 4 параметри: два вхідні (або параметри значення) - це параметриxіyцілого типу; два вихідних (або параметра-змінних) - я цілого типу іfречового типу, т.к. типи вони різні, перед описом кожного вказано зарезервоване словоVar.
Блок описівможе містити ті ж розділи, що і блок описів програми (Const,Type,Var,Procedure,Function),за винятком опису підключення модулів бібліотекUses.
Дані, описані в блоці описів процедури, називаютьсялокальнимиі можуть бути використані тільки у процедурі.
Дані, описані в блоці описів програми, називаютьсяглобальнимиі можуть бути використані як у самій програмі, так і у всіх її процедурах.
Тіло процедуритакож є складовим оператором, але закінчуєтьсяEnd;
ВИКЛИК ПРОЦЕДУРИможе здійснюватися з основної програми або процедури, описаної після викликаної. Під час виклику вказуєтьсяім'я процедури та списокфактичних параметрів,тобто. тих, які будуть підставлені на місцеформальних(використовуваних у списку параметрів процедури). Кількість, порядок та типи фактичних параметрів мають збігатися з кількістю, порядком та типами формальних параметрів. Наприклад, процедуру Calculate, заголовок якої був описаний вище, можна викликати таким чином:
Майже все сказане про процедури правильно і для функцій. Відмінність функції від процедури полягає в тому, що функція не має вихідних параметрів, вона повертає єдине значення – цезначення функції.функції.
У тілі функції обов'язково має бути команда присвоєння виду:
Що дозволить функції повернути обчислене значення.
Наприклад, опишемо функцію обчислення середнього арифметичного двох цілих чисел:
Процедури та функції, що викликають «самих себе» називаютьрекурсивними.Рекурсієюназивається ситуація, коли якась підпрограма прямо або через інші підпрограми викликає себе як підпрограму. Реалізований при цьому алгоритм називається рекурсивним.
41 Об'єктно-орієнтоване програмування: клас, об'єкт, поле, метод. Принципи об'єктно-орієнтованого підходу. Їх реалізація у сучасних мовах програмування.
42 Мови розмітки HTML та XML. Каскадні таблиці стилів.