- •3444 Методичні вказівки
- •1 Базові структури алгоритмів
- •2 Обчислювальні процеси, що розгалужуються
- •2.1 Логічні вирази
- •2.2 Умовна операція ?:
- •Умова ? вираз_1 : вираз_2;
- •2.3 Оператор умовної передачі керуванняif
- •If (вираз)
- •2.4 Типові помилки програмування
- •2.5 Оператор розриву break
- •2.6 Оператор switch
- •Програма
- •3 Завдання для самостійного виконання
- •Програма
- •Програма
- •Програма
- •4 Питання для самоконтролю
- •Список літератури
Міністерство освіти і науки України
Сумський державний університет
3444 Методичні вказівки
до проведення практичних занять і самостійної роботи
з дисципліни “Програмування”
на тему “ Оператори керування мови С”
для студентів спеціальності “Інформатика”
усіх форм навчання
Частина 2
Суми
Сумський державний університет
2013
Методичні вказівки до проведення практичних занять і самостійної роботи з дисципліни “Програмування” на тему “Оператори керування мовиС” /укладачі: В. В. Авраменко, Н. В. Тиркусова, Т. В. Пташник – Суми : Сумський державний університет, 2013. – Ч. 2 – 40 с.
Кафедра комп’ютерних наук
ЗМІСТ
C.
Міністерство освіти і науки України 3
1 Базові структури алгоритмів 5
2 ОБЧИСЛЮВАЛЬНІ ПРОЦЕСИ, ЩО РОЗГАЛУЖУЮТЬСЯ 5
3 Завдання для самостійного виконання 16
4 Питання для самоконтролю 37
список літератури 40
1 Базові структури алгоритмів
Розрізняють три базові алгоритмічні структури (конструкції):
лінійна структура;
розгалужена структура;
циклічна структура.
Лінійна структура використовується в алгоритмах, де одна дія виконується слідом за іншою послідовно в порядку розміщення блоків, і при цьому жодна з дій не пропускається і не повторюється.
Розгалужена структура передбачає вибір виконання дії залежно від виконання певної умови, при цьому деякі дії можуть не виконуватися взагалі.
Циклічна структура передбачає виконання певних дій декілька разів.
2 Обчислювальні процеси, що розгалужуються
2.1 Логічні вирази
Для запису логічних виразів використовуються операції порівняння та логічні операції. Умова може бути простою і складною.
Проста умова містить два вирази (значення), поєднані знаком операції відношення або знаками логічних операцій:
Операції відношення | |
Операція |
Значення |
< |
Менше |
<= |
Менше або дорівнює |
== |
Перевірка на рівність |
>= |
Більше або дорівнює |
> |
Більше |
!= |
Перевірка на нерівність |
Логічні операції | |
Операція |
Значення |
&& |
Логічне і ( and) |
|| |
Логічне або (or) |
! |
Логічне заперечення (not) |
Складна умова містить дві або більше простих умов, поєднаних знаками логічних операцій.
Кожна умова перевіряється: істинна вона чи хибна. Точніше необхідно сказати, що кожна умова набуває значення «істинно» (true) або «хибно» (false). У мові С немає логічного (булевого) типу. Тому результатом умовного виразу є цілочислове арифметичне значення. «істинно» – це ненульова величина, а «хибно» – це нуль. У більшості випадків як ненульове значення «істинно» використовується одиниця.
У мові С для реалізації процесів, що розгалужуються, використовують:
? : – умовну операцію;
if– оператор умовної передачі керування;
switch– оператор перемикання.
2.2 Умовна операція ?:
Умовна операція ?: – єдина тернарна операція в мові С, її синтаксис:
Умова ? вираз_1 : вираз_2;
Принцип її роботи такий. Спочатку обчислюється вираз умови. Якщо цей вираз має ненульове значення, то обчислюється вираз_1. Результатом операції ?: у даному разі буде значення виразу_1. Якщо вираз умови дорвінює нулю, то обчислюється вираз_2 і його значення буде результатом операції. У будь-якому разі обчислюється лише один із виразів (вираз_1, або вираз_2).
Наприклад, цю операцію зручно використати для знаходження найбільшого з двох чисел a і b:
mах= (a>b) ? a : b ;
Якщо a>b, то max=a, інакше – max=b.
Необхідно відмітити, що вираз_2, у свою чергу, теж може бути умовною операцією. Наприклад:
op = (lex == '*' ? 5 : (lex == '/' ? 6 : 7));