Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Теоретичні відомості. Програма мовою С++ складається з проекту до складу якого входять:




Програма мовою С++ складається з проекту до складу якого входять:

- файл проекту Project1.bpr,

- файл форми Unit1.dfm,

- головного файлу проекту Project1.cpp, записаного мовою С++, який підключає всі форми проекту, ресурси і основну функцію обробки проекту WinMain(),

- файл програми записаної мовою С++ Unit1.cpp,

- заготовочний файл Unit1.h,

- об’єктний файл Project1.obj,

- об’єктний файл Unit1.obj,

- файл ресурсів Project1.res,

- файл додатку Project1.exe (виконуючий файл в середовищі Windows).

Як правило, програми будуються за принципом модульності і складаються з множини модулів. Принцип модульності надає можливість:

1) створення надійних додатків,

2) відносно легко коректувати тексти програм.

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

Всі об’єкти компонентів розміщуються на об’єктах - формах. Для кожної форми, яка проектується, С++ Builder створює окремий модуль. Саме в модулях і відбувається програмування задачі. В обробниках подій об’єктів розміщаються алгоритми.

До складу файлу реалізації входять: опис даних (табл.1.1), операції (табл.1.2), оператори, стандартні функції (табл.1.3) та функції користувача, тобто лексичні одиниці.

Для виконання програми слід підготувати її текст, який зберігається у файлі з розширенням .срр. Цей файл передається на компілювання та усунення синтаксичних помилок, виявлених компілятором. Якщо у файлі після компіляції немає помилок, то створюється об’єктний файл з розширенням .obj, який доповнюється бібліотечними функціями – процес компонування. У результаті цього створюється виконуючий файл програми з розширенням .exe. Схему створення виконуючого модуля наведено на рис.1.1.

Основні функції, які потрібні для роботи у С++ зведені в бібліотеку, затверджену ANSI як стандарт. Бібліотека ділиться на групи функції, наприклад, функції введення-виведення, математичні функції (табл.1.3) і т. ін. Виклик потрібної для використання в конкретній програмі групи функцій виконується завдяки директиві препроцесора #include за існуючим форматом: #include < ім’я_файла.розширення >, де ім’я_файла. розширення – ім’я файла для групи функцій. Директива #include розміщується на початку програми і записується з першої позиції рядка.

 

Таблиця 1.1 - Основні типи даних

 

Формат Біт Діапазон значень Назва типу
Цілі числа
int   -32 768…32 767 Ціле
short int   -32 768…32 767 Коротке ціле
unsigned int   0…65 535 Ціле додатне
long   -2 147 483 648…2 147 483 647 Довге ціле
unsigned long   0…4 294 967 295 Довге ціле додатне
Дробові числа
float   3.4Е-38...3,4Е+38 Дробове
double   1.7Е-308...1.7Е+308 Дробове з подвійною точністю
long double   3.4Е-4932...3.4Е+4932 Довге дробове з подвійною точністю
Символи
unsigned char   0…255 Символ
char   -127…127 Символ
Рядки символів
char * Залежить від кількості символів у рядку (масив символів)
AnsiString Залежить від кількості символів у рядку (масив символів)

 
*.cpp      
       
    *.h  
       
       
       
       
       
*.obj   *.lib  
       
       
       
  *.exe      
       

 

Текст програми
Препроцесор
Файли, які підключаються
Повний текст програми
Компілятор
Об’єктний код програми
Компонувальник
Бібліотечні функції
Виконуюча програма

Рисунок 1.1 - Схема підготовки виконуючої програми (.exe - файлу)

 


Таблиця 1.2 - Операції мови С++

Операція Назва Приклад Особливості
       
Арифметичні
+ Додавання a+b  
- Віднімання a-b  
* Множення a*b  
/ Ділення a/b Ділення цілих – результат ціле, дробова частина відкидається. Ділення дробових – результат дробовий
% Залишок від ділення цілих чисел a%b Знак залишку співпадає зі знаком чисельника
++ Інкремент (збільшення на 1) ++a або а++ Перший випадок – a збільшити на 1, а потім виконати дії. Другий – виконати дії, а потім збільшити на 1
-- Декремент (зменшення на 1) --a або а-- Перший випадок – a зменшити на 1, а потім виконати дії. Другий – виконати дії, а потім зменшити на 1
Логічні
&& І (логічне множення) a&&b Результат типу int, якщо дорівнює 0 – хибно, 1 – істина (таблиці істинності)
|| АБО (логічне додавання) a||b - ‘’-
! НЕ (логічне заперечення) !a - ‘’-
Відношення (порівняльні)
= = Дорівнює a= =b Результат типу int, якщо дорівнює 0 – умова не виконується, інакше 1
!= Не дорівнює a!=b - ‘’-
> Більше a>b - ‘’-
< Менше a<b - ‘’-
>= Не менше a>=b - ‘’-
<= Не більше a<=b - ‘’-
Бітові
& I (кон’юнкція) 7&5=5 Результат отримується за таблицями істинності
| АБО (диз’юнкція) 7|5=7 - ‘’-
^ Подвійне АБО 7^5=2 - ‘’-
~ Заперечення ~6=1 - ‘’-
Присвоєння
= Присвоєння a=b Перетворення даних до одного типу відбувається автоматично
+= Присвоєння суми a+=b a=a+b. Тип short перетворюється в long із збереженням значення. Тип long у short з втратою старших бітів. Тип float y int з відкиданням дробової частини
- = Присвоєння різниці a-=b a=a-b. – ‘’ -
* = Присвоєння добутку a*=b a=a*b. – ‘’ -
/= Присвоєння частки a/=b a=a/b. – ‘’ -
%= Присвоєння залишку від ділення a%=b a=a%b. – ‘’ -

 

Оператори мови С++

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

Синтаксис:;

 

2. Складовий оператор (блок).

Синтаксис:

{

[<оператор 1>] [ ] – дії вказані в квадратних дужках не обов’язкові;

... < >– дії вказані в кутових дужках виконуються обов’язково.

[<оператор N>] }

 

3. Оператор вираз.

Синтаксис: <вираз>;

 

4. Умовний оператор if.

Синтаксис: if(<вираз>)

<оператор 1>

[ else

<оператор 2>]

 

5. Оператор покрокового циклу for.

Синтаксис:

for([<початковий вираз>]; [<умовний вираз>]; [<вираз збільшення чи зменшення>])

<оператор>

 

6. Оператор циклу з передумовою while.

Синтаксис: while (<вираз>)

<оператор>

 

7. Оператор цикла з постумовою do.

Синтаксис: do

<оператор>

while (<вираз>);

 

8. Оператор продовження continue.

Синтаксис: continue

9. Оператор-перемикач switch.

Синтаксис: switch(<вираз>)

{[case <константний вираз>:]

[<оператор>]

...

[case <константний вираз>:]

[<оператор>]

[ default:

<оператор>] }

 

10. Оператор розриву break.

Синтаксис: break;

 

11. Оператор переходу goto.

Синтаксис: goto <мітка>;

...

<мітка>:<оператор>

 

12. Оператор повернення return.

Синтаксис: return [<вираз>]

 

Таблиця 1.3 - Математичні функції

 

Назва функції Призначення Прототип (тип, який повертає функція, назва, аргументи)
     
abs Модуль цілого числа x int abs (int x)
acos Арккосинус кута x double acos (double x)
asin Арксинус кута x double asin (double x)
atan Арктангенс кута x double atan (double x)
atan2 Арктангенс кута y/x double atan2 (double y, double x)
ceil Знаходження найменшого цілого, яке більше чи дорівнює х double ceil (double x)
cos Косинус кута x double cos (double x)
cosh Гіперболічний косинус double cosh (double x)
exp Експонента (число е в степені х) double exp (double x)
fabs Абсолютне значення аргумента типу double double fabs (double x)
fmod Знаходження залишку від ділення x/y double fmod (double x, double y)
log Обчислення натурального логарифма double log (double x)
log10 Обчислення логарифма за основою 10 double log10(double x)
pow Обчислення x в степені y double pow (double x, double y)
rand Повертає випадкове ціле число в діапазоні від 0 до деякого максимального значення int rand (void)
sin Синус кута х double sin (double x)
sinh Гіперболічний синус double sinh (double x)
sqrt Квадратний корінь х double sqrt (double x)
tan Тангенс кута х double tan (double x)
tanh Гіперболічний тангенс double tanh (double x)
       



Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 346; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.