38
Базові структури алгоритму

базовI структури алгоритму урок 4

  • Upload
    -

  • View
    295

  • Download
    4

Embed Size (px)

Citation preview

Page 1: базовI структури алгоритму урок 4

Базові структури

алгоритму

Page 2: базовI структури алгоритму урок 4

Що означає побудувати алгоритм?

1

• Здійснити аналіз запропонованого завдання, предметної області чи інформаційної моделі, визначити проблему тощо

2

• Продумати план майбутньої діяльності щодо розв'язування завдання, вирішення проблеми чи досягнення поставленої мети

3• Зафіксувати його за допомогою деякої системи

позначень, так званою формальною мовою

Page 3: базовI структури алгоритму урок 4

Побудова алгоритму

Для розв'язування задач за

допомогою комп'ютера існують різні

технології програмування, наприклад,

низхідне програмування (“зверху

донизу”), висхідне (“знизу вгору”),

пакетне, об'єктно-орієнтоване тощо і

відповідно різні прийоми розробки

алгоритму

Page 4: базовI структури алгоритму урок 4

Спочатку задачу розглядають як єдине ціле. На

кожному етапі розв'язування за необхідності

задачу поділяють на простіші підзадачі, кожну

підзадачу в разі потреби поділяють на ще

простіші, і так діють до тих пір, поки не будуть

одержані такі підзадачі, які легко описуються

вибраною формальною мовою або для

виконання яких вже є відповідні вказівки чи

скінченні впорядковані набори вказівок.

Метод ”зверху вниз”.

Page 5: базовI структури алгоритму урок 4

Покрокова деталізація

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

Метод покрокової деталізації застосовується при будь-якому конструюванні складних об'єктів – поступове заглиблення в деталі конструкції.

Page 6: базовI структури алгоритму урок 4
Page 7: базовI структури алгоритму урок 4

Метод “знизу вверх”

Під час побудови алгоритмів

користуються методом ”знизу вверх”,

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

об'єднують у єдину сукупність підзадач,

що виконуються в певному порядку.

Page 8: базовI структури алгоритму урок 4

Базові структури алгоритмів

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

Виділяють три базові алгоритмічні структури:

1. Лінійні алгоритми (слідування).

2. Розгалуження (вибір).

3. Повторення (цикл).

Page 9: базовI структури алгоритму урок 4

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

Слідування ( лінійний алгоритм)

Серія команд 1

Серія команд 2

Page 10: базовI структури алгоритму урок 4

Введення вхідних даних

Початок

Виведення результату

Кінець

Дії

Дії

. . .

С

Е

Р

і

Я

Page 11: базовI структури алгоритму урок 4

Алгоритм обчислення і виведення значення виразу

Слідування ( лінійний алгоритм)

початок

Ввести a,b,c,d,x

Вивести у

Кінецьy=(ax+b)(cx+d)

Y:=(a*x+b)*(c*x+d)

Page 12: базовI структури алгоритму урок 4

Обчислити шлях за швидкістю і

часом руху

Словесний запис алгоритму задачі буде таким:

1. Ввести швидкість v і час руху t.

2. Обчислити шлях за формулою

S = v·t .3. Вивести шлях S

Page 13: базовI структури алгоритму урок 4

Словесний запис алгоритму:

1. Ввести сторони трикутника а, b, с.

2. Обчислити півпериметр трикутника

0.5*(a+b+c)

3. Обчислити площу S за формулою Герона

4. Вивести площу трикутника S.

Запис алгоритму у вигляді блок-схеми буде

таким:

Обчислити площу трикутника за

трьома сторонами

Page 14: базовI структури алгоритму урок 4

Лінійна структура

Лінійна структура має вигляд:

Алг Коло_Круг

арг R: ціл

рез L, S: дійсн

Поч

Ввести R

L : = 2 R

S : = R2

Вивід L

Вивід S

Кін

Завдання.

Складіть блок-

схему до даної

задачі.

Сформулюйте

умову задачі

Page 15: базовI структури алгоритму урок 4

Розгалуження

Умовний оператор (опеpатоp умовного

пеpеходу) служить для запису алгоритмiчної

структури розгалуження, тобто дозволяє

вибрати для виконання один з двох операторiв в

залежностi вiд того виконується деяка умова чи

нi.

Iснує дві форми умовного оператора:

- повна;

- коротка

Page 16: базовI структури алгоритму урок 4

Розгалуження в повній формі

— це галуження, в якому визначені різні дії в разі виконання, і в разі невиконання заданої умови.

Page 17: базовI структури алгоритму урок 4

Якщо <логічний вираз> то серія1

інакше серія2;

все

Розгалуження в повній формі

Page 18: базовI структури алгоритму урок 4

Словесний запис алгоритму буде таким:1. Ввести значення коефіцієнтів a, b і c .2. Обчислити дискримінант D.3. Якщо D < 0, то вивести повідомлення «Розв'язку немає»,перехід на кінець алгоритму.4. Обчислити корені x1 і x2

квадратного рівняння.5. Вивести значенняx1 і x2.6. Кінець алгоритму

Побудуємо блок-схему алгоритму розв'язування квадратного рівняння з коефіцієнтами а , b і c.

Page 19: базовI структури алгоритму урок 4

Розгалуження. Приклад

Приклад.

Алг Task_Max

Арг a, b: ціл;

Рез max: ціл;

Поч

Ввести a;

Ввести b;

якщо a>b то max:=a інакше max:=b;

Вивід max;

Кін

Завдання. Які дії виконає дана програма? Складіть блок-схему

до прикладу.

Page 20: базовI структури алгоритму урок 4

Неповне галуження— це розгалуження, в

якому дії визначені тільки у разі виконання (або у разі невиконання) заданої умови.

Розвилка також називається, «як-що-то-інакше».

Page 21: базовI структури алгоритму урок 4

Розгалуження в неповній формі

Якщо <логічний вираз>

то серія;

все

Page 22: базовI структури алгоритму урок 4

частини алгоритму, які мають

виконуватись повторно або

задане число разів, або за певної

передумови, або до досягнення

певної після умови.

Цикли -

Page 23: базовI структури алгоритму урок 4

Повторення

а) пiдготовку циклу - задання початкових значень

змiнним циклу перед першим його проходом;

б) тiло циклу - дiї, якi повторюються в циклi для

рiзних значень змiнних циклу;

в) модифiкацiю (змiну) значень змiнних циклу

перед кожним новим його повторенням;

г) керування циклом - перевiрку умови

продовження (або закiнчення) циклу i перехiд на

початок тiла циклу, якщо виконується умова

продовження циклу (або вихiд з циклу при його

закiнченнi).

Page 24: базовI структури алгоритму урок 4

Типи циклічних алгоритмів

Розрiзняють цикли iз заданим числом

повторень (цикли з параметром) i цикли

з напеpед невiдомим числом повторень

(цикли з передумовою та з пiсляумовою):

1. Цикл-для

2. Цикл-до

3. Цикл-поки

Page 25: базовI структури алгоритму урок 4

Цикл-для

Вказівка повторення з параметром записується таким чином:

для i:=x1 до xn крок Н

пц

тіло циклу;

кц

і - параметр циклу

х1 - початкове значення параметру

xn - кінцеве значення параметру

H - крок зміни параметру (може набувати значення +1 або -1)

Цикл-для виконується т.ч.: параметру і присвоюється початкове значення

х1. Він порівнюється з кінцевим значенням xn. Якщо х1<=xn, то виконується

цикл. Значення і автоматично змінюється на крок Н і знову порівнюється зі xn і

т.д. Якщо отримуємо, що x1>xn, то цикл не виконується.

Page 26: базовI структури алгоритму урок 4
Page 27: базовI структури алгоритму урок 4

Цикл – для (з параметрами)

Цикл з параметрами (цикл з покроковою зміною аргументу) – це цикл, у якому тіло циклу виконується відому кількість разів, що реалізовано через покрокову зміну параметра.

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

ПЦ:=ПЗ; КЗ; К

Серія

Page 28: базовI структури алгоритму урок 4

Цикл-поки

Поки <умова>

пц

тіло циклу;

кц

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

виконується тіло циклу.

Виконання програми

повертається до перевірки умови

циклу.

Якщо умова хибна, то

виконується вказівка, яка

знаходиться після вказівки з

передумовою

Page 29: базовI структури алгоритму урок 4
Page 30: базовI структури алгоритму урок 4

Приклад

Алг Сума;арг N, I: ціл;рез X: дійсн;

ПочВвести N;I:=1; X:=0;

Поки I<=Nпц

X:=X+I;I:=I+1;

кцВивід X;

Кін

Обчислити суму n-

перших натуральних

чисел.

Складемо блок-схему і

алгоритм

Page 31: базовI структури алгоритму урок 4
Page 32: базовI структури алгоритму урок 4
Page 33: базовI структури алгоритму урок 4

Цикл-до

Повторювати

пц

тіло циклу;

кц

до <умова>;

Спочатку виконується тіло

циклу, а пізніше перевіряється

умова. Якщо умова істинна, то

виконання циклу завершується,

якщо ні, то цикл виконується ще

раз і т. д.

Page 34: базовI структури алгоритму урок 4
Page 35: базовI структури алгоритму урок 4

ПРАКТИЧНА

ЧАСТИНА

1.Складіть алгоритм обчислення площі та периметра прямокутника

2. Введіть два числа. Виведіть на екран спочатку менше число, а потім

більше

3. Розробити алгоритм знаходження скалярного добутку двох векторів.

Page 36: базовI структури алгоритму урок 4

ЗАДАЧА № 1 ЗАДАЧА № 2

Початок

КІНЕЦЬ

Початок

Ввести a,b

Вивести S, P

S:=a*b

P:=2*(a+b)

Ввести a,b

a>b

Вивести b,a Вивести a,b

Кінець

НіТак

Page 37: базовI структури алгоритму урок 4

Базові структури алгоритмів

Page 38: базовI структури алгоритму урок 4

Повторення. Приклад. Завдання

1. Який вид циклу виконується в даній задачі?

Чому?

2. Визначіть початкові умови циклу

3. Визначіть тіло циклу.

4. Визначіть керуючу змінну циклу.

5. Визначіть крок з яким змінюється лічильник

циклу.

6. Яким буде результат S, якщо n набуде

значення 2; 3; 5; 10; 100?