2. Що означає побудувати алгоритм?
1
• Здійснити аналіз запропонованого завдання,
предметної області чи інформаційної моделі,
визначити проблему тощо
2
• Продумати план майбутньої діяльності щодо
розв'язування завдання, вирішення проблеми чи
досягнення поставленої мети
3
• Зафіксувати його за допомогою деякої системи
позначень, так званою формальною мовою
3. Побудова алгоритму
Для розв'язування задач за
допомогою комп'ютера існують різні
технології програмування, наприклад,
низхідне програмування (“зверху
донизу”), висхідне (“знизу вгору”),
пакетне, об'єктно-орієнтоване тощо і
відповідно різні прийоми розробки
алгоритму
4. Метод ”зверху вниз”.
Спочатку задачу розглядають як єдине ціле. На
кожному етапі розв'язування за необхідності
задачу поділяють на простіші підзадачі, кожну
підзадачу в разі потреби поділяють на ще
простіші, і так діють до тих пір, поки не будуть
одержані такі підзадачі, які легко описуються
вибраною формальною мовою або для
виконання яких вже є відповідні вказівки чи
скінченні впорядковані набори вказівок.
5. Покрокова деталізація
На кожному кроці побудови алгоритму
розв'язування задачі в разі потреби уточнюються
все нові і нові деталі (відбувається покрокова
деталізація), тому цей метод ще називають
методом покрокової деталізації.
Метод покрокової деталізації застосовується
при будь-якому конструюванні складних об'єктів
– поступове заглиблення в деталі конструкції.
6.
7. Метод “знизу вверх”
Під час побудови алгоритмів
користуються методом ”знизу вверх”,
за яким прості підзадачі послідовно
об'єднують у єдину сукупність підзадач,
що виконуються в певному порядку.
8. Базові структури алгоритмів
Базові структури алгоритмів –– це способи
керування процесами обробки даних. Комбінуючи керуючі
структури, можна складати алгоритми (програми) для
різноманітних задач.
Виділяють три базові алгоритмічні структури:
1. Лінійні алгоритми (слідування).
2. Розгалуження (вибір).
3. Повторення (цикл).
9. Слідування ( лінійний алгоритм)
Подається у вигляді
послідовності двох
(або більше)
простих операцій,
що виконуються
одна за одною
Серія команд 1
Серія команд 2
11. Слідування ( лінійний алгоритм)
Алгоритм
обчислення і
виведення
значення
виразу
початок
Ввести a,b,c,d,x
Вивести у
Кінець
y=(ax+b)(cx+d)
Y:=(a*x+b)*(c*x+d)
12. Обчислити шлях за швидкістю і
часом руху
Словесний запис
алгоритму задачі буде
таким:
1. Ввести швидкість v і
час руху t.
2. Обчислити шлях за
формулою
S = v·t .
3. Вивести шлях S
13. Обчислити площу трикутника за
трьома сторонами
Словесний запис алгоритму:
1. Ввести сторони трикутника а, b, с.
2. Обчислити півпериметр трикутника
0.5*(a+b+c)
3. Обчислити площу S за формулою Герона
4. Вивести площу трикутника S.
Запис алгоритму у вигляді блок-схеми буде
таким:
14. Лінійна структура
Лінійна структура має вигляд:
Алг Коло_Круг
арг R: ціл
рез L, S: дійсн
Поч
Ввести R
L : = 2 R
S : = R2
Вивід L
Вивід S
Кін
Завдання.
Складіть блок-
схему до даної
задачі.
Сформулюйте
умову задачі
15. Розгалуження
Умовний оператор (опеpатоp умовного
пеpеходу) служить для запису алгоритмiчної
структури розгалуження, тобто дозволяє
вибрати для виконання один з двох операторiв в
залежностi вiд того виконується деяка умова чи
нi.
Iснує дві форми умовного оператора:
- повна;
- коротка
16. Розгалуження в повній формі
— це галуження, в якому
визначені різні дії в разі
виконання, і в разі
невиконання заданої умови.
17. Розгалуження в повній формі
Якщо <логічний вираз> то серія1
інакше серія2;
все
18. Побудуємо блок-схему алгоритму розв'язування
квадратного рівняння з коефіцієнтами а , b і c.
Словесний запис алгоритму
буде таким:
1. Ввести значення
коефіцієнтів a, b і c .
2. Обчислити дискримінант
D.
3. Якщо D < 0, то вивести
повідомлення «Розв'язку
немає»,
перехід на кінець
алгоритму.
4. Обчислити корені x1 і x2
квадратного рівняння.
5. Вивести значення
x1 і x2.
6. Кінець алгоритму
19. Розгалуження. Приклад
Приклад.
Алг Task_Max
Арг a, b: ціл;
Рез max: ціл;
Поч
Ввести a;
Ввести b;
якщо a>b то max:=a інакше max:=b;
Вивід max;
Кін
Завдання. Які дії виконає дана програма? Складіть блок-схему
до прикладу.
20. Неповне галуження
— це розгалуження, в
якому дії визначені тільки у
разі виконання (або у разі
невиконання) заданої
умови.
Розвилка також
називається, «як-що-то-
інакше».
21. Розгалуження в неповній
формі
Якщо <логічний вираз>
то серія;
все
22. Цикли -
частини алгоритму, які мають
виконуватись повторно або
задане число разів, або за певної
передумови, або до досягнення
певної після умови.
23. Повторення
а) пiдготовку циклу - задання початкових значень
змiнним циклу перед першим його проходом;
б) тiло циклу - дiї, якi повторюються в циклi для
рiзних значень змiнних циклу;
в) модифiкацiю (змiну) значень змiнних циклу
перед кожним новим його повторенням;
г) керування циклом - перевiрку умови
продовження (або закiнчення) циклу i перехiд на
початок тiла циклу, якщо виконується умова
продовження циклу (або вихiд з циклу при його
закiнченнi).
24. Типи циклічних
алгоритмів
Розрiзняють цикли iз заданим числом
повторень (цикли з параметром) i цикли
з напеpед невiдомим числом повторень
(цикли з передумовою та з пiсляумовою):
1. Цикл-для
2. Цикл-до
3. Цикл-поки
25. Цикл-для
Вказівка повторення з параметром записується таким чином:
для i:=x1 до xn крок Н
пц
тіло циклу;
кц
і - параметр циклу
х1 - початкове значення параметру
xn - кінцеве значення параметру
H - крок зміни параметру (може набувати значення +1 або -1)
Цикл-для виконується т.ч.: параметру і присвоюється початкове значення
х1. Він порівнюється з кінцевим значенням xn. Якщо х1<=xn, то виконується
цикл. Значення і автоматично змінюється на крок Н і знову порівнюється зі xn і
т.д. Якщо отримуємо, що x1>xn, то цикл не виконується.
26.
27. Цикл – для (з параметрами)
Цикл з параметрами (цикл
з покроковою зміною
аргументу) – це цикл, у
якому тіло циклу
виконується відому кількість
разів, що реалізовано через
покрокову зміну параметра.
Параметру циклу
надається початкове
значення, і з ним
виконується тіло циклу.
Параметр змінюється на
заданий крок, і знову
виконується тіло циклу, і так,
доки параметр не дістане
кінцевого значення
ПЦ:=ПЗ; КЗ; К
Серія
28. Цикл-поки
Поки <умова>
пц
тіло циклу;
кц
Якщо умова істинна то
виконується тіло циклу.
Виконання програми
повертається до перевірки умови
циклу.
Якщо умова хибна, то
виконується вказівка, яка
знаходиться після вказівки з
передумовою
29.
30. Приклад
Алг Сума;
арг N, I: ціл;
рез X: дійсн;
Поч
Ввести N;
I:=1;
X:=0;
Поки I<=N
пц
X:=X+I;
I:=I+1;
кц
Вивід X;
Кін
Обчислити суму n-
перших натуральних
чисел.
Складемо блок-схему і
алгоритм
31.
32.
33. Цикл-до
Повторювати
пц
тіло циклу;
кц
до <умова>;
Спочатку виконується тіло
циклу, а пізніше перевіряється
умова. Якщо умова істинна, то
виконання циклу завершується,
якщо ні, то цикл виконується ще
раз і т. д.
34.
35. ПРАКТИЧНА
ЧАСТИНА
1.Складіть алгоритм обчислення
площі та периметра прямокутника
2. Введіть два числа. Виведіть на
екран спочатку менше число, а потім
більше
3. Розробити алгоритм знаходження
скалярного добутку двох векторів.
36. ЗАДАЧА № 1 ЗАДАЧА № 2
Початок
Початок
Ввести a,b
S:=a*b
P:=2*(a+b)
Вивести S, P
КІНЕЦЬ
Ввести a,b
Так Ні
a>b
Вивести b,a Вивести a,b
Кінець
38. Повторення. Приклад.
Завдання
1. Який вид циклу виконується в даній задачі?
Чому?
2. Визначіть початкові умови циклу
3. Визначіть тіло циклу.
4. Визначіть керуючу змінну циклу.
5. Визначіть крок з яким змінюється лічильник
циклу.
6. Яким буде результат S, якщо n набуде
значення 2; 3; 5; 10; 100?