Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб раб_03.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
143.67 Кб
Скачать

ЛР.03Апроксимація функцій та чисельне інтегрування

Мета роботи: оволодіти прийомами розробки алгоритмів та створення комп’ютерних програм обчислювального процесу, що розгалужується і циклічної структури. Опанувати навики структурування алгоритмів і програм з використанням операторів управління: переходу, вибору, циклу.

Зміст роботи: розробити блок-схему алгоритму та за допомогою пакету MS Visual Studio створити консольну програму для маніпуляції фундаментальними структурами даних (простими типами даних). Правильність виконання завдання перевірити на тестових даних. Хід виконання та результати внести до звіту.

Завдання 1 (на оцінку «задовільно»)

Відповідно до номеру варіанту та завдання у табл. 2.1 розробити програму, яка здійснює лінійну інтерполяцію двох функцій (по черзі) у точках x1; x2. Програма повинна вимагати введення значення точки x3 з клавіатури, для якої потрібно виконати обчислення. Розрахунки програми перевірити за допомогою викладок, зроблених вручну, чи за допомогою MathCAD.

Звіт має містити:

1. Модель задачі

2. Словесний опис алгоритму

2. Блок-схему алгоритму

3. Код програми (програма має виводити на екран групу та ПІБ студента, який її розробив, а також результат розрахунку)

4. Результат роботи програми у вигляді копії екрану

5. Перевірка виконання

Таблиця 2.1 – Вихідні дані до завдання 1

№ варіанту

Функція 1

Функція 2

x1

y1

x2

y2

x1

y1

x2

y2

1.

0,293531

0,967547

0,233347

0,247152

0,576515

0,377219

0,950591

0,60661

2.

0,662593

0,029659

0,469225

0,911736

0,66041

0,782226

0,343008

0,678794

3.

0,622305

0,860755

0,062993

0,401282

0,093106

0,380808

0,786133

0,624981

4.

0,890234

0,853211

0,206782

0,449641

0,732386

0,339979

0,943539

0,183948

5.

0,904151

0,232145

0,565842

0,530607

0,059062

0,841663

0,292789

0,061865

6.

0,845812

0,041574

0,748358

0,194292

0,751258

0,613101

0,352551

0,924398

7.

0,972993

0,1774

0,839355

0,603015

0,257934

0,390597

0,542711

0,910079

8.

0,471373

0,726359

0,700421

0,524393

0,232019

0,034604

0,087928

0,287649

9.

0,471221

0,701942

0,067455

0,466582

0,469898

0,598908

0,802274

0,560249

10.

0,416554

0,342964

0,027844

0,732417

0,987379

0,700646

0,498567

0,652961

11.

0,178353

0,986829

0,083462

0,278499

0,772042

0,8448

0,018642

0,359349

12.

0,184033

0,153338

0,14707

0,428093

0,557966

0,723598

0,286942

0,059755

13.

0,507458

0,199877

0,846878

0,100448

0,197439

0,788971

0,570832

0,765582

14.

0,224756

0,397467

0,80935

0,469277

0,646776

0,436208

0,937544

0,788135

15.

0,521211

0,952756

0,969073

0,030089

0,542043

0,561357

0,368515

0,435429

16.

0,370232

0,502646

0,581251

0,702363

0,887518

0,570203

0,525843

0,952923

17.

0,050877

0,262106

0,642831

0,200484

0,609547

0,52894

0,390595

0,998377

18.

0,722787

0,860875

0,905306

0,560818

0,480246

0,091936

0,651584

0,455119

19.

0,168043

0,872837

0,02604

0,107291

0,050606

0,08361

0,795283

0,932592

20.

0,951075

0,616579

0,346179

0,866189

0,841182

0,233436

0,031821

0,295346

21.

0,61489

0,183455

0,252605

0,653569

0,375846

0,78811

0,598663

0,218962

22.

0,420014

0,106057

0,363043

0,366345

0,951071

0,505983

0,488741

0,042764

23.

0,697081

0,813023

0,274805

0,100263

0,935788

0,896875

0,227803

0,467567

24.

0,197427

0,566497

0,381255

0,666877

0,042169

0,454423

0,226427

0,812592

25.

0,618287

0,033855

0,208918

0,190583

0,972398

0,766447

0,587411

0,812213

Завдання 2 (на оцінку «добре», передбачає виконання попереднього завдання)

Відповідно до номеру варіанту та завдання в таблиці 2.2 здійснити чисельне інтегрування, використовуючи метод прямокутників. Розрахунки програми перевірити за допомогою викладок, зроблених вручну, чи за допомогою MathCAD.

Таблиця 2.2 – Вихідні дані до завдання 2

Звіт має містити:

1. Модель задачі

2. Словесний опис алгоритму

2. Блок-схему алгоритму

3. Код програми (програма має виводити на екран групу та ПІБ студента, який її розробив, а також результат розрахунку)

4. Результат роботи програми у вигляді копії екрану

5. Перевірка виконання

Завдання 3 (на оцінку «відмінно», передбачає виконання обох попередніх завдань)

Здійснити чисельне інтегрування, використовуючи метод Сімпсона. Обчислити для двох інтегралів:

1) взяти із попереднього завдання;

2) взяти із таблиці 2.2, номер варіанту обчислити за формулою: 27-N, де N – номер варіанту за списком.

Звіт має містити:

1. Модель задачі

2. Словесний опис алгоритму

2. Блок-схему алгоритму

3. Код програми (програма має виводити на екран групу та ПІБ студента, який її розробив, а також результат розрахунку)

4. Результат роботи програми у вигляді копії екрану

5. Перевірка виконання: розрахунки програми перевірити за допомогою викладок, зроблених вручну, чи за допомогою MathCAD. Порівняти точність обчислення першого інтегралу із методом, використаним при виконанні попереднього завдання. Зробити висновки.

Запитання для самоконтролю

  1. Напишіть загальний вигляд циклу з передумовою.

  2. Який загальний вигляд має оператор циклу з післяумовою?

  3. Напишіть загальний вигляд оператора циклу з параметром та поясніть призначення його елементів.

  4. Яка характерна особливість усіх трьох операторів циклу?

  5. Чим різняться схеми алгоритмів операторів циклу з передумовою та післяумовою?

  6. Поясніть роботу вкладених циклів.

  7. Що зміниться, якщо два вкладених цикли замінити двома послідовними циклами?

Додаток 1 Алгоритмічні конструкції

В залежності від умов та математичної моделі задачі схема алгоритму може мати:

Лінійну

Розгалужену

Циклічну структуру

Алгоритм лінійної структури - алгоритм, символи якого зображені на схемі в тій послідовності, в якій повинні бути виконані передбачені дії. Такий порядок виконання дій називають природним.

Алгоритмічна  мова

Мова  блок - схем

Дія 1

Дія 2

Дія ...

Дія n 

Алгоритм розгалуженої структури - алгоритм, в якому послідовність дій залежить від результату перевірки будь-якої умови. Тобто така структура забезпечує в залежності від результату перевірки умови (так чи ні) вибір одного з альтернативних шляхів роботи алгоритму. Кожен із шляхів веде до загального виходу, так що робота алгоритму триватиме незалежно від того, який шлях буде вибраний.

Розгалужена структура існує в чотирьох основних варіантах:

  1. якщо - то;

  2. якщо - то - інакше;

  3. вибір;

  4. вибір - інакше.

Алгоритм циклічної структури - алгоритм, в якому передбачено неодноразове виконання однієї і тієї ж послідовності дій. Цю послідовність називають циклом.

Цикл типу "поки"

Наказує виконувати тіло циклу до тих пір, поки виконується умова, записана після слова поки.

Алгоритмічна мова

Мова блок - схем

нц пока (умова) 

тіло циклу (послідовність дій)

 кц

Цикл типу "для"

Наказує виконувати тіло циклу для всіх значень деякої змінної (параметра циклу) в заданому діапазоні.

Алгоритмічна мова

Мова  блок - схем

нц для i от i1 до i2 

тіло циклу  (послідовність дій) 

кц

Приклади команд для циклі "поки" і "для"

Алгоритмічна мова

Мова блок - схем

нц поки  i  < =  5 

S : =  S + A [ i ]

  i := i+1

кц

нц для i от 1 до 5 

X [ i ] : =  i * i * i 

Y [ i ] : =  X [ i ] / 2 

кц

Також цикли бувають ітераційними. Їх особливість в тому, що кількість повторень операторів циклу заздалегідь невідомо. Для його організації використовують оператор поки. Вихід їх ітераційного циклу здійснюється в результаті виконання умови. На кожному кроці обчислень відбувається послідовне наближення і перевірка умови досягнення шуканого результату. Можливі випадки, коли всередині тіла циклу необхідно повторювати деяку послідовність операторів, тобто організувати внутрішній цикл. Така структура отримала назву циклу в циклі або вкладених циклів. Глибина вкладення циклів (тобто кількість вкладених один в одного циклів) може бути різною. При використанні такої структури для економії машинного часу необхідно виносити з внутрішнього циклу в зовнішній всі оператори, які не залежать від параметра внутрішнього циклу.

Приклад вкладених циклів "для"

Завдання: обчислити суму елементів заданої матриці А (5,3).

 

Алгоритмічна мова

Мова блок - схем

нц

для i от 1 до 5

нц

для j от 1 до 3  S : = S + A [ i , j ]

кц

кц

Приклад вкладених циклів "поки"

Завдання: обчислити добуток тих елементів заданої матриці A (10,10), які розташовані на перетині парних рядків і парних стовпців.

Алгоритмічна мова

Мова блок - схем

i : = 2;  P : = 1

нц

пока   i < = 10

j : =  2

нц

пока j < = 10

P : = P * A [ i , j ]

j : = j + 2

кц

i : = i + 2

кц 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]