Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема 8 ПРОЦЕДУРИ




Вправи

Питання для роздумів

Структурне програмування, оператор перехоплення помилки, нескінченний цикл, «зациклення» програми, оператори переривання циклу Exit Do і Exit For.

1. У програмному коді 7.6 (приклад 7.9) в умові закінчення циклу помилково замість нерівності Маса > 30 була написана рівність: Маса = 30. Чому при цьому «зациклення» програми (нескінченного циклу) все-таки не відбудеться? А чим у цьому випадку завершиться робота програми? Перевірте правильність Вашого припущення експериментально.

2. А якщо в тім же коді 7.6, крім помилки з попереднього питання, зроблена ще одна помилка — пропущений рядок i= i+ 1? Чи «Зациклиться» програма? Перевірте!

1. Напишіть програму, що будує зображення кулі, показаної на мал. 7.1. (Вказівка: використовуйте цикл із лічильником для зображення зменшуваних окружностей із загальним центром. Усього таких окружностей повинно бути 255. Використовуйте описану в розд. 5.4 функцію RGB для завдання кольору цих окружностей — аргументи цієї функції повинні одночасно змінюватися від 0 до 255. При цьому колір буде мінятися від чорного до білого.)

2. За допомогою операторів If... Then... Else... і GoTo напишіть програму підсумовування квадратів чисел (див. питання до розд. 7.1).

3. За допомогою операторів If... Then... Else... і GoTo напишіть програму малювання декількох «променів», що виходять з однієї точки, а потім перепишіть програму, замінивши зазначені оператори оператором циклу.

4. За легендою, винахідник шахів попросив у свого пана таку нагороду: на першу клітку шахівниці покласти одне зерно пшениці, на другу клітку — два зерна, на третю — чотири зерна і т.д., щораз подвоюючи число зерен. (Усього на дошці 64 клітки.)
Володар, здивований зайвою «скромністю» винахідника, велів видати йому сто мішків пшениці (у кожнім з яких по 10 000 000 зерен). Однак він недооцінив хитрість свого підданого...
Використовуючи цикл з умовою, напишіть програму, що визначає, починаючи з якої по рахунку клітки дошки загальне число зерен перевищить те, що запропонував винахіднику його владика.

5. На початку XIII в. італійський математик Леонардо Пізанський (1180 — 1240) відкрив чудову послідовність чисел, що назвали числами Фібоначчі (таким було прізвисько математика):

1, 1, 2, 3, 5, 8, 13,...

Закономірність тут така: кожне наступне число (крім двох перших чисел) дорівнює сумі двох попередніх. У реальному житті послідовність Фібоначчі зустрічається досить часто. Наприклад, число пар кроликів у крільчатнику росте саме за таким законом, якщо допустити, що кожна пара кроликів дає потомство (ще одну пару) через два місяці після свого народження. А перераховувати кроликів потрібно один раз на місяць.
Використовуючи цикл з умовою, напишіть програму, що визначає, через скільки місяців крільчатник, розрахований на 1000 пару кроликів, заповниться до межі.
Встановіть дострокове завершення циклу, якщо число місяців обмежене двадцятьма.
Вказівка. Використовуйте дві змінні X і Y для збереження двох сусідніх чисел послідовності. Тоді повторюваними діями циклу будуть такі команди:

X= X+ У
Y = X + Y

(Якщо X = 3, Y = 5, то їхніми новим значеннями будуть: X=8, Y=13).


1.1.Модульний принцип побудови проекту і програмного коду
1.2.Як викликається і як виконується загальна процедура
1.3.Як визначається загальна процедура
1.4.Куди і як поміщається програмний код загальної процедури
1.5.Як визначається і використовується функція
1.6.Додаткові відомості

У 1-й главі 1-ї частини посібника розповідалося про те, що програмування — це складання алгоритмів і програм для розв'язання різних задач на комп'ютері. Очевидно, що якщо задачі складні, то полегшити їхнє розв'язання можна шляхом їх поділу на простіші частини. (Такі частини іноді називають підзадачами.) Для простих частин складної задачі легше скласти алгоритми і написати програми, які називаються процедурами. Про процедури і буде йти мова в цій главі.

У 1-й частини посібника Ви вже познайомилися з деякими процедурами і функціями мови Visual Basic. Частина з них відносилася до таких, що вбудовані у мову, тобто вже готових до вживання процедур і функцій, створених фахівцями фірми Microsoft — авторами мови Visual Basic. Нагадаємо, що були вивчені такі категорії вбудованих функцій як математичні функції, фінансові функції, системні функції Windows (Вікно введення і Вікно повідомлення) та деякі інші. Нагадаємо також, що вбудовані процедури у мові Visual Basic називаються методами. Вони застосовуються до тих чи інших об'єктів — елементів Windows-додатка, що Ви створюєте. Наведемо тільки один приклад з 5-ї глави 1-ї частини посібника: графічний метод Line — вбудована процедура малювання відрізків та прямокутників. Цей метод застосовується, наприклад, до об'єкта PictureBoxГрафічне вікно.

Ще одним видом вивчених Вами процедур були процедури обробки подій — програми, що починають працювати у випадку здійснення тієї чи іншої події, наприклад, натискання клавіші на клавіатурі чи кліка мишею по якому-небудь елементі на екранній формі. На відміну від вбудованих, ці процедури Ви (чи ми з Вами) складали самі, нам пропонувалися лише перший і останній рядки коду кожної з них.

Усі процедури і функції, що будуть розглядатися в цій главі, відносяться не до системних (вбудованих) процедур і функцій, а до тих, що визначаються розробником (тобто Вами). Ми будемо називати їх просто процедурами. Ви самі будете придумувати для них імена, складати для них алгоритми і записувати коди для цих алгоритмів мовою Visual Basic.

На мал. 1.1 приведена класифікація процедур, прийнята в мові Visual Basic.

Мал. 1.1. Класифікація процедур, обумовлених розробником

Усі процедури поділяються на два типи — процедури типу Sub (підпрограми) і процедури типу Function (функції). Перші не повертають значень, а другі — повертають.

У цій главі ми розглянемо тільки одну частину процедур типу Sub (підпрограм) — так звані загальні процедури, a також функції (процедури типу Function). На мал. 1.1 їм відповідають дві «гілки переверненого дерева».

Можна, звичайно, програмувати, не застосовуючи загальних процедур і обумовлених функцій. Але саме з їх допомогою програму зручно представляти у вигляді окремих блоків — «цеглинок», що роблять процес програмування більш точним, чітким і зрозумілим.

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

Зрештою, настає такий момент, коли не тільки колеги, але і сам розробник перестає розуміти, як влаштоване його власне створіння, особливо, коли доводиться повернутися до програми, що написана досить давно.

Але такої проблеми не виникає, якщо програма розбита на окремі невеликі частини. Кожна з цих частин вирішує цілком визначену задачу. При цьому в кожній з них добре (лаконічно і точно) описано, як вони працюють. Опис роботи того чи іншого фрагмента програми бажано поміщати саме в цей фрагмент у вигляді коментарю — однієї чи декількох рядків, що починаються зі знака 'апострофа. (Все, що знаходиться правіше цього знака, система Visual Basic ігнорує.)

І це не єдина причин через яку у програмуванні рекомендуються використовувати процедури. Про інші причини ми ще поговоримо пізніше.




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


Дата добавления: 2014-12-23; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.