KNOWLEDGE HYPERMARKET


ПРОЦЕДУРИ З АРГУМЕНТАМИ
(Создана новая страница размером ПРОЦЕДУРИ З АРГУМЕНТАМИ<br> <br>1. Що таке процедура? Які правила її запису в а...)
 
(7 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
ПРОЦЕДУРИ З АРГУМЕНТАМИ<br>  
+
'''[[Гіпермаркет Знань - перший в світі!|Гіпермаркет Знань]]&gt;&gt;[[Інформатика|Інформатика]]&gt;&gt;[[Інформатика 6 клас|Інформатика 6 клас]]&gt;&gt;Інформатика: Процедури з аргументами'''<metakeywords>Інформатика, клас, урок, на Тему, Процедури з аргументами</metakeywords>  
-
<br>1. Що таке процедура? Які правила її запису в алгоритмі?<br>2. Як виконується алгоритм з процедурами?<br>3. У чому полягає суть процедурного методу створення алгоритму?<br><br>
+
'''Процедури з аргументами<br>'''
-
<u>''Процедури з одним аргументом''</u><br>&nbsp;<br>У попередньому пункті ви дізналися, як за допомогою процедур спростити запис алгоритму у випадках, коли малюнок містить рівні між собою об'єкти, але вони розташовані на різних відстанях один від одного.<br><br>Підемо ще далі. Розглянемо малюнок, на якому є схожі об'єкти, але нерівні між собою. А саме, три нерівні рівносторонні трикутники, які ще й знаходяться на різних відстанях один від одного.
+
<br>1.''Що таке процедура? Які правила її запису в [[Алгоритми_й_основні_алгоритмічні_структури_(повторення).|алгоритмі]]?<br>2. Як виконується алгоритм з [[Тема_36._Практична_робота_№_16:_Складання_програм_з_процедурами|процедурами]]?<br>3. У чому полягає суть процедурного методу створення алгоритму?<br>''<br>  
-
[[Image:Ass19.jpg]]<br>  
+
'''Процедури з одним аргументом'''<br>&nbsp;У попередньому пункті ви дізналися, як за допомогою процедур спростити запис алгоритму у випадках, коли малюнок містить рівні між собою об'єкти, але вони розташовані на різних відстанях один від одного.<br>Підемо ще далі. Розглянемо малюнок, на якому є схожі об'єкти, але нерівні між собою. А саме, три нерівні рівносторонні трикутники, які ще й знаходяться на різних відстанях один від одного.
 +
 
 +
[[Image:Ass19.jpg|три нерівні рівносторонні трикутники, які ще й знаходяться на різних відстанях один від одного.]]<br>  
<br>Очевидно, що для малювання кожного з цих трикутників потрю-но скласти окрему процедуру. Але це, знову ж таки, не раціонально. Тим більше, що таких нерівних рівносторонніх трикутників на малюнку може бути не три, а значно більше.  
<br>Очевидно, що для малювання кожного з цих трикутників потрю-но скласти окрему процедуру. Але це, знову ж таки, не раціонально. Тим більше, що таких нерівних рівносторонніх трикутників на малюнку може бути не три, а значно більше.  
Строка 29: Строка 31:
Оскільки самі трикутники відрізняються один від одного тільки довжиною сторони, то й процедури для їх малювання відрізняються одна від одної тільки однією командою. Причому, в цих командах напрям руху Черепашки один і той самий (Вперед), а відмінність полягає лише в кількості кроків, які Черепашка повинна пройти (Вперед на 30 і Вперед на 40). Аналогічну ситуацію маємо і з третім трикутником.<br>  
Оскільки самі трикутники відрізняються один від одного тільки довжиною сторони, то й процедури для їх малювання відрізняються одна від одної тільки однією командою. Причому, в цих командах напрям руху Черепашки один і той самий (Вперед), а відмінність полягає лише в кількості кроків, які Черепашка повинна пройти (Вперед на 30 і Вперед на 40). Аналогічну ситуацію маємо і з третім трикутником.<br>  
-
<br>До процедури, за допомогою якої Черепашка зможе намалювати довільний рівносторонпій трикутник, замість команд Вперед на ЗО, Вперед на 40, Вперед на 60 включимо команду Вперед на х (х — змінна). Те, що в процедурі будуть використані команди зі змінними, потрібно вказати в заголовку процедури, і він матиме такий вигляд Проц РівнТр (х).  
+
До процедури, за допомогою якої Черепашка зможе намалювати довільний рівносторонпій трикутник, замість команд Вперед на ЗО, Вперед на 40, Вперед на 60 включимо команду Вперед на х (х — змінна). Те, що в процедурі будуть використані команди зі змінними, потрібно вказати в заголовку процедури, і він матиме такий вигляд Проц РівнТр (х).  
-
<br>Тобто, процедура для малювання довільного рівностороннього трикутника виглядатиме так:<br>Проц РівнТр (х)<br>Початок<br>Опусти хвостик<br>Повтори 3 рази<br>[<br>Вперед на х  
+
Тобто, процедура для малювання довільного рівностороннього трикутника виглядатиме так:  
 +
 
 +
<br>Проц РівнТр (х)<br>Початок<br>Опусти хвостик<br>Повтори 3 рази<br>[<br>Вперед на х  
Вправо на 120<br>]<br>Підніми хвостик  
Вправо на 120<br>]<br>Підніми хвостик  
-
Кінець<br><br><u>''Виконання процедур з аргументом''</u><br>Якщо змінна х не матиме конкретного значення, то Черепашка не зможе виконати команду Вперед на х, адже вона не знатиме, скільки саме кроків їй потрібно пройти вперед. Повідомити про це ми можемо в команді виклику цієї процедури.  
+
Кінець<br><br>'''Виконання процедур з аргументом'''<br>Якщо змінна х не матиме конкретного значення, то Черепашка не зможе виконати команду Вперед на х, адже вона не знатиме, скільки саме кроків їй потрібно пройти вперед. Повідомити про це ми можемо в команді виклику цієї процедури.  
-
<br>Для малювання першого трикутника команда виклику процедури виглядатиме так: РівнТр (30). Ви вже знаєте, що команди РівнТр немає серед системи команд виконавця Черепашка. Тому вона шукатиме в алгоритмі процедуру з цим іменем. Така процедура в алгоритмі є, і в її заголовку в дужках вказана змінна х. Черепашка надасть цій змінній значення 30, яке вказано в дужках у команді виклику процедури, після чого команда Вперед на х набуде вигляду Вперед на 30 і Черепашка зможе виконати її та намалювати перший з даних рівносторонніх трикутників.  
+
Для малювання першого трикутника команда виклику процедури виглядатиме так: РівнТр (30). Ви вже знаєте, що команди РівнТр немає серед системи команд виконавця Черепашка. Тому вона шукатиме в алгоритмі процедуру з цим іменем. Така процедура в алгоритмі є, і в її заголовку в дужках вказана змінна х. Черепашка надасть цій змінній значення 30, яке вказано в дужках у команді виклику процедури, після чого команда Вперед на х набуде вигляду Вперед на 30 і Черепашка зможе виконати її та намалювати перший з даних рівносторонніх трикутників.  
-
<br>  
+
Для малювання другого трикутника команда виклику процедури виглядатиме так: РівнТр (40). Тобто, викликається та ж сама процедура, але при виклику змінній х надається інше значення: 40. Тому тепер команда Вперед на х набуде вигляду Вперед на 40 і Черепашка малюватиме другий з даних рівносторонніх трикутників.<br>Очевидно ви вже зрозуміли, що для малювання третього з даних рівносторонніх трикутників потрібно викликати цю ж саму процедуру командою РівнТр (60).<br>Таким чином, алгоритм для малювання наведеного малюнка виглядатиме так:
-
Для малювання другого трикутника команда виклику процедури виглядатиме так: РівнТр (40). Тобто, викликається та ж сама процедура, але при виклику змінній х надається інше значення: 40. Тому тепер команда Вперед на х набуде вигляду Вперед на 40 і Черепашка малюватиме другий з даних рівносторонніх трикутників.<br>Очевидно ви вже зрозуміли, що для малювання третього з даних рівносторонніх трикутників потрібно викликати цю ж саму процедуру командою РівнТр (60).<br>Таким чином, алгоритм для малювання наведеного малюнка виглядатиме так:<br>Проц РівнТр (х)  
+
<br>Проц РівнТр (х)  
Початок<br>Опусти хвостик<br>Повтори 3 рази<br>[<br>Вперед на х  
Початок<br>Опусти хвостик<br>Повтори 3 рази<br>[<br>Вперед на х  
Строка 69: Строка 73:
РівнТр (60)<br><br>Процедура, що містить команди зі змінними, які набувають своїх значень при виклику процедури, називається процедурою з аргументами.  
РівнТр (60)<br><br>Процедура, що містить команди зі змінними, які набувають своїх значень при виклику процедури, називається процедурою з аргументами.  
-
<br><u>''Процедури з кількома аргументами''</u><br>Процедура може містити не тільки один, а й кілька аргументів. Для малювання цього ж самого малюнка ми можемо скласти процедуру, за допомогою якої можна буде не тільки намал ювати довільний рівносторонній трикутник, а й перейти до наступного трикутника. Відстані між трикутниками будемо задавати при виклику процедури як значення ще однієї змінної.<br>Виглядатиме ця процедура і основна частина алгоритму так:<br>Проц РівнТрТаПерехід (х, у)  
+
<br>'''Процедури з кількома аргументами'''<br>Процедура може містити не тільки один, а й кілька аргументів. Для малювання цього ж самого малюнка ми можемо скласти процедуру, за допомогою якої можна буде не тільки намал ювати довільний рівносторонній трикутник, а й перейти до наступного трикутника. Відстані між трикутниками будемо задавати при виклику процедури як значення ще однієї змінної.<br>Виглядатиме ця процедура і основна частина [[Кроки_алгоритму.|алгоритму]] так:<br>Проц РівнТрТаПерехід (х, у)  
Початок<br>Опусти хвостик<br>Повтори 3 рази<br>[<br>Вперед на х  
Початок<br>Опусти хвостик<br>Повтори 3 рази<br>[<br>Вперед на х  
Строка 85: Строка 89:
РівнТрТаПерехід (60, 0)<br><br>При виклику процедури РівнТрТаПерехід (х, у) командою РівнТрТаПерехід (ЗО, 50) змінній х надається значення ЗО, а змінній у — значення 50. Відповідно команда Вперед на х набуває вигляду Вперед на ЗО, а команда Вперед на у - Вперед на 50. Виконуючи команди цього алгоритму, Черепашка малює перший з даних рівносторонпіх трикутників і переходить до початку малювання другого.  
РівнТрТаПерехід (60, 0)<br><br>При виклику процедури РівнТрТаПерехід (х, у) командою РівнТрТаПерехід (ЗО, 50) змінній х надається значення ЗО, а змінній у — значення 50. Відповідно команда Вперед на х набуває вигляду Вперед на ЗО, а команда Вперед на у - Вперед на 50. Виконуючи команди цього алгоритму, Черепашка малює перший з даних рівносторонпіх трикутників і переходить до початку малювання другого.  
-
<br>При виклику процедури РівнТрТаПерехід (х, у) командою РівнТрТаПерехід (40,70) змінній х надається значен ня 40, а змінній у — значення 70. Відповідно команда Вперед на х набуває вигляду Вперед на 40, а команда Вперед на у — Вперед на 70. Викопуючи команди цього алгоритму, Черепашка малює другий з даних рівносторонніх трикутників і переходить до початку малювання третього.<br><br>Аналогічним є й третій виклик цієї процедури для малювання третього трикутника. При цьому змінна у набуває значення 0 і команда Вперед на у перетворюється на команду Вперед на 0. При виконанні цієї команди Черепашка залишається на місці. Це цілком відповідає ситуації, коли, намалювавши третій трикутник, Черепашка вже не повинна переходити до малювання наступного трикутника.  
+
При виклику процедури РівнТрТаПерехід (х, у) командою РівнТрТаПерехід (40,70) змінній х надається значен ня 40, а змінній у — значення 70. Відповідно команда Вперед на х набуває вигляду Вперед на 40, а команда Вперед на у — Вперед на 70. Викопуючи команди цього алгоритму, Черепашка малює другий з даних рівносторонніх трикутників і переходить до початку малювання третього.<br>Аналогічним є й третій виклик цієї процедури для малювання третього трикутника. При цьому змінна у набуває значення 0 і команда Вперед на у перетворюється на команду Вперед на 0. При виконанні цієї команди Черепашка залишається на місці. Це цілком відповідає ситуації, коли, намалювавши третій трикутник, Черепашка вже не повинна переходити до малювання наступного трикутника.  
-
<br>
+
Процедуру з двома аргументами можна та кож використовувати, наприклад, для малювання довільного прямокутника. Вона виглядатиме так:
-
Процедуру з двома аргументами можна та кож використовувати, наприклад, для малювання довільного прямокутника. Вона виглядатиме так:<br>Проц Прямокутник (х, у)  
+
<br>Проц Прямокутник (х, у)  
Початок<br>Опусти хвостик<br>Повтори 2 рази<br>[<br>Вперед на х  
Початок<br>Опусти хвостик<br>Повтори 2 рази<br>[<br>Вперед на х  
Строка 99: Строка 103:
Вправо на 90<br>]<br>Підніми хвостик Кінець<br><br>Виклик цієї процедури може відбутися, наприклад, командою Прямокутник (20, ЗО). Після цього, як і в попередньому прикладі, змінна х набуде значення 20, а змінна у — значення ЗО. Отже, команда Вперед на х перетвориться на команду Вперед на 20, а команда Вперед на у — на команду Вперед на ЗО.  
Вправо на 90<br>]<br>Підніми хвостик Кінець<br><br>Виклик цієї процедури може відбутися, наприклад, командою Прямокутник (20, ЗО). Після цього, як і в попередньому прикладі, змінна х набуде значення 20, а змінна у — значення ЗО. Отже, команда Вперед на х перетвориться на команду Вперед на 20, а команда Вперед на у — на команду Вперед на ЗО.  
-
<br>Сподіваємося, ви зрозуміли, що аналогічним чином можна використовувати процедури з трьома, чотирма та з іншою кількістю аргументів.<br><br>''Запитання та завдання''<br>1. Що таке процедура з аргументами? Для чого вони використовуються в алгоритмі?<br>2. Як записуються процедури з аргументами в алгоритмі?<br>3. Як викликаються і виконуються процедури з аргументами?<br>4. Складіть алгоритми для Черепашки, використовуючи процедури з аргументами:
+
Сподіваємося, ви зрозуміли, що аналогічним чином можна використовувати процедури з трьома, чотирма та з іншою кількістю аргументів.<br><br>'''Запитання та завдання'''<br>''1. Що таке процедура з аргументами? Для чого вони використовуються в алгоритмі?<br>2. Як записуються процедури з аргументами в алгоритмі?<br>3. Як викликаються і виконуються процедури з аргументами?''
-
 
+
-
[[Image:Ass20.jpg]]
+
<br>  
<br>  
-
[[Image:Ass21.jpg]]  
+
''Ломаковська Г.В., Колесніков С.Я., Ривкінд Й.Я.[http://school.xvatit.com/index.php?title=%D0%86%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0_6_%D0%BA%D0%BB%D0%B0%D1%81 Інформатика 6 клас]<br>''
-
<br>
+
''Вислано читачаму з інтернет-сайту''<br>  
-
 
+
-
5.&nbsp; Виконайте в зошиті алгоритми, що містять процедури з аргументами:<br>а) Крон Фігура1 (х) <br>Початок Опусти хвостик Вперед на х&nbsp; Вліво на 90 Вперед на х Вліво на 90 Вперед на х <br>Підніми хвостик Кінець<br>Вправо на 90 Фігура1 (20) Назад на ЗО Вправо на 90 Назад на 20 Вправо на 90 Фігура1 (30)<br><br>б) Проц Фігура2 (х, у) Початок Опусти хвостик Вперед на у Вправо на 90 Вперед на х Вліво на 90 Назад на у Підніми хвостик Кінець<br>Фігура2 (20, ЗО) Вправо на 90 Вперед на 20 Вліво на 90 Фігура2 (ЗО, 40)<br><br>в) Проц ФігураЗ (х) Початок Опусти хвостик Вперед на х Вліво на 120 Вперед на х Підніми хвостик Кінець<br>Вправо на 90 ФігураЗ (20) Назад на 20 Вправо на 120 Вперед на 10 ФігураЗ (30) Назад на 30 Вправо на 120 Вперед на 20 ФігураЗ (40)<br>  
+
<br>  
<br>  
-
[[Image:1236084776 kr.jpg]] акселеративні методи на уроці                        [[Image:1236084776 kr.jpg]] національні особливості
+
<sub>Плани уроків з інформатики. Книги, [[Гіпермаркет Знань - перший в світі!|підручники]], [[Гіпермаркет Знань - перший в світі!|конспект]] на допомогу вчителю та учням.</sub>
-
[[Image:1236084776 kr.jpg|10x10px]] виділити головне в уроці - опорний каркас            [[Image:1236084776 kr.jpg|10x10px]] [http://xvatit.com/nichego-sebe-uroki/ нічого собі уроки]
+
 
-
  [[Image:1236084776 kr.jpg|10x10px]] відеокліпи                                          [[Image:1236084776 kr.jpg|10x10px]] нова система освіти
+
'''<u>Зміст уроку</u>'''
-
  [[Image:1236084776 kr.jpg|10x10px]] вправи на пошук інформації                          [[Image:1236084776 kr.jpg|10x10px]] підручники основні допоміжні
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] конспект уроку і опорний каркас                     
-
[[Image:1236084776 kr.jpg|10x10px]] гумор, притчі, приколи, приказки, цитати            [[Image:1236084776 kr.jpg|10x10px]] презентація уроку
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] презентація уроку  
-
  [[Image:1236084776 kr.jpg|10x10px]] додаткові доповнення                                [[Image:1236084776 kr.jpg|10x10px]] реферати
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] акселеративні методи та інтерактивні технології
-
[[Image:1236084776 kr.jpg|10x10px]] домашнє завдання                                    [[Image:1236084776 kr.jpg|10x10px]] речовки та вікторизми
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] закриті вправи (тільки для використання вчителями)
-
  [[Image:1236084776 kr.jpg|10x10px]] задачі та вправи (рішення та відповіді)              [[Image:1236084776 kr.jpg|10x10px]] риторичні питання від учнів
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] оцінювання
-
[[Image:1236084776 kr.jpg|10x10px]] закриті вправи (тільки для використання вчителями)   [[Image:1236084776 kr.jpg|10x10px]] рівень складності звичайний І
+
-
  [[Image:1236084776 kr.jpg|10x10px]] знайди інформацію сам                                [[Image:1236084776 kr.jpg|10x10px]] рівень складності високий ІІ
+
   
   
-
  [[Image:1236084776 kr.jpg|10x10px]] [http://xvatit.com/Idealny_urok.html ідеальні уроки]                                     [[Image:1236084776 kr.jpg|10x10px]] рівень складності олімпійський III
+
'''<u>Практика</u>'''
-
  [[Image:1236084776 kr.jpg|10x10px]] ілюстрації, графіки, таблиці                        [[Image:1236084776 kr.jpg|10x10px]] самоперевірка
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] задачі та вправи,самоперевірка
-
  [[Image:1236084776 kr.jpg|10x10px]] інтерактивні технології                              [[Image:1236084776 kr.jpg|10x10px]] система оцінювання
+
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] практикуми, лабораторні, кейси
-
  [[Image:1236084776 kr.jpg|10x10px]] календарний план на рік                              [[Image:1236084776 kr.jpg|10x10px]] скласти пазл з різних частин інформації
+
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] рівень складності задач: звичайний, високий, олімпійський
-
  [[Image:1236084776 kr.jpg|10x10px]] кейси та практикуми                                  [[Image:1236084776 kr.jpg|10x10px]] словник термінів
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] домашнє завдання
-
  [[Image:1236084776 kr.jpg|10x10px]] комікси                                              [[Image:1236084776 kr.jpg|10x10px]] статті
+
-
  [[Image:1236084776 kr.jpg|10x10px]] [http://xvatit.com/forum/ коментарі та обговорення]                          [[Image:1236084776 kr.jpg|10x10px]] тематичні свята
+
'''<u>Ілюстрації</u>'''
-
  [[Image:1236084776 kr.jpg|10x10px]] конспект уроку                                      [[Image:1236084776 kr.jpg|10x10px]] тести
+
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] ілюстрації: відеокліпи, аудіо, фотографії, графіки, таблиці, комікси, мультимедіа
-
  [[Image:1236084776 kr.jpg|10x10px]] методичні рекомендації                              [[Image:1236084776 kr.jpg|10x10px]] шпаргалка
+
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] реферати
-
  [[Image:1236084776 kr.jpg|10x10px]] навчальні програми                                   [[Image:1236084776 kr.jpg|10x10px]] що ще не відомо, не відкрито вченими
+
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] фішки для допитливих
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] шпаргалки
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] гумор, притчі, приколи, приказки, кросворди, цитати
 +
 +
'''<u>Доповнення</u>'''
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] зовнішнє незалежне тестування (ЗНТ)
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] підручники основні і допоміжні
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] тематичні свята, девізи
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] статті  
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] національні особливості
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] словник термінів                         
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] інше
 +
 +
'''<u>Тільки для вчителів</u>'''
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] [http://xvatit.com/Idealny_urok.html ідеальні уроки]
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] календарний план на рік
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] методичні рекомендації
 +
  [[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] програми
 +
[[Image:1236084776 kr.jpg|10x10px|1236084776 kr.jpg]] [http://xvatit.com/forum/ обговорення]
 +
 
 +
&nbsp;<br>Если у вас есть исправления или предложения к данному уроку, [http://xvatit.com/index.php?do=feedback напишите нам].
-
&nbsp;<br>
+
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - [http://xvatit.com/forum/ Образовательный форум].

Текущая версия на 09:29, 8 ноября 2012

Гіпермаркет Знань>>Інформатика>>Інформатика 6 клас>>Інформатика: Процедури з аргументами

Процедури з аргументами


1.Що таке процедура? Які правила її запису в алгоритмі?
2. Як виконується алгоритм з процедурами?
3. У чому полягає суть процедурного методу створення алгоритму?

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

три нерівні рівносторонні трикутники, які ще й знаходяться на різних відстанях один від одного.


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


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

Проц РівнТр1
Початок

Опусти хвостик

Повтори 3 рази
[
Вперед на 30

Вправо на 120
]
Підніми хвостик

Кінець

Проц РівнТр2
Початок
Опусти хвостик

Повтори 3 рази
[
Вперед на 40

Вправо на 120
]
Підніми хвостик

Кінець


Оскільки самі трикутники відрізняються один від одного тільки довжиною сторони, то й процедури для їх малювання відрізняються одна від одної тільки однією командою. Причому, в цих командах напрям руху Черепашки один і той самий (Вперед), а відмінність полягає лише в кількості кроків, які Черепашка повинна пройти (Вперед на 30 і Вперед на 40). Аналогічну ситуацію маємо і з третім трикутником.

До процедури, за допомогою якої Черепашка зможе намалювати довільний рівносторонпій трикутник, замість команд Вперед на ЗО, Вперед на 40, Вперед на 60 включимо команду Вперед на х (х — змінна). Те, що в процедурі будуть використані команди зі змінними, потрібно вказати в заголовку процедури, і він матиме такий вигляд Проц РівнТр (х).

Тобто, процедура для малювання довільного рівностороннього трикутника виглядатиме так:


Проц РівнТр (х)
Початок
Опусти хвостик
Повтори 3 рази
[
Вперед на х

Вправо на 120
]
Підніми хвостик

Кінець

Виконання процедур з аргументом
Якщо змінна х не матиме конкретного значення, то Черепашка не зможе виконати команду Вперед на х, адже вона не знатиме, скільки саме кроків їй потрібно пройти вперед. Повідомити про це ми можемо в команді виклику цієї процедури.

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

Для малювання другого трикутника команда виклику процедури виглядатиме так: РівнТр (40). Тобто, викликається та ж сама процедура, але при виклику змінній х надається інше значення: 40. Тому тепер команда Вперед на х набуде вигляду Вперед на 40 і Черепашка малюватиме другий з даних рівносторонніх трикутників.
Очевидно ви вже зрозуміли, що для малювання третього з даних рівносторонніх трикутників потрібно викликати цю ж саму процедуру командою РівнТр (60).
Таким чином, алгоритм для малювання наведеного малюнка виглядатиме так:


Проц РівнТр (х)

Початок
Опусти хвостик
Повтори 3 рази
[
Вперед на х

Вправо на 120
]
Підніми хвостик

Кінець


Вправо на ЗО

РівнТр (ЗО)

Вправо на 60

Вперед на 50

Вліво на 60

РівнТр (40)

Вправо на 60

Вперед на 70

Вліво на 60

РівнТр (60)

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


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

Початок
Опусти хвостик
Повтори 3 рази
[
Вперед на х

Вправо на 120
]
Підніми хвостик
Вправо на 60
Вперед на у
Вліво на 60

Кінець

Вправо на ЗО

РівнТрТаПерехід (ЗО, 50)

РівнТрТаПерехід (40, 70)

РівнТрТаПерехід (60, 0)

При виклику процедури РівнТрТаПерехід (х, у) командою РівнТрТаПерехід (ЗО, 50) змінній х надається значення ЗО, а змінній у — значення 50. Відповідно команда Вперед на х набуває вигляду Вперед на ЗО, а команда Вперед на у - Вперед на 50. Виконуючи команди цього алгоритму, Черепашка малює перший з даних рівносторонпіх трикутників і переходить до початку малювання другого.

При виклику процедури РівнТрТаПерехід (х, у) командою РівнТрТаПерехід (40,70) змінній х надається значен ня 40, а змінній у — значення 70. Відповідно команда Вперед на х набуває вигляду Вперед на 40, а команда Вперед на у — Вперед на 70. Викопуючи команди цього алгоритму, Черепашка малює другий з даних рівносторонніх трикутників і переходить до початку малювання третього.
Аналогічним є й третій виклик цієї процедури для малювання третього трикутника. При цьому змінна у набуває значення 0 і команда Вперед на у перетворюється на команду Вперед на 0. При виконанні цієї команди Черепашка залишається на місці. Це цілком відповідає ситуації, коли, намалювавши третій трикутник, Черепашка вже не повинна переходити до малювання наступного трикутника.

Процедуру з двома аргументами можна та кож використовувати, наприклад, для малювання довільного прямокутника. Вона виглядатиме так:


Проц Прямокутник (х, у)

Початок
Опусти хвостик
Повтори 2 рази
[
Вперед на х

Вправо на 90

Вперед на у

Вправо на 90
]
Підніми хвостик Кінець

Виклик цієї процедури може відбутися, наприклад, командою Прямокутник (20, ЗО). Після цього, як і в попередньому прикладі, змінна х набуде значення 20, а змінна у — значення ЗО. Отже, команда Вперед на х перетвориться на команду Вперед на 20, а команда Вперед на у — на команду Вперед на ЗО.

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

Запитання та завдання
1. Що таке процедура з аргументами? Для чого вони використовуються в алгоритмі?
2. Як записуються процедури з аргументами в алгоритмі?
3. Як викликаються і виконуються процедури з аргументами?


Ломаковська Г.В., Колесніков С.Я., Ривкінд Й.Я.Інформатика 6 клас

Вислано читачаму з інтернет-сайту


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

Зміст уроку
1236084776 kr.jpg конспект уроку і опорний каркас                      
1236084776 kr.jpg презентація уроку 
1236084776 kr.jpg акселеративні методи та інтерактивні технології
1236084776 kr.jpg закриті вправи (тільки для використання вчителями)
1236084776 kr.jpg оцінювання 

Практика
1236084776 kr.jpg задачі та вправи,самоперевірка 
1236084776 kr.jpg практикуми, лабораторні, кейси
1236084776 kr.jpg рівень складності задач: звичайний, високий, олімпійський
1236084776 kr.jpg домашнє завдання 

Ілюстрації
1236084776 kr.jpg ілюстрації: відеокліпи, аудіо, фотографії, графіки, таблиці, комікси, мультимедіа
1236084776 kr.jpg реферати
1236084776 kr.jpg фішки для допитливих
1236084776 kr.jpg шпаргалки
1236084776 kr.jpg гумор, притчі, приколи, приказки, кросворди, цитати

Доповнення
1236084776 kr.jpg зовнішнє незалежне тестування (ЗНТ)
1236084776 kr.jpg підручники основні і допоміжні 
1236084776 kr.jpg тематичні свята, девізи 
1236084776 kr.jpg статті 
1236084776 kr.jpg національні особливості
1236084776 kr.jpg словник термінів                          
1236084776 kr.jpg інше 

Тільки для вчителів
1236084776 kr.jpg ідеальні уроки 
1236084776 kr.jpg календарний план на рік 
1236084776 kr.jpg методичні рекомендації 
1236084776 kr.jpg програми
1236084776 kr.jpg обговорення

 
Если у вас есть исправления или предложения к данному уроку, напишите нам.

Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.