Навчання інформатики



Сторінка18/21
Дата конвертації08.03.2016
Розмір4.67 Mb.
1   ...   13   14   15   16   17   18   19   20   21

4.5. Навчання основ алгоритмізації та програмування

4.5.1. Загальні методичні підходи

Вивчення інформатики формує елементи операційного стилю мислення, який полягає в умінні:



  • формалізувати задачу;

  • виділити в ній логічно самостійні частини;

  • визначити S3ac*v!O3B язки цих частин;

  • спроектувати алгоритм розв'язування за допомогою технологій "згори-донизу" та "знизу-догори";

  • дібрати якомога ефективніший шлях отримання розв'язку;

  • інтерпретувати та аналізувати результати.

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

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

Під час вивчення основ алгоритмізації основна увага насамперед повинна приділятися:

• виявленню загальних закономірностей і принципів алгоритмізації за допомогою



  • основним етапам розв’язування задач сучасних інформаційних технологій;

  • аналізові поставленої задачі, методам формалізації та моделювання реальних процесів та явиш;

  • добору виконавця поставленої задачі, виходячи з того, що він є також певним об'єктом із притаманними йому властивостями та набором допустимих операцій, які слід аналізувати з метою правильного та ефективного їх використання;

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

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

Алгоритмізація як розділ інформатики, який вивчає процеси створення алгоритмів, традиційно відноситься до теоретичної інформатики внаслідок свого фундаментального характеру. Завдяки розвитку інформаційних технологій, і зокрема технологій програмування, з'являється можливість у межах розділу "Основи алгоритмізації та програмування" ознайомити учнів з загальнонауковими поняттями інформатики і в той же час формувати та розвивати вміння та навички, необхідні користувачеві під час роботи з сучасним програмним забезпеченням, тобто з'являється можливість зробити цей розділ містком між теоретичною та практичною інформатикою.

Розділ "Основи алгоритмізації та програмування" шкільного курсу інформатики має неабияке методологічне значення. Він розкриває важливість алгоритмів, їх роль у функціональному зв'язку понять "інформація-алгоритм-комп'ютер", що визначають процес автоматичного опрацювання інформації. На прикладах демонструється можливість формального виконання алгоритму, елементарність дій, що задаються на виконання виконавцеві за кожною вказівкою алгоритму. Тим самим підкреслюється можливість передавання виконання формально описаного алгоритму виконавцеві-машині, тобто можливість автоматизації діяльності людини на основі алгоритмів. А вивчення алгоритмічної мови дозволяє познайомити учнів 'з формалізованим записом алгоритмів. тим самим розширити їхні уявлення про засоби описування алгоритмів

Сучасний підхід до вивчення основ алгоритмізації повинен будуватися на таких основних положеннях:



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

  2. Метою вивчення основ алгоритмізації є виділення змісту реального об'єкта - алгоритму - і правил його побудови, а не вивчення конкретної алгоритмічної мови. Алгоритмічна мова – це лише один із багатьох засобів формального подання алгоритмів.

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

Таким чином, етап опанування поняття "алгоритм" є першим етапом формування в учнів уявлень про автоматичне опрацювання різноманітних даних за допомогою комп'ютера. Варто також звернути увагу і на внутрі предметні зв'язки - алгоритм можна трактувати як повідомлення про те, як слід розв'язувати задачу, подане у вигляді формально описаного впорядкованого набору вказівок про те, які і в якому порядку слід виконувати операції для того, щоб розв'язати задачу. Слід звернути увагу учнів на те, що якщо поміняти порядок виконання вказівок, то задача швидше за все не буде розв'язана або ж буде розв'язана зовсім Інша задача. Володіння поняттям алгоритму t одним із найважливіших компонентів інформаційної культури.

Поняття "алгоритм" належить до числа фундаментальних математичних понять і є об'єктом дослідження спеціального розділу математики - теорії алгоритмів.

У змісті навчання основ алгоритмізації можна виділити такі компоненти:



  • навчання відомих алгоритмів і їх використання;

  • навчання класичних алгоритмів;

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

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

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

Теоретичною базою навчання вже відомих алгоритмів і їх використання є: теорії Ж.Піаже, М. Паська, С.Пейперта, які об'єднує наступна ідея: для того, щоб оволодіти алгоритмом, потрібно описати його: а) будь-якою з "своїх" мов (Ж.Піаже, М. Паськ); б) мовою "Черепашки" (С.Псйперт).

Наведемо один із варіантів класифікації мов, які можуть бути покладені в основу вивчення та застосування для навчання основ алгоритмізації:



  • природна мова (словесний опис алгоритму);

  • мова графічних схем;

  • структура програми;

  • шкільна навчальна алгоритмічна мова;

  • мови програмування.

Класифікацію виконавців алгоритмів можна подати так:

  • людина;

  • комп'ютер, що працює на основі використання компіляторів(інтерпретаторів) мов різних рівнів.

Звідси випливає, що для вивчення відомих алгоритмів і їх використання необхідно передусім вибрати виконавця і вивчити систему його вказівок (мову для запису алгоритмів), тобто набір

операцій, які може виконувати такий виконавець у зв'язку з задачею, яку необхідно розв'язати.

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

До класичних алгоритмів можна віднести алгоритми таких типів:



  1. для створення, зміни і руйнування інформаційних структур(лінійні списки, дерева, графи);

  2. напівчисельні алгоритми - алгоритми теорії чисел, арифметика багаторазової точності (за Д.Кнутом);

  3. генерації псевдо випадкових чисел (за Д.Кнутом);

  4. пошуку і впорядкування (за Д.Кнутом);

  5. пошуку підрядка в рядкові (за Д.Кнутом);

  6. стиснення інформації;

  7. побудови графічних примітивів.

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

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



  1. Учням пропонується задача для програмування, яка легко розв'язується за допомогою деякого класичного алгоритму (сам алгоритм учневі не повідомляється).

  2. Учень розв'язує задачу, записуючи алгоритм, розроблений самостійно.

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

4. Учень реалізовує алгоритм і робить висновок про міру ефективності своєї реалізації (за часом виконання, за довжиною опису).

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

1. Вправи на тестування (процес пошуку помилок у, програмі). Учневі надається текст програми, в якому описано класичний алгоритм, і словесний опис алгоритму. Потрібно побудувати систему тестів для його перевірки.

2. Вправи на оптимізацію. Учневі для роботи пропонується програма (з можливими помилками). Потрібно виявити помилки без її реалізації на комп'ютері і оптимізувати програму за часом виконання.

При навчанні побудови (відкриття) алгоритмів перш за все необхідно разом з учнями з'ясувати питання: в чому полягає процес побудови алгоритму.

Побудувати алгоритм - означає: 1) продумати план деякої майбутньої діяльності; 2) зафіксувати його за допомогою деякої системи позначень, так званою формальною мовою.

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

Як правило написанню програми деякою мовою програмування передує розробка алгоритму. Алгоритм можна записувати навчальною алгоритмічною мовою або відповідною реальною мовою програмування. Передбачається, що мова, яка використовується в таких цілях, містить правила опису основних управляючих конструкцій структурного програмування, зокрема виклику процедур, що дозволяє реалізувати структурний підхід до розробки алгоритмів. У цьому випадку мова програмування не є самостійним об'єктом вивчення, а виступає лише як система позначень, з використанням якої ведеться обговорення проблем і шляхів їх розв'язування. Доцільно виділити такі етапи навчання основ алгоритмізації [189,208-210]:

7-м етап. Вступ до алгоритмізації. Алгоритми над найпростішими типами даних. Проектування алгоритмів "згори-донизу". Базові алгоритмічні конструкції: послідовне виконання вказівок, цикл, розгалуження. Побудова алгоритмів методом покрокової деталізація з використанням раніше описаних.

2-й етап. Навчання класичних алгоритмів (раніше описаних) та їх використання.

Зазначимо, що при навчанні основ алгоритмізації потрібно виділяти три класи вправ

1)задано текст задачі і алгоритм її розв'язування, потрібно виконати алгоритм і з'ясувати особливості роботи за алгоритмом (вправи на тестування);

2)задано лише опис алгоритму, потрібно виконати алгоритм і встановити його призначення (вправи на "відгадування" формулювання задачі);

3)задано лише призначення алгоритму, потрібно написати текст алгоритму - скласти алгоритм і виконати його - протестувати

(вправи на складання алгоритму).

4.5.2. Методика ознайомлення учнів з поняттям моделі

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

Головна мета вивчення поняття моделі пов'язана з подальшим розглядом основних етапів розв'язування задач за допомогою комп’ютера.

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

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

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

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

Моделі можуть бути матеріальними (фізичними), знаковими, мысленными. Прикладами фізичних моделей можна вважати: для земної кулі - глобус; для реального автомобіля - іграшковий автомобіль; для реальної людини - лялька: для великої будівлі - маленька пластикова чи картонна і т.д.

Розширивши список матеріальних моделей, доцільно обговорити їх спільні властивості. Всі ці моделі до деякої міри характеризують з того чи Іншого боку об'єкт-оригінал. Часто модель відтворює лише форму реального об'єкта у зменшеному масштабі. Але можуть існувати моделі, які відтворюють деякі функції об'єкта. Наприклад, маленький автомобіль може їздити, модель корабля може плисти. Модель не обов'язково повинна мати всі характеристики такі ж, як у реального об'єкта, а лише ті, які необхідні для її майбутнього застосування з метою вивчення деяких характеристик реального об'єкта. Тому важливим поняттям в моделюванні є поняття мети. Мета моделювання - призначення майбутньої моделі. Мета моделювання визначає ті властивості об'єкта-оригіналу, які повинні бути відтворені в моделі.

Важливо, щоб учні зрозуміли зміст ланцюга "об'єкт моделювання - мета моделювання - модель'.

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

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

При розв'язуванні життєвих задач першим кроком повинно бути визначення того, які фактори суттєві для задачі, а якими можна нехтувати. Факторів, які зумовлюють "поведінку" об'єкта, перебіг процесу чи прояв явища, що вивчаються, як правило, дуже багато, і часто людина навіть не знає про всі з них і не може перерахувати. Тому і виділяють невелику прийнятну їх кількість - лише ті, ідо є суттєвими в межах конкретного дослідження.

Крім того, слід звернути увагу учнів на те, що моделлю можна вважати відображення об'єкта в тому або іншому середовищі тими чи іншими засобами. Гіпсова модель - зображення об'єкта в гіпсі. Математична модель - відображення об'єкта математичними засобами (формули, позначення чисел, функцій, знаки операцій тощо).

Для створення моделі об'єкта, яка з достатньою точністю характеризуватиме реальний об'єкт, необхідно навчитися збирати, правильно подавати і потім опрацьовувати інформацію про нього. Це означає, що для дослідження об'єкта не обов'язково створювати фізичну (матеріальну) модель.

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

Часто для вивчення характеристик об'єкта достатньо мати необхідну інформацію, подану у відповідній формі. В цьому випадку говорять про інформаційну модель об'єкта.

Інформаційна модель - це опис об'єкта чи процесу, в якому вказано деякі типові властивості і характеристики об'єкта, важливі для конкретної задачі, що розв'язується.

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

Побудова інформаційної моделі, як і матеріальної, повинна бути пов'язана з метою моделювання. Будь-який реальний об'єкт має велику кількість властивостей, тому для моделювання повинні бути виділені лише ті властивості, які відповідають меті дослідження. Процес виділення суттєвих для моделювання характеристик об'єкта, зв'язків між ними з метою їх дослідження і описання, називається системним аналізом.

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

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

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

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

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

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

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

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

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

В природничих науках головну роль відіграють кількісні характеристики реальних об'єктів і використовуються відповідні моделі. В шкільних курсах ці моделі обмежуються, як правило, найпростішими рівняннями чи нерівностями.

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

Можна виділити три типи задач з галузі інформаційного моделювання, які за зростанням ступеня складності для сприйняття учнями розташовуються в такому порядку;

1)задано інформаційну модель об'єкта; потрібно навчитися її аналізувати, робити висновки, використовувати для розв'язування задач;

2)дано набір несистематизованих даних про реальний об'єкт (систему; процес); потрібно систематизувати їх і таким чином створити інформаційну модель;

3)дано реальний об'єкт (процес, систему); потрібно розробити його інформаційну модель.

Інформаційне моделювання - це прикладний розділ інформатики, який пов'язаний з різними предметними галузями: технікою, економікою, природничими, гуманітарними, соціальними науками і ін. Тому розв'язуванням задач третього типу займаються фахівці у відповідних галузях знань. В рамках шкільного курсу інформатики інформаційне моделювання може бути предметом профільного курсу, пов'язаного з іншими шкільними дисциплінами: математикою, фізикою, біологією, економікою і т.д.



4.5.3. Ідеї і методи структурного програмування

Як теоретичні та методологічні основи, а також принципи побудови алгоритмів і програм, доцільно обрати ідеї і методи структурного програмування. Використання методів структурного програмування формує навички чіткого дотримання дисципліни праці при конструюванні алгоритмів, що в значній мірі сприяє розвиткові логічного мислення учнів вже на ранніх етапах вивчення основ алгоритмізації [60, 62,177, 179].

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

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

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

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

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

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

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

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

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

1   ...   13   14   15   16   17   18   19   20   21


База даних захищена авторським правом ©refs.in.ua 2016
звернутися до адміністрації

    Головна сторінка