Реферат по предмету "Программирование"


Мова програмування С++

Зміст Вступ - 3 - 1. ЗАГАЛЬНІ ВІДОМОСТІ - 4 - 2. ЕЛЕМЕНТИ МОВИ - 4 - 3. СПОСОБИ СТРУКТУРИЗАЦІЇ ПРОГРАМИ - 5 - 4. ЗАСОБИ ОБМІНУ ДАНИМИ - 6 - 5. ВБУДОВАНІ ЕЛЕМЕНТИ - 7 - 6. ЗАСОБИ ВІДЛАДКИ ПРОГРАМИ - 8 - 7. ІНДИВІДУАЛЬНІ ЗАВДАННЯ - 15 - Вступ В першу чергу Visual C++ - це компілятор

C++, але це також і середовище, компоненти якого, взаємодіючи один з одним, спрощують процес розробки застосувань. Середовище Visual C++ пропонує великі можливості для програмування Windows-застосувань. Найхарактернішою його компонентою є бібліотека основних класів Microsoft (Microsoft Foundation Classes – MFS). Великий набір класів С++ інкапсулює основну частину

API (Application Standart Interface) Win32 і пропонує могутню основу для написання типових застосувань. До складу Visual C++ входить Microsoft Developer Studio Integrated Development Environment – інтегроване середовище для розробки застосувань (IDE). Visual Studio 97 – остання версія Microsoft Developer Studio – є ядром системи розробки Visual C++. Вона пропонує багато різних можливостей, надає доступ

до багатьох компонент системи розроблювача Visual C++, а також взаємодіє з такими засобами розробки Micrisoft, як Visual J++ або Microsoft Network Library. Visual Studio підтримує інтерфейс для компонентів проектів, початкових файлів і файлів ресурсів, а також ряд інструментів для побудови, запуску і тестування застосувань, хоча компілятор C/C++ та

інші компоненти середовища розробника можна використовувати і з командного рядка. Visual Studio пропонує інтегрований інтерфейс для таких основних інструментів Visual C++ як майстри. Майстри (Wizards), такі як AppWizard це інструменти генерації структур застосувань. За допомогою таких майстрів можна створювати структури застосувань серверів або контейнерів компонентів

OLE, застосувань ODBC та DAO, серверів автоматизації, елементів управління ActiveX. Visual C++ пропонує широкі можливості для програмування баз даних, які, зокрема, полягають в розширеному керуванні джерел даних і відладці. В застосуваннях можна використовувати декілька технологій баз даних: ODBC (Open Database Connectivity) - Зв’язок відкритих баз даних, незалежний від постачальника механізм доступу до даних з різних джерел, DAO (Data

Access Objects) – Об’єкти доступу до даних, застосовується для доступу к базам даних в Microsoft Visual Basic, Microsoft Access, Visual Basic for Applications, ADO (ActiveX Data Objects) – компактна технологія доступу до даних, орієнтована на Web, OLE DB – база даних OLE, набір специфікацій інтерфейсів компонентної об’єктної моделі COM. Метою даної курсової роботи є розгляд основних можливостей програмування баз даних в

Visual C++, зокрема використовуючи ODBC та DAO. 1. ЗАГАЛЬНІ ВІДОМОСТІ C++ був розвинутий з мови програмування C і за дуже малими виключеннями зберігає C як підмножину. Базова мова, C підмножина C++, спроектована так, що існує дуже близька відповідність між його типами, операціями й операторами

і комп'ютерними об'єктами, з якими безпосередньо приходиться мати справу: числами, символами й адресами [5, с. 48]. Microsoft VisualC++ містить безліч інтегрованих засобів візуального програмування. Компілятор VisualC++ містить багато нових інструментальних засобів і поліпшених можливостей, надає величезні можливості в плані оптимізації додатків, внаслідок чого можна отримати виграш як відносно розміру програми, так і відносно швидкості

її виконання, незалежно від того, що являє собою ваш додаток. Система Microsoft VisualC++ дозволяє створювати як маленькі програми і утиліти для персонального використання, так і корпоративні системи, що працюють з базами даних на різних платформах. 2. ЕЛЕМЕНТИ МОВИ Таблиця 2.1 I розробникам компіляторів мови С. Аспект Запропоновані стандарти

Типи даних Чотири: символьний, цілочисельний, з плаваючою крапкою і перелік Коментарі / * — початок, * / — кінець; доданий — //: набір символів в рядку справа ігноруватиметься компілятором Довжина ідентифікатора 31 символ; цього достатньо для забезпечення унікальності ідентифікатора Стандартні ідентифікатори і файли Розроблений мінімальний набір ідентифікаторів і файлів заголовків, необхідних для здійснення базових операцій, наприклад введення/виведення

Аспект Запропоновані стандарти Директиви препроцесора Значку #, з якого починається директива препроцесора, може передувати відступ (будь-яка комбінація пропусків і символів табуляції), що допомагає відрізнити директиву від решти програмного коду; у деяких ранніх компіляторах існувала вимога поміщати директиви препроцесора тільки починаючи з першої позиції рядка Запис виразів в декілька рядків Cуміжні літерали об'єднуються; таким чином, вираз з оператором #define

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

побудови працездатних виразів на мові С sizeof() Оператор sizeof () повинен повертати значення типу size_t замість системно-залежної цілочисельної змінної Прототипи функцій Компілятори мови С повинні підтримувати програми, які використовують, так і ті, що не використовують прототипи функцій Аргументи командного рядки Узгоджено і затверджено єдиний синтаксис використання аргументів командного рядка

Аспект Запропоновані стандарти Тип даних void Ключове слово void може використовуватися у функціях, що не повертають значення; для функції, що повертає значення, результат може бути приведений до типу void: це служить вказівкою компілятору, що значення, що повертається навмисно ігнорується Використання структур Відмінено вимогу унікальності імен членів структур і об'єднань; структури можуть передаватися у вигляді аргументів функцій

і повертатися функціями, а також привласнюватися іншим структурам того ж типу Оголошення функцій Оголошення функції може включати список типів аргументів, на підставі якого компілятор визначає число і тип аргументів Шістнадцяткові числа Шістнадцяткове число повинне починатися з позначення х, за яким слідує декілька шістнадцяткових цифр (0-9, а-f, A-F); наприклад, десятковому числу 16 відповідає шістнадцяткове х10 (допускається також запис 0x10) 3.

СПОСОБИ СТРУКТУРИЗАЦІЇ ПРОГРАМИ Мова С підтримує модульне програмування, суть якого полягає в можливості роздільної компіляції і компоновки різних частин програми. Наприклад, можна виконати компіляцію тільки тієї частини програми, яка була змінена в ході останнього сеансу редагування. Це значно прискорює процес розробки великих і навіть середнього розміру проектів, особливо якщо доводиться працювати на повільних машинах.

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

призначених для маніпулювання значеннями полів - методів. Об'єкти є змінними типу класу. Кожен об'єкт може містити власні набори закритих і відкритих даних [4]. Унікальні особливості функцій Мова C++ дозволяє задавати імена і типи параметрів функції прямо всередині круглих дужок, що слідують за ім’ям функції. Наприклад: void* vfunc(void *dest, int з, unsigned count) { }

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

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

конкретному випадку [4, c.244]. Стандартні значення параметрів функцій У C++ можна задавати параметрам функцій значення за замовчуванням. У такому випадку при виклику функції можуть бути вказані значення тільки деяких параметрів, тоді як іншим вони будуть призначені автоматично. Списки аргументів змінного розміру У C++ за допомогою трьокрапки ( ) можуть бути описані функції з невизначеним набором параметрів.

Контроль за типами параметрів таких функцій не ведеться, що підвищує гнучкість їх використовування. Використання посилань на аргументи функцій За допомогою оператора & можна задати передачу аргументів функції по посиланню, а не по значенню. Наприклад: void increment(int &variable_reference) { variable_reference++; } Оскільки параметр variable_reference визначений як посилання, його адреса привласнюється адресі змінної

i при виклику функції increment (). Остання виконує приріст значення параметра. Покажчики типу void У C++ тип void використовується для позначення того, що функція не повертає ніяких значень. Покажчик, що має тип void, може бути привласнений будь-якому іншому покажчику базового типу. 4. ЗАСОБИ ОБМІНУ ДАНИМИ C++ має в своєму розпорядженні свій власний файл заголовків

IOSTREAM.H, що містить набір засобів введення-виведення, специфічних для цієї мови. Потокове введення-виведення в C++ організовується за допомогою комплекту стандартних класів, що підключаються за допомогою файлу IOSTREAM.H. Ці класи містять перевантажені оператори введення >> і виведення <<, які підтримують роботу з даними різних типів. Щоб краще зрозуміти, чому легше працювати з потоками в

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

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

засобів введення-виведення, але пропонує модульний підхід до рішення даної проблеми, групуючи можливості введення-виведення в двох основних потокових класах: istream - містить засоби введення, ostream - містить засоби виведення. У всіх цих класах реалізовані оператори << і >>, оптимізовані для роботи з конкретними даними. Бібліотека IOSTREAM.H містить також класи, за допомогою яких можна керувати введенням-виведенням даних

з файлів: ifstream - породжений від istream і підключає до програми файл, призначений для введення даних, а ofstream - породжений від ostream і підключає до програми файл, призначений для виведення даних. 5. ВБУДОВАНІ ЕЛЕМЕНТИ Компілятор VisualC++ містить багато нових інструментальних засобів і поліпшених можливостей для створення Windows-додатків [1]. Додатки Windows прості у використанні, але створювати

їх досить складно. Програмістам доводиться вивчати сотні різних API-функцій. Щоб полегшити їх роботу, фахівці Microsoft розробили бібліотеку MicrosoftFoundationClasses— MFC . Використовуючи готові класи C++, можна набагато швидше і простіше вирішувати багато задач. Бібліотека MFC істотно полегшує програмування в середовищі

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

і інші. По суті, в MFC представлені практично всі функції WindowsAPI. У бібліотеці є засобу обробки повідомлень, діагностики помилок і інші засоби, звичні для додатків Windows. MFC володіє наступними перевагами: • Представлений набір функцій і класів відрізняється логічністю і повнотою. Бібліотека MFC відкриває доступ до всіх часто використовуваних функцій

WindowsAPI, включаючи функції управління вікнами додатків, повідомленнями, елементами управління, меню, діалоговими вікнами, об'єктами GDI (GraphicsDeviceInterface— інтерфейс графічних пристроїв), такими як шрифти, кисті, пір'я і растрові зображення, функції роботи з документами тощо. • Функції MFC легко вивчати. Фахівці Microsoft доклали всі зусилля для того, щоб

імена функцій MFC і пов'язаних з ними параметрів були максимально близькі до їх еквівалентів з WindowsAPI. Завдяки цьому програмісти легко зможуть розібратися в їх призначенні. • Програмний код бібліотеки достатньо ефективний. Швидкість виконання додатків, заснованих на MFC, буде приблизно такою ж, як і швидкість виконання додатків, написаних з використанням стандартних функцій

WindowsAPI, а додаткові витрати оперативної пам'яті будуть досить незначними. • MFC містить засоби автоматичного керування повідомленнями. Бібліотека MFC усуває необхідність в організації циклу обробки повідомлень — поширеного джерела помилок в Windows-додатках. У MFC передбачений автоматичний контроль за появою кожного повідомлення. Замість використовування стандартного блоку switch/case всі повідомлення

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

Бібліотека MFC була розроблена так, щоб тримати під контролем появу таких ситуацій. Це дозволяє об'єктам МFC відновлювати роботу після появи помилок типу "outofmemory" (брак пам'яті), неправильного вибору команд меню або проблем із завантаженням файлів або ресурсів. • MFC забезпечує динамічне визначення типів об'єктів. Це надзвичайно могутній програмний засіб, що дозволяє відкласти перевірку типу динамічно створеного

об'єкту до моменту виконання програми. Завдяки цьому можна вільно маніпулювати об'єктами, не піклуючись про попередній опис типу даних. Оскільки інформація про тип об'єкту повертається під час виконання програми, програміст звільняється від цілого етапу роботи, пов'язаного з типізацією об'єктів. • MFC може використовуватися спільно з підпрограмами, написаними на мові С. Важлтвою особливістю бібліотеки MFC є те, що вона може "співіснувати" з додатками, заснованими

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

є узгодженість механізмів управління пам'яттю. • MFC може бути використана для створення програм, що працюють в середовищі MS-DOS. Бібліотека MFC була створена спеціально для розробки додатків в середовищі Windows. В той же час багато класів надають об'єкти, часто використовувані для введення/виведення файлів і маніпулювання рядковими даними. Такі класи загального призначення можуть застосовуватися в додатках як Windows, так і MS-DOS [3]. 6. ЗАСОБИ ВІДЛАДКИ ПРОГРАМИ

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

в покроковий режим. Точки зупики найпростіше розставляти за допомогою кнопки Breakpoint панелі інструментів Build. Для цього достатньо встановити курсор на потрібному рядку програми і натиснути кнопкою миші на вказаній кнопці. Якщо ж виділений рядок вже містить точку зупики, то вона буде видалена. При виборі команди Go програма виконуватиметься від поточного місцезнаходження курсора до найближчої точки зупики. Коли розпочинається процес відладки, з'являється панель

інструментів Debug. З безлічі представлених на ній кнопок найчастіше задіюються StepInto і StepOver. У обох випадках програма буде запущена на виконання в покроковому режимі, а в тексті програми виділяється той рядок, який зараз буде виконаний. Відмінності між командами StepInto і StepOver виявляються тільки тоді, коли в програмі зустрічається виклик функції. Якщо вибрати команду StepInto, то відладчик увійде до функції

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

УС/C++ змінні повинні бути описані, а їхній тип специфікований до того, як ці змінні будуть використані. При описі змінних застосовується префіксний запис, при якому спочатку вказується тип, а потім — ім'я змінної. Якщо змінних одного типу є декілька, то вони можуть бути записані в одному рядочку через кому. Наприклад: float weight; int exam_score, max, min, i; char ch, c, symbol; З типом даних зв'язуються і набір визначених значень,

і набір операцій, які можна виконувати над змінними даного типу. Змінні можна ініціалізувати в місці їхніх описів, наприклад: int height = 71; float income = 26034.12; Найпростішими скалярними типами, визначеними в С, є: сhar — представляється як однобайтове ціле число; int — двобайтове ціле; long — чотирибайтове ціле; float — чотирибайтове раціональне; double — восьмибайтове раціональне; Основні скалярні (прості) типи даних можна розділити на цілі та раціональні.

Кожен тип даних характеризується діапазоном значень, обсягом пам’яті, який займає змінна цього типу та додатковими властивостями, таким як точність для чисел з плаваючою комою та можливість зберігати інформацію про знак числа для цілих чисел (додатні і від’ємні чи тільки додатні). цілі: unsigned char | 8 біт | 0 255 char | 8 біт | 128 127 enum | 16 біт | -32,768 32,767 unsigned int | 16 біт | 0 65,535 short int | 16 біт | -32,768 32,767 int | 16 біт

| -32,768 32,767 unsigned long | 32 біт | 0 4,294,967,295 long | 32 біт | -2,147,483,648 2,147,483,647 дійсні: float | 32 біт | double | 64 біт | long double | 80 біт | Перераховуваний тип Перераховуваний тип (enum) застосовується для даних цілого типу, що можуть приймати обмежений набір значень. Кожному значенню відповідає власне ім'я-ідентифікатор і ціле число, значення цього імені.

Оголошення перераховуваного типу будується за схемою: enum ідентифікатор_типу {список перерахування} декларатори¬ініціалізатори; Тут ідентифікатор_типу задає ім'я перераховуваного типу, список перерахування складається з імен, розділених комами. Кожне ім’я задається ідентифікатором_значення і, можливо, цілим значенням типу char чи int, наприклад: enum color {

RED, GREEN, BLUE } en_color; enum lex_type { CNST, VAR, OPER=3, FUNC }; Якщо значення ідентифікатора_значення у списку перерахування не задано, перший з них отримую значення 0, а кожен наступний — значення, більше на 1. Узагалі будь-який з ідентифікаторів_значень за замовчуванням має значення на 1 більше попереднього. У С/С++ прийнято записувати ці ідентифікатори великими літерами.

Ідентифікатори_значення використовуються або як іменовані константи, або для присвоювання змінним перераховуваного типу. Константи Константи у мові С++ використовуються для представлення значень, що не змінюються в процесі роботи програми. Константи використовуються у виразах справа від знаку присвоювання. Різним типам даних у мові C++ відповідає чотири типи констант: цілі, раціональні (із плаваючою крапкою), символьні і рядкові. Існують також пойменовані або “типовані” константи, які описуються подібно до

змінних, але перед іменем типу стоїть службове слово const, мають вказаний тип, унікальні імена. Наприклад: const float PI=3.14159; //Типована ціла константа PI const int MAX=10; //Типована раціональна константа MAX Константи цілого типу Константи цілого типу можуть задаватися в десятковій, двійковій, вісімковій або шістнадцятковій системах числення. Десяткові цілі константи утворюються з цифр.

Першою цифрою не повинний бути нуль. Вісімкові константи завжди починаються з цифри нуль, за котрою або не стоїть жодної цифри, або стоять декілька цифр від нуля до сімки. Шістнадцяткові константи завжди починаються з цифри 0 і символу х або Х, за ними може стояти одна або більше шістнадцяткових цифр. Шістнадцяткові цифри — це десяткові цифри від 0 до 9

і латинські букви: a, b, c, d, e, f, або A, B, C, D, E, F. Наприклад: задання константи 3478 у десятковому, вісімковому і шістнадцятковому виді: 3478, 06626, 0хD96; До будь-якої цілої константи можна справа приписати символ l або L, і це буде означати, що константа — довга ціла (long integer). Символ u або U, приписаний до константи справа, вказує на те, що константа ціла без знака (unsigned

long). Вважається, що значення будь-якої цілої константи завжди невід’ємне. Якщо константі передує знак мінус, то він трактується як операція зміни знака, а не як частина константи. Константи раціонального типу Константи з плаваючою комою (названі раціональними) складаються з цифр, десяткової точки і знаків десяткового порядку е або Е. Нижче наведено можливі варіанти запису констант раціонального типу:

1.2e1 .1234 .1e3 .12E1 1.234 1. -10е01 0.0035e-6 -1.0 2e-1 2.1e-12 234.0 .0 -1е0 Символьні константи Символьні константи записують в апострофах (одинарних лапках). Всі символьні константи мають у С значення цілого типу, які співпадає із кодом символу в ASCII кодуванні. Одні символьні константи відповідають символам, які можна вивести на друк, інші – керуючим символам, які задаються за допомогою

Esc-послідовності, ще інші – символами, які форматують і задаються за допомогою Esc- послідовності. Наприклад: символ “апостроф” задається як перехід на новий рядок — як , а обернений слеш — як \. Кожна Esc-послідовність повинна бути взята в лапки. Керуючі коди натисніть щоб показати прихований текст 1. — новий рядок 2. — горизонтальна табуляція 3. v — вертикальна табуляція 4.  — повернення на символ 5. — повернення в початок рядка 6. f — прогін

паперу до кінця сторінки 7. \ — обернений слеш 8. ’ — одинарна лапка 9. ” — подвійна лапка 10. а — звуковий сигнал 11 — знак питання 12. ddd — код символу в ASCII від однієї до трьох вісімкових цифр 13. xhhh — код символу в ASCII від однієї до трьох шістнадцяткових цифр. Рядкові константи Приклад опису рядкових констант: #include <stdio.h> main( ) { char *str; str="Приклад використання рядкових констант. "; printf(str); }

Програма виведе такий текст: Приклад використання рядкових констант. Рядкові константи складаються з нуля або більшої кількості символів, взятих у подвійні лапки. У рядкових константах керуючі коди задаються за допомогою Esc- послідовності. Обернений слеш використовується як символ переносу тексту на новий рядок. Коментар Текст на С, записаний в дужках /* і */, компілятором

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

її. Якщо після цього програма почне працювати правильно, тоді закоментований код містить помилку і повинен бути відлагоджений. Функція Main Кожна програма на мові С чи C++ повинна містити головну функцію — main(). Код, який задає тіло функції main, міститься у фігурних дужках – { }. Загальна структура функції main() така: main() { /*

Код, що реалізує main */ } Директиви Include В багатьох програмах на С та C++ підставляються один або декілька файлів, часто на самий початок коду головної програми. Поява у програмі директив: #include <файл_1> #include "файл_2" #include <файл_n> приводить до того, що препроцесор (частина компілятора) підставляє на місце цих директив тексти файлівфайл_1, файл_2,…, файл_n відповідно. Якщо ім'я файлу записано у кутових дужках <… >, то пошук файла відбувається

в спеціальному каталозі файлів, які включаються в програму (цей каталог задається через пункт меню Options (Alt O)|Directories…|Include directories…). Якщо використовуються лапки " ", то пошук ведеться відносно поточного каталога, заданого в діалоговому вікні File(Alt-F)|ChangeDir…. На відміну від операторівС/C++ директива include не повинна закінчуватися крапкою з комою. Макроси За допомогою директиви #define, після якої пишеться

ім'я макроса і значення макроса, можна зазначити препроцесору, щоб він при будь-якій появі у вхідному файлі на С/C++ даного імені макроса заміняв це ім'я на відповідні значення макроса. Наприклад, директива: #define pi 3.1415926 зв'язує ідентифікатор pi із значенням 3.1415926. Після значення макроса крапка з комою не ставиться. Просте введення-виведення Просте виведення здійснюється за допомогою стандартного потоку cout: cout

<< "Введіть своє ім’я:"; //Виведення даних Потік використовує оператор вставки <<, для виведення на стандартний пристрій виведення. Гнучкість використання cout підсилює те, що можна вказувати декілька значень. cout << cName << "–" // виведення імені << nAge << "років"; // виведення віку Основна бібліотека введення-виведення потоку в C++ має об’єкт cin

і оператор вилучення >>, як двійники об’єкта cout і оператора вставки<< . Так, ввести число можна, записавши: cin >> nAge; //Введіть вік Для того, щоб ввести символьний рядок, існує спеціальна функція cin.getline(…), яка має два або три параметри: типу символьний радок, типу int та необов’язковий символ-розділювач (якщо його пропустити, замовчуванням — ’ ’): const int MAX=10; //Максимальна довжина символьного рядка char cName[MAX+1];

//Символьний масив, для зберігання імені cin.getline(cName, MAX); //Ввести ім’я Використовується компонент-функція getline(…), щоб ввести рядок символів. Ця функція зберігає знаки в символьному масиві cName. Аргумент MAX визначає максимальну кількість символів, яку можна ввести. /* Програма на C++, яка ілюструє введення-виведення */ #include <iostream.h> /*включити заголовочний

файл – бібліотеки потоку, яка підтримує введення-виведення*/ void main() // функція main, за замовчуванням { // починається виконання програми const int MAX=100; // оголошення константи int nAge; // оголошення простої змінної char cName [MAX+1]; // оголошення одномірного масиву cout <<"Enter your name:"; // запрошення для введення імені cin.getline(cName, MAX); // введення імені cout <<"

Enter your age:"; // запрошення для введення віку cin >>nAge; // введення віку cout << " "; // пропустити два пустих рядки cout << cName << " is " // вивести ім'я << nAge << " years old"; //вивести вік } 7. Індивідуальні завдання Завдання 1. Скласти програму для обчислення значень функцій при різних значеннях аргументів. Обчислити: де a=0,7; b=0,05; x=0,43. Розв’язання #include <iostream.h> #include <

conio.h> #include <math.h> void main() { double a = 0.7,b = 0.05,x = 0.43,R = 0,S = 0; R = pow(x,2)*(x + 1) / b - pow(sin(x - a),2); S = sqrt(x*b / a) + abs(pow(cos(x + b),3)); cout<<"R= "<<R<<" S= "<<S; getch(); } Завдання 2. Скласти програму для обчислення значень функцій при різних значеннях аргументів, заданих інтервалом зміни і величиною кроку. Обчислити: x<b, x b;

Розв’язання #include <iostream.h> #include <conio.h> void bubble_sort (int *arr, int n) { int i, j; int temp; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return; } struct List { char* Logo; int number; int strength; }; void main() { List l[10]; int ar[10]; for (int i=0;i<10;i++) { cout<<"

Enter Logo>"; cin>>l[i].Logo; cout<<"Enter number>"; cin>>l[i].number; cout<<"Enter Strength>"; cin>>l[i].strength; } for(int y=0;y<10;y++) { ar[y]=l[y].strength; } bubble_sort(ar,10); for(int g=0;g<10;g++) { cout<<ar[g]; } getch(); } Завдання 3. Відсортувати по зменшенню масив максимальних елементів стовпців матриці.

Розв’язання #pragma hdrstop #include <tchar.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #pragma argsused int _tmain(int argc, _TCHAR* argv[]) { int number, i, j; char n[100]; printf("Input number and press Enter "); gets(n); number=atoi(n); for (i =number ; i > 0; i ) { for (j = number; j > 0; j ) { if (j!=1 ) { printf("%d", j); printf(" "

); } else{ printf("%d", number); } } printf(" "); } printf("Press any key to exit "); getch(); return 0; } Завдання 4. Чи є в тексті слова, що починаються та закінчуються однією і тією ж літерою? Розв’язання #include <iostream.h> #include <conio.h> #include <math.h> void main() { double x=0,a=0.1,b=1.5,y=0; x=acos(abs((a-pow(b,a)))); y=sin(abs(a*x+pow(b,a)));

cout<<y; getch(); } Завдання 5. В списку міститься інформація про володарів автотранспорту: П.І.Б марка, номер, потужність автомобіля. Сформувати список володарів машин, відсортований за зростанням потужності автомобілів. Розв’язання #include <iostream.h> #include <string.h> #include <conio.h> int main() { char s[] = "Hello World amba"; char temp; int n=0; if (s[0]!=' ') temp=s[0]; for (int i

= 0;i < 16;i++ ) { if (s[i]==' ') { if (s[i-1]==temp){n=n+1;} temp=s[i+1]; } if (i==15) { if (temp==s[15]){n=n+1;} } } cout<<n<<" Found"; getch(); } Завдання 6. Перевірити, чи є задана матриця ортогональною, тобто скалярні добутки кожного рядка на інший дорівнюють 0. Розв’язання #include <conio.h> #include <iostream.h> #include <stdio.h> int proverka () { int mass[2][2]; cout << "

Vvedite matricu 2*2 -> "<<endl; for (int i=0;i<2;i++) for (int j=0;j<2;j++) cin >> mass[i][j]; int opr = mass[0][0]*mass[1][1] - mass[1][0]*mass[0][1]; if ((opr == 1)||(opr==-1)) cout << "Ort"; else cout << "Matryca ne ortogonalna"; return opr; } void main () { int opr = proverka (); cout <<endl<< opr << " " ; getch(); }



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.