asyan.org
добавить свой файл
1
23 Алгоритмізація. Поняття алгоритму. Властивості алгоритму. Способи опису алгоритмів. Навчальна алгоритмічна мова. Базові структури алгоритмів. Технологія побудови алгоритму “згори до низу” та структурний підхід до розробки алгоритмів. Технологія структурного програмування.
Поняття алгоритму.

Алгоритм – це чітко визначена для конкр.виконавця послідовність дій, які спрямовані на досягн.поставленої мети або розв’яз.задачі певного типу (описове означення, оскільки поняття алг.відноситься до первісних, неозначуваних). Сам термін “алгоритм” утворився в результаті перекладу на європейські мови імені арабського математика Аль-Хорезмі, який описав правила (алгоритми) виконання основних арифметичних операцій в десятковій системі числення.

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

Власт. алг.:

1.Скінченність. Виконання кожного алг. повинно завершуватись за скінчене число кроків.

2.Результативність. Виконання алг.завжди повинно приводити до певного результату.

3.Формальність. Виконавець відповідно до алгоритму повинен одержати результат, не вникаючи в його суть.

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

5.Масовість. За допомогою складеного алг. повинен розв’язуватись цілий клас задач.

6.Зрозумілість. В алг.повинні бути лише операції, які знайомі виконавцеві. При цьому виконавцем алгоритму може бути: людина, комп’ютер, робот тощо.
Способи опису алгоритмів.

Способи опису алг.:

1.Словесно-формульний (опис здійснюється в словесній формі з використанням математичних чи інших формул);

2.Графічний (за допомогою блок-схем );

3.З використанням спеціальних алгоритмічних мов (таких як навчальна алгоритмічна мова);

4.У вигляді програм, написаних певною мовою програмування.
Навчальна алгоритмічна мова.

Навчальна алгоритмічна мова

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

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

При конструюванні викор.такі базові алгор-ні структури:

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

Пр.: Скласти алг.обч-ня значення виразу y=(Ax+B)(Cx+D).

2. Розгалуження (вибір). Команда розг. – це вказівка виконати одну з двох команд: команду 1 або 2 залежно від іст. чи хибності деякого твердж.Р. На цьому виконання команди розгалуження закінчується.

– +

Пр. Скласти алг. розв’яз.квадр. рівн.

3.Повторення(цикл). Розрізняють два типи циклів – поки і до.

Поки До



+

Порівняняльна характеристика

Поки

До

Перевірка умови

до

після

К-ть повторень команд в циклі

Може не повтор. жодного разу

Повтор. хоч один раз

Умова виходу з циклу

Якщо умова є хибною

Якщо умова є істинною

Пр.Скла.алг.обч.суми цілих чисел від 1 до 100.

структурне програмування є технологією програмування, яка об’єднує способи складання добре структурованих надійних програм, зручних для читання і розуміння їх людиною, слідкування за логікою їх роботи, внесення до них виправлень та інших змін. Згідно з думкою Н.Вірта “структурізація є принциповим інструментом, яке допомагає програмісту систематично синтезувати складні програми, зберігаючи про них повне уявлення” [1].
Реалізація цих ідей заснована на таких принципах:

1) аналітичне (згори донизу) програмування;

2) структурне кодування , тобто використання лише базових елементів програми;

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

Метод побудови алг.“зверху вниз”:

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

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

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

Технологія структурного програмування.

Технологія структурного програмування:

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