Лекции.Орг


Поиск:




Завдання та порядок виконання. 2.1 Вивчити навчальний матеріал та підготувати відповіді на контрольні питання.




2.1 Вивчити навчальний матеріал та підготувати відповіді на контрольні питання.

2.2 Скласти схему алгоритму рішення задачі за варіантом завдання.

 

3 Контрольні питання

3.1 При яких умовах доцільно використання підпрограми?

3.2 Визначити поняття формальних та фактичних параметрів.

3.3 Які основні блоки використовуються в алгоритмі головної програми?

3.4 Які основні блоки використовуються в алгоритмі підпрограми?

3.5 Перерахувати, як узгоджуються формальні та фактичні параметри.

3.6 Визначити поняття "вкладена підпрограма".

 

4 Зміст звіту

4.1 Номер роботи, її назва, визначення мети.

4.2 Стислі відповіді на контрольні питання.

4.3 Алгоритм та його стислий опис.

4.4 Висновки по роботі.

 


5 Навчальний матеріал

При розв’язанні багатьох практичних задач виникає необхідність у багаторазовому обчисленні параметрів за одним алгоритмом, але при різних значеннях змінних. Щоб програма була компактною, доцільно оформити ці обчислення у вигляді програмних модулів, де описується процедура обчислень для формальних параметрів. При необхідності у відповідних місцях основної програми звертаються до підпрограми, задаючи необхідні значення фактичних параметрів, при яких повинні бути виконані обчислення. При цьому передача значень параметрів до підпрограми та запам’ятовування результатів її роботи виконується у головній програмі.

Розрізняють підпрограми двох типів: бібліотечні та користувача.

Бібліотечні підпрограми складаються раніше та зберігаються у пам’яті машини. Для того, щоб їх використовувати у головній програмі, необхідно звернутися до них, вказавши ім’я підпрограми та фактичні значення параметрів. У вигляді бібліотечних підпрограм оформлюються найбільше уживані функції, обчислення інтегралів, розв’язання різноманітних рівнянь тощо.

Текст процедури обчислень підпрограми користувача розробляється програмістом для однієї конкретної задачі і підпрограма, як правило, не використовується при реалізації інших задач.

Схема алгоритму задачі при використанні підпрограм складається із декількох алгоритмів, один із яких є основним (головним) і обов’язково має наступні блоки: “початок”, “кінець”; присвоєння формальним параметрам фактичних значень; “підпрограма”, присвоєння фактичним змінним результатів обчислень підпрограм. В інших алгоритмах описуються дії, які виконуються у підпрограмах. Такі алгоритми складаються з блоків: “вхід”, опису обчислювального процесу з використанням формальних параметрів, “вихід”.

При використанні вкладених підпрограм схема алгоритму, що викликає програму повинна містити блочні компоненти основної програми: блоки присвоєння формальним параметрам програми, що викликається, блоки “підпрограма”, блоки присвоєння фактичним змінним головної програми результатів обчислень підпрограми, що викликається.

При проектуванні схем алгоритмів з використанням підпрограм необхідно забезпечити узгодження формальних та фактичних параметрів за кількістю, порядком, типом.

На момент звертання до підпрограми усі вхідні фактичні параметри повинні бути визначені, тобто їх значення повинні бути відомими.

Приклад 1: У дисплейному залі в обігу знаходяться n дисплеїв, кожен з яких може відмовити з імовірністю p. Імовірність того, що за день відмовлять не менше m дисплеїв, можна оцінити за формулою

W= ,

де – число сполучень з n по k.

Скласти програму розрахунку імовірності w=f(n, m, p) для заданих значень n=15; p = 0,05. Значення m ввести у діалоговому режимі.

При визначенні числа сполучень необхідно три рази обчислювати факторіал від різних аргументів. Відомо, що факторіал від аргументу х ³ 0 визначається за формулою

1, якщо х = 0

F = x! =

якщо х > 0

Для обчислення факторіалу використовується підпрограма, рис. 1.

 

 


 

Підпрограма містить оператор присвоєння F=1 та цикл, в якому здійснюється обчислення факторіалу Х!. Слід мати на увазі, що значення Х задається в алгоритмі основної програми до виконання підпрограми.

Перед першим зверненням змінній Х присвоюється значення фактичного параметра N (блок 4 алгоритму головної програми), після цього здійснюється перехід до підпрограми (блок 5). Після обчислення N! управління з підпрограми передається блоку 6, де значення результату F присвоюється фактичній змінній А. Аналогічно обчислюються В=К! та F= (N - К)!.

Приклад 2: У програмі необхідно багаторазово виводити різноманітні заголовки, оздоблюючи вгорі та знизу рядком зірочок, наприклад:

*************************************

ГРАФІК ПЕРШОЇ ФУНКЦІЇ Y=F (X)

*************************************

Доцільно друк заголовку і друк рядка зірочок зробити із застосуванням підпрограм.

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

В основній програмі текстовій змінній А$ (блок 2) присвоюється текст заголовку, що повинен бути надрукований, і управління передається підпрограмі П1 друку заголовку (блок 3). Першим оператором цієї підпрограми є оператор виклику другої підпрограми - друку рядка зірочок (блок 3 підпрограми П2). Друга підпрограма друкує рядок зірочок і повертає управління до першої підпрограми П1, на блок 3, що здійснює друк тексту заголовку. Після цього управління знову передається другій підпрограмі П2. Друкується рядок зірочок, що оздоблює текст заголовку знизу, та передається управління першої підпрограмі і вже з неї здійснюється повернення до основної програми (блок 4). Присвоюючи змінній А$ різноманітний текст, можна звертатися до вкладених підпрограм декілька разів.


 

 
 

 

6 Варіанти індивідуальних завдань

 

1. Обчислити Н=(А1+А2)/К1*К2, де А1 і К1 - сума і кількість додатних елементів масиву Х(Р); А2 і К2 - сума і кількість додатних елементів масиву У(Т). Обидві суми обчислювати в одній підпрограмі.

2. Обчислити

R=

3. Обчислити і запам'ятати суми додатних елементів кожного рядка матриці А (4,3), В (5,4).

4. Обчислити Н=(Х1+У1)/(Х2+У2),

де Х1 і Х2 - корені рівняння 2х2+ х – 4=0

У1 і У2 - корені рівняння 3у2+2у – 1=0.

5. Знайти найбільші елементи і їхні порядкові номери масивів Х(Р), У(Т).

6. Переписати додатні елементи масиву Х(Р) і масиву У(Т) в масив А підряд. Запис в масив А здійснюється в підпрограмі.

7. Знайти найменші елементи і номери рядків і стовпчиків, в яких вони розміщені, для матриць А(5,8) і В(3,5).

8. Вивести на друк елементи цілочисельних матриць А(5,8) і В(5,3), які є кратними п'яти.

9. Обчислити

Н= ,

де змінну х задано масивом. Суми обчислювати в одній підпрограмі.

 

10. Обчислити Н=(Хмах - Умін)/2,

де Хмах - максимальний елемент масиву Х(15);

Умін - мінімальний елемент масиву У(10).

11. Обчислити і запам'ятати кількість від’ємних елементів кожного стовпчика для матриць А(5,5), В(3,6).

12. Обчислити суми елементів верхньої трикутної матриці для матриць А(5,5), В(3,3).

13.Обчислити суми елементів головних діагоналей матриць А(Р, Р), В(Т, Т).

14. Обчислити суми і кількість елементів в інтервалі від A до B для матриць Х(5,6) і У(3,5).

15. Перебудувати масиви Х(5) і У(6), розташувавши в них підряд тільки додатні елементи; замість інших елементів записати нулі.

16. Визначити число додатних елементів до першого від’ємного в масивах Х(5), У(10), Н(8).

17. Обчислити і запам'ятати суми додатних елементів кожного стовпчика матриць А(5,7), В(4,3).

18. Перебудувати масиви Х(5) і У(7), розташувавши в них підряд тільки від’ємні елементи, замість інших елементів записати нулі.

19. Знайти найменші елементи та їхні порядкові номери масивів Х(N), У(M).

20. Обчислити Н= (А1+А2)/(К1*К2),

де А1 і К1 - сума і кількість додатних елементів масиву Х(Р);

А2 і К2 - сума і кількість від’ємних елементів масиву У(Т).

Обидві суми обчислювати в одній підпрограмі.

21. Вивести на друк елементи цілочисельних матриць А(7,4) і В(5,3), які є кратними двом.

22. Обчислити і запам'ятати суми від’ємних елементів кожного рядка матриці А(4,5), В(5,3).

23. Обчислити суми елементів нижче головної діагоналі для матриць А(5,5), В(3,3).

24. Обчислити середнє арифметичне від’ємних елементів для масивів А(8), B(7).

25. Обчислити суми елементів нижніх трикутних матриць для матриць А(5,5), В(7,7).

26. Обчислити суми елементів головної діагоналі для матриць А(5,5), В(3,3).

27. Знайти рядки з найбільшою сумою елементів в матрицях А(5,5) і В(3,3). Вивести на друк знайдені рядки і суми.

28.Знайти рядки з найменшою сумою елементів в матрицях А(5,7) і В(3,2). Вивести на друк знайдені рядки і суми.

29.Обчислити середнє геометричне від’ємних елементів для масивів А(10), B(12). Обчислення здійснювати в підпрограмі.

30.Переписати від’ємні елементи масиву Х (10) і масиву У (8) в масив А підряд. Запис в масив А здійснювати в підпрограмі.

31. Обчислити

D= ,

де хi - елементи масиву. Суми обчислювати в одній підпрограмі.

32. Знайти рядки з найменшою сумою елементів в матрицях А(5,2) і В(3,4). Вивести на друк знайдені рядки і суми.

 

 


РОБОТА №15

ПРОЕКТУВАННЯ АЛГОРИТМІВ СОРТУВАННЯ

 

1 Мета роботи

Оволодіння навичками програмування алгоритмів сортування даних.

 





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 391 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

831 - | 694 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.