THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

Логічні вирази (умови) в мові Паскаль використовуються в операторах if і при організації повторень, а саме в циклах while і repeat-until.

Приклади логічних виразів:

1 . a\u003e 2 * b

2 . sin (sqr (a))<= exp(cos(b))–2.3

3 . (a<= 3) and (b > a / 2)

Логічні вирази будуються на основі операцій відносини

(<, >, <= , >=, =, <>)

і логічних операцій

and (Логічне і),

or (Логічне або),

not (Логічне заперечення),

xor (Що виключає або).

результатом виконання логічного виразу є логічне значення true (Істина) або false (Брехня). У складних логічних виразах в першу чергу виконуються арифметичні операції, потім - логічні операції, а в останню чергу - операції відносини.

24 Pascal. Умовний оператор if. Формат і принцип дії.

Структура умовного оператора if має вигляд:

If<условие> then<оператор1> else<оператор2>;

де if, then, else - зарезервовані слова (якщо, тоді, інакше);

<условие> - логічне вираження;

<оператор1> і<оператор2> - будь-які оператори мови Паскаль (прості або складові).

приклад: if sin (а)\u003e b then y: \u003d a

Оператор if працює наступним чином:

<условие> (True (істина) або false (брехня)).

якщо значення<условие> - true (істина), то виконується<оператор1>, а<оператор2> ігнорується.

якщо значення<условие> - false (брехня), то виконується<оператор2>, а<оператор1> ігнорується.

Скорочена конструкція оператора if

if< условие > then< оператор >;

приклади: if a< 2*b then y: = a/2 ;

if a< 2*b then begin

B прикладі 1 оператор y: \u003d a / 2; є простим оператором мови Паскаль.

У прикладі 2 оператор begin y: \u003d 2 * a; writeln (y) end; є складовим оператором мови Паскаль.

складовою оператор - це група операторів, укладена в операторні дужки begin end:

begin<операторы>;

Застосовується, коли можна виконати тільки один оператор за правилами синтаксису Паскаля, а по завданню передбачається виконання групи операторів.

Оператор if скороченою конструкції виконується наступним чином.

Обчислюється значення логічного виразу<условие>.

Якщо результатом є значення true, управління передається на<оператор>.

Якщо результатом умови є значення false,<оператор> ігнорується, і управління виконанням програми передається на наступний оператор в програмі.

25 Pascal. Оператор вибору case ... of. Формат і принцип дії. Оператор вибору Case

Якщо умовний оператор if дозволяє реалізувати одне з двох можливих продовжень програми, то оператор case надає можливість вибрати одне з декількох продовжень програми.

Даний оператор має структуру:

case<выражение-селектор> of

<список1>: <оператор1>;

<список2>: <оператор2>;

<список N>: <оператор N>

else<оператор>

тут<выражение-селектор> - вираз або, в окремому випадку, змінна будь-якого скалярного типу, крім речового (зазвичай це змінна типу byte, integer, boolean або char);

<список1, список2, ... списокN> - списки констант, значення яких може приймати вираз-селектор. Кожен зі списків може являти собою константу, діапазон констант або кілька констант (діапазонів), розділених комою.

Конструкція else в операторі case може бути відсутнім.

Оператор case виконується наступним чином.

    Аналізується значення виразу-селектора.

    Якщо значення виразу-селектора не збігається ні з однією з констант в списках констант, управління передається оператору, що стоїть після слова else, а в разі відсутності слова else, оператору, наступного за оператором case.

Програмне забезпечення - Паскаль Операції мови Паскаль

Операції мови Паскаль

Операції задають дії над операндами. У мові паскаль бувають операції бінарні і унарні. Унарні операції містять 1 операнд, перед яким стоїть знак операції. Бінарні операції мають 2 операнда, між якими ставиться знак або символ операції. За характером виконання дій операції мови паскаль можна розділити на 7 груп:

  • арифметичні;
  • відносини;
  • логічні;
  • строкові;
  • розрядні, зсувні;
  • операції над множинами;
  • операції взяття адреси.

Арифметичні операції. У мові Паскаль є одна унарна операція звана присвоєнням знака мінус і друга присвоєння знака плюс. Бінарними є:

  • додавання (+);
  • віднімання (-);
  • множення (*);
  • речовий ділення (/);
  • цілочисельне ділення (div);
  • залишок від цілочисельного ділення (mod).

У мові Паскаль є три операції ділення, результатом операції ділення (/) буде число з дробової частиною, результатом операції div - тільки ціле число, а результатом операції mod - залишок від цілочисельного ділення. приклади:

В арифметичних операціях можуть взяти участь тільки операнди числових типів. Їх результатом також буде число. Число може бути цілим або речовим.

Операції відносини. До них відносяться всі бінарні операції:

  • більше;
  • менше;
  • більше чи рівно;
  • менше або дорівнює
  • одно
  • не дорівнює.

Результат операцій відносин може бути тільки змінна логічного типу, вона може приймати або значення істина (True), або значення брехня (False). Операндами в операції відносини можуть бути числові типи або типи, зводяться до числовим. Числові типи:

  • символьний - в операціях відносини порівнюються коди символів відповідно до кодової таблиці;
  • логічний - використовуються значення True і False, що приймають значення 1 - істина і 0 - брехня відповідно;
  • строковий - складовою тип, що складається з символьного типу. Тому при використанні рядків здійснюється порівняння послідовних символів в двох рядках.

наприклад:

5.6\u003e 7 - False;

'П'< ‘Б’ — False;

'Петров'\u003e 'Іванов' - True;

'Іванов'< ‘Иван’ — False.

Результатом логічних операцій будуть логічні значення True або False.

Унарні: NOT - заперечення.

Бінарні: AND - множення (і); OR - додавання (або); XOR - складання на модуль 2 (виключає АБО).

Операндами логічного виразу можуть бути тільки операції логічного типу.

Строкові операції. Конкатенація (зчеплення) - бінарна операція. Операндами можуть бути тільки змінні строкового типу. Результат строковий, а дія операції полягає в зчепленні двох рядків в одну:

A: \u003d 'Іванов'

B: \u003d 'Олександр'

Результат: Іванов Олександр.

Послідовність виконання операцій на мові паскаль визначається 3 факторами:

  • пріоритет операцій;
  • порядок розташування операцій;
  • використання дужок.

Рівні пріоритетів виконуваних операцій:

  • операції першої пріоритетності, виконуються в першу чергу;
  • операції нижчої пріоритетності, виконуються останню чергу;
  • операції з рівними пріоритетами, виконуються зліва направо в порядку їх запису.

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

На занятті розглядається умовний оператор в Паскалі ( if). Пояснюється, як використовувати кілька умов в одній конструкції ( AND і OR). Рассмотриваются приклади роботи з оператором

Нагадуємо, що даний сайт не претендує на повний виклад інформації по темі. Метою порталу є надання можливості засвоєння матеріалу на основі готових розв'язаних прикладів по темі «Мова програмування Pascal»з практичними завданнями для закріплення матеріалу. Представлені на сайті сайт завдання по Паскалю збудовані послідовно в міру збільшення їх складності. Сайт сайт може бути використаний вчителями та викладачами в якості допоміжного наочного посібника.

До розгляду даної теми в основному використовувалися лінійні алгоритми в Паскалі, характерні для дуже простих завдань, коли дії (оператори) виконуються послідовно, одна за одною. Більш складні алгоритми передбачають використання конструкція розгалуження.

Блок-схема умовного оператора:

умовний оператор в Паскалі має наступний синтаксис:

Скорочений варіант:

if умова then оператор;

Повний варіант:

if умова then оператор else оператор;

Умовний оператор в Паскалі - if - служить для організації ходу завдання таким чином, при якому змінюється послідовність виконання операторів в залежності від будь-якого логічного умови. Логічне умова може приймати одне з двох значень: або true (істина), або false (брехня), відповідно, воно може бути або істинним, або хибним.

складовою оператор

Якщо при істинному умови необхідно виконувати кілька операторів, то їх за правилами мови Pascal необхідно укладати в блок, Що починається зі службового слова begin і закінчується службовим словом end. Такий блок прийнято називати операторними дужками, А дану конструкцію - складовим оператором:

Операторні дужки і складовою оператор в Паскалі:

if логічне вираз then begin оператор1; оператор2; end else begin оператор1; оператор2; end;

Переклад з англійської оператора умови полегшить розуміння його використання:

IF THEN ELSE
ЯКЩО ТО ІНАКШЕ


В умови (в логічному вираженні) використовуються оператори відносини.
Розглянемо список операторів відносини Паскаля:

  • більше\u003e
  • менше
  • більше або дорівнює в Pascal\u003e \u003d
  • менше або дорівнює в Pascal
  • порівняння в Pascal \u003d
  • не дорівнює в Pascal

приклад: знайти найбільше з двох чисел

Варіант 1 Варіант 2


Детально розібратися в роботі умовного оператора в Паскалі можна, переглянувши видеоурок:

приклад: обчислити значення змінної у по одній з двох гілок

Показати рішення:

var x, y: real; begin writeln ( "введіть х"); read (x); if x\u003e 0 then y: \u003d ln (x) else y: \u003d exp (x); writeln ( "y \u003d", y: 6: 2) (підсумкове число буде займати 6 позицій, і в ньому буде 2 знака після коми) end.

Зверніть увагу на те, як в даному прикладі виводиться y. при виведенні змінних типу в pascal, можна використовувати так званий форматований вивід, Або запис з двома двокрапками:
y: 6: 2
- цифра після першого двокрапки (6) вказує на те, скільки знаків буде займати число при виведенні на екран
- цифра після другого двокрапки (2) вказує на те, скільки знаків після коми дійсного числа буде виводитися

Таким чином, використання такого запису в pascal практично дозволяє виконати округлення до сотих, тисячних і т.п.

Завдання 0. Обчислити значення змінної у по одній з двох гілок:

Завдання 1. У комп'ютер вводяться два числа. Якщо перше більше другого, то обчислити їх суму, інакше - твір. Після цього комп'ютер повинен надрукувати результат і текст ЗАВДАННЯ ВИРІШЕНА

Завдання 2. Дракон щороку відрощує по три голови, але після того, як йому виповниться 100 років - тільки по дві. Скільки голів і очей у дракона, якому N років?

Логічні операції в Паскалі (в логічному вираженні)

Коли необхідно використовувати подвійне умова в Pascal, то знадобляться логічні операції.

  • логічна операція AND (І), поставлена \u200b\u200bміж двома умовами, говорить про те, що повинні виконуватися відразу обидва ці умови (повинні бути істинними). Логічний зміст операції - "кон'юнкція".
  • Поставлений між двома умовами, знак OR (АБО) говорить про те, що досить, якщо буде виконуватися хоча б одне з них (одне з двох умов істинно). Логічний зміст операції - "диз'юнкція".
  • Мовою Паскаль XOR - знак логічного операції, що має сенс "сувора диз'юнкція" і вказує на те, що необхідно, щоб одне з двох умов виконувалося (істинно), а інше - не виконувалося (помилково).
  • логічна операція NOT перед логічним виразом або змінної має сенс "заперечення" або "інверсія" і вказує на те, що якщо дана змінна або вираз істинні, то їх заперечення - брехня і навпаки.

важливо: Кожне з простих умов обов'язково укладати в дужки.

приклад: Розглянемо приклади логічних операцій в логічних виразах в Паскалі

1 2 3 4 5 6 7 8 var n: integer; begin n: \u003d 6; if (n\u003e 5) and (n<10 ) then writeln ("истина" ) ; if (n>7) or (n<10 ) then writeln ("истина" ) ; if (n>7) xor (n<10 ) then writeln ("истина" ) ; if not (n>7) then writeln ( "істина"); end.

var n: integer; begin n: \u003d 6; if (n\u003e 5) and (n<10) then writeln("истина"); if (n>7) or (n<10) then writeln("истина"); if (n>7) xor (n<10) then writeln("истина"); if not(n>7) then writeln ( "істина"); end.

приклад:Компанія набирає співробітників від 25 до 40 років включно. Ввести вік людини і визначити, чи підходить він для даної компанії (вивести відповідь «підходить» або «не підходить»).
особливість: треба перевірити, чи виконуються дві умови одночасно.

На занятті відбувається знайомство з логічним типом Boolean в Паскалі. Рассмотриваются алгоритм того, як знаходиться мінімальне і максимальне число в Паскалі


Сайт сайт надає лабораторні завдання по темі для закріплення теоретичного матеріалу і отримання практичних навичок програмування на Паскалі. Короткі теоретичні відомості дозволять отримати необхідний для цього мінімум знань. Вирішені наочні приклади і лабораторні завдання викладені в міру збільшення їх складності, що дозволить з легкістю вивчити матеріал з нуля. Бажаємо успіхів!

Ми вже навчилися писати програми, засновані на лінійних алгоритмах, в Паскалі. І навіть вже складаємо нелінійні алгоритми - з розгалуженням - в яких використовуються, які приймають значення true або false.

Значення логічного типу:

У прикладі нижче, на екран виводиться результат логічного виразу:

1 2 3 4 5 6 var A: integer; begin A: \u003d 5; write (A\u003e 0); (Буде виведено True) end.

var A: integer; begin A: \u003d 5; write (A\u003e 0); (Буде виведено True) end.

Для запису результату логічного виразу використовується спеціальна логічна змінна, яка має в Паскалі тип boolean і може також приймати одне з двох значень - true або false.

Подивимося, як працює та ж сама задача з логічної змінної:

1 2 3 4 5 6 7 8 var A: integer; b: boolean; begin A: \u003d 5; b: \u003d A\u003e 0; write (b); (Буде виведено True) end.

var A: integer; b: boolean; begin A: \u003d 5; b: \u003d A\u003e 0; write (b); (Буде виведено True) end.

приклад: Розглянемо приклад роботи з типом boolean в pascal:

var a: boolean; begin a: \u003d true; if a \u003d true then writeln ( "істина") else writeln ( "брехня"); end.

Для створення складних умов використовуються спеціальні: and, or, not і xor.

Завдання Boolean 1. Дано ціле позитивне число. Перевірити істинність висловлювання: «воно є парним»

Розглянемо приклад з використанням логічної операції XOR:

приклад: Запросити два цілих: X, Y. Перевірити істинність висловлювання: «Тільки одне з чисел X і Y є непарних»

program Boolean; var x, y: integer; c: boolean; begin write ( "Введіть X, Y:"); read (x, y); c: \u003d (Odd (x)) xor (Odd (y)); writeln ( "Тільки одна з змінних X і Y має непарне значення -", c); end.

Розглянемо ще одне рішення задачі в Паскалі з використанням логічної змінної:

Завдання Boolean 2. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «B знаходиться між числами A і C».

Розглянемо рішення більш складного завдання зі змінною логічного типу:

приклад: Дано тризначне число. Перевірити істинність висловлювання: «Все цифри даного числа різні».

Показати рішення:

1 2 3 4 5 6 7 8 9 10 11 12 13 const a \u003d 348; var d_n, s_n, e_n: integer; flag: boolean; begin flag: \u003d false; s_n: \u003d a div 100; d_n: \u003d ((a mod 100) div 10); e_n: \u003d a mod 10; if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then flag: \u003d true; writeln (flag); end.

const a \u003d 348; var d_n, s_n, e_n: integer; flag: boolean; begin flag: \u003d false; s_n: \u003d a div 100; d_n: \u003d ((a mod 100) div 10); e_n: \u003d a mod 10; if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then flag: \u003d true; writeln (flag); end.

Тут кожен розряд виходить шляхом використання операцій ділення без остачі і взяття залишку від ділення: s_n - це цифра сотого розряду, d_n - цифра десятого розряду, e_n - одиниці.

Завдання Boolean 3. Дано ціле N\u003e 0. За допомогою операцій ділення без остачі і взяття залишку від ділення визначити, чи є в запису числа N цифра «2». Якщо є, то вивести TRUE, якщо ні - вивести FALSE.

Завдання Boolean 4. Дано ціле позитивне. Перевірити істинність висловлювання: «Дане число є непарним тризначним».

Мінімальна і максимальна кількість в Паскалі

При організації пошуку мінімального або максимального числа серед ряду чисел завжди на допомогу приходить старенький «бабусин» алгоритм:

  • Уявімо ситуацію, що ми смажимо пиріжки, і вже насмажили цілу велику гірку; тепер треба вибрати з них найбільший, тобто в нашому випадку максимальний.
  • Беремо верхній пиріжок, тобто перший, і говоримо, що він поки найбільший і відкладаємо його в сторону.
  • Потім беремо другий і порівнюємо з найбільшим, якщо цей другий пиріжок виявляється більше - відкладаємо його на місце «колишнього найбільшого» і говоримо, що тепер він найбільший.
  • Беремо наступний і повторюємо дії. Так здійснюємо цю процедуру з усіма пиріжками.

Іноді в якості початкового максимуму призначається найменше можливе число (в залежності від контексту завдання). А в якості мінімуму - навпаки, найбільше можливе число. Наприклад, якщо сказано, що необхідно знайти максимальне / мінімальне серед позитивних чисел, менших 1000, то:

max: \u003d 0; min: \u003d 1000;

Лабораторна робота № 3

Тема:Логічний тип (boolean).

У мові Паскаль є дві логічні константи: TRUE (істина) і FALSE (неправда). Логічна змінна може прийняти будь-яке з цих значень і має тип boolean. Логічні дані широко використовуються при перевірці правильності деяких умов і при порівнянні величин. Результат може виявитися "істинним" або "хибним". Над логічними даними допускаються наступні операції:

Булевские операції:

оператор

операція

Тип операндів

Тип результату

заперечення

логічне І

логічне АБО

логічне виключає АБО

Результати операцій над логічними даними зведені в таблицю:

(A) and (B)

(A) or (B)

З даних булевского типу, операцій порівняння і булевских операцій будуються логічні вирази, що мають значення типу boolean. Наприклад: (c10) or (d

При обчисленні значень булевских виразів необхідно враховувати порядок виконання булевских операцій. Найвищий пріоритет має операція NOT, потім операція AND і потім операція OR. Операції порівняння мають найнижчий пріоритет.

Змінні булевского типу описуються в розділі опису перемененних за допомогою стандартного ідентифікатора BOOLEAN.

приклад: a, R1, f: boolean ;.

У мові Паскаль існують функції, які приймають тип boolean:

1. ODD (A) - значення істинно, коли А - трохи парне число.

2. EOLN - значення істинно, якщо кінець рядка текстового файлу.

3. EOF- значення істинно, якщо кінець текстового файлу.

Приклад програми:

var a, b, c: integer;

writeln ( 'введіть три цілих числа');

write ( 's \u003d', s);

В результаті виконання програми змінної s присвоїти значення TRUE або FALSE, залежно від того чи було логічне вираз хибним або істинним, і значення змінної s виведеться на екран, тобто на екрані з'явиться TRUE або FALSE.

Завдання до лабораторної роботи № 3.

Для виконання лабораторної роботи необхідно написати програми, які друкують true або false залежно від того, виконуються чи ні зазначені умови:

    Для довільних дійсних чисел a, b і c визначити, чи має квадратне рівняння хоча б один речовий рішення.

    Визначити, дорівнює чи сума двох перших цифр заданого чотиризначного числа сумою двох його останніх цифр.

    Визначити, чи рівний квадрат заданого тризначного числа кубу суми цифр цього числа.

    Визначити, чи є серед перших трьох цифр з дробової частини заданого позитивного дійсного числа цифра 0.

    Визначити, чи є серед цифр заданого тризначного числа однакові.

    Дано три довільних числа. Визначити, чи можна побудувати трикутник з такими довжинами сторін.

    Скласти логічне рівняння, використовуючи всі логічні операції з виведенням на екран логічної змінної.

    Визначити, чи більше квадрат даного числа квадратного кореня іншого даного числа.

    Довжини сторін опуклого чотирикутника виражаються числами a, b, c, d. Визначити чи можна в нього вписати коло.

Завдання до лабораторної роботи № 3.

Для виконання лабораторної роботи необхідно написати програми, які друкують true або false залежно від того, виконуються чи ні зазначені умови:

    Для довільних дійсних чисел a, b і c визначити, чи має квадратне рівняння хоча б один речовий рішення.

    Визначити, дорівнює чи сума двох перших цифр заданого чотиризначного числа сумою двох його останніх цифр.

    Визначити, чи рівний квадрат заданого тризначного числа кубу суми цифр цього числа.

    Визначити, чи є серед перших трьох цифр з дробової частини заданого позитивного дійсного числа цифра 0.

    Визначити, чи є серед цифр заданого тризначного числа однакові.

    Дано три довільних числа. Визначити, чи можна побудувати трикутник з такими довжинами сторін.

    Скласти логічне рівняння, використовуючи всі логічні операції з виведенням на екран логічної змінної.

    Визначити, чи більше квадрат даного числа квадратного кореня іншого даного числа.

    Довжини сторін опуклого чотирикутника виражаються числами a, b, c, d. Визначити чи можна в нього вписати коло.

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму