складові умови

Завдання. Визначити, чи потрапляє точка 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. Завдання для самостійного рішення

  1. Дано три дійсних числа a, b і c. Визначити, чи можна побудувати трикутник з такими довжинами сторін.
  2. Чи вірно, що для заданого чотиризначного числа виконується співвідношення: сума першої і останньої цифри дорівнює різниці другої і третьої цифри?
  3. Дано два дійсних числа. Подвоїти перше число, якщо воно менше другого, в інших випадках залишити числа без зміни.
  4. Перевірити, чи є рік вашого народження високосним, якщо так, то підрахувати кількість вже пройшли високосних років, якщо немає, то підрахувати кількість високосних років до 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 ( 'Натисніть будь-яку клавішу для виходу.');

Розглянемо алгоритми, які будуть використовуватися при вирішенні практично всіх завдань курсу. Таких алгоритмів трохи, вони називаються базовими. Їх треба дуже добре зрозуміти і запам'ятати.