
- •З дисципліни
- •Дніпропетровськ
- •2.1. Створення таблиць та побудова графіків
- •Завдання №1
- •1.1 Теоретична частина
- •1.1.2 Вимоги до алгоритмів. Способи представлення алгоритмів
- •1.1.3 Види обчислювальних процесів
- •1.1.4Схеми алгоритмів: блоки та їх об’єднання
- •1.2 Практична частина
- •2.1.2 Основні типи даних
- •2.1.3 Арифметичні та логічні вирази. Обґрунтувати правила їх формування, запису та виконання
- •2.1.4 Оператори: прості та складні
- •2.2 Практична частина
- •3.1.2Обґрунтування програмування розгалуженого обчислювального процесу. Визначення умовного оператора
- •3.1.3 Вложені умовні оператори
- •3.1.4 Обґрунтувати використання операторів case
- •3.1.5 Запис операторів процедур вводу та виводу інформації і призначення їх елементів
- •3.2 Практична частина
- •Формульний алгоритм:
- •Розробляю програму:
- •Завдання №4
- •4.1 Теоретична частина
- •4.1.2 Визначення оператору циклу з передумовою, оператору циклу з після умовою, оператора циклів з параметром
- •4.1.3 Одновимірні та багатовимірні масиви
- •4.1.4 Використання функції вводу,виводу та обробки векторів. Ініціалізація масивів
- •4.2 Практична частина
- •Розробляю програму:
- •Завдання № 5
- •5.1 Теоретична частина
- •5.1.1 Вложені циклічні обчислювальні процеси
- •5.1.2 Багатовимірні масиви
- •5.1.3 Ініціалізація багатовимірних масивів
- •5.1.4 Використання функцій та динамічного розподілу пам’яті
- •5.2 Практична частина
- •Mатематичнийописзадачі:
- •РоботаздодаткамиMsOffice (Word, Excel). Методичнівказівкитазавдання:
- •1. Текстовий редакторWord.
- •Утворення таблиці:
- •Об’єднання декількох комірок таблиці в одну:
- •Розбиття однієї комірки таблиці на декілька:
- •Повторення заголовку таблиці на кожній сторінці:
- •Виконання розрахунків у таблиці:
- •Команди меню редактора формул:
- •Вставка математичних символів у формулу:
- •Вставка математичних шаблонів у формулу
- •Утворення та зміна формул
- •Введення тексту в формулу
- •2.1. Створення таблиць та побудова графіків.
- •Шаблони в excel.
- •Робота з глобальними шаблонами
- •Створення шаблону документа
- •Список використаної літератури
5.1.1 Вложені циклічні обчислювальні процеси
Всередині тіла циклу можливо повторювати деяку послідовність операторів, тобто організувати внутрішній цикл. Така структура отримала назву циклу в циклі або вкладених циклів. Глибина вкладення циклів (тобто кількість вкладених один в одного циклів) може бути різною.
При використанні такої структури для заощадження машинного часу необхідно виносити з внутрішнього циклу в зовнішній всіх операторів, які не залежать від параметра внутрішнього циклу.
У разі вкладення операторів циклу слід обов'язково дотримуватись правші відступів і вирівнювань, без яких читабельність програми різко погіршується. Більшість компіляторів Pascal практично не обмежують глибину вкладення, але аналізувати і налагоджувати цикли з десятками вкладень надто складно. Краще виділити окремі частини циклічного процесу в функції чи застосувати інші алгоритми та способи програмування.
5.1.2 Багатовимірні масиви
Багатовимірний масив – це двовимірний масив більш схожий на таблицю, має строки та стовпці даних. Спеціального типу даних для двовимірних масивів в мові Pascal не існує. Замість цього створюється масив, кожний елемент якого, в свою чергу, є теж масивом. Для цього і використовують вложені цикли.
Мова Pascal інтерпретує багатовимірний масив як «масив масивів», тобто масив, елементами якого с масиви меншої вимірності (підмасиви).
Мова Pascal допускає багатовимірні масиви, простою формою яких є двумірннй масив (two- dimentionalarray). Можна сказати, що двумірннй масив - це масив одномірних масивів. Матриця цілих чисел, яку оголошено наступним чином:
intmatr[10] [5] ;
ємасивомздесятиелементів, кожензякихвсвоючергуєодновимірниммасивом (вектором) зп'ятиелементів, щомаютьтипint. Це означає, що матриця matr складається з десяти рядків, кожен з яких містить п'ять цілочислових елементів.
Для збереження matr в оперативній пам'яті буде виділено неперервну ділянку обсягом 10x5xsizeof (int) байт, тобто 100 байтів, якщо тип intв даній системі програмування є двобайтовим. В оголошеннях багатовимірних масивів вказується в окремих квадратних дужках [ ] кількість елементів для кожного з вимірів. Спрощені форми оголошення не підтримуються. Ось приклад оголошення тривимірного масиву:
unsignedfоrmЗd[8] [60] [60] ;
Масив fогmЗdскладається з восьми елементів, кожен з яких є матрицею розмірністю 60 на 60 елементів, сформованою з даних, що мають тип unsignedint. Цей масив буде займати ділянку оперативної пам'яті обсягом 8x60x60xsizeof (unsigned) байт, що у випадку двобайтових слів становить 57600 байтів. Працюючи з багатовимірними масивами, треба завжди звертати увагу на їх сумарний обсяг – він не повинен перевищувати обсяг сегментa оперативної пам'яті (64 Кбайт).
5.1.3 Ініціалізація багатовимірних масивів
Як і одновимірні, багатовимірні масиви можна ініціалізувати відразу в оголошеннях. Наприклад, у разі оголошення:
іntm[3][3] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
всі елементи матриці m(вона складається з трьох рядків, по три елементи в кожному) будуть заповнені вказаною послідовністю натуральних чисел.
В оголошеннях з ініціалізацією для багатовимірних масивів дозволено опускати розмірність найстаршого виміру (але тільки найстаршого). Попереднє оголошення можна записати ще так:
intm[ ][3] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
У цьому випадку кількість рядків матриці обчислюється як частка від ділення кількості даних у списку ініціалізації на відому кількість елементів в одному рядку матриці. Якщо треба проініціалізувати не всі елементи багатовимірного масиву, а тільки початкові елементи окремих рядків, то застосовують внутрішні роздільні фігурні дужки {}. У разі наступного оголошення:
unsignedmat [4] [6] = {{ 0, 1, 2}, {5, 11}, {17}};
буде сформовано матрицю з чотирьох рядків, по шість цілих беззнакових елементів у кожному. Початкові значення отримають перші три елементи першого рядка матриці mat, два перших елементи другого рядка та один елемент третього, всі інші елементи залишаться непроініціалізованими.
Для доступу доелементів багатовимірного масиву можна застосовувати класичну індексну форму звертання, вказавши в окремих квадратних дужках [ ] значення індекса для кожного з вимірів. Наведемо декілька прикладів: m [0] [2] - третій елемент першого рядка матриці; mat [і] [0] - перший елемент і-го рядка (рахуючи від 0) матриці mat; form3d[k+l] [59] [58] - передостанній елемент (к+1)-ї матриці (двовимірного масиву) із тривимірного масиву form3d (59 - індекс рядка, а 58 - індекс елемента в цьому рядку).
Ініціалізація масиву- це установка початкових значень елементів масиву. Як і звичайні змінні, всі масиви повинні бути оголошені явно, щоб компілятор міг виділити для кожного з них ділянку пам'яті відповідного обсягу. Оголошення масивів виконують через таку синтаксичну конструкцію:
тип елементів ім 'я масиву [ кількість елементів ];
де тип елементів- довільний допустимий для Pascalпростий чи складений тип;
імя масиву – ідентифікатор, що відповідає правилам запису імен;
квадратні дужки [ ] -обов'язкова ознака масиву;
кількість елементів- константа чи константний вираз, що визначає розмірність даного масиву.
Наведемо приклади оголошень масивів:
Для кожного масиву компілятор виділяє неперервну ділянку пам'яті, обсяг якої дорівнює добутку “кількість елементів” xsizeof(тип елементів). Наприклад, масив аrr буде займати 15x8=120 байтів, а його елементи матимуть індекси від 0 до 14. В оголошенні масиву vector кількість елементів задається виразом, в якому N має бути попередньо визначеною макроконстантою чи константною змінною .
Оголошуючимасиви, можнавідразуініціалізуватиїхелементи. Застосовуютьдвіформиініціалізації:
із зазначенням кількості елементів масиву;
без зазначення кількості елементів масиву.
У першому випадку масив оголошується звичайним чином, після чого у фігурних дужках {} послідовно вказуються константні значення елементів масиву, починаючи від першого (з індексом 0).