складові умови
Завдання. Визначити, чи потрапляє точка X в інтервал (-3, 10). Рішення можна записати за допомогою вкладеного оператора IF:
IF X <10 THEN
writeln ( 'точка потрапляє в інтервал');
Умова попадання числа X в інтервал звучить так: «якщо X більше -3 І X менше 10, тоді число X потрапляє в інтервал». Дві операції відносини з'єднали союзом «і», графічно приналежність інтервалу зобразимо наступним чином
Як умова в операторі умовного переходу використовуються тільки прості умови - тобто відносини рівності, або нерівності. У мові Турбо Паскаль з простих умов дозволяється будувати складові, більш складні умови, що складаються з декількох простих умов пов'язаних деякими логічними операціями, кожне просте умова полягає в дужки.
Прості умови можуть з'єднуватися спілками AND, OR і запереченням NOT, операцією XOR.
Складові умови також як і прості використовуються в умовних операторах і в операторах циклу з попередньої і подальшої перевіркою умови. Наприклад, для того, щоб перевірити чи входить число x в інтервал [a, b] можна використовувати складене умова:
IF (X> = a) AND (X <= b) THEN оператор
3.2. Завдання до пройденої теми
1. Отримати максимальне число з трьох цілих чисел.
Складемо структурну схему рішення задачі.
Мал. 3.2. Схема алгоритму знаходження максимального значення з трьох цілих чисел.
Алгоритм досить прозорий. Порівнюємо значення змінних X і Y, вибираємо з них більше і зберігаємо значення більшої змінної в змінної з ім'ям MAX, потім значення змінної Z порівнюємо зі значенням змінної MAX і знову вибираємо більшого значення.
Запишемо текст програми.
writeln ( 'a =', a. 'b ='. b);
writeln ( 'Натисніть будь-яку клавішу для виходу.');
3.3. Завдання для самостійного рішення
- Дано три дійсних числа a, b і c. Визначити, чи можна побудувати трикутник з такими довжинами сторін.
- Чи вірно, що для заданого чотиризначного числа виконується співвідношення: сума першої і останньої цифри дорівнює різниці другої і третьої цифри?
- Дано два дійсних числа. Подвоїти перше число, якщо воно менше другого, в інших випадках залишити числа без зміни.
- Перевірити, чи є рік вашого народження високосним, якщо так, то підрахувати кількість вже пройшли високосних років, якщо немає, то підрахувати кількість високосних років до 3000г.
Глава 4. Реалізація циклічних алгоритмів
Цикл - команда виконавцю багаторазово повторити зазначену послідовність інструкцій алгоритмічної мови.
Тіло циклу - послідовність операторів, повторюваних в процесі виконання оператора циклу.
4.1. Конструкція циклу з лічильником
У тому випадку, коли кількість повторень тіла циклу відомо заздалегідь можна використовувати конструкцію циклу з лічильником (або цикл з параметром).
Візьмемо дуже простий приклад - таблицю множення: число 2 множимо на числа від 1 до 10 і друкуємо відповідь. Які дії повторюються? Повторюються дії множення і висновок значення твору на екран. При цьому зауважимо, що другий співмножник збільшується при кожній дії на одиницю, і операція множення повторюється задану кількість разів. Процес обчислень носить циклічний характер, причому число повторень циклу відомо до початку його виконання, управління циклом здійснюється за допомогою змінної (лічильник циклу), яка в цьому циклічному процесі приймає послідовні значення від заданого початкового значення до заданого кінцевого значення.
2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20
Для програмування повторюваних задану кількість разів фрагментів програм в мові Турбо Паскаль є оператор циклу з лічильником (часто його називають оператором циклу з параметром).
Як записати сказане вище за допомогою мови математики? Згадаймо запис таблиці множення:
Можна скоротити кількість рядків, використовуючи буквені позначення
Де i змінюється від 1 до 10, а - від 2 до 20.
Отже, робимо висновок - рядок 2 x i = a має бути виконана 10 раз, тобто ми повинні використовувати оператор циклу.
Синтаксична запис оператора циклу:
FOR i: = n TO k DO
ДЛЯ i змінюється ВІД початкового значення ДО кінцевого ВИКОНАТИ
Якщо потрібно повторити групу дій, то оператор виглядає наступним чином.
FOR i: = n TO k DO BEGIN
1) Лічильник змінюється на одиницю при кожному наступному виконанні оператора циклу.
2) Для правильної записи конструкції оператора необхідно пам'ятати: змінні i, n, k - можуть бути тільки змінними так званого «порядкового типу», це тип, в якому кожне дане має свій номер, своє розташування серед інших даних цього типу.
3) Не забувайте, що лічильнику присвоюється початкове значення.
4) Якщо початкове значення збігається з кінцевим значенням, то оператори циклу виконуються один раз.
5) Якщо початкове значення лічильника більше кінцевого значення, то тіло циклу не виконується жодного разу.
6) При виході з циклу значення лічильника збігається з кінцевим значенням, тобто i = k.
Вивести на екран квадрати натуральних чисел від 10 до 20.
Мал. 4.1. Схема алгоритму виведення на екран квадратів чисел.
FOR i: = 10 TO 20 DO
writeln ( 'квадрат числа', i. '=', a)
writeln ( 'Натисніть будь-яку клавішу для виходу.');
FOR i = 10 TO 20 DO
writeln ( 'квадрат числа i', i. '=', i * i)
Розглянемо конструкцію циклу «FOR» для того випадку, коли лічильник зменшується на 1 при кожному наступному кроці.
Оператор записується в такий спосіб:
FOR i: = n DOWNTO k DO
початкове вниз кінцеве
або група операторів, укладена в операторні дужки begin і end>
Вивести на екран натуральні числа від 19 до 10.
FOR i: = 19 DOWNTO 10 DO
writeln ( 'Натисніть будь-яку клавішу для виходу.');
Розглянемо алгоритми, які будуть використовуватися при вирішенні практично всіх завдань курсу. Таких алгоритмів трохи, вони називаються базовими. Їх треба дуже добре зрозуміти і запам'ятати.