Зміст
Стор.
1.Завдання………………………………………………………………2
2.Вступ………………………………………………………………….3
3.Опис мови програмування С++……………………………………..5
4.Розрахунок та розробка програми…………………………………18
5.Висновки…………………………………………………………….22
6. Перелік використаних літературних джерел…………………….23
Завдання
Скласти програму, яка моделює заповнення гнучкого диска. В процесі роботи файли можуть записуватися на диск і віддалятися з нього. Файли можуть мати довільну довжину. Якщо при видаленні утворилася вільна ділянка, то знов записуваний файл поміщається на цій вільній ділянці, або, якщо він не поміщається на цій ділянці, то його слід розмістити після останнього записаного файлу. Якщо файл перевершує довжину найбільшої ділянки, видається аварійне повідомлення. Рекомендується створити список вільних ділянок і список зайнятих ділянок пам'яті на диску.
Вступ
Важливим етапом в розвитку програмування стало створення і широке розповсюдження мови С++. Ця мова, зберігши засоби, стала загальновизнаним стандартом для написання системних і прикладних програм мови С (процедурно-орієнтована мова), ввела в практику програмування можливості нового технологічного підходу до розробки програмного забезпечення, що одержало назву "об'єктно-орієнтоване програмування". Упровадження в практику програмування об'єктно-орієнтованої парадигми дає розвиток нових областей інформатики, значне підвищення рівня технологічності створюваних програмних засобів, скорочення витрат на розробку і впровадження програм, їх повторне використання, залучення в процес розширення інтелектуальних можливостей ЕОМ. Об'єктний підхід інформаційного моделювання наочних областей все більш успішно застосовується як основа для структуризації їх інформаційних віддзеркалень і, зокрема, баз знань.
С++ - це мова програмування загального призначення, добре відома своєю ефективністю, економічністю. Вказані переваги С++ забезпечують хорошу якість розробки майже будь-якого виду програмного продукту. Використання С++ як інструментальної мови дозволяє одержувати швидкі і компактні програми. У багатьох випадках програми, написані на С++, порівнянні за швидкістю з програмами, написаними на мові асемблера.
Перерахуємо деякі істотні особливості мови С++:
С++ забезпечує повний набір операторів структурного програмування;
С++ пропонує незвичайно великий набір операцій. Багато операцій С++ відповідають машинним командам і тому допускають пряму трансляцію в машинний код. Різноманітність операцій дозволяє вибирати їх різні набори для мінімізації результуючого коду;
С++ підтримує покажчики на змінні і функції. Покажчик на об'єкт програми відповідає машинній адресі цього об'єкту. За допомогою розумного використання покажчиків можна створювати ефективно виконувані програми, оскільки покажчики дозволяють посилатися на об'єкти тим же самим шляхом, як це робить ЕОМ. С++ підтримує арифметику покажчиків, і тим самим дозволяє здійснювати безпосередній доступ і маніпуляції з адресами пам'яті.
Проте, слід зазначити, що переваги мови С++ стають очевидними при реалізації великих програмних проектів.
1 ОСНОВНІ ПОНЯТТЯ МОВИ С++
1.1Функція Main
Кожна програма написана на мові С++ повинна містити функцію main.
Тіло функції main, береться у фігурні дужки { }.
Загальна структура функції main така:
main()
{
/* Код, реалізуючий main */
}
1.2 Коментарі
Текст на С++, укладений в дужки /* і */, компілятором ігнорується. Коментарі служать двом цілям: документувати код і полегшити відладку. Якщо програма працює не так, як треба, то іноді виявляється корисним закоментувати частину коду (тобто винести її в коментар), наново скомпілювати програму і виконати її. Якщо після цього програма почне працювати правильно, то значить, закоментований код містить помилку і повинен бути виправлений.
1.3 Директиви Include
У більшість програм на С++ підставляються один або декілька файлів, в основному в самий початок коду головної функції main.
Поява директив
#include <файл_1>
#include "файл_2"
...
#include <файл_n>
призводить до того, що препроцесор підставляє на місце цих директив тексти файлів файл_1, файл_2 ..., файл_n відповідно.
Якщо ім'я файлу укладено в кутові дужки <...>, то пошук файлу проводиться в спеціальному розділі файлів, що підставляються. На відміну від багатьох інших операторів С++ директива Include не повинна закінчуватися крапкою з комою.
1.4 Макро
За допомогою директиви #define, вслід за якою пишуться ім'я макро і значення макро, виявляється можливим вказати препроцесору, щоб він при будь-якій появі в початковому файлі на С++ даного імені макро замінював це ім'я на відповідні значення макро.
Наприклад, директива
#define pi 3.1415926
зв'язує ідентифікатор pi із значенням 3.1415926. Після значення макро (;) не ставиться.
1. 5 Типи даних
У С++ змінні повинні бути описані, а їх тип специфіковані до того, як ці змінні будуть використані.
При описі змінних застосовується префіксний запис, при якому спочатку вказується тип, а потім - ім'я змінної.
Наприклад:
float weight;
int exam_score;
char ch;
Змінні можна ініціалізувати в місці їх описів.
Приклад:
int height = 71 ;
2 ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ
2.1 Класи
Визначення типу, що визначається користувачем (який в C++ називається class, тобто клас), специфікує дані, необхідні для представлення об'єкту цього типу, і безліч операцій для роботи з цими об'єктами. Визначення має дві частини: закриту (private) частину, що містить інформацію, якою може користуватися тільки його розробник, і відкриту (public) частину, що представляє інтерфейс типу з користувачем:
class ostream {
streambuf* buf;
int state;
public:
void put(char*);
void put(long);
void put(double);
}
Описи після мітки public задають інтерфейс: користувач може звертатися тільки до трьох функцій put(). Описи перед міткою public задають представлення об'єкту класу ostream; імена buf і state можуть використовуватися тільки функціями put(), описаними в відкритій частини.
Class визначає тип, а не об'єкт даних, тому щоб використовувати ostream, ми повинні один такий об'єкт описати (так само як ми описуємо змінні типу int):
ostream my_out;
Вважаючи, що my_out був