Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Int name_a;





Дробові числа

У мові С++ є 2 ідентифікатори дробових чисел: float та double. Найчастіше вживають double, у нього більша точність. Але float також працює і я не маю права не розглянути його. Float займає у пам’яті 4 байти, double – у двічі більший, але пам’ятайте про точність.

float value = 567.8976523;

double value2 = 880.24;

Символьний тип даних

Потрібно зразу ж сказати, що у С++ немає типу для зберігання цілих рядків, проте я б не сказав, що це мінус С++. Навпаки, через цю особливість програміст отримує більше можливостей при роботі з рядками. Проте є тип char призначений для зберігання символів. Займає він всього 1 байт. Але зауважте, що він зберігає символи, а діапазон у нього числовий. Це все через те, що кожен символ (за таблицею ASCIIhttp://uk.wikipedia.org/wiki/ASCII) має свій номер, ось і за цим номером ховається якийсь символ.

Декілька прикладів:

char a;

char a = ‘@’; // У одинарних лапках, певний символ

char a = 25; // згадайте про таблицю ACKII

 

Логічний тип даних

Вам може видатися, що він взагалі не потрібний, але ви сильно помиляєтеся. bool займає 1 байт і його діапазон – true або false. Тут також можна використовувати числа. Усі числа крім 0, цей тип даних вважає за true (від’ємні також), 0 – false.

bool a = true;

bool b = -5; // true

bool c = 0; // false

У файлі зверніть увагу, що робить модифікатор типів unsigned.

І пам’ятайте про регістри (int – правильно, Int – помилка).

 

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

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

 

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

Слід звернути увагу на те, що компілятор мови Delphi не розрізняє прописні і рядкові букви в іменах змінних, тому імена SUMMA, Summa і summa позначають одну і ту ж змінну.

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

ах2 + bх + с = 0

цілком логічно привласнити імена а, b, с, x1 і х2. Інший приклад. Якщо в програмі є змінні, призначені для зберігання суми покупки і величини знижки, то цим змінним можна привласнити імена

TotalSumm і Discount або ObSumma і Skidka.

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

В загальному вигляді інструкція оголошення змінної виглядає так:

Ім'я: тип;

де:

ім'я — ім'я змінної;

тип — тип даних, для зберігання яких була призначена змінна.

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

 

 

19. Наслідування, інкапсуляція та поліморфізм

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

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


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

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

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

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

Дочірній клас (або підклас, або похідний клас). Клас, який успадковує свої визначення від іншого класу.

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

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

20. Бібліотека math.h. Стандартні математичні функції мови С++

math.h — заголовний файл стандартної бібліотеки мови програмування С, який надаєпрототипи функцій, розроблених для виконання простих математичних операцій. Більшістьфункцій використовує числа з плаваючою комою. C++ також реалізовує дані функції для забезпечення сумісності, усі вони містяться у заголовному файлі cmath.

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

 

В С ++ визначені в заголовному файлі <cmath> функції виконують деякі часто використовувані математичні завдання. Наприклад, знаходження кореня, зведення в ступінь, sin (), cos () та багато інших. У таблиці 1 показані основні математичні функцій, прототипи яких містяться в заголовному файлі <cmath>.


21. Тернарний оператор. Оператор sizeof. Оператор послідовного обчислення.

Тернарний оператор— це простими словами просто скорочений запис звичайної умови if/else, який програмісти дуже люблять використовувати у функціях разом із командою return. Загалом, такі простенькі речі як на мене, повинні бути закладені в пам’ять спинного мозку та працювати у вигляді безумовних рефлексів. Але мені чомусь дуже хочеться про це написати.

Загалом його призначення як мені так здається, це полегшити читання та написання коду. Підтримка цього оператора є у С-подібних мовах: C, C++, C#, Java, JavaScript, PHP, Python, Ruby.

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

sizeof - це унарний оператор, який повертає довжину в байтах змінної або типу, поміщених в дужки. Наприклад:

float f;

printf ("% f", sizeof f);

printf ("% d", sizeof (int));

видає 4 2. (Передбачається використання 16-бітових цілих.)

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

Використання sizeof допомагає створювати стерпний код для тих випадків, коли код залежить від розміру стандартних типів даних С. ​​Наприклад, уявімо, що програмі, що працює з базою даних, необхідно зберігати 6 цілочисельних значень в запису. Для того, щоб зробити цю програму переносимою, не слід припускати, що розмір целочисленного типу - 2 або 4 байти, слід самостійно визначити справжню довжину, використовуючи sizeof. Наступна підпрограма може бути використана для збереження запису у файлі.

22. Потоки в С++

У C ++, робота з потокам здійснюється за коштами класу std:: thread (доступного з заголовки <thread>), який може працювати з регулярними функціями, лямбда і функторами. Крім того, він дозволяє вам передавати будь-яке число параметрів у функцію потоку.

23. Форматнне виведення даних в С++

У мові C++ дії, що пов’язані з операціями введення і виве­дення, виконуються за допомогою функцій бібліотек. Функції и ведення і виведення бібліотек мови дозволяють читати дані з файлів та пристроїв і писати дані у файли і на пристрої.

Бібліотека мови C++ підтримує три рівня введення-виведення даних:

□ введення-виведення потоку;

□ введення-виведення нижнього рівня;

□ введення-виведення для консолі і порту.

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


Форматоване введення-виведення величин здійснюється з використанням функцій scanfта printf, які успадковані з мови С. Щоб зв’язати програму користувача зі стандартною бібліотекою] де знаходяться ця функція, необхідно на початку програми включити заголовний файл stdio.h.

Функція scanf, що забезпечує форматоване введення даних, має змінне число параметрів, при цьому перед відповідним параметром ставиться знак «&» — символ взяття адреси змінної. Наприклад, &х1 означає адресу змінної х1, а не значення, яке ця змінна має в даний момент. Рядок форматів функції scanf вказує, які дані очікуються на вході. Якщо функція зустрічає у форматному рядку знак «%», за яким розташований знак перетворення, то на вході будуть пропускатися символи, доки не з’явиться деякий непорожній символ.

24. Керуючі послідовності мови С++

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

Блоки і складові оператори.

Будь-яка послідовність операторів, укладена у фігурні дужки, є складеним оператором (блоком). Складовою оператор не повинен закінчуватися (;), оскільки обмежувачем блоку служить сама закривається дужка. Усередині блоку кожен оператор повинен обмежуватися (;).

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

Порожній оператор.

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

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







Date: 2015-08-24; view: 728; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.013 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию