Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Поняття алгоритму.doc
Скачиваний:
22
Добавлен:
11.02.2016
Размер:
853.5 Кб
Скачать

Структурограма:

  1. Синтаксичні діаграми

Синтаксична діаграма:

  1. Графічний (мова блок-схем) оснований на візуальному представленні алгоритму у вигляді послідовності блоків.

Графічна мова:

Складання алгоритмів графічним способом регламентується двома ДСТУ:

ГОСТ 19.002-80, відповідає міжнародному стандартові ІСО 2636-73. Регламентує правила складання блок-схем.

ГОСТ 19.003-80, відповідає міжнародному стандартові ІСО 1028-73. Регламентує використання графічних примітивів.

Назва

Символ (рисунок)

Виконувана функція (пояснення)

1.Блок обчислень

Виконує обчислювальну дію чи групу дій

2.Логічний блок

Вибір напряму виконання алгоритму в залежності від умови

3.Блоки введення/виведення

Введення або виведення даних незалежно від фізичного носія

Друк даних на папір

4.Початок/кінець (вхід/вихід)

Початок або кінець програми, вхід або вихід у підпрограму

5.Визначений процес

Обчислення по стандартній або користувальницькій підпрограмі

6.Блок модифікації цикл.

Виконання дій, що змінюють пункти алгоритму (організація циклу)

7.З'єднувач

Вказівка зв'язку між перерваними лініями в межах однієї сторінки

8.Міжсторінковий з'єднувач

Указівка зв'язку між частинами схеми, розташованої на різних сторінках

Правила побудови блок-схем:

  1. Блок-схема вибудовується в одному напрямку або зверху вниз, або зліва направо.

  2. Усі повороти з’єднувальних ліній виконуються під кутом 90 градусів.

  3. Стрілки (лінії) не повинні перетинати одна одну. В разі необхідності застосовують з’єднувачі.

Класифікація алгоритмів

По способу організації порядку виконання дій конструкції алгоритмів поділяють на три базові групи:

  • лінійні;

  • гілкування (розгалуження).

  • циклічні (ітераційні алгоритми).

Лінійний алгоритм не має логічних умов і має одну гілку обчислень:

Блок-схема: решение 732

i:=i+1

Блок-схема: решение 734Блок-схема: знак завершения 735Прямая со стрелкой 745Прямая со стрелкой 736Прямая со стрелкой 737Прямая со стрелкой 738Прямая со стрелкой 739Прямая со стрелкой 740

-

+

+

-

Прямая со стрелкой 746Прямая со стрелкой 747

дія 1

Прямая со стрелкой 730

дія 2

Прямая со стрелкой 728

Приклад.

Обчислити S=x3tg2(x+b)2+a,

a=16,5

b=3,4

x=0,61

Намалюємо блок-схему алгоритму.

Блок-схема: знак завершения 727

a:=16,5;

b:=3,4;

x:=0,61

Прямая со стрелкой 726

Прямая со стрелкой 724

Z1:=sqr(x+b)

Z2:=tg(Z1)

S:=x*x*x*sqr(Z2)+a

Прямая со стрелкой 721

Прямая со стрелкой 720

Блок-схема: данные 719

Прямая со стрелкой 718

Блок-схема: знак завершения 717

Алгоритмічна конструкція гілкування (розгалуження)

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

Повна форма:

або

Неповна форма:

або

Приклад: знайти найменше з трьох чисел.

1 варіант рішення:

2 варіант рішення:

Намалюємо блок-схему АлгоритмуЕвкліда:

Блок-схема: знак завершения 716

початок

Прямая со стрелкой 714

Блок-схема: данные 713

m, n

Прямая со стрелкой 711

Прямая со стрелкой 710Прямая со стрелкой 709

Блок-схема: решение 707Блок-схема: данные 706

-

n<>0

m

Прямая со стрелкой 703

Прямая со стрелкой 700Прямая со стрелкой 701

+

Блок-схема: процесс 699

r:=m mod n

m:=n

n:=r

Блок-схема: знак завершения 697

кінець

Прямая со стрелкой 694Прямая со стрелкой 695

Алгоритми циклічної структури

По способу визначення числа повторів цикли поділяють на 2 групи:

  • з явно заданим числом повторів

  • ітераційні (число повторів попередньо не відоме).

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

Прямая со стрелкой 691Прямая со стрелкой 690Прямая со стрелкой 689Прямая со стрелкой 692

дія 1

Шестиугольник 687

цикл

Прямая со стрелкой 681Прямая со стрелкой 685Прямая со стрелкой 683Прямая со стрелкой 682Прямая со стрелкой 684

Блок-схема: решение 680Прямая со стрелкой 679

дія

Прямая со стрелкой 678Прямая со стрелкой 677

Прямая со стрелкой 675або

Прямая со стрелкой 674

дія 2

Соединительная линия уступом 671Прямая со стрелкой 673

Прямая со стрелкой 670

Прямая со стрелкой 669

Існує кілька типів алгоритмів циклічної структури:

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

Особливості: умова передує циклові, тому цикл може ні разу не виконатися; перевіряється умова продовження циклу.

Прямая со стрелкой 666Прямая со стрелкой 668Прямая со стрелкой 667

Блок-схема: решение 665

Прямая со стрелкой 664Прямая со стрелкой 663

Прямая со стрелкой 662

тіло циклу

Соединительная линия уступом 660

Прямая со стрелкой 659

Прямая со стрелкой 658

  1. алгоритм циклічної структури з постумовою:

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

Прямая со стрелкой 655Прямая со стрелкой 656Прямая со стрелкой 657

тіло циклу

Прямая со стрелкой 653

Блок-схема: решение 652

Прямая со стрелкой 651Прямая со стрелкой 650

Прямая со стрелкой 649

Соединительная линия уступом 647Прямая со стрелкой 648

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