![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Умовний оператор
Загальний вид –
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); Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение 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.
|