Понятие алгоритму, його властивості.
Опис алгоритмів з допомогою блок схем мовою Turbo Pascal
Створення алгоритму вирішення завдань будь-якого типу, його уявлення виконавцю в зручною йому формі — це творчий акт. Алгоритм то, можливо представлений у різний спосіб: на розмовному природному мову; мовою блок-схем; мовою програмування. Вибір і розробка алгоритму і чисельного методу виконання завдання мають найважливіше значення на шляху успішної роботи над програмою. Старанно опрацьоване… Читати ще >
Понятие алгоритму, його властивості. Опис алгоритмів з допомогою блок схем мовою Turbo Pascal (реферат, курсова, диплом, контрольна)
ИНСТИТУТ.
КАЛІНІНГРАДСЬКА ВИЩА ШКОЛА УПРАВЛЕНИЯ.
РЕФЕРАТ по теме.
Поняття алгоритму, його властивості. Опис алгоритмів з допомогою блок схем мовою Turbo Pascal.
студент: Чижов М. А. група: 02-СА9(2).
Калининград.
| Запровадження… |3 | |Алгоритм. Властивості алгоритму… |4 | |Опис алгоритмів природному мові… |5 | |Опис алгоритмів з допомогою блок-схем… |8 | |Укладання… |13 | |Список літератури… |14 |.
Процесор електронно-обчислювальної машини, диво техніки, вміє, тим щонайменше, виконувати лише найпростіші команди. Яким чином комп’ютер вирішує складні завдання обробки інформації? Аби вирішити з завдань програміст має становити докладний опис послідовності дій, які потрібно виконати центральному процесору комп’ютера. Упорядкування такого покрокового описи процесу виконання завдання називається алгоритмізацією, а алгоритмом називається кінцевий набір правил, розміщених у певному логічному порядку, дозволяє виконавцю вирішувати будь-яку конкретне завдання з деякого класу однотипних завдань. У різних ситуаціях у ролі виконавця може бути електронне чи якеабо інше пристрій або людина (наприклад, військовий, охороняє склад боєприпасів і діє відповідно до алгоритмам, записаним до статуту караульної службы).
Алгоритм. Властивості алгоритма.
Саме поняття «алгоритм» виник із назви латинського перекладу книжки арабського математика IX століття Аль-Хорезми «Algoritmi de numero Indoru», що можна перекласти, як «Трактат Аль-Хорезми про арифметическом мистецтві індусів». Упорядкування алгоритмів і питання існування є предметом серйозних математичних исследований.
Властивості алгоритму. Під час упорядкування і запис алгоритму необхідно забезпечити, що він мав поруч свойств.
Однозначність алгоритму, під якої розуміється одиничність тлумачення виконавцем правила побудови діянь П. Лазаренка та порядок їх виконання. Щоб алгоритм мав цією властивістю, повинен бути записано командами із системи команд исполнителя.
Кінцівку алгоритму — обов’язковість завершення кожного з дій, складових алгоритм, і завершимость виконання алгоритму в целом.
Результативність алгоритму, передбачає, виконання алгоритму має завершитися отриманням певних результатов.
Масовість, т. е. можливість застосування зазначеного алгоритму на вирішення цілого класу завдань, відповідальних загальної постановці завдання. Щоб алгоритм ніколи масовості, слід складати алгоритм, використовуючи позначення величин і уникаючи конкретних значений.
Правильність алгоритму, під якої розуміється здатність алгоритму давати правильні результати рішення поставлених задач.
Ефективність — на вирішення завдання потрібно використовувати обмежені ресурси комп’ютера (процессорное час, обсяг оперативної пам’яті тощо. д.).
Опис алгоритмів природному языке.
Якщо йдеться йдеться про складанні алгоритмів для процесора ЕОМ (электроннообчислювальної машини), виконавцем є процесор. Спрощена модель процесора містить пристрій зчитування даних, стёк (спеціальну оперативну пам’ять невеликого обсягу, призначену для тимчасового зберігання даних) і арифметичне пристрій, що може виконувати арифметичні действия.
Припустимо, що ваша програма, складена для такого процесора, містить числові дані і символи арифметичних дій над цими даними. Ось приклад такої програми, настановленим обчислення сум двох чисел 2 і 3:
2, 3, +.
Простежимо виконання програмних засобів. Перша операція — зчитування в стёк значення 2. Потім у стёк зчитується друге значення (3). Перше значення при цьому зсувається на другу осередок пам’яті. Третій крок виконання програми — обчислення суми двох лічених значень (вони називаються операндами). Результат цієї операції - значення 5 — записується під час першого осередок стёка.
Був розглянутий приклад найпростішої програми. вона є записом алгоритму рішення деякого класу завдань — завдань обчислення суми двох чисел. Розкажемо про ці числа a і b. Тоді алгоритм можна записати наступним образом:
1. Вважати число a.
2. Вважати число b.
3. Виконати підсумовування з := a + b.
4. Вивести число c.
Це приклад записи алгоритму природному мові, цебто в мові людського спілкування. Очевидно, що означає формула алгоритму залежить від конкретних значень змінних a і b, тому може бути застосовувати для рішення досить великої числа подібних завдань, які становлять цілий клас завдань підсумовування. Алгоритм описує дії не над конкретними значеннями, а над абстрактними объектами.
Основними об'єктами програмування є перемінні. Змінні в програмі від змінних, які у записи математичних формул. Попри подібність термінів, правила використання змінних в програмах для комп’ютера від правил роботи з математичними перемінними. Цю відмінність можна необхідно усвідомити. У програмуванні зміну можна трактувати як одну чи кілька осередків оперативної пам’яті комп’ютера, яким присвоєно певний ім'я. Вміст цих осередків може змінюватися, але ім'я перемінної залишається незмінним. У математиці значення перемінної у межах певній завдання незмінно, але змінюється у інших завданнях з цього класу. Саме тому конструкція, а := а + 1 сприймається програмістом цілком природно, а рівняння a = a + 1 математик вважатиме неправильним. У першому випадку мають на увазі обчислення суми вмісту осередки чи числової константи 1 і занесення отриманого результату ж осередок а. Другий випадок рівнозначний зрадливому тотожності 0 = 1.
Залишимо алгоритм рішення наступній завдання. Нехай задано два значення x і y. Необхідно порівняти цих значень і надрукувати ім'я більшої перемінної. З цією завдання досить порівняти обидва значення й в залежність від результату порівняння вивести на печатку символ «x» і символ «у»:
1. Запровадити значення x.
2. Запровадити значення y.
3. Якщо x < y, то надрукувати «у», інакше надрукувати «х».
У цьому вся алгоритмі використовуються алгоритмічні структури — лінійна послідовність операцій та галуження (крок 3, умовний оператор). Остання структура називається так бо після передачі у неї управління виконання алгоритму йтися однієї зі двох можливих розгалужень. Те, яка гілка буде обрано, залежить від виконання умови. Лінійна послідовність у цьому прикладі складається з блоків ввода/вывода данных.
Для записи алгоритмів використовувався природний мову. Іноді використовують полуформальный мову з обмеженою словарём (часто з урахуванням англійської), проміжний між природним розумом і мовою програмування. Таку мову називається псевдокодом. Запис алгоритму на псевдокоде називається структурним планом. Псевдокод зручний тим, що дозволяє програмісту зосередитися на формулюванні алгоритму, не замислюючись над синтаксичними особливостями конкретного мови программирования.
Опис алгоритмів з допомогою блок-схем.
На розробку структури програми зручніше користуватися записом алгоритму як блок-схемы (в англомовної літературі використовується термін flow-chart). Для зображення основних алгоритмічних структур та блоків на блок-схемах використовують спеціальні графічні символи. Вони наведено на рисунке.
[pic] Начало/конец алгоритма.
[pic] Передача управления.
[pic] Введення данных.
[pic] Блок вычислений.
[pic] Початок (заголовок) цикла.
[pic] Кінець цикла.
[pic] Ветвление.
[pic] Висновок данных.
Складемо алгоритм обчислення квадратного кореня з довільного позитивного речовинного числа x методом Герона і запишемо його за природному мові, соціальній та вигляді блок-схемы. Метод грунтується на багаторазовому застосуванні формулы:
[pic] при.
[pic].
Числова послідовність [pic]в межі при [pic] сходиться до згаданої значенням. Виконаємо лише п’ять ітерацій методу, вважаючи, що заодно буде досягнуто досить хороша точність. Зазвичай десяти ітерацій методу Герона дуже багато задля досягнення хорошою точність розрахунку. Обидва варіанта записи алгоритму: | |Запровадити x. | | |Присвоїти [pic]. | | |Присвоїти [pic]. | | |Присвоїти [pic]. | | |Присвоїти [pic]. | | |Якщо [pic], то можливість перейти до кроку 4, | | |інакше надрукувати значення [pic]. |.
Нині ж займёмся найулюбленішим заняттям школярів всіх часів і народів — рішенням квадратного уравнения:
[pic].
Будемо думати, що коефіцієнти цього рівняння [pic], [pic] і [pic] є речові числа. Найпростіший випадок передбачає, що все коефіцієнти відмінні від нуля. Залежно від знака дискриминанта квадратного уравнения.
[pic] можливі три случая:
1. Якщо [pic], то є різних речовинних кореня, які можна визначити за такими формулам:
[pic], [pic].
2. Якщо [pic], те є єдиний корінь (точніше, дворазовий корень):
[pic].
3. Якщо [pic], то речовинних коренів нет.
Блок схема алгоритму приведено на рисунке:
Слід зазначити, що приведений алгоритм призначений на вирішення вузького класу завдань — квадратних рівнянь з «хорошими» коефіцієнтами. Якщо припустити, що коефіцієнти можуть приймати відвідувачів довільні речові значення, є загроза, що з певних значеннях коефіцієнта (наприклад, [pic]) виникає аварійна ситуація (розподіл на нуль). Якісний алгоритм і якісна програма повинні прагнути бути стійкими, то є за будь-яких вхідних параметрах завершення роботи програми має бути нормальним, хоча, можливо, і супроводжуватися попереджуючим повідомленням про некоректності вхідних даних. Властивістю стійкості має алгоритм рішення квадратного рівняння, приведений на рисунке:
Розроблений програмістом алгоритм повинен давати пошук правильної відповіді. Перевірка алгоритму може бути непросто. У простих випадках така перевірка можуть виконати з допомогою заповнення трассировочной таблиці. Кожен стовпець такий таблиці відповідає певній перемінної, а кожна рядок — одному кроку алгоритму. Для заповнення таблиці необхідно крок по кроку простежити виконання алгоритму, записуючи в таблицю поточні значення вибраних для трасування змінних. Такий метод дозволяє виявити логічні помилки, допущені під час складанні чи записи алгоритму, і побачити, чи правильний остаточний відповідь. Складемо за приклад трассировочную таблицю для алгоритму Герона обчислення квадратного кореня з числа 2. | і | z | | 0 | 1,0 | | 1 | 1,50 000 | | 2 | 1,41 666 | | 3 | 1,41 421 | | 4 | 1,41 421 | | 5 | 1,41 421 |.
Як очевидно з таблиці, вже після третьої ітерації близьке значення квадратного кореня відрізняється від точного 1,414 213 лише шостому знаку після запятой.
Заключение
.
Створення алгоритму вирішення завдань будь-якого типу, його уявлення виконавцю в зручною йому формі - це творчий акт. Алгоритм то, можливо представлений у різний спосіб: на розмовному природному мову; мовою блок-схем; мовою програмування. Вибір і розробка алгоритму і чисельного методу виконання завдання мають найважливіше значення на шляху успішної роботи над програмою. Старанно опрацьоване алгоритм виконання завдання — необхідна умова ефективної роботи із складання алгоритму.
1. Коляда М. Р. Вікно у дивовижний світ інформатики. — Д.: Сталкер, 1997.
2. Немнюгин З. А. Turbo Pascal: практикум. — СПб: Пітер, 2003.
3. Попов У. Б. Turbo Pascal що для школярів: Учеб. посібник. — М.: Фінанси і статистика, 2000.
4. Турбо Паскаль 7.0. Самовчитель. — СПб.: Пітер; До.: Видавнича группа.
BHV, 2002.