Вітаю Вас Гість!
Неділя, 22.10.2017, 17:37
Головна | Реєстрація | Вхід | RSS

Категорії розділу

Новини сайту [185]
Тут будуть розміщуватися короткі новини з життя нашого сайту
Програмне забезпечення [16]
Інформація про програмне забезпечення яке можна використати на уроках інформатики
Конспект [44]
Цікаві та необхідні матеріали для вчителів інформатики
План-конспект уроків [8]
Плани-конспектів уроків інформатики, та все що використовується під час уроку
Наболіло [1]
Проблеми, вирішення, спори та інше.... Одним словом НАБОЛІЛЕ!

Календар

«  Березень 2009  »
ПнВтСрЧтПтСбНд
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Статистика


Онлайн всього: 1
Гостей: 1
Користувачів: 0

Форма входу

Наша кнопка

Не забудьте розмістити нашу кнопку на Вашому сайті!
Сайт для підтримки вчителів інформатики


Друзі сайту

Сайт Старосалтівської гімназії Kачественный сервер шаринга, Большой выбор пакетов, Предложение для диллеров, Доступные цены http://shara.tv

Пошук

Користувальницький пошук

Наше опитування

Євроінтеграція?
Всього відповіли: 164

Архів записів

Банк ONLINE

Головна » 2009 » Березень » 5 » Базові структури алгоритмів
12:10
Базові структури алгоритмів
Навіть ще не маючи досвіду в створенні алгоритмів, ми інтуїтивно розуміємо, що вони розрізняються за своєю структурою. Так, є алгоритми, що виконуються за будь-яких обставин.
Але таке трапляється нечасто, тому що людина завжди коригує свої плани залежно від оточуючих умов, і тому виникає ситуація «якщо трапиться...», «якщо зустрінуся...», «якщо встигну...» тощо. А іноді ми змушені повторювати якийсь процес кілька разів, доки не отримаємо бажаного результату. Найчастіше ж ми і умови враховуємо, і повторюємо щось. Ось так і виникають різні типи алгоритмів.
Існує чотири базових структури алгоритмів: лінійні; розгалужені; циклічні; змішані.
Найпростіша в написанні та виконанні перша з цих структур—лінійна. До неї відносяться алгоритми, що складаються лише з простих команд. Які ж команди можна назвати простими?
Простими є ті команди, що виконуються безумовно, тобто після першої команди виконується друга, потім третя і тощо.
     Загальний вигляд лінійного алгоритму, поданий мовою блок-схем, наступний:
КОМАНДА1-КОМАНДА2-КОМАНДА3-....-КОМАНДА N


На відміну від людини, виконавець «комп'ютер» не може відмовитися від виконання команди, він не може подібно недбалому учню сказати «не хочу», «не можу», «в мене болить голова і поганий настрій». Команда, записана в алгоритмі, повинна бути виконаною, тому, якщо знехтувати суто людськими якостями («не хочу», «не можу» і т.д.), лінійним можна назвати алгоритм ранкового збирання до школи:
Прокинутися /зробити ранковий туалет / одягнутися / поснідати / зібрати речі / одягнути верхній одяг, взутися / вийти до школи.
Та навіть у такому простому алгоритмі ви відразу ж знайдете недоліки. Наприклад, що робити, коли я себе погано почуваю (захворів), а якщо я вже зібрав речі звечора, а якщо я не встиг напередодні вивчити всі уроки і мені необхідно щось повторити, а що значить одягнути верхній одяг (залежить від пори року, погоди тощо). Якщо ж спробувати прослідкувати за вашою поведінкою протягом дня, то з'ясується, що майже ніколи ви не дієте за лінійним алгоритмом. Весь час ви аналізуєте ситуацію, змінюєте свою поведінку та свої плани, пристосовуєтеся до обставин.
Тому набагато частіше зустрічається другий тип алгоритму —розгалуджений. Цей алгоритм обов'язково містить у собі хоча б одну умову (зазвичай їх значно більше), і виконується він в залежності від цієї умови.

Тепер розглянемо, що ж таке умова з точки зору виконавця. Умовою називається таке речення, на яке можна дати відповідь «так» чи «ні». Як правило, кажуть, що в першому випадку (коли ми відповіли на речення «так») умова є істинною, а в другому — хибною.

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

Однак, навіть маючи в своєму арсеналі команду розгалуження, важко реалізувати алгоритми, що потребують багаторазового повторення деякої послідовності однакових дій. У цих випадках нас виручає циклічний алгоритм. У нашому житті дуже часто зустрічаються алгоритми з повторами, причому чітко визначаються два типи повторів. В одному випадку ми точно знаємо, скільки разів необхідно повторити задану послідовність команд, а в іншому — ні. Наприклад, в першому класі вчителька дає завдання дітям: «Діти, напишіть, будь ласка, в зошитах десять цифр «1», а потім рядочок цифр «2». Чим відрізняються ці два завдання? В першому випадку дитина отримала чітку вказівку написати десять одиниць, а в другому — ця вказівка була неточною (рядочок двійок). Чому другий випадок не такий точний? Тому що кількість написаних кожним учнем цифр буде залежати від їх власного почерку: одні учні пишуть охайно маленькими цифрами, інші — неохайно величезними кривулями.
Залежно від того, чи знаємо ми скільки разів необхідно повторювати якусь послідовність команд, розрізняють цикли з лічильником (кількість повторень відома заздалегідь) та цикли з умовою (цикл повторюється доти, доки не виконається якась умова).

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

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

Категорія: Конспект | Переглядів: 7450 | Додав: Администратор | Рейтинг: 3.6/9
Всього коментарів: 1
26.03.2010 Спам
1. невідомий
А де блок-схема!

Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]