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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Поняття алгоритму.

Термін «алгоритм» походить від назви середньоазіатського міста Хорезм. У цьому місті в IX ст. жив математик і астроном Мухамед, який сформулював правила чотирьох арифметичних дій. Арабський варіант його імені Аль-Хорезмі, що в Європі записувався латиною як Algorithmi, і став основою терміна "алгоритм". Однак пізніше під словом алгоритм стали розуміти правила знаходження найбільшого спільного дільника, які були викладені ще в працях великого давньогрецького математика Евкліда (III ст. до н.е.). За наших часів поняття алгоритму було узагальнено, і словом "алгоритм" стали позначати опис будь-якої послідовності дій. Поняття алгоритму є одним із фундаментальних у сучасній математиці й інформатиці.

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

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

До слова «алгоритм» близькі за значенням слова: спосіб, рецепт. Однак алгоритми в інформатиці – це не тільки рецепти розв'язання задач. Алгоритми розробляються, насамперед, із метою автоматизації дій виконавця.

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

Розглянемо як приклад алгоритм Евкліда, вигаданий ним для знаходження найбільшого спільного дільника (НСД) двох натуральних чисел т і п. Відомо, що НСД може бути отриманий шляхом послідовного ділення спочатку більшого числа на менше, потім меншого числа на отриманий залишок, першого залишку на другий залишок і т.д. Ділення триває доти, доки у залишку не утвориться нуль. Останній дільник і є НСД. Наведемо приклад знаходження НСД для пари чисел – 66 і 18:

66:18 = 3 +(12) 18:12 = 1 + (6) 12:6 = 2

Тут у дужках записаний залишок від ділення. В останній рівності залишок відсутній, тому НСД дорівнює дільнику, тобто 6.

Алгоритм розв'язання задачі про НСД для пари чисел т і п записується у такий спосіб:

1. Якщо т > п, то перейти до 3., інакше перейти до 2.

2. Якщо n > т, то перейти до 4., інакше перейти до 5.

Від т відняти п і вважати цю різницю новим значенням т. Перейти до 1.

Від п відняти т і вважати цю різницю новим значенням п. Перейти до 1.

Вважати, що НСД дорівнює m. Кінець.

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

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

 

Властивості алгоритмів.

Властивостями алгоритму є дискретність, визначеність, виконуваність, скінченність, результативність і масовість.

Дискретність (лат. discretus – розділений, розривний) алгоритму означає, що його виконання зводиться до виконання окремих дій (кроків) у певній послідовності. Причому, кожна команда алгоритму повинна виконуватися за скінченний інтервал часу.

Визначеність (або детермінованість (лат. determinans – визначальний)) алгоритму означає, що для заданого набору значень початкових (вхідних) даних алгоритм однозначно визначає порядок дій виконавця та результат цих дій. Алгоритм не повинен містити команди, які можуть сприйматися виконавцем неоднозначно, наприклад «Узяти 2–3 ложки цукру», «Трохи підігріти молоко», «Вимкнути світло через кілька хвилин», «Поділити число x на одне з двох даних чисел a або b» тощо. Крім того, в алгоритмах недопустимі ситуації, коли після виконання чергової команди виконавцю незрозуміло, яку команду він повинен виконувати наступною.

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

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

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

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

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

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

 

Форми подання алгоритмів.

Розглянемо алгоритми розв’язування такої задачі.

Задача. Є посудина місткістю 8 л, яка заповнена рідиною, і дві порожні посудини місткістю 5 л і 3 л. Потрібно одержати в одній з посудин 1 літр рідини і повідомити в якій.

Розглянемо виконавця, який має таку систему команд:

1. Перелити рідину з однієї посудини в іншу.

2. Наповнити одну з посудин рідиною з іншої посудини.

3. Вивести повідомлення.

Для цього виконавця алгоритм розв’язування цієї задачі буде таким:

1. Наповнити 3-літрову посудину з 8-літрової.

2. Перелити з 3-літрової посудини в 5-літрову.

3. Наповнити 3-літрову посудину з 8-літрової.

4. Наповнити 5-літрову посудину з 3-літрової.

5. Вивести повідомлення: «1 л одержано в 3-літровій посудині».

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

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

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

Наведемо деякі елементи (блоки) блок-схеми алгоритму (табл.).

Блок-схема алгоритму розв’язування задачі представлена на рисунку.

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

 

Вивчення нового навчального матеріалу:

Комп’ютерні програми.

Що таке програма і коли з'явилося це поняття? Нині, мабуть, не кожен програміст відповість на це запитання. Історія програм починається в далеких 20-х роках XIX століття, коли англійський дослідник Ч. Бебідж висунув ідею про попередній запис дій обчислювальної машини.

До появи обчислювальних машин робилися спроби керувати ткацькими верстатами. Програми для верстатів записувалися на перфокарти, що були вигадані Чарлзом Бебіджем і французьким винахідником Жозефом Жаккаром. З них почалася історія програмування, а трохи пізніше почали закладатися теоретичні основи цієї науки. Разом з Бебіджем працювала його сучасниця Ада Лавлейс (дочка великого англійського поета Джорджа Байрона), яку називають першим у світі програмістом. Вона ввела до програмування терміни і поняття, які застосовуються і донині (наприклад, поняття циклу – найважливішої структури будь-якої сучасної мови програмування). На честь першої програмістки і була названа мова програмування «Ада», розроблена уже за наших часів.

Отже, програма – це набір команд (вказівок, інструкцій) призначених для виконання комп’ютером у певній послідовності.

Програми складаються для виконання комп’ютером алгоритмів. Ці алгоритми утворюють логіку програми (програмну логіку).

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

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

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

У XX столітті з'явилися електронні обчислювальні машини. Перші програми Для них записувалися в машинних кодах. Для написання правильної програми Програміст мав детально уявляти роботу ЕОМ. Це дуже ускладнювало спілкування людини з комп'ютером, тому вони стали серйозно замислюватися над кодуванням програм і дійшли висновку, що програма має складатися мовою доступнішою для людини, ніж мова машинних команд. Тому необхідно було створити мови програмування.

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

Кожна мова програмування має такі компоненти:

1) алфавіт – множину символів, з яких можна утворювати слова та речення цієї мови;

2) словник – набір спеціальних (зарезервованих, ключових) слів;

3) синтаксис – правила складання та запису мовних конструкцій (не словникових слів і речень);

4) семантику – встановлене однозначне тлумачення мовних конструкцій, правил їх виконання.

Оскільки мова програмування незрозуміла для обчислювальної машини, має бути спеціальна програма, яка перекладала б символи цієї мови мовою машинних команд. Така програма перекладу символів, або, простіше, транслятор (від англійського слова translation – переклад), була створена на початку 50-х років XX століття американською програмісткою, контр-адміралом морських сил США Грейс Хопер.

Транслятор – це програма, яка перетворює команди мови програмування на машинний код.

З винаходом трансляторів роль машинних команд у програмуванні різко зменшилася. Перші транслятори призначалися для мов Асемблера (мов низького рівня). У 50 – 60-ті роки почали створюватися мови програмування високого рівня. Зазначимо, що близькі до числового коду процесора мови називають мовами низького рівня, а мови, зручні для людини, – мовами високого рівня. Мова найнижчого рівня – мова машинного кодування. Трохи вище – мова Асемблера, у якій машинні команди замінюються мнемонічними скороченнями. Всі інші мови програмування є мовами вищого, ніж мова Асемблера, рівня. Дві популярні нині мови високого рівня – Basic (Бейсік) і Pascal (Паскаль).

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

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

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

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

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

Прикладами інтегрованих середовищ програмування є Turbo Pascal, Delphi, Visual Basic і безліч інших. Використання цих середовищ під час розробки І додатків дозволяє користувачам докладати набагато менше зусиль, ніж при І написанні програм мовами низького рівня.

 

 

Для створення, редагування та налагодження програм мовою програмування Delphi використовуватимемо інтегроване середовище візуальної розробки Turbo Delphi 2006. Це середовище складається з текстового редактора, компілятора для перекладу програми з мови програмування Delphi машинною мовою, засобів налагодження програми, довідкової системи та інших компонентів. Тому таке середовище розробки називається інтегрованим.

Це середовище розробки дає змогу використовувати велику бібліотеку візуальних компонентів (англ. V isual C omponent L ibrary (VCL)). Це вже знайомі нам елементи керування: кнопки, поля, написи, прапорці, перемикачі, лічильники, списки, смуги прокручування, а також багато ін. Під час розміщення компонентів на формі автоматично генерується відповідний фрагмент програми мовою Delphi. Це значно зменшує і спрощує роботу зі створення програм. Такий спосіб розробки називають візуальним.

Програми, створені в таких середовищах, часто називають проектами. Найчастіше вони складаються з кількох файлів.

Мова програмування Delphi – це результат розвитку й удосконалення мови програмування Pascal. Мова програмування Pascal була створена в 1970 році групою співробітників Інституту інформатики Швейцарської вищої політехнічної школи під керівництвом професора Ніклауса Вірта (нар. у 1934 р., рис.).

Спочатку мова програмування Pascal створювалася спеціально для навчання студентів основних принципів і методів процедурного програмування. Але згодом з’ясувалося, що ця мова програмування настільки зручна, що виникла ідея застосовувати її не тільки для навчання, а й для практичної роботи з ЕОМ. Так з’явилися перші компілятори з мови програмування Pascal і середовище розробки Turbo Pascal, які з часом здобули широку популярність.

З роками мова програмування Pascal розвивалася й удосконалювалася. Нові версії цієї мови, які вже мали елементи об’єктно-орієнтованої мови програмування, з’явилися у другій половині 80-х років XX ст. Деякі версії цієї мови одержали назву Object Pascal. На початку 2000-х років чергова нова версія Object Pascal одержала назву Delphi.

 

Форма – це об’єкт, на якому можна розмістити кнопки, поля, написи, меню та інші компоненти для створення інтерфейсу користувача. Під час виконання проекту форма відкривається як вікно Windows, на якому відображатимуться компоненти, розміщені на формі, якщо вони не є прихованими або невізуальними.

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

Наведемо приклади деяких з цих властивостей:

Caption (англ. caption – заголовок) – її значенням є текст у рядку заголовка форми;

Color (амер. color – колір) – її значенням є колір фону форми;

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

Width (англ. width – ширина) – її значенням є ширина форми в пікселях;

Top (англ. top – верх) – її значенням є відступ у пікселях верхньої границі вікна, що відкриється під час виконання проекту, від верхньої межі екрана;

Left (англ. left – лівий) – її значенням є відступ у пікселях лівої границі вікна, що відкриється під час виконання проекту, від лівої межі екрана;

Name (англ. name – ім’я) – її значенням є ім’я форми як об’єкта.

Значення більшості властивостей встановлюються за замовчуванням.

Так, наприклад, значення властивостей Name і Caption за замовчуванням встановлюються Form1, значення властивості Height – 338, значення властивості Width – 651. Ці значення, як і значення інших властивостей, можна змінити або встановити на вкладці Properties.

Список властивостей може бути впорядкований за категоріями (рис.) або за іменами (рис.). Змінити порядок розташування властивостей у списку можна, використавши команду Arrange контекстного меню вкладки Properties. Радимо вам для зручності пошуку необхідних властивостей впорядковувати список властивостей за іменами.

Відкривши вкладку Code, можна продивитися текст програми, який створюється за замовчуванням у середовищі Turbo Delphi 2006 під час створення нового проекту (рис.).

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

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

Для завершення виконання проекту потрібно закрити його вікно.

У вікні Structure головного вікна середовища Turbo Delphi 2006відображається єдиний об’єкт, який на даний момент використовується в проекті – форма з іменем Form1, у вікні Tool Palette – список усіх до ступних компонентів, які можна використати в проекті, а вікно Project Manager містить список деяких файлів, які входять до складу проекту.

Редагування проекту.

До початкового проекту, а також до будь-якого іншого, можна вносити зміни. Наприклад, можна на вкладці Properties вікна Object Inspector змінити значення деяких властивостей форми. Для зміни значення певної властивості треба ввести потрібне значення в поле справа від назви властивості або вибрати його зі списку.

Так, наприклад, якщо встановити такі значення властивостей:

Caption - Моє перше вікно

Color - clRed (англ. c o l our – колір, red – червоний)

Height - 450

Width - 700

Left - 600

Top - 350

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

Звертаємо вашу увагу, що змінити значення властивостей Height і Width форми можна перетягуванням маркерів на її межі.

 

Форма – це об’єкт, на якому можна розмістити кнопки, поля, написи, меню та інші компоненти для створення інтерфейсу користувача. Під час виконання проекту форма відкривається як вікно Windows, на якому відображатимуться компоненти, розміщені на формі, якщо вони не є прихованими або невізуальними.

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

Наведемо приклади деяких з цих властивостей:

Caption (англ. caption – заголовок) – її значенням є текст у рядку заголовка форми;

Color (амер. color – колір) – її значенням є колір фону форми;

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

Width (англ. width – ширина) – її значенням є ширина форми в пікселях;

Top (англ. top – верх) – її значенням є відступ у пікселях верхньої границі вікна, що відкриється під час виконання проекту, від верхньої межі екрана;

Left (англ. left – лівий) – її значенням є відступ у пікселях лівої границі вікна, що відкриється під час виконання проекту, від лівої межі екрана;

Name (англ. name – ім’я) – її значенням є ім’я форми як об’єкта.

Значення більшості властивостей встановлюються за замовчуванням.

Так, наприклад, значення властивостей Name і Caption за замовчуванням встановлюються Form1, значення властивості Height – 338, значення властивості Width – 651. Ці значення, як і значення інших властивостей, можна змінити або встановити на вкладці Properties.

Список властивостей може бути впорядкований за категоріями (рис.) або за іменами (рис.). Змінити порядок розташування властивостей у списку можна, використавши команду Arrange контекстного меню вкладки Properties. Радимо вам для зручності пошуку необхідних властивостей впорядковувати список властивостей за іменами.

Відкривши вкладку Code, можна продивитися текст програми, який створюється за замовчуванням у середовищі Turbo Delphi 2006 під час створення нового проекту (рис.).

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

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

Для завершення виконання проекту потрібно закрити його вікно.

У вікні Structure головного вікна середовища Turbo Delphi 2006відображається єдиний об’єкт, який на даний момент використовується в проекті – форма з іменем Form1, у вікні Tool Palette – список усіх до ступних компонентів, які можна використати в проекті, а вікно Project Manager містить список деяких файлів, які входять до складу проекту.

Редагування проекту.

До початкового проекту, а також до будь-якого іншого, можна вносити зміни. Наприклад, можна на вкладці Properties вікна Object Inspector змінити значення деяких властивостей форми. Для зміни значення певної властивості треба ввести потрібне значення в поле справа від назви властивості або вибрати його зі списку.

Так, наприклад, якщо встановити такі значення властивостей:

Caption - Моє перше вікно

Color - clRed (англ. c o l our – колір, red – червоний)

Height - 450

Width - 700

Left - 600

Top - 350

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

Звертаємо вашу увагу, що змінити значення властивостей Height і Width форми можна перетягуванням маркерів на її межі.

 

Поняття алгоритму.

Термін «алгоритм» походить від назви середньоазіатського міста Хорезм. У цьому місті в IX ст. жив математик і астроном Мухамед, який сформулював правила чотирьох арифметичних дій. Арабський варіант його імені Аль-Хорезмі, що в Європі записувався латиною як Algorithmi, і став основою терміна "алгоритм". Однак пізніше під словом алгоритм стали розуміти правила знаходження найбільшого спільного дільника, які були викладені ще в працях великого давньогрецького математика Евкліда (III ст. до н.е.). За наших часів поняття алгоритму було узагальнено, і словом "алгоритм" стали позначати опис будь-якої послідовності дій. Поняття алгоритму є одним із фундаментальних у сучасній математиці й інформатиці.

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

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

До слова «алгоритм» близькі за значенням слова: спосіб, рецепт. Однак алгоритми в інформатиці – це не тільки рецепти розв'язання задач. Алгоритми розробляються, насамперед, із метою автоматизації дій виконавця.

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

Розглянемо як приклад алгоритм Евкліда, вигаданий ним для знаходження найбільшого спільного дільника (НСД) двох натуральних чисел т і п. Відомо, що НСД може бути отриманий шляхом послідовного ділення спочатку більшого числа на менше, потім меншого числа на отриманий залишок, першого залишку на другий залишок і т.д. Ділення триває доти, доки у залишку не утвориться нуль. Останній дільник і є НСД. Наведемо приклад знаходження НСД для пари чисел – 66 і 18:

66:18 = 3 +(12) 18:12 = 1 + (6) 12:6 = 2

Тут у дужках записаний залишок від ділення. В останній рівності залишок відсутній, тому НСД дорівнює дільнику, тобто 6.

Алгоритм розв'язання задачі про НСД для пари чисел т і п записується у такий спосіб:

1. Якщо т > п, то перейти до 3., інакше перейти до 2.

2. Якщо n > т, то перейти до 4., інакше перейти до 5.



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 1049; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.204.177.148 (0.117 с.)