- •Куперштейн л.М.
- •Та інтелектуальних систем
- •Рецензент: к.Т.Н., доцент Ревенок в.І.
- •Тема 1. Програмне забезпечення системного оброблення інформації
- •1.2 Системне програмування
- •1.3 Поняття мови програмування та їх історичний розвиток
- •1.4 Етапи підготовки програми
- •1.5. Поняття операційної системи
- •Тема 2. Засоби створення програмних додатків
- •2.1. Класифікація засобів розробки додатків
- •2.2. Класифікація додатків, що використовують бази даних
- •Тема 3: Структурована мова запитів sql
- •3.1. Компоненти скбд
- •3.2. Основні поняття sql
- •3.3. Типи даних sql
- •Символьні дані
- •Точні числа
- •Закруглені числа
- •Дата і час
- •3.4 Базові команди sql
- •Розділ group by
- •Розділ having
- •4.2. Перенесення додатку на інший комп'ютер.
- •5.3. Сталі та змінні.
- •5.4.Типи даних
- •5.5. Представлення значень у комп’ютері.
- •6.1.Арифметичні операції над даними
- •6.3.Команда присвоєння, суміщена з арифметичною операцією. Математичні функції
- •7.1. Умовні оператори Оператор if
- •7.3. Оператори вибору Оператор switch
- •Оператор break
- •Оператор continue
- •Оператор повернення
- •Оператор goto
- •Помічений оператор
- •Порожній оператор
- •Тема 9. Вступ до проблеми штучного інтелекту
- •9.1. Поняття та проблеми штучного інтелекту
- •Проблеми штучного інтелекту
- •9.2. Представлення знань
- •9.3. Рішення задач
- •9.4. Експертні системи
- •9.5. Засоби спілкування з еом на природній мові. Навчання.
- •9.6. Когнітивне моделювання. Обробка візуальної інформації і робототехніка
- •Тема 10. Експертні системи як різновид систем штучного інтелекту
- •10.1. Сучасний рівень розвитку експертних систем. Критерії вибору задач, що реалізуються методами і засобами штучного інтелекту
- •10.2. Ведення в експертні системи
- •10.3. Класифікація експертних систем
- •10.4. Інструментальні засоби для побудови експертних систем
- •Тема 11. Методологія проектування експертних систем
- •11.1. Етапи проектування експертних систем
- •Тема 12. Технологія проектування експертних систем на основі продукційної моделі
- •12.1. Продукційна модель експертних систем
- •Представлення знань.
- •12.2. Особливості організації логічного висновку
- •Запит користувача
- •12.3. Організація пошуку рішень у простих та складних ес
- •12.4. Приклади використання пм
- •Тема 13. Технологія проектування експертних систем на основі логічної моделі подання знань
- •13.1. Поняття логічної моделі знань
- •13.2. Характеристика мови предикатів першого порядку. Особливості подання знань
- •13.3. Апарат логічного висновку
- •13.4. Особливості машинної реалізації мови предикатів першого порядку
- •Тема 14. Поняття семантичної мережі та її використання в експертних системах.
- •14.1. Поняття та компоненти семантичних мереж
- •14.2. Класифікація семантичних мереж
- •14.3. Побудова та використання семантичних мереж
- •Тема 15. Технологія проектування експертних систем на основі фреймової моделі подання знань
- •Структура фрейма
- •15.2.Базові елементи фреймів
- •15.3. Загальний вигляд фреймової моделі.
- •Тема 16. Характеристика програмних засобів створення експертних систем
- •16.1. Експертна система «експерт»
- •16.2. Практична робота з системою «експерт». Робота користувача по створенню власної бази знань
- •16.3. Представлення знань і формування бази знань в системі internist
- •Тема 17: Базові концепції нейронних мереж
- •17.1. Історія нейронних мереж
- •17.2. Нейрон. Штучний нейрон. Принцип роботи
- •17.3. Активаційна функція та її різновиди
- •Лінійна функція активації з насиченням Лінійна передавальна функція
- •17.4. Обґрунтованість застосування нейромереж
- •Машина фон Неймана у порівнянні з біологічною нейронною системою
5.3. Сталі та змінні.
Змінна чи стала – це пойменована ділянка оперативної памяті компютера, де зберігається значення деякої величини.
Змінні і сталі (їх прийнято називати даними) мають такі влсативості: назву (імя), значення, тип. Назау дає програміст.
Для роботи з даними слід зарезервувати певний обсяг оперативної памяті компютера, де зберігаються їхні значення. Тому всі дані, які використовуються у програмі, потрібно заздалегіть описувати (оголошувати), оскільки компілятор розподіляє пам'ять згідно з описами.
Якщо значення деякої величини (даного) не змінюватиметься протягом виконання усієї програми, то таке дане варто задавати як сталу (константу, const).
Сталу 2 (на слайді) називають типовою сталою. За замовчуванням числова стала належить до цілого типу. Під час виконання програми значення сталих змінювати не можна.
Приклад 1.
Оголосимо три сталі
const vik=20, rist=176;
const float g=2.78;
Для сталої g задано тип – float і значення 2,78.
У C++
є такі стандартні сталі: число
є сталою М_РІ,
- М_РІ_2,
- М_РІ_4,
- М_1_РІ,
- M_1_SQRTPI
тощо. Ці сталі можна безпосередньо
використвуваим у програмі, заздалнгіть
підключивши модуль math.h.
Дані, які під час виконання програми можуть набувати різних значень, називаються зміними. Їх оголошують так:
<тип змінних 1><список змінних1>;
…
<тип зміних М><список змінних М>;
Елементи списків записуються через кому. Наприклад, змінні оголошуються так:
int a,c; float b, d, z; char w;
змінним можна задавати початкові значення відразу під час оголошення. Це називається ініціалізацією даних. Наприклад: float b, d = 2.5, a=4; char w=’t’; .
У загальному випадку змінні одного типу оголошуються так:
<тип змінних><назва змінної 1>=<значення 1>;
…,
<назва зміної М>=<значення М>;
<список інших змінних>;
5.4.Типи даних
Усі типи, які беруть участь у розвязанні задачі, ретельно класифікуються за типом. Тип визначає допустимі значення даного, операції, які можна над ними виконувати, й обсяг оперативної памяті, який резервується для нього (обсяг може також залежати від різновиду операційної системи компютера).
Визначити, який обсяг памяті компілятор надає даному того чи іншого типу, можна за допомогою команди sizeof(<назва типу>). Наприклад, команда cout<<sizeof(short int) виведе на екран монітора цифру 2. це означає, що дане типу short int займає у памяті компютера 2 байти.
Як вже вказувалось дані що беруть участь у розв'язуванні задачі мають певний тип. Тип визначає:
допустимі значення;
операції, які можна виконувати над значеннями цього типу;
обсяг пам’яті, яка резервується для нього.
Типи числових даних поділяють на цілі, дійсні та символьні.
Цілі типи
Змінні цілого типу описуються так: int <ім’я змінної>
Допустимі значення: усі цілі з діапазона -32768 … +32767
Обсяг пам’яті: 2 байти
void main() { int x; // х отримує випадкове ціле значення x = 66; // х отримує значення 66 } |
void main() { int x = 66; // х отримує значення 66 } |
Дійсні типи
Змінні дійсного типу описуються так: float <ім’я змінної>
Допустимі значення: усі цілі та дробові з діапазона 3.410–38…3.41038
Обсяг пам’яті: 4 байти
void main() { float x; // х отримує випадкове дійсне значення x = 2.5; // х отримує значення 2.5 } |
void main() { float x = 2.5; // х отримує значення 2.5 } |
Символьний тип
Змінні символьного типу описуються так: char <ім’я змінної>
Допустимі значення: усі 255 символів кодової таблиці комп’ютера ASCII
Обсяг пам’яті: 1 байт.
Увага Змінним символьного типу можна надавати значень двома способами:
Безпосередньо (якщо х типу char, то після виконання команди х = ‘А’ х отримає значення А)
void main() { char x; // х отримує випадкове символьне значення x = 'A'; // х отримує значення – символ А } |
void main() { char x = 'A'; // х отримує значення – символ А х = 66; // х отримує значення – символ В (її код в //ASCII 66) } |
Використовуючи код ASCII ( після виконання команди х = 65 х отримає значення А, бо код символу А – 65)
Логічний тип (bool)
Логічний тип характеризується двома значенями даних: false(хибність) true(істина). Наприклад, bool b=true. Змінні цього типу займають 1 байт у памяті компютера. У С++ значення змінних типу int можна асоціювати з логічними значенями: нулю відповідає значення false, усім іншим числам – true.
Слід зауважити що не всі компілятори підтримують тип даних bool, тому перед тим як його використовувати, варто зясувати можливості компілятора.
Тип користувача.
Крім вище описаних стандартних типів даних, можна створити типи користувача. У загальному випадку тип користувача оголошується так:
typedef <опис типу> <назва нoвого типу>
Приклад: Опишемо тип kkilkist для позначення коротких цілих даних без знаку:
tyedef unsigned short int kilkist;
kilkist kil1, kil2;
Таким чином змінні kil1, kil2 оголошенно типу kilkist
