Алгоритм розрахунку нескінчених сум
Крок 1. Ініціалізація змінної суми. Перехід на крок 2.
Крок 2. Розрахувати доданок на теперішній ітерації. Перехід на крок 3.
Крок 3. Накопичуємо суму. Перехід на крок 4.
Крок 4. Якщо доданок менший за завданну точність, то перехід на крок 5. Якщо ні – крок 2.
Крок 5. Кінець.
Приклад: Розрахувати із заданою точністю ε
float s0 ,s1, t, ε;
int i=1;
s1=1.0;
do {
i++;
s0=s1;
t=1.0/i*i;
s1+=t;
} while (fabs(s1-s0)>ε);
Контрольні запитання
1. Для чого використовують оператори циклу?
2. Напишіть блок-схеми алгоритмів опретарів циклів з передумовою, постумовою, ітераційного циклу.
3. Наведіть алгоритм розрахунку добутку.
4. Наведіть алгоритм розрахунку суми.
5. Наведіть приклади використання циклів з постумовою.
Лабораторна робота №3 Перетворення та будування матриць. Робота з покажчиками та динамічними масивами
Мета роботи
Одержання знань і навичок, необхідних для роботи з матрицями, з покажчиками та динамічною пам’яттю.
Завдання на лабораторну роботу
1. Ознайомитися з теоретичними відомостями.
2. Скласти та виконати на ПЕОМ програми з таблиці 3.1 відповідно до варіанту.
3. Виконати індивідуальне завдання згідно з таблицею 3.1, спочатку з використанням статичних масивів, потім з використанням покажчиків та динамічної пам’яті.(Кожну задачу двома способами).
3. Оформити звіт та захистити роботу.
Таблиця 3.1 – Індивідуальні завдання до лабораторної роботи №3
№ варіанта | Номери задач | № варіанта | Номери задач |
374б, 395, 692а, 674 | 389, 408, 692в, 694б | ||
374а, 400, 676б, 413а | 413а, 369, 393б, 383 | ||
374в, 397а, 692б, 675 | 387, 412б, 692и, 694в | ||
375, 397б, 412а, 678 | 410г, 370а, 393а, 384 | ||
379а, 412б, 692в, 679а | 388, 412в, 692к, 694г | ||
379б, 396, 405, 688 | 389, 412г, 693а, 694д | ||
379в, 412в, 692г, 679б | 390а, 409, 693б, 694е | ||
390г, 372, 394а, 376а | 410в, 370б, 394г, 385 | ||
379г, 412г, 692д, 376б | 390б, 378а, 410е, 694ж | ||
390б, 373б, 401а, 676а | 391, 378б, 691а, 694в | ||
410а, 371, 394б, 387 | 392, 410д, 691б, 694е | ||
379а, 403а, 692е, 687 | 419б, 370б, 394в, 386 | ||
390в, 373а, 402б, 376б | 413б, 368, 393в, 382 | ||
377, 403б, 692ж, 694а | 413в, 367, 393г, 381 |
Основні теоретичні відомості
Масив це – сукупність елементів одного типу. Масив об’являється наступним чином:
тип_елементів ім’я_масиву [розмірність];
Де тип_елементів – це деякий стандартний тип (int, float), розмірність – кількість елементівмасиву. Індексація виконується з 0.
При зверненні до елементу масива використовуються індекси:
for (i=0; i<n; i++) cout<<a[i];
Операції з елементами матриці
У повсякденній практиці програміста нерідко доводиться мати справу з матрицею (двумірним масивом).
Матриця – це прямокутна (в частинному випадку - квадратна) таблиця чисел, що має M рядків та N стовпців.
Головна умова правильного розв'язання відповідних задач полягає в розумінні порядку змінювання індексів елементів матриці. Перший індекс завжди визначає номер рядка, другий — номер стовпця.
Рекомендації по написанню програм з використанням обробки масивів та матриць
а) масив (матриця) повинний бути оголошений;
б) при оголошенні масиву (матриці) при задані розмірності зручно використовувати іменовані константи;
в) доступ до елемента масиву (матриці) здійснюється шляхом вказівки індексу (номера) елемента, у якості якого можна використовувати вираз цілого типу, наприклад, цілу константу чи змінну типу int;
г) для введення, виведення та обробки масивів зручно використовувати оператори циклів (for, while, do while);
д) для роботи з матрицями найчастіше треба використовувати вкладені цикли.