Автор работы: Пользователь скрыл имя, 15 Ноября 2012 в 20:32, курсовая работа
У міру розвитку обчислювальної техніки виникали різні технології програмування. На кожному етапі створювався новий підхід, який допомагав програмістам давати раду дедалі більшому ускладненню програм. Технологія програмування [programming tecHnology] — система методів, способів і прийомів розробки й налагодження програм.На мою думку найпопулярніших в наш час мов програмування, орієнтованих на швидку розробку програмних продуктів можна віднести Borland Delphi, Visual C++, Microsoft Visual Basic. Назва «Сі++» була вигадана Ріком Масситті (Rick Mascitti) і вперше було використана в грудні 1983 року. Раніше, на етапі розробки, нова мова називалася «Сі з класами».
Вступ
1. Роль обчислювальної техніки та програмування в сучасному житті.
2. Середовище програмування. Характеристики компілятора.
3. Постановка задачі.
3.1 Математична постановка задачі.
3.2 Створення алгоритму роботи програми (блок-схема).
3.3 Опис основних блоків алгоритму.
4 Структура програми на мові С++
4.1. Загальні положення.
4.2. Структура файлу реалізації.
5 Одержання результатів роботи програми.
6 Апаратні вимоги для виконання програми.
6.1 Тестування програми з різними вихідними даними.
6.2 Аналіз результатів.
Висновок.
Список літератури.
Перелік умовних позначень.
Microsoft Visual C++ містить безліч інтегрованих засобів візуального програмування. Компілятор Visual C++ містить багато нових інструментальних засобів і поліпшених можливостей, надає величезні можливості в плані оптимізації додатків, внаслідок чого можна отримати виграш як відносно розміру програми, так і відносно швидкості її виконання, незалежно від того, що являє собою ваш додаток.
Система Microsoft Visual C++ дозволяє створювати як маленькі програми і утиліти для персонального використання, так і корпоративні системи, що працюють з базами даних на різних платформах.
Мова С підтримує модульне програмування, суть якого полягає в можливості роздільної компіляції і компоновки різних частин програми. Наприклад, можна виконати компіляцію тільки тієї частини програми, яка була змінена в ході останнього сеансу редагування. Це значно прискорює процес розробки великих і навіть середнього розміру проектів, особливо якщо доводиться працювати на повільних машинах. Якщо б мова С не підтримувала модульне програмування, то після внесення невеликих змін в програмний код довелося б компілювати повністю всю програму, що могло б зайняти дуже багато часу.
Найбільш істотна відмінність C++ від мови С полягає у використанні концепції об'єктно-орієнтованого програмування. Класи є фундаментальною концепцією об'єктно-орієнтованого програмування. Визначення класу включає оголошення всіх полів, можливо, з початковими значеннями.
Також включає описи функцій, призначених для маніпулювання значеннями полів - методів. Об'єкти є змінними типу класу. Кожен об'єкт може містити власні набори закритих і відкритих даних .
Унікальні особливості функцій
Мова C++ дозволяє задавати імена і типи параметрів функції прямо всередині круглих дужок, що слідують за ім’ям функції. Наприклад:
void* vfunc(void *dest, int з, unsignedcount)
{...}
Транслятор мови C++ перевірить відповідність фактичних типів значень, переданих у функцію, формальним типам аргументів функції. Також буде перевірена відповідність типу значення типу змінної, якій привласнюється це значення, що повертається.
Перевантаження функцій
У C++ можна використовувати однакові імена для декількох функцій. Звичайно різні функції мають різні імена, але іноді вимагається, щоб одна і та ж функція виконувала схожі дії над об'єктами різних типів. В цьому випадку є зміст визначити декілька функцій з однаковим ім'ям, але різним тілом. Такі функції повинні мати відмінні набори аргументів, щоб компілятор міг розрізняти їх. Не дивлячись на те, що різні функції мають одне ім'я, по типу аргументів компілятор легко зможе визначити, яку версію функції слід викликати у кожному конкретному випадку.
Стандартні значення параметрів функцій
У C++ можна задавати параметрам функцій значення за замовчуванням. У такому випадку при виклику функції можуть бути вказані значення тільки деяких параметрів, тоді як іншим вони будуть призначені автоматично.
Списки аргументів змінного розміру
У C++ за допомогою трьох крапок (...) можуть бути описані функції з невизначеним набором параметрів. Контроль за типами параметрів таких функцій не ведеться, що підвищує гнучкість їх використовування.
Використання посилань на аргументи функцій
За допомогою оператора & можна задати передачу аргументів функції по посиланню, а не по значенню. Наприклад:
Void increment (int&variable_reference)
{ variable_reference++; }
Оскільки параметр variable_reference визначений як посилання, його адреса привласнюється адресі змінної i при виклику функції increment (). Остання виконує приріст значення параметра.
Покажчики типу void
У C++ тип void використовується для позначення того, що функція не повертає ніяких значень. Покажчик, що має тип void, може бути привласнений будь-якому іншому покажчику базового типу.
C++ має в своєму розпорядженні свій власний файл заголовків IOSTREAM.H, що містить набір засобів введення-виведення, специфічних для цієї мови. Потокове введення-виведення в C++ організовується за допомогою комплекту стандартних класів, що підключаються за допомогою файлу IOSTREAM.H. Ці класи містять перевантажені оператори введення >> і виведення <<, які підтримують роботу з даними різних типів. Щоб краще зрозуміти, чому легше працювати з потоками в C++, давайте пригадаємо, як взагалі в мові С реалізується введення і виведення даних. Перш за все мова С не має вбудованих засобів введення-виведення. Всі функції, такі як printf() або scanf(), надаються через зовнішні бібліотеки, хоча і вважаються стандартними, але не є частиною самої мови. У принципі, це дозволяє гнучко вирішувати проблеми, що виникають в різних додатках. Труднощі з'являються у зв'язку з тим, що подібного роду функцій дуже багато, вони по-різному повертають значення і приймають різні аргументи. Програмісти покладаються головним чином на функції введення-виведення формату printf(), scanf() і їм подібні, особливо якщо доводиться працювати з числами, а не з текстом.
Мова C++ так само не має в своєму розпорядженні вбудованих засобів введення-виведення, але пропонує модульний підхід до рішення даної проблеми, групуючи можливості введення-виведення в двох основних потокових класах: istream - містить засоби введення, ostream - містить засоби виведення. У всіх цих класах реалізовані оператори << і >>, оптимізовані для роботи з конкретними даними. Бібліотека IOSTREAM.H містить також класи, за допомогою яких можна керувати введенням-виведенням даних з файлів: ifstream - породжений від istream і підключає до програми файл, призначений для введення даних, а ofstream - породжений від ostream і підключає до програми файл, призначений для виведення даних.
Компілятор Visual C++ містить багато нових інструментальних засобів і поліпшених можливостей для створення Windows-додатків .
Додатки Windows прості у використанні, але створювати їх досить складно. Програмістам доводиться вивчати сотні різних API-функцій. Щоб полегшити їх роботу, фахівці Microsoft розробили бібліотеку Microsoft Foundation Classes— MFC . Використовуючи готові класи C++, можна на багато швидше і простіше вирішувати багато задач. Бібліотека MFC істотно полегшує програмування в середовищі Windows. Ті, хто володіє достатнім досвідом програмування на C++, можуть допрацьовувати класи або створювати нові, похідні від існуючих. Класи бібліотеки MFC використовуються як для керування об'єктами Windows, так і для рішення певних загально-системних задач. Наприклад, в бібліотеці є класи для керування файлами, рядками, часом, обробкою виключень і інші. По суті, в MFC представлені практично всі функції Windows API. У бібліотеці є засоби обробки повідомлень, діагностики помилок і інші засоби, звичні для додатків Windows.
Представлений набір функцій і класів відрізняється логічністю і повнотою. Бібліотека MFC відкриває доступ до всіх часто використовуваних функцій Windows API, включаючи функції управління вікнами додатків, повідомленнями, елементами управління, меню тощо.
Функції MFC легко вивчати. Фахівці Microsoft доклали всі зусилля для того, щоб імена функцій MFC і пов'язаних з ними параметрів були максимально близькі до їх еквівалентів з Windows API.
Завдяки цьому програмісти легко зможуть розібратися в їх призначенні.
Програмний код бібліотеки достатньо ефективний.
Швидкість виконання додатків, заснованих на MFC, буде приблизно такою ж, як і швидкість виконання додатків, написаних з використанням стандартних функцій Windows API, а додаткові витрати оперативної пам'яті будуть досить незначними.
MFC містить засоби автоматичного керування повідомленнями. Бібліотека MFC усуває необхідність в організації циклу обробки повідомлень — поширеного джерела помилок в Windows-додатках. У MFC передбачений автоматичний контроль за появою кожного повідомлення. Замість використовування стандартного блоку switch/case всі повідомлення Windows зв'язуються з функціями-членами, що виконують відповідну обробку.
MFC дозволяє організувати автоматичний контроль за виконанням функцій. Ця можливість реалізується за рахунок того, що можна записувати в окремий файл інформацію про різні об'єкти і контролювати значення змінних-членів об'єкту в зручному для розуміння форматі.
MFC має чіткий механізм обробки виняткових ситуацій. Бібліотека MFC булла розроблена так, щоб тримати під контролем появу таких ситуацій. Це дозволяє об'єктам МFC відновлювати роботу після появи помилок типу "outofmemory" (брак пам'яті), неправильного вибору команд меню або проблем із завантаженням файлів або ресурсів.
MFC забезпечує динамічне визначення типів об'єктів. Це надзвичайно могутній програмний засіб, що дозволяє відкласти перевірку типу динамічно створенного об'єкту до моменту виконання програми.
Завдяки цьому можна вільно маніпулювати об'єктами, не піклуючись про попередній опис типу даних.
Програміст звільняється від цілого етапу роботи, пов'язаного з типізацією об'єктів. MFC може використовуватися спільно з підпрограмами, написаними на мові С. Важливою особливістю бібліотеки MFC є те, що вона може "співіснувати" з додатками, заснованими на Windows API. У одній і тій же програмі програміст може використовувати класи MFC і викликати функції Windows API. Така прозорість середовища досягається за рахунок узгодженості програмних позначень в двох архітектурах. Іншими словами, файли заголовків, типи і глобальні константи MFC не конфліктують з іменами з Windows API. Ще одним ключовим моментом, що забезпечує таку взаємодію, є узгодженість механізмів управління пам'яттю.
MFC може бути використана для створення програм, що працюють в середовищі MS-DOS. Бібліотека MFC була створена спеціально для розробки додатків в середовищі Windows. В той же час багато класів надають об'єкти, часто використовувані для введення/виведення файлів і маніпулювання рядковими даними. Такі класи загального призначення можуть застосовуватися в додатках як Windows, так і MS-DOS.
Команди відладки викликаються з меню Debug. Вбудований відладчик дозволяє покроково виконувати програму, переглядати і змінювати значення змінних та багато іншого.
Точки зупинки застосовуються в програмі при необхідності перервати її виконання в певних місцях. Значення точок зупинки полягає у тому, що відладчик не витрачає часу на покрокове виконання програми аж до вказаної точки, після досягнення якої переходить в покроковий режим.
Точки зупинки найпростіше розставляти за допомогою кнопки Breakpoint панелі інструментів Build. Для цього достатньо встановити курсор на потрібному рядку програми і натиснути кнопкою миші на вказаній кнопці. Якщо ж виділений рядок вже містить точку зупинки, то вона буде видалена. При виборі команди Go програма виконуватиметься від поточного місцезнаходження курсора до найближчої точки зупинки.
Коли розпочинається процес відладки, з'являється панель інструментів Debug. З безлічі представлених на ній кнопок найчастіше задіюються StepInto і StepOver. У обох випадках програма буде запущена на виконання в покроковому режимі, а в тексті програми виділяється той рядок, який зараз буде виконаний. Відмінності між командами StepInto і StepOver виявляються тільки тоді, коли в програмі зустрічається виклик функції. Якщо вибрати команду StepInto, то відладчик увійде до функції і почне виконувати крок за кроком всі її оператори. При виборі команди StepOver відладчик виконає функцію як єдине ціле і перейде до рядка, наступного за викликом функції. Цю команду зручно застосовувати в тих випадках, коли в програмі робиться звернення до стандартної функції або створеної вами підпрограми, яка вже була протестована.
3 Постановка задачі
3.1 Математична постановка задачі
В даній курсовій роботі поставлене завдання: описати структуру likarnya, яка містить наступні поля:
а) прізвище, ім’я, по-батькові пацієнта;
б) номер реєстраційної картки пацієнта;
в) дата відвідування лікаря;
г) діагноз
Необхідно написати програму, що виконує наступні дії:
- введення з клавіатури даних в масив, що складається з п’яти елементів типу likarnya;
- вивести на екран дані про пацієнтів, чиє прізвище введене з клавіатури;
- вивести на екран інформацію про пацієнтів, які ініціалізовані в масив; - вибрати та вивести на екран інформацію про пацієнтів за датою прийому у лікаря;
- вибрати та вивести
на екран інформацію про
- якщо таких немає, видати відповідне повідомлення.
Програма повинна забезпечити вивід даних зручний для користувача та виконувати дії згідно отриманого завдання.
Далі буде проведено опис покрокового виконання даної задачі.
3.2 Створення алгоритму роботи програми (блок-схема)
Алгоритм — послідовність,
система, набір систематизованих правил
виконання обчислювального
Кожен алгоритм є списком добре визначених інструкцій для розв'язання задачі. Починаючи з початкового стану, інструкції алгоритму описують процес обчислення, які відбуваються через послідовність станів, які, зрештою, завершуються кінцевим станом. Перехід з одного стану до наступного не обов'язково детермінований — деякі алгоритми містять елементи випадковості.
В процесі розробки алгоритму можуть використовуватись різні способи його опису, які відрізняються за простотою, наочністю, компактністю, мірою формалізації, орієнтації на машинну реалізацію тощо.
Форми запису алгоритму: