Логічний тип даних boolean, min і max в Pascal

  1. Логічний тип даних Boolean в Паскалі
  2. Мінімальна і максимальна кількість в Паскалі

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

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

Логічний тип даних Boolean в Паскалі

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

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

TRUE

FALSE

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

1 2 3 4 5 6 var A: integer; begin A: = 5; write (A> 0); {Буде виведено True} end.

var A: integer; begin A: = 5; write (A> 0); {Буде виведено True} end.

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

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

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

var A: integer; b: boolean; begin A: = 5; b: = A> 0; write (b); {Буде виведено True} end.

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

1 2 3 4 5 6 var a: boolean; begin a: = true; if a = true then writeln ( 'істина') else writeln ( 'брехня'); end.

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

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

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

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

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

1 2 3 4 5 6 7 8 9 10 11 program Boolean; var x, y: integer; c: boolean; begin write ( 'Введіть X, Y:'); read (x, y); c: = (Odd (x)) xor (Odd (y)); writeln ( 'Тільки одна з змінних X і Y має непарне значення -', c); end.

program Boolean; var x, y: integer; c: boolean; begin write ( 'Введіть X, Y:'); read (x, y); c: = (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 = 348; var d_n, s_n, e_n: integer; flag: boolean; begin flag: = false; s_n: = a div 100; d_n: = ((a mod 100) div 10); e_n: = a mod 10; if (s_n <> d_n) and (d_n <> e_n) and (e_n <> s_n) then flag: = true; writeln (flag); end.

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

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

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

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

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

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

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

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

Розглянемо тепер рішення задачі на Паскалі знаходження максимального числа:

Приклад: В комп'ютер вводяться 10 чисел. Виводити максимальне з введених чисел.

Показати рішення: 1 2 3 4 5 6 7 8 9 10 var i, chislo, max: integer; begin readln (max); {Число, введене відразу визначаємо як максимальне} for i: = 2 to 10 do begin readln (chislo); if chislo> max then max: = chislo end; writeln (max) end.

var i, chislo, max: integer; begin readln (max); {Число, введене відразу визначаємо як максимальне} for i: = 2 to 10 do begin readln (chislo); if chislo> max then max: = chislo end; writeln (max) end.

Аналогічно здійснюється пошук мінімального з чисел.

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

Завдання Max 1. У танцювальному клубі беруть участь 10 представниць жіночої статі. Визначте, чи може найстарша з них бути матір'ю наймолодшій (в такому випадку різниця у віці може становити не менше 17 років)

Завдання Max 2. Знайти мінімальне і максимальне з 10 введених чисел і вивести суму їх порядкових номерів.

Завдання Max 3. Середня тривалість життя лабораторної миші - 10 років. Знайдіть максимальний показник тривалості життя у п'яти білих мишей і у п'яти мишей-альбіносів. У яких мишей показник рівня життя вище?

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

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

У яких мишей показник рівня життя вище?