Уроки програмування на turbo pascal (al) розсилка

У практиці добре відомі завдання, подальший хід вирішення яких залежить від виконання певної умови. У житті часто доводиться діяти в залежності від обставин, від якихось умов. Але якщо в житті ми часто шукаємо вихід із ситуації тільки тоді, коли потрапили в неї, в програмі необхідно передбачити всі дії які необхідно виконати після перевірки умови, як у випадку його виконання, так і в разі невиконання. Щоб змінювати послідовність виконання різних частин програми, застосовують умовний оператор.

7.1. Умовний оператор.
Умовний оператор дозволяє виконувати або пропускати оператори програми в залежності від деякої умови. Умовний оператор може мати дві форми:

Повний оператор.
формат команди
IF умова THEN оператор_1 ELSE оператор_2;

Неповний оператор.
формат команди
IF умова THEN оператор;

Якщо перевести на російську мову англійські слова то отримаємо:

ЯКЩО умова ТО оператор_1 ІНАКШЕ оператор_2; або ЯКЩО умова ТО оператор;

Як умова застосовують операції порівняння: =, <>, <=,>=, <,>. Ліворуч і праворуч від знака порівняння записують арифметичні вирази.

Наприклад, оператор
If x<>0 then z: = y / x
еlse write ( 'Помилка!');
присвоїть змінній Z значення приватного y / x, якщо x<>0, в іншому випадку висвітить на екрані слово "Помилка!".

7.2. Складовою оператор.
У деяких випадках після слів THEN і ELSE треба виконати не один оператор, а кілька. Тоді ці оператори полягають в так звані операторні дужки, де BEGIN - відкриває дужка, END - закриває дужка. Всі оператори знаходяться всередині операторних дужок називаються складовим оператором. Перед словом ELSE крапка з комою ніколи не ставиться.

Формат команди: BEGIN оператор; оператор ;. оператор END;

наприклад:
If abegin
R: = a;
A: = b
B: = r
End

Після виконання такого оператора в змінної А буде більше, а в змінної В - менше з двох значень, що були там раніше.

Як виконується в умовному операторі дії може бути інший умовний оператор. наприклад:
If sqr (x) + sqr (y)> 1 then
If x> y then z: = 0
Else z: = 1;

При такій формі запису із зсувом вправо для кожного внутрішнього дії, легко зрозуміти, до якого з двох слів IF відноситься слово ELSE. Розглянемо приклад програми з використанням умовного оператора. Нехай для двох цілих чисел треба визначити, є вони парними чи ні. Для перевірки парності використовуємо умову: залишок від ділення на 2 парного числа дорівнює 0.

Program prim_7;
Var a, b: integer;
Begin
Write ( 'введіть два цілих числа');
Readln (a, b);
If a mod 2 = 0 then Writeln ( 'а - парне')
Else Writeln ( 'a - непарне');
If b mod 2 = 0 then Writeln ( 'b - парне')
Else Writeln ( 'b -нечетное');
Readln
End

Завдання для тренування.
1. Обчислити значення у при заданому значенні х:

2. Ввести два числа. Надрукувати спочатку менше, потім більше з них.
3. Дано числа x і y. Обчисліть число z, рівне x + y, якщо x<=y, и 1 - х + y в противном случае
4. Дано два числа. Виведіть перше з них, якщо воно більше другого, і обидва числа, якщо це не так.
5. Якщо дане число х менше нуля, то z надайте значення більшого з двох чисел х і у, інакше z надайте значення напівсуми цих чисел.
6. * Дані два числа. Менше з них замініть напівсумою цих чисел, а більше - їх твором.
7. Дано радіус кола і сторона квадрата. У якої фігури площа більше?
8. Дано ціле число. визначити:
a. Чи є воно парних;
b. Закінчується воно цифрою 7;
c. Чи ділиться воно на 13.

Розбір тренувального завдання уроку 6.

8. * Дано дійсне число А, що містить два знака до коми і два після. Отримати нове число, помінявши в числі А цілу і дробову частини.

Дане завдання не відноситься до целочисленной арифметиці, адже дано речовий а не ціле число. Спробуємо знайти цілу і дробову частини. А потім просто зберемо новий число збільшивши дробову частину в 100 разів і зменшивши цілу частину теж в 100 разів.

Program prim_8;
Var a, b, x1, x2: real;
Begin
Write ( 'введіть число');
Readln (a);
X1: = int (a);
X2: = frac (a);
b: = x1 / 100 + x2 * 100;
Writeln (b);
Readln
End.

9. * У касі є купюри номіналом в До рублів і в 1 рубль. Видати N рублів мінімальним набором купюр заданого гідності.

Визначимо скільки купюр гідністю K необхідно для видачі суми найбільш близькою до даної, але менше її. А потім яку суму залишилося видати.

Program prim_6;
Var k, n, m, p: integer;
Begin
Write ( 'введіть число рублів');
Readln (n);
Write ( 'введіть гідність купюри');
Readln (k);
m: = n div k;
p: = n mod k;
Writeln (p, 'купюр по 1 рублю,', m, 'купюр по', k, 'руб. Разом =', p + m);
Readln
End.


Бажаю успіхів!
Ганілова Тетяна Євгенівна [email protected]

Copyright © 2024