Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_вказівки_на_23_12_2013.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

3.Теоретичні відомості

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

  • файл проекту 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

16

-32 768…32 767

Ціле

short int

16

-32 768…32 767

Коротке ціле

unsigned int

16

0…65 535

Ціле додатне

long

32

-2 147 483 648…2 147 483 647

Довге ціле

unsigned long

32

0…4 294 967 295

Довге ціле додатне

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

float

32

3.4Е-38...3,4Е+38

Дробове

double

64

1.7Е-308...1.7Е+308

Дробове з подвійною точністю

long double

80

3.4Е-4932...3.4Е+4932

Довге дробове з подвійною точністю

Символи

unsigned char

8

0…255

Символ

char

8

-127…127

Символ

Рядки символів

char *

Залежить від кількості символів у рядку (масив символів)

AnsiString

Залежить від кількості символів у рядку (масив символів)

Р

*.cpp

*.h

*.obj

*.lib

*.exe

Блок-схема: альтернативный процесс 9 Блок-схема: процесс 11 Блок-схема: альтернативный процесс 13 Блок-схема: альтернативный процесс 14 Блок-схема: процесс 16 Блок-схема: альтернативный процесс 2 Блок-схема: процесс 6 Блок-схема: альтернативный процесс 3 Блок-схема: альтернативный процесс 8 Прямая соединительная линия 10 Прямая соединительная линия 12 Прямая соединительная линия 15 Прямая соединительная линия 18 Прямая соединительная линия 5 Прямая соединительная линия 4 исунок 1.1 - Схема підготовки виконуючої програми (.exe - файлу)

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

Операція

Назва

Приклад

Особливості

1

2

3

4

Арифметичні

+

Додавання

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 - Математичні функції

Назва функції

Призначення

Прототип

(тип, який повертає функція, назва, аргументи)

1

2

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)