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. Каскадні таблиці стилів.