Принцип утворення пошарового зображення

При виконанні звичайної рентгенограми три компоненти – плівка, об'єкт і рентгенівська
трубка – залишаються у спокої. Томографічний ефект можна отримати при таких комбінаціях:

1. Нерухомий об'єкт, рухоме джерело (рентгенівська трубка) і приймач (рентгенографічна плівка, селенова пластина, кристалічний детектор і т.п.) випромінювання;

2. Нерухоме джерело випромінювання, рухомий об'єкт і приймач випромінювання;

3. Нерухомий приймач випромінювання, рухомий об'єкт і джерело випромінювання. Найбільше поширені томографи з синхронним переміщенням трубки і плівки в протилежних напрямах при нерухомому об'єкті дослідження. Рентгенівський випромінювач і касетотримач з приймачем випромінювання (рентгенівська плівка, селенова пластина) з'єднують жорстко за допомогою металевого перемикача. Вісь обертання важеля (переміщення трубки і плівки) знаходиться над рівнем столу і її можна довільно переміщати.

Як показано на рис. 1.12, при переміщенні трубки з положення F1 в положення F2, проекція точки О, яка відповідає осі обертання важеля, постійно знаходитиметься в одному і тому ж місці плівки. Проекція точки О нерухома відносно плівки і, отже, її зображення буде чітким. Проекції точок 01 і 02, які знаходяться поза шаром, з переміщенням трубки і плівки змінюють своє положення на плівці і, отже, їх зображення буде нечітким, розмитим. Доведено, що геометричним місцем точок, проекції яких при русі системи нерухомі відносно плівки, є площина, паралельна площині плівки і яка проходить через вісь закінчення системи. На томограмі, таким чином, будуть чіткими зображення всіх точок, що знаходяться в площині на рівні осі обертання системи, тобто в томографічному шарі, що виділяється.

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

Рисунок 1.12 – Принцип утворення пошарового зображення

F0, F1, F2 – нульове, початкове і кінцеве положення фокусу рентгенівської трубки;
j -1/2 кута повороту трубки; S – поверхня столу; Т – об'єкт дослідження; О – точка шару, що виділяється; 01, 02 – точки, що знаходяться вище і нижче шару; 0' , 0" – проекції точки О на плівці при початковому і кінцевому положенні фокуса рентгенівської трубки; 01', 01" – проекції точки 01 на плівці при тих же положеннях фокусу трубки; 02', 02" – проекції точки 02 при тих же положеннях фокуса трубки; 0"' – проекції всіх точок на плівці при нульовому положенні рентгенівської трубки.

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

За кут повороту (коливання) трубки 2j у таких томографах приймають кут її повороту з одного крайнього положення в інше; переміщення трубки від нульового положення дорівнює j.

У томографах з нелінійним розмиванням переміщення системи трубка - плівка відбувається по криволінійних траєкторіях – колу, еліпсу, гіпоциклоїді, спіралі. При цьому відношення відстаней фокус трубки – центр обертання і центр обертання – плівки зберігається постійним. І в цих випадках доведено, що геометричним місцем точок, проекції яких при русі системи нерухомі відносно плівки, є площина, паралельна площині плівки і яка проходить через вісь коливання системи. Розмивання зображення точок об'єкта, які лежать поза площиною, що виділяється, відбувається по відповідних кривих траєкторіях руху системи. Розмиття зображення повторюють на плівці траєкторію переміщення фокуса рентгенівської трубки.

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

Вказаного недоліку позбавлена аксіальна комп'ютерна рентгенівська томографія. Це пояснюється тим, що строго колімований пучок рентгенівського випромінювання проходить тільки через ту площину, яка цікавить лікаря. При цьому реєстрація розсіяного випромінювання зведена до мінімуму, що значно покращує візуалізацію тканин, особливо мало-контрастних. Зниження реєстрації розсіяного випромінювання при комп'ютерній томографії здійснюється коліматорами, один з яких розташований на виході рентгенівського пучка з трубки, інший — перед збіркою детекторів.

Відомо, що при однаковій енергії рентгенівського випромінювання матеріал з більшою відносною молекулярною масою поглинатиме рентгенівське випромінювання більшою мірою, ніж речовина з меншою відносною молекулярною масою. Подібне ослаблення рентгенівського пучка може бути легко зафіксоване. Проте на практиці ми маємо справу з абсолютно неоднорідним об'єктом – тілом людини. Тому часто трапляється, що детектори фіксують декілька рентгенівських пучків однакової інтенсивності в той час, як вони пройшли через абсолютно різні середовища. Це спостерігається, наприклад, при проходженні через однорідний об'єкт достатньої довжини і неоднорідний об'єкт з такою ж сумарною щільністю.

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

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

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

У комп'ютерних томографах застосовуються матриці первинного зображення 256×256, 320×320, 512×512 і 1024×1024 елементи. Якість зображення зростає при збільшенні числа детекторів, збільшенні кількості реєстрованих проекцій за один оберт трубки і при збільшенні первинної матриці. Збільшення кількості проекцій, які реєструються, веде до підвищення променевого навантаження, застосування більшої первинної матриці – до збільшення часу обробки зрізу або необхідності встановлювати додаткові спеціальні процесори відеозображення [2, С. 10 - 13].

 

48 Охарактеризуйте та наведіть приклад застосування наступних символів при програмуванні на C++: ‘\n’, ‘\t’, ‘\r’.

\r это символ возврата каретки, переводит курсор в начало строки, то же самое, что и \x0D, символ с кодом 0x0D (13)
\n это символ перевода строки, переводит курсор в начало следующей строки, то же самое, что и \x0A, символ с кодом 0x0A (10)
\t табуляция, код 0x09 (9)
\0 конец строки, код 0x00 (0

остальные символы тоже можно впечатать используя их коды \x00 - \x1f, но они мало где применяются в веб.
С помощью \x можно впечатать в текст практически любой символ, даже тот, что невозможно набрать с клавиатуры

 

49.Рентгенівська комп’ютерна томографія

Рентгенівська комп’ютерна томографія (КТ)- методика пошарового рентгенологічного дослідження органів і тканин із застосуванням комп'ютерної обробки множинних рентгенівських зображень, виконаних під різними кутами, з подальшою реконструкцію зображення і визначенням щільності будь-якої ділянки цих тканин.

Перші КТ були спроектовані тільки для дослідження голови, однак незабаром з'явилися і сканери для всього тіла. У теперішній час КТ можна використати для візуалізації будь-якої частини тіла.

На сучасних апаратах четвертої та п'ятої ґенерацій, які комплектовані не одним, а багатьма рентгенівськими випромінювачами (до 200), використовується дуже потужний процесор з великою швидкістю обробки інформації - до 10 мільйонів операцій за секунду. У результаті час сканування скоротився до 40-50 мілісекунд. З'явилася можливість отримувати на екрані телемонітора скорочення окремих поперечних шарів серця товщиною 1-2 міліметра.

 

65.Умовна операція

Оператор (англ. operator) - це спеціальний символ, який повідомляє транслятору про те, що ви хочете виконати операцію з деякими операндами (наприклад, +,-,%, <<). Зазвичай, мови програмування визначають набір опера́торів, подібних до операторів в математиці: в певному сенсі, оператори є спеціальними функціями. Окрім арифметичних дій, оператори в мовах програмування можуть виконувати операції на логічних значеннях, операції з рядками. Оператори порівняння можуть використовуватись для перевірки рівності двох значень. На відміну від функцій, оператори є базовими діями мови програмування, їх назва коротша, та, як правило, складається із спеціальних символів.

Інколи під оператором розуміють операцію. Хоча правильніше, що оператор вказує на те, яку операцію потрібно здійснити. Також часто у вітчизняній літературі операторами називають окремі види інструкцій (англ. statement), як то цикли та умовні інструкції. Дана плутанина виникла в українській та російській літературі через хибний переклад частиною перекладачів англ. statement (інструкція) як оператор. Цьому також сприяє і відмінність в термінології різних мов програмування, особливо ранніх. Тому в українських та російських джерелах можна зустріти, наприклад, переклад if-statement як інструкція if[1] і як оператор-if[2] (див. детальніше: інструкція (програмування)).

Операції

Операція в програмуванні визначає дію, яка виконується над операндом. В залежності від кількості операндів операції діляться на унарні та бінарні. Існує також тернарний оператор - ?:

Унарні операції містять лише один операнд.

-5 - операція зміни знаку

not false - операція "логічне НЕ"

Бінарні операції містять два операнди:

5 + 3 - операція додавання

5 < 4 - операція відношення

Класифікація операцій

Арифметичні[3]:

Оператор Операція Оператор Операція
+ Додавання += Додаваня з присвоєнням
- віднімання (також унарний мінус) -= Віднімання з присвоєнням
* Множення * = Множення з присвоєнням
/ Ділення /= Ділення з присвоєнням
% Ділення по модулю %= Ділення по модулю з присвоєнням
++ Інкремент (збільшення на 1) -- Декремент (зменшення на 1)

унарні +,-,++,--;

бінарні +,-,*,/,%

Відношення:

<,>,<=,>=,!=,==

Логічні

!, &&, ||

Умовна операція

? :

Розрядні операції:

!,&,|

 

3……Побудуйте структурну схему алгоритму для визначення кислотності середовища при РН-метри, виходячи з наступних критеріїв: РН < 7 - середовище кисле, РН = 7 - середовище нейтральне, РН > 7 - середовище лужне.

 

 

 

4…..Охарактеризуйте та наведіть приклад застосування наступних символів при програмуванні на C: ‘\n’, ‘\t’, ‘\r’.

Символ Описание
\r возврат каретки в начало строки
\n новая строка
\t горизонтальная табуляция

// in_out.cpp: определяет точку входа для консольного приложения.

 

#include "stdafx.h"

#include <iostream>

using namespace std;

 

int main()

{

cout << "\t\tcontrol characters C++"; // две табуляции и печать сообщения

cout << "\rcppstudio.com\n"; // возврат каретки на начало строки и печать сообщения

cout << "\'nformatting\' output with \"escape characters\""; // одинарные и двойные ковычки

cout << "\a\a\a\a\a\a\a\a\a\a\a\a\a\a" <<endl; //звуковой сигнал биппера

system("pause");

return 0;

}

 

5……..Дайте оцінку структурного підходу до вимірювання інформації

Структурний підхід до вимірювання інрмації

Алфавітний підхід до вимірювання інформації оцінює розмір інформації як суму структурних елементів повідомлення. Найчастіше такий підхід застосовується при передачі даних. Це пов'язане з тим, що саме така оцінка дозволяє визначити час передачі повідомлення або необхідні параметри каналу для досягнення визначених його характеристик.

Традиційна і найпростіша міра у рамках такого підходу - геометрична. Одиниця виміру - інформаційний елемент. Міра може бути використана для визначення інформаційної ємності пам'яті комп'ютера. У даному разі в якості інформаційного елементу виступає мінімальна одиниця збереження - біт [10].

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

I = l log h,

де I - кількість інформації, що міститься у повідомленні; l - довжина повідомлення; h - потужність вихідного алфавіту.

При вихідному алфавіті {0,1}; l = 1; h = 2 і основі логарифму 2, маємо:

I = 1*log22 = 1.

Дана формула дає аналітичне визначення біту (BIT - Binary digiT) за Хартлі: це кількість інформації, яка міститься в одній бінарній цифрі. Одиницею виміру в адитивній мірі також є біт [11].

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

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

 

56. Дайте оцінку фасетній системі класифікації об'єктів.

Фасетний метод класифікації – паралельний поділ множини об'єктів на незалежні класифікаційні угруповання.

Фасетний метод класифікації – компенсує недоліки ієрархічного методу класифікації. При цьому методі класифікації початкова множина об'єктів може незалежно поділятися на класифікаційні угруповання з використанням однієї з образних ознак. Кожна ознака фасетної класифікації відповідає фасеті, яка є списком значень цієї класифікації (колір: червоний, зелений; професія: інженер, бухгалтер).

Фасет – набір значень однієї ознаки класифікації. Фасети взаємно незалежні. Кожний об'єкт може одночасно входити в різні класифікаційні угруповання.

Система класифікації може бути подана переліком незалежних фасетів (списків), які містять значення ознак класифікації. Кількість фасетних формул, для яких можуть бути утворені ієрархічні класифікації, визначається можливим поєднанням. Фасетна класифікація не передбачає жорсткого ділення інформації в певній послідовності, а дозволяє вільно витягувати зі всієї сукупності відомості, які потрібні в результаті запиту. Якщо, наприклад, ієрархічну класифікацію можна порівняти з різнорозмірними ящиками, де кожен менший вкладений в кожен більший, то фасетну можна порівняти з серією різнорозмірних кубиків, вибір яких обумовлений не порядком, в якому вони укладені один в одного, а бажанням того, що вибирає. Організація багатьох систем аналітичних рахунків до одного синтетичного дозволяє істотно збільшити об'єм отримуваної інформації. Фасетна класифікація ( на відміну від ієрархічної) дозволяє будувати класи шляхом вживання будь-якого поєднання характерних ознак. В рамках такої класифікації допустиме пересічення окремих класифікаційних елементів. Фасетна класифікація дозволяє будувати угрупування по довільному поєднанню ознак, даючи при цьому можливість пропускати і не використовувати будь-які з них. Зміна фасетної формули і значень окремих фасет не представляє скрути. Як і при ієрархічній класифікації набір ознак, що виділяється, у фасетах визначається потребами з боку вирішуваних функціональних завдань АСОВІ і не є самоціллю класифікації. У основі фасетної класифікації лежить фасетний аналіз: аналізується набір характерних ознак об'єкту класифікації і виявляються основні категорії властивостей предметів. Фасетна класифікація ( на відміну від ієрархічної) дозволяє будувати класи шляхом вживання будь-якого поєднання характерних ознак. В рамках такої класифікації допустиме пересічення окремих класифікаційних елементів. Головне призначення такої класифікації - формулювання і обгрунтування класифікаційних ознак і подальше їх об'єднання в єдину систему класифікації. Послідовність побудови фасетної класифікації практично така ж, як при побудові ієрархічною, тобто визначається безліч об'єктів, виділяються основні ознаки і групи ознак цієї безлічі і вибирається порядок дотримання груп ознак ( фасетів) і ознак-характеристик.У ряді випадків фасетна класифікація вимагає ідентифікації кожного елементу такою, що класифікується безліч великого числа фасетів. Тоді застосовую роздільну ідентифікацію і класифікацію об'єкті шляхом введення ідентифікаційних і класифікаційних код. Класифікаційна частина коди, в якій кодуються класифікаційні ознаки, будується за допомогою фасетної формули. Таке блокове кодування об'єктів зручне при організації в АСОВІ інформаційних масивів, що є наборами записів про ці об'єкти.

55.57 Разом……

Охарактеризуйте та наведіть приклад застосування логічних операцій при програмуванні на С++: |, ^,||, &&.

Логічні операції або як ще називають булеві оператори:

Булеві логічні оператори застосовуються для операндів типу boolean, результатом є булева величина

Оператор Опис
& Логічне І (AND)
| Логічне АБО (OR)
^ Логічне виняткове АБО (XOR)
|| Коротке АБО
&& Коротке І
! Логічне одиничне НІ (NOT)

Оператори булевої логіки &,|,^ оперують над булевими значеннями подібно до того як аналогічні порозрядні оператори над бітами.

Наступна программа демонструє використання логічних булевих операторів.

class BoolLogic {public static void main(String args[]) { boolean a = true; boolean b = false; boolean c = a | b; boolean d = a & b; boolean e = a ^ b; boolean f = (!a & b) | (a & !b); boolean g = !a; System.out.println(" a = " + a); System.out.println(" b = " + b); System.out.println(" a|b = " + c); System.out.println(" a&b = " + d); System.out.println(" a^b = " + e); System.out.println("!a&b|a&!b = " + f); System.out.println(" !a = " + g); }}

Результат:

a = true b = false a|b = true a&b = false a^b = true!a&b|a&!b = true !a = false

Два короткі оператори АБО(||) та І(&&) дозволяють здійснити перевірку першої частини і якщо вона не вірна (false), то друга частина виразу не буде розглядатися. Такі оператори мають сенс в певних ситуаціях. Наприклад:

int r=50, k=4; if (k!=0&&r/k>10) System.out.println("r поділено на k"); // якщо k не нуль, то буде здійснене ділення і порівняно з 10

 

19. Інформацíйна систéма— сукупність організаційних і технічних засобів для збереження та обробки інформації з метою забезпечення інформаційних потреб користувачів.

Етапи створення інформаційних систем

Можна виділити такі етапи створення і функціонування (життєвого циклу)ІС:

Рис.17.1. Схема етапів розробки ІС

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

В процесі розробки інформаційного забезпечення визначається:

o склад інформації (перелік інформаційних одиниць, необхідних для розв'язання комплексу задач);

o структуру інформації та закономірності її перетворення, тобто правила формування показників і документів;

o характеристики руху інформації (обсяг та інтенсивність потоків, маршрути руху, часові характеристики);

o характеристики якості інформації (систему кількісних оцінок значущості, повноти, своєчасності, вірогідності інформації);

o способи перетворення інформації;

o уніфіковану систему первинної документації;

o масиви інформації, що використовуються для розв'язання задач управління;

o методичні й інструктивні матеріали для ведення документів.

На другому етапі формується технічне завдання, яке є підставою для розробки інформаційної системи і приймання її в експлуатацію. Воно визначає основні вимоги до самої системи та процесу її розробки і розробляється для системи в цілому. Додатково можуть розроблятись технічні завдання на окремі частини ІС.

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

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

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

На п'ятому етапі проводиться перевірка програмного забезпечення на предмет відповідності вимогам, вказаним в технічному завданні. Дослідна експлуатація (тестування) дозволяє виявити недоліки, які можуть появитись при експлуатації системи.

Шостий етап організовується на підставі гарантійних зобов'язань розробника. У цей період здійснюється сервісне обслуговування системи, усуваються недоліки, які можуть бути виявлені при експлуатації, і завершуються роботи по даному проекту.

 

53.

Операція Символ Приклад
Побітове AND (логічне І) &  
NOT (логічне НЕ) ! ! вираз
     
     

Результатом операції AND (&) (логічне І) для двох бітів буде одиниця, якщо обидва біти дорівнюють одиниці, або нулю, якщо хоча б один з них дорівнює нулю

операнд 1: 0 1 0 1

& операнд 2: 0 0 1 1

результат в операнді 1: 0 1 1 1

 

 

54.

Ієрархічна система класифікації — це система, у якій поділ множини об’єктів на підмножини виконується послідовно згідно із заданими ознаками. Первинна множина об’єктів спочатку поділяється на підмножини, утворені за однією ознакою, котра може набувати різних значень. Далі кожна здобута підмножина поділяється на групи за значеннями наступної ознаки. Ці групи у свою чергу поділяються на підгрупи за наступними ознаками і т. д. Між виділеними групами об’єктів встановлюється певна ієрархія. При цьому кожна підмножина належить лише одній вищій множині. Ієрархічна система класифікації характеризується глибиною, тобто кількістю ступенів поділу первинної множини, або, що те саме, кількістю заданих ознак класифікації. Ієрархічній системі класифікації притаманні простота, наочність, логічність побудови, добра пристосованість до ручного оброблення. Вадами такої системи є жорсткість структури через фіксованість ознак і порядку їх розміщення, складність включення нових ознак, необхідність великого резерву місткості.

 

Цикли while()

Як уже зазначалося у попередньому уроці, порядок виконання операторів у скрипті – послідовний, починаючи з першого і до останнього. Однак у більшості випадків є потреба виконувати деяку частину коду більше одного разу, можливо, з дещо зміненими параметрами. Для таких цілей використовують цикли while() та for(). Розглянемо спочатку цикл while() як більш простий та загальний. Схема виконання циклу проста:

while(умова) оператор;

Оператор після while (цей оператор називають тілом циклу) виконується до тих пір, доки умова у дужках має значення true. Звісно, що оператор має забеспечити умову припинення циклу для того, щоб цикл не виконувався нескінченне число разів (звичайно, якщо це не робиться навмисне). Наприклад

<?

$i = 0;

while($i < 10) $i++;

echo $i; ?>

Цей цикл виконається рівно 10 разів (ці рази називають кроками циклу) – на кожному разі до змінної $i буде додаватися одиниця, і як тільки $i стане не менше 10, умова $i < 10 стане дорівнювати false, станеться вихід з циклу та виконається наступний оператор після while(), тобто надрукується значення змінної $i. Можна подивитися докладніше, як це відбувається:

<?

$i = 0;

while($i < 10){ $i++;

echo "i = $i<br />\n";

}

?>

Тут значення змінної $i буде виводитися на кожному кроці циклу, і ми побачимо послідовно надруковані числа від 1 до 10.

До умови у дужках після while, звісно, можна застосовувати усі ті прийоми з логічними операціями, що ми розглядали на попередньому уроці.

Цикл while має дві форми. Описана вище є найбільш розповсюдженою та використовується майже завжди. Однак у неї є особливість – умова припинення виконання циклу має бути записана зразу після while, тобто вона має бути вже відома до початку виконання, і більше того – якщо ця умова несправедлива, то цикл не виконається жодного разу. На відміну від цієї форми можна використовувати іншу:

do оператор while(умова);

Цей цикл перевіряє справедливість умови не до, а після виконання тіла циклу. Тобто тіло циклу виконається один раз у будь-якому випадку, навіть якщо умова у дужках несправедлива. Приклад застосування обох циклів:

<?

$i = 20; while($i < 10){

$i++;

echo "i = $i<br />\n";

} $i = 20; do{

$i++;

echo "i = $i<br />\n";

} while($i < 10);

?>

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

Іншими корисними засобами роботи з циклами є оператори break та continue. Перший з них дозволяє достроково перервати роботу циклу у будь-якій його частині, не виконуючи всі оператори після break; робота continue прямо протилежна – він дозволяє продовжити виконання циклу. Тобто break робить поточним оператором, що виконується, перший оператор після циклу, а continue – перший оператор у тілі циклу (звичайно, що при цьому перевіряється умова циклу). Приклад використання break:

<?

$str = "Що б таке зробити коли нема роботи";

$word = "коли";

$index = 0; while($index < strlen($str) - 3){

if(substr($str, $index, 4) == $word) break; $index++;

}

if($index == strlen($str) - 3) echo "Слова '$word' не знайдено у рядку '$str'";

else

echo "Слово '$word' у рядку '$str' починається після позиції $index"; ?>

Розберемо цей приклад, і тим часом дізнаємося про пару нових корисних функцій для роботи з рядками тексту.

Цей приклад шукає перше входження слова $word до рядку $str. Звичайно, для цієї задачі є стандартна функція strpos(), проте ми маємо ціль лише проілюструвати роботу break. У змінній $index знаходиться позиція у рядку $str, у якій ми перевіряємо наявність слова, і ми за допомогою циклу послідовно збільшуємо $index від 0 (початок рядка) до кінця рядка. Насправді немає необхідності продивлятися весь рядок, а достатньо продивитися стільки символів, скільки є у рядку мінус стільки символів, скільки є у слові, що шукається (4), та ще один. Щоб це було більш зрозумілим, наведу приклад: якщо ми шукаємо слово з десяти букв у рядку з двадцяти, то після одинадцятої букви шукати немає потреби – ми не знайдемо там слова вже просто тому, що воно не підійде за довжиною.

Кількість символів у рядку $str повертає функція strlen($str). Ідемо далі. Так само немає необхідності проглядати увесь рядок, якщо ми знайшли слово десь у його середині. Для цього ми у разі якщо знаходимо слово на позиції $index, то перериваємо цикл оператором break. Функція substr($str, $index, 4) повертає рядок, що знаходиться у рядку $str починаючи з символу $index та довжиною у 4 символи. Так, якщо там буде те слово, що ми шукаємо ($word), то умова у if() буде справедливою та цикл перерветься оператором break.

Після того, як цикл закінчився, ми перевіряємо як саме він закінчився. Могло бути два варіанти – або цикл закінчився, бо ми дійшли до кінця рядка, або ні. Перший варіант означає, що ми не знайшли слово, другий – що знайшли. Перший варіант ми розпізнаємо за умовою $index == strlen($str) – 3, тобто $index дорівнює кількості символів у рядку мінус три. Другий – протилежний випадок, тобто $index менше цього числа. У другому випадку ми можемо сказати, з якого символа починається наше слово. У першому ми можемо лише сказати, що такого слова не знайдено.

Якщо це зрозуміло, розберемо ще один приклад, на цей раз – на використання continue.

<? $numbers = array();

while(count($numbers) < 10){

$random = rand(1, 100); if( $random % 3 ) continue;

if( in_array($random, $numbers) ) continue;

echo "$random<br />\n"; $numbers[] = $random;

}

?>

Цей скрипт друкує 10 випадкових чисел у диапазоні від 1 до 100, причому кожне з цих чисел має ділитися на 3 і жодне з них не повторюється.

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

На початку скрипта ми створюємо пустий масив $numbers = array(). Далі йде цикл, умовою виходу з якого є заповнення масиву 10-ма елементами (функція count(), що повертає кількість елементів у масиві, поверне 10).

На кожному кроці циклу ми генеруємо випадкове число $random. Після чого ми перевіряємо, чи ділиться це число на 3 – якщо ділиться, то залишок від ділення його на 3 буде дорівнювати 0, а якщо ні, то умова if( $random % 3 ) спрацює, спрацює оператор continue і цикл повториться спочатку, тобто буде згенероване нове число і так далі. Далі ми перевіряємо, чи не виводили ми вже це число, для цього ми шукаємо його у масиві $numbers. Якщо число знайдене у цьому масиві, то функція in_array($random, $numbers) поверне true і знов-таки спрацює continue. У іншому випадку (число не знайдене у масиві та in_array($random, $numbers) поверне false) ми виводимо число та додаємо його до масиву $numbers ($numbers[] = $random).

Короткі висновки уроку:

1. Цикли використовуються для повторення деякої частини коду декілька разів

2. Оператори, що повторюються, називаються тілом циклу, а повторення – кроками циклу

3. Цикл while() виконується до тих пір, доки справедлива умова у дужках

4. Цикл do .. while() виконується принаймні один раз, тоді як просто while() може не виконатися жодного разу

5. Оператор break виконує вихід з циклу, оператор continue – продовження виконання циклу

76.

Інформаційні ресурси

Інформаційні ресурси – це ідеї людства та вказівки по їх реалізації. Це – книги, статті, різноманітна документація, інструкції тощо.

Носії інформації

Це середовище або фізичне тіло для передачі, зберігання і відтворення інформації: електричні, світлові, теплові, звукові, радіо сигнали, магнітні й лазерні диски, друковані видання, фотографії тощо.

Інформаційні процеси

Це процеси, які пов'язані з отриманням, зберіганням, обробкою та передачею інформації, в ході яких змінюється зміст інформації або форма її подання.

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

Джерело інформації
Приймач інформації
Канал інформації

Рис. 1.1. Основні об’єкти інформаційного процесу

Отже, інформаційний процес – це сукупність відомостей, які сприймають з навколишнього середовища (вхідна інформація), обробляються і/або зберігаються всередині певної системи (внутрішня інформація) та видаються до навколишнього середовища (вихідна інформація).

Інформаційна система

Інформаційна система – це взаємозв’язана сукупність засобів, методів і персоналу, що використовується для збереження, обробки та видачі інформації з метою вирішення конкретного завдання.

Основною ланкою інформаційної системи є комп’ютер або ЕОМ (Електронна Обчислювальна Машина).

Дані

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

Основні операції над даними

· Збір даних.Накопичення інформації з метою забезпечення достатньої повноти для прийняття рішень.

· Формалізація даних. Приведення даних, що надходять з різних джерел, до однакової форми, щоб зробити їх сумірними і підвищити рівень доступності.

· Фільтрація даних. Відсіювання «зайвих» даних, які не є важливими для прийняття рішень. Після фільтрації достовірність і адекватність даних повинні зростати.

· Сортування даних. Впорядкування даних за заданою ознакою з метою зручності використання та підвищення доступності інформації.

· Архівація даних. Організація збереження даних в зручній та легкодоступній формі. Це потрібно для зниження економічних витрат на зберігання даних і підвищує загальну надійність інформаційного процесу в цілому.

· Захист даних. Комплекс заходів, що скеровані на запобігання втрат, відтворення та модифікації даних.

· Транспортування даних. Прийом та передача даних між віддаленими учасниками інформаційного процесу.

· Перетворення даних. Переведення даних з однієї форми в іншу або з однієї структури в іншу.

Робота з інформацією є доволі місткою, тому її прагнуть автоматизувати.

70.Одиниці виміру інформації служать для вимірювання об'єму інформації - величини, що обчислюється логарифмічно. [1] Це означає, що коли кілька об'єктів розглядаються як один, кількість можливих станів перемножується, а кількість інформації - складається. Не важливо, йде мова про випадкових величинах в математиці, регістрах цифрової пам'яті в техніці або в квантових системах у фізиці.

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

 

1. Первинні одиниці

Порівняння різних одиниць виміру інформації. Дискретні величини представлені прямокутниками, одиниця "нат" - горизонтальним рівнем. Риски зліва - логарифми натуральних чисел.

Обсяг інформації можна представляти як логарифм [2] кількості можливих станів.

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

Одиниця, що відповідає числу 3 ( Тріт) дорівнює log 3 лютого ≈ 1,585 біта, числу 10 (Хартлі) - log 10 лютого ≈ 3.322 бита.

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


У дротовий техніці зв'язку (телеграф і телефон) і радіо історично вперше одиниця інформації одержала позначення бод.

2. Одиниці, похідні від біта

Цілі кількості біт відповідають кількості станів, рівному ступенями двійки.

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

Байт

Вимірювання в байтах
ГОСТ 8.417-2002 Приставки СІ приставки МЕК
Назва Символ Ступінь Назва Ступінь Назва Символ Ступінь
байт Б 2 0 - 10 0 байт B Б 2 0
кілобайт 10 лютого кіло- 10 березня кібібайт KiB КІБ 10 лютого
мегабайт МБ 20 лютого мега- 10 Червень мебібайт MiB МІБ 20 лютого
гігабайт ГБ 30 лютого гіга- 10 вересня гібібайт GiB ГіБ 30 лютого
терабайт ТБ 2 40 тера- 10 грудня тебібайт TiB Тиб 2 40
петабайт ? 2 50 пета- 15 жовтня пебібайт PiB ? 2 50
ексабайт ? 2 60 екса- 18 жовтня ексбібайт EiB ? 2 60
зеттабайт ? 2 70 Зетта- 21 жовтня зебібайт ZiB ? 2 70
йоттабайт ? 2 80 йотта- 24 жовтня йобібайт YiB ? 2 80

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

Такі величини як машинне слово і т. п., складові кілька байт, як одиниці вимірювання майже ніколи не використовуються.

2.2. Кілобайт

Для вимірювання великих кількостей байтів служать одиниці "кілобайт" = [1024] байт і "Кбайт" [3] (кібібайт, kibibyte) = 1024 байт (про плутанину десяткових і двійкових одиниць і термінів див. нижче). Такий порядок величин мають, наприклад:

· Сектор диска зазвичай дорівнює 512 байтам тобто половині кілобайти, хоча для деяких пристроїв може дорівнювати одному або двом кібібайт.

· Класичний розмір "блоку" у файлових системах UNIX дорівнює одному Кбайт (1024 байт).

· "Сторінка пам'яті" в процесорах x86 (починаючи з моделі Intel 80386) має розмір 4096 байт, тобто 4 Кбайт.

Обсяг інформації, що отримується при зчитуванні дискети "3,5" високої щільності "дорівнює 1440 Кбайт (рівно), інші формати також обчислюються цілим числом Кбайт.

Мегабайт

Одиниці "мегабайт" = 1024 кілобайт = [1048576] байт і "Мбайт" [3] (мебібайт, mebibyte) = 1024 Кбайт = 1048576 байт застосовуються для вимірювання обсягів носіїв інформації.

Обсяг адресного простору процесора Intel 8086 був дорівнює 1 Мбайт.

Оперативну пам'ять і ємність CD-ROM міряють двійковими одиницями (мебібайтамі, хоча їх так зазвичай не називають), але для обсягу НЖМД десяткові мегабайти були більш популярні.

Сучасні жорсткі диски мають обсяги, висловлені в цих одиницях мінімум шестизначними числами, тому для них застосовуються гігабайти.

2.4. Гігабайт

Одиниці "гігабайт" = 1024 мегабайт = [1048576] кілобайт = [1073741824] байт і "Гбайт" [3] (гібібайт, gibibyte) = 1024 Мбайт = 2 30 байт вимірюють обсяг великих носіїв інформації, наприклад жорстких дисків. Різниця між двійкової та десяткової одиницями вже перевищує 7%.

Розмір 32-бітного адресного простору дорівнює 4 Гбайт ≈ 4,295 Мбайт. Такий же порядок мають розмір DVD-ROM і сучасних носіїв на флеш-пам'яті. Розміри жорстких дисків вже сягають сотень і тисяч гігабайт.

Для обчислення ще більших обсягів інформації є одиниці терабайт і тебібайт (10 12 і 2 40 байт відповідно), петабайт і пебібайт (10 15 і 2 50 байт відповідно) і т. д.

3. Що таке "байт"?

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

В таких позначеннях як байт (російське) або B (англійське) під байт (B) мається на увазі саме 8 біт, хоча сам термін "байт" не цілком коректний з точки зору теорії.

Під французькою мовою використовуються позначення o, Ko, Mo і т. д. (від слова octet) щоб підкреслити, що мова йде саме про 8 бітах.

4. Чому дорівнює "кіло"?

Довгий час різниці між множниками 1000 і 1024 намагалися не надавати великого значення. Щоб уникнути непорозумінь слід чітко розуміти різницю між:

· двійковими кратними одиницями, що позначаються згідно ГОСТ 8.417-2002 як "Кбайт", "Мбайт", "Гбайт" і т. д. (два в ступені кратних десяти);

· одиницями кілобайт, мегабайт, гігабайт і т. д., що розуміються як наукові терміни (десять у ступенях, кратних трьом),

ці одиниці за визначенням рівні, відповідно, 10 3, 10 6, 10 9 байт і т. д.

Як термінів для "Кбайт", "Мбайт", "Гбайт" і т. д. МЕК пропонує "кібібайт", "мебібайт", "гібібайт" і т. д., однак ці терміни критикуються за невимовну і не зустрічаються в усному мовленні.

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

В англійською мовою для "кібі" = 1024 іноді використовують велику букву K, щоб підкреслити відмінність від позначають малими літерами приставки СІ кіло. Однак, таке позначення не спирається на авторитетний стандарт, на відміну від російського ГОСТу відносно "Кбайт".

 

40. До факторів як позитивного, так і негативного впливу на про-, цес прийняття медичних рішень відносять особисті оцінки лікаря, середовище прийняття рішень, інформаційні обмеження, негативні наслідки, взаємозалежність рішень, тощо.

Особисті оцінки лікаря - це суб' єктивна оцінка стосовно ко-. рисності, шкідливості, наслідків та інше. Середовище прийняття рі-. шень - це обставини, при яких приймається рішення. Це може бути при обставинах визначеності, невизначеності або ризику. Інформа-. ційні обмеження - це недоступність або дорожнеча інформації. Об-, меження у поведінці - це перешкоди за рахунок можливих негатив-, них наслідків у процесі прийняття рішень. Негативні наслідки - це компроміси при прийнятті рішень, коли знають наперед про мож-. ливість як позитивного, так і негативного результату лікування, за-, стосування того або іншого медичного препарату. Взаємозалежність рішень - це взаємозв'язок головного рішення з другорядним, взаємовплив медичних препаратів, методів лікування, різних хвороб.

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

Для організації впровадження рішень лікареві необхідно знати стан хворого, специфіку захворювання, потреби і наявність матері-, альних засобів, методи виконання цілей тощо.

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

41. Два короткі оператори АБО(||) та І(&&) дозволяють здійснити перевірку першої частини і якщо вона не вірна (false), то друга частина виразу не буде розглядатися. Такі оператори мають сенс в певних ситуаціях. Наприклад:

int r=50, k=4;

if (k!=0&&r/k>10) System.out.println("r поділено на k"); // якщо k не нуль, то буде здійснене ділення і порівняно з 10

42. Діагностичні технології можна класифікувати так, як це показано на рис. 5.

В основі традиційної діагностичної технології лежать складні процеси осмислення і зіставлення лікарем великої кількості фактів. Для розпізнавання захворювання потрібне вміння підсумовувати отримані при обстеженні хворого дані, згруповувати їх за спільністю причин, визначати їхній взаємний зв'язок і на основі всього цього зробити той висновок, що й називається діагнозом. Результати тра-. диційного діагностичного процесу тією чи іншою мірою залежать від багатьох особистих якостей лікаря: рівня його знань, стану нервової системи в момент постановки діагнозу, накопиченого досвіду в даній клінічній галузі і багатьох інших факторів.

 

Таким чином, існують об'єктивні і суб'єктивні причини використання діагностичних технологій, основаних на математичних методах. Це різко підвищує ефективність використання діагностичної інформації, внаслідок чого можна раніше і точніше поставити діагноз, а також прогнозувати перебіг захворювань і їхніх ускладнень.

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

Машинні технології 1-го покоління основані на певних методах подання медичних даних. Термін "1 -е покоління" не означає, що такі технології не можна використовувати в сучасних діагностичних сис-. темах.

У методах логічного базису (див. попередню тему) враховують лише симптоми, що завжди є або їх завжди немає при кожному з діагностованих захворювань. Наявність симптому позначають як 1, якщо його немає - 0. Розглядають різні комбінації симптомів для да-. ного діагнозу. Далі складають матрицю "симптоми - хвороби". Діа-. гноз ставлять методом вилучення зі списку захворювань, комплекс яких не збігається з комплексом ознак певного хворого. Недолік діа-. гностичних систем, побудованих на основі такої моделі, полягає в роботі за жорсткою програмою. Логіка таких програм називається детерміністською і не дає можливості в багатьох випадках поставити достовірний діагноз, оскільки немає повного збігу заданих ознак з ознаками, що характеризують дане захворювання.

Значно ширше використовують діагностичні технології, основа-, ні на ймовірнісних моделях, найчастіше з застосуванням формули Байєса. Основи ймовірнісної діагностики і прогнозування захворю-. вань буде розглянуто нижче.

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

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

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

 

58.

Суть дескрипторного метода классификации заключается в следующем:

отбирается совокупность ключевых слов или словосочетаний, описывающих определенную предметную область или совокупность однородных объектов. Причем среди ключевых слов могут находиться синонимы;

выбранные ключевые слова и словосочетания подвергаются нормализации, т.е. из совокупности синонимов выбирается один или несколько наиболее употребимых;

создается словарь дескрипторов, т.е. словарь ключевых слов и словосочетаний, отобранных в результате процедуры нормализации.

Между дескрипторами устанавливаются связи, которые позволяют расширить область поиска информации. Связи могут быть трех видов:

 

-синонимические указывающие некоторую совокупность ключевых слов как синонимы;

 

-родо-видовые, отражающие включение некоторого класса объектов в более представительный класс;

 

-ассоциативные, соединяющие дескрипторы, обладающие общими свойствами.

 

59.

операции инкремента и декремента (или увеличения и уменьшения). Операторы этих операций выглядят соответственно так: ++ и — . Что же они делают? При операции увеличения значение операнда увеличивается на 1, а при операции уменьшения - уменьшается на 1.

Допустим, есть переменная х. Мы хотим применить к ней операцию инкремента. Возможно, учитывая наши прошлые знания и полученные сегодня в начале урока, мы бы написали так:

х=х+1 или х+=1.

Но если вы точно уверены, что переменная ваша будет изменяться в большую или меньшую сторону только на 1, лучше будет использовать инкремент или декремент соответственно. И выглядеть это будет так:

 

х++ или х—

 

Операнд может быть целого или плавающего типа. В любом случае он будет увеличиваться (уменьшаться) на единицу. Тип результата соответствует типу операнда. Cуществует две формы рассматриваемых операций: префиксная и постфиксная. Если операторы ++ или — записаны после переменной (так, как написано выше) - это постфиксная форма. При этом последовательно происходят следующие действия:

старое значение переменной сохраняется для использования в дальнейшем выражении, в котором встретилась эта переменная;

и только ПОСЛЕ этого ее значение СРАЗУ ЖЕ изменяется на 1.

Если эти операторы записаны перед переменной, вот так:

++х или —х,

то это префиксная форма. При этом последовательность действий такая:

СНАЧАЛА переменная изменяется на 1;

и только после этого используется в выражении.

 

На примере будет понятнее. Рассмотрим его:

int t=1, z;

z=(t++)*5;

В начале происходит умножение t*5, а затем увеличение t. В результате получится z=5, t=2.

int s=2, f;

f=(++s)/3;

В начале значение s увеличивается, а затем используется в операции деления. В результате получим s=3, f=1.

Обратите внимание!

Когда инкремент или декремент выполняются как совершенно отдельный от других выражений оператор, то префиксная и постфиксная форма приводят к одинаковому результату, то есть, при таком использовании нет никакой разницы, где мы пишем оператор.

Нельзя использовать в операции инкремента или декремента сложный операнд, представляющий собой выражение. Можно только простую переменную. Написать ++(у-1) будет ошибкой.