Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Умовний оператор






    Загальний вид –

     

    if a then p1 else p2;

    Тут a - булевський (логічний) вираз; p1, p2 - оператори.

    Булевський вираз може набувати одного з двох значень: true (правда, істина) або false (неправда).

    Найпростішими логічними виразами є вираз відносини:

     

    a1 op a2.

     

    Тут a1, a2 - вирази, а op - операція відносини (=, < >, <, >, < =, і т.д.).

    До булевських даних застосовні логічні операції and, or, not, xor. Булевський вираз визначає умову в операторі if, істинність якої веде до виконання оператора p1, а хибність - виконання оператора p2.

    Наприклад:

     

    if (X> 5) and (Y< =10)

    then

    Z: =8

    else

    Z: = X+4;

     

    Конструкції else р2 може не бути.

     

    Приклади виконання завдання лабораторної роботи

     

    Приклад 4. Обчислити корені квадратного рівняння

     

    ax2 + bx + c = 0

    за умови d = b2-4ac ³ 0 за формулою

     

    .

    У противному випадку, тобто при d< 0, передбачити вивід повідомлення «Дійсних коренів немає».

     
     

    Блок-схема

    Порядок роботи:

    Крок 1. Уводимо a, b, c.

    Крок 2. Обчислюємо d = b2 - 4ac.

    Крок 3. Якщо d< 0, виводимо повідомлення «Дійсних коренів немає», останов.

    Крок 4. Обчислюємо

     

    .

     

    Крок 5. Виводимо x1, x2.

    Крок 6. Останов.

    Приклад 5. Дано дійсне число x. Скласти програму для обчислення функції f(x), якщо

     

     

    Програма обчислення f(x) має вид

     

    program pr5_1;

    uses crt;

    var x, y: real; k: char;

    begin clrscr;

    write('x? '); readln(x);

    if x< =0 then

    y: =sqr(x)*x

    else

    if (x> 0) and (x< =2) then

    y: =sqr(x)+4*x+5

    else

    y: =sqr(x)-sin(pi*x*x/3);

    writeln(' x= ', x: 5: 1, ' y = ', y: 5: 1);

    k: =readkey

    end.

     

    або

     

    program pr5_2;

    uses crt;

    var x, y: real; k: char;

    begin clrscr;

    write('x? '); readln(x);

    if x< =0 then y: =sqr(x)*x;

    if (x> 0) and (x< =2) then y: =sqr(x)+4*x+5;

    if x> 2 then y: =sqr(x)-sin(pi*x*x/3);

    writeln(' x= ', x: 5: 1, ' y = ', y: 5: 1);

    k: =readkey

    end.

     

    Приклад 6. Нехай D - заштрихована частина площини (рис. 1). Функція U визначається за х та y у такий спосіб:

     

     

     
     

    Дані два числа x, y. Скласти програму для обчислення значення U.

     

    Для опису ділянки D складемо рівняння ліній, що обмежують частину площини. Одержимо:

    1) рівняння лінії 1 x=-1;

    2) рівняння лінії 2 x2+y2=1;

    3) рівняння лінії 3 визначимо із загального рівняння прямої. Для цього підставимо до рівняння прямої y=ax+b координати двох точок (-1; 1) і (1; 0). Вирішивши отриману систему лінійних рівнянь, знайдемо рівняння лінії 3: y=-0, 5x+0, 5.

    Розіб'ємо ділянку D на дві підділянки: A, що лежить нижче осі OX, і B, що лежить вище осі OX. Тоді підділянку A можна описати системою нерівностей:

     

    x2+y2£ 1; y£ 0,

     

    а підділянку B - системою нерівностей:

     

    y £ 0, 5x +0, 5; x ³ -1; y ³ 0.

    Ділянка D визначиться як сума підділянок A і B. Тоді програма обчислення U набуде виду

     

    program pr6;

    uses crt;

    var x, y, u, z: real; a, b, d: boolean; k: char;

    begin clrscr;

    writeln(‘x, y? ‘); readln(x, y);

    a: =(sqr(x)+sqr(y)< =1) and (y< =0);

    b: =(x> =-1) and (y< =-0.5*x+0.5) and (y> =0);

    d: =a or b;

    if d then

    begin

    z: =(x/pi)/sqrt(1-sqr(x/pi));

    u: =exp(x-y)+arctan(z)

    end

    else

    u: =exp(sin(y)*ln(abs(x)))*ln(abs(x*sqr(y)));

    writeln(‘D=’, D, ’x=’, x: 5: 1, ’y=’, y: 5: 1, ’u=’, u: 5: 1);

    k: =readkey

    end.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.