- •Лекція 3. Програмування основних алгоритмічних структур.
- •Алгоритми процесів з розгалуженнями та їх програмування. Оператор вибору case. Алгоритми циклічних процесів: «до», «поки», «для». Регулярні та ітераційні цикли. Програмування циклів.
- •Програмування процесів з розгалуженнями.
- •Алгоритми з розгалуженням.
- •Умовний оператор.
- •Var a, b, y: real;
- •Var X, y, k: real;
- •Оператор вибору.
- •Var a:byte;
- •X, y, c:real;
- •Оператор безумовного переходу.
- •1: Write (‘*’);
- •Програмування циклічних процесів. Алгоритми циклічних процесів.
- •Var і, s: integer;
- •Var I,n, y :integer;
- •Var a,b,c,d,e,f: byte;
- •Var a, X, w: real;
- •Var a, X, w: real;
- •Var X, y, a, b, hx, max, xmax: real;
- •Алгоритми ітераційних процесів.
Лекція 3. Програмування основних алгоритмічних структур.
Алгоритми процесів з розгалуженнями та їх програмування. Оператор вибору case. Алгоритми циклічних процесів: «до», «поки», «для». Регулярні та ітераційні цикли. Програмування циклів.
Програмування процесів з розгалуженнями.
Алгоритми з розгалуженням.
Якщо під час виконання алгоритму виконавець має змогу вибрати для реалізації одну з декількох команд групи, не зачіпаючи інших команд даної групи, то такий алгоритм має розгалуження, тобто декілька можливих варіантів виконання. Під алгоритмом з розгалуженням розуміють такий алгоритм, який передбачає вибір одного з декількох можливих шляхів обчислення в залежності від деякої умови. Умова - це логічний вираз, що допускає лише дві можливі відповіді: так чи ні. Алгоритми процесів з розгалуженням завжди мають хоча б один логічний блок. Направлення потоку інформації не повинно приводити до повторення дій. Подані нижче приклади дають широкий спектр застосування алгоритмів з розгалуженням.
Приклад 2.4. Для заданих величин x, a обчислити:
Опишемо величини, які використовуються в цбому прикладі.
Таблиця 2.4. Таблиця опису величин
Величина |
ідентифікатор |
тип |
аргумент |
х |
дійсний |
аргумент |
а |
дійсний |
результат |
y |
дійсний |
Від попередніх прикладів цей вираз має свою особливість. Адже при діленні на нуль значення y знайти неможливо. Тому складемо таку математичну модель: Для всіх х та а, при яких х - а 0 існує. Якщо х - а = 0, то немає розв’язку.
Побудуємо блок-схему алгоритму для розв’язання задачі:
Приведений випадок визначення області застосування при обчисленні математичних виразів виникає дуже часто. Але в математиці існують фінкції, які задані на окремих ділянках системи координат по різному. Розглянемо декілька прикладів обчислення таких функцій.
Приклад 2.5. Для заданих величин x, a та b обчислити:
Цей приклад ілюструє поведінку функції, яка має розрив І роду в точкі x = b:
Порівняння величин в ході виконання алгоритму дозволяє комп’ютеру вибрати хід подальших дій та обчислень в залежності від ситуації, що склалася. Якщо будуть введені дані, при яких виконується умова x > b, то далі відбувається обчислення значення величини y за формулою y = a * x + b, інакше обчислюється значення y за формулою y = a * x - b. Далі отримані значення у виводяться на екран. Приведемо блок-схему алгоритму:
Якщо функція має розрив другого роду, то виникає наступна ситуація:
Приклад 2.6. Обчислити значення функції для заданих величин x, a та b
В цьому випадку при x = b функція не існує. Тому блок-схема алгоритму приймає такий вигляд:
Повторення блоку “вивести y” дозволяє спрощувати написання програми, використовуючи блоки операторів.
Часто дія відбувається тільки при виконанні деякої умови, а при невиконанні цієї умови ніякої дії немає. Наприклад, треба скласти алгоритм наступної задачі:
Приклад 2.7. Задані два числа, m та n. Замінити кожне додатне число сумою заданих чисел.
Приведемо таблицю опису величин для цього прикладу:
Величина |
ідентифікатор |
тип |
I величина |
m |
дійсний |
II величина |
n |
дійсний |
Сума величин m та n |
s |
дійсний |
А тепер побудуємо блок-схему алгоритму.