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

Тема №1. 2.Принцип абстракції

Рядки. Стандартні процедури та функції для виконання операцій над рядками. | Тема №7. 26.Процедури і функції для роботи з типізованими файлами | Прості типи даних | Діапазон числових типів даних | Цикл з передумовою |


Принцип абстракції логічний (теоретико-множинний) принцип, що лежить в основі визначень через абстракцію. Згідно П. а., Будь-яке відношення типу рівності, визначене на деякій множині об'єктів, може служити для розподілу (розбиття) об'єктів цієї множини по попарно непересічним класам, наз. класоміабстракції (або класами розбиття, або класами еквівалентності) цього відношення, і таким, що будь-які два об'єкти разбиваемого безлічі належать до одного й того ж класу абстракції в тому (і тільки в тому) випадку, коли вони перебувають у вказаному відношенні; одночасно кожен елемент множини належить до к.-л. класу абстракції (напр., безліч всіх, хто живе на землі людей ставленням "х має однаковий вік з y" розбивається на непересічні класи "живих людей однакового віку"). Відповідно до т.зв. аксіомою "існування класів" (аксіомою "згортання"), що дозволяє ототожнювати класи і властивості (ознаки), всяке, визначений для елементів розбитого множини, відношення типу рівності "виділяє" певний вид ознак, що характеризують відповідності. класи абстракції. Навпаки, всяке розбиття множини за відомим увазі ознак його елементів на класи абстракції (класи еквівалентних, або рівних, по відношенню до даного ознакою елементів) "виділяє" нек-рої відношення типу рівності, а саме таке, в якому знаходяться будь-які два члени одного і того ж класу абстракції.

П. а. розглядають зазвичай як одну з теорем про абстракції в класичні. теорії множин, оскільки його формулювання зводиться до твердження про існування безлічі (класів), - абстрактних об'єктів, що володіють определ. властивостями. Проте за допомогою П. а. досягається і зворотний процес - позбавлення від абстракції, у д а л е н н я її. Адже, згідно осн. положенню цієї теорії, клас абстракції може бути ототожнений з властивістю, загальним всім членам (предметів) даного класу. Але властивість це, в свою чергу, можна ототожнити (і ми дійсно на практиці часто його ототожнюємо) з будь-яким "конкретним" предметом (членом) цього класу (носієм властивості). Таке ототожнення представляється навіть більш природним, ніж ототожнення класу і властивості, в силу свідомо прийнятого, - за змістом самого П. а., - Quot; і н т е р в а л а о б с т р а до ц й ", згідно до-рому ін властивості цього предмета нас просто не цікавлять: вони є п о с т о р о н н і м і в даному аналізі та п р а к т и ч е з до і їх немає, якщо дивитися, так би мовити, "зсередини" прийнятого інтервалу абстракції. Т.ч., з т. зр. цілей, що визначають вибір відповідності. відносини типу рівності або соответств. властивості, кожен "конкретний" предмет, - елемент разбиваемого множини, при цьому розбитті використовується тільки в якості "абстрактного" предмета, або, що те саме - як представник (і заступника) певного (свого) класу абстракції. У цій своєрідній діалектиці "абстрактного" і "конкретного", що дозволяє вводити абстракції з одночасним зазначенням засобів їх видалення, складається основне гносеологіч. зміст П. а.

10. Умовним оператором називається оператор, який використовується в операціях розгалуження, коли при виконанні умови необхідно виконати одну дію, а при не виконанні іншу.
Якщо при рішенні задачі виникає ситуація, коли при виконанні умови необхідно виконати одні дії, а в противному випадку - виконати інші дії, то використовується умовний оператор (чи оператор розгалуження). Оскільки умова в Паскалі - це операція відношення, що є булевим (логічним) вираженнями, то умовний оператор у загальному виді записується так.

Мовою Паскаль даний оператор записується за допомогою відповідних англійських службових слів IF, THEN, ELSE. Усю конструкцію прийнято оформляти у виді вже знайомої вам структури - "драбинкою".

Порядок виконання дуже простий. Якщо значення "логічного виразу" - істина (TRUE), те виконується "оператор1", а "оператор2" – не виконується. Якщо ж значення "логічного виразу" - неправда (FALSE), то навпаки, виконується "оператор2", а "оператор1" - немає. Зверніть увагу на правила запису.
Якщо після умовного оператора IF у програмі маються ще й інші оператори, то слідом за "оператор2" обов'язково ставиться крапка з комою. Існує ще і скорочена форма умовного оператора.

Tут у випадку, коли "логічне вираження" має значення неправда (FALSE), то нічого не виконується, а здійснюється перехід до наступного (після умовного) оператору. За правилами мови Паскаль після службових слів THEN і ELSE записується по одному операторі. Якщо ж у випадку "то" чи "інакше" потрібно виконати декілька операторів, то замість одного оператора треба використовувати СКЛАДЕНИЙ ОПЕРАТОР, що являє собою ланцюжок будь-яких операторів, обмежених службовими словами BEGIN і END:
begin оператор1; оператор2;...; оператор end;

begin
оператор1;
оператор2;
.........;
оператор N;
end;
Слова BEGIN і END прийнято називати "операторними дужками", а окремі оператори усередині складеного, як звичайно, відокремлюються друг від друга крапкою з коми. Тоді в загальному виді умовний оператор можна записати так:

IF логічне вираження THEN
BEGIN оператор1;.........; оператор;
END
ELSE
BEGIN оператор1;.........; оператор M;
END;
Весь оператор IF із усіма вкладеними складеними операторами вважається одним оператором. Складені оператори можуть містити будь-як кількість операторів - від одного і більш, у тому числі й інших умовних операторах. Кожен END найкраще записувати строго під відповідним йому BEGIN. Після першого складеного оператора перед словом ELSE крапка з коми не ставиться, тому що інакше транслятор сприйме це як закінчення умовного оператора (скорочена форма), а ELSE - як наступний оператор, що самостійно не використовується (виникає помилка).
Якщо після THEN і ELSE використовуються ще умовні оператори, що можуть мати свої THEN і ELSE, то, щоб не виникло плутанини, найкраще строго дотримувати сходової структури і кожен THEN і ELSE писати під своїм IF, чи ж взагалі оформляти внутрішній умовний оператор у виді складеного, тобто обмежувати словами BEGIN і END. Наприклад:

IF логічне вираження THEN
BEGIN
IF логічне вираження THEN
BEGIN оператори
END
ELSE
BEGIN оператори
END
END
ELSE
BEGIN оператори
END;
Уважно розглянете цей приклад, звертаючи увагу на крапку з коми, визначите початок і кінець усіх складених операторів (тут вони вкладені друг у друга, як мотрійки).
А тепер розглянемо рішення простий "класичної" задачі: із трьох чисел, уведених користувачем, визначити максимальне. Алгоритм рішення нескладний, якщо згадати, що комп'ютер відноситься до перемінних як до комірок пам'яті, у які можна щось записати, чи з який можна щось прочитати. Визначимо 4 осередок-перемінні a, b, c, max. Уперші три користувачів уведе свої числа, а 4-ю будемо використовувати як допоміжну. Порівняємо першу пару чисел і більше з них помістимо в max. А потім порівняємо число в max із третім числом, що залишилося, і більше з них знову запишемо в max. Наприкінці виведемо значення з max на екран - воно і буде максимальним.
PROGRAM Maximum;
VAR a,b,c: real; три вихідних числа
max: real; допоміжний осередок
BEGIN
write('Уведіть три числа: ');
readln(a,b,c); уведення чисел
if a > b визначаємо більше з двох
then max:= a
else max:= b;
if max < c якщо третє число ще більше,
then max:= c; те поміщаємо його в max; інакше
writeln('Максимум =',max) у max залишається колишній результат
END.


Дата добавления: 2015-08-10; просмотров: 70 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Договоры в сфере материально-технического обеспечения, производственно-технического обслуживания сельскохозяйственных организаций (предприятий)| Символьний тип даних Char.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)