ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.08.2020

Просмотров: 327

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рядок

cout<<"Моя перша програма мовою С++! \n";

задає команду компютеру вивести на екран рядок символів, поміщених в подвійні лапки. Ця команда має вигляд оператора виведення, який складається з ідентифікатора об’єкта стандартного потоку виведення cout, операції << , рядка “Моя перша програма мовою С++!” та символа крапки з комою ; , який є ознакою завершення оператора. Кожний оператор в С++ повинен закінчуватися цим символом. Будь-яке введення/виведення в С++ виконується над потоками символів. Таким чином, виконання даного оператора виведення полягає у передачі потоку символів “Моя перша програма мовою С++!” об’єкту стандартного потоку виведення cout, який асоціюється з екраном монітора.

Операція << називається помістити в потік. Ця операція має два операнди (те над чим виконується операція): зліва - об’єкт cout, справа – рядок символів (стрічкова константа або літерал). Символи цього літералу виводяться на екран в точності так як вони записані між подвійними лапками (які до речі в С++ є ознакою стрічкової константи). Однак, якщо виконати цю програму, то можна побачити, що символи \n з даного літералу не виводяться на екран. Символ \ (обернений слеш) називається символом переходу або escape-символом. Він позначає собою початок так званої керуючої послідовності або escape-послідовності, яка задає виведення певного спеціального символу. У нашому випадку керуюча послідовність \n означає початок нового рядка і викликає переміщення курсора (тобто індикатора поточної позиції на екрані) на початок наступного рядка на екрані. Деякі інші, найчастіше вживані escape-послідовності наведені в табл.1.

Таблиця 1. Деякі керуючі послідовності

Керуюча послідовність

Опис призначення

\n

Новий рядок, курсор встановлюється на початок нового рядка

\t

Горизонтальна табуляція, курсор встановлюється на наступну позицію табуляції

\r

Повернення каретки, курсор встановлюється на початок поточного рядка

\\

Друк символа \

\”

Друк символа


Рядком

return 0;

має завершуватися функція main(), якщо вона має тип результату відмінний від void. Відсутність типу результату функції main() в заголовку означає, що вона повертає результат типу int за замовчуванням. Сам оператор return вказує на вихід з функції (тобто на завершення виконання функції), причому значення 0 означає, що функція main(), а отже і сама програма, завершилася успішно.

2.5. Операції в мові С++

На даному етапі вивчення мови С++ відомі нам елементарні операції можна поділити на три групи:

1) арифметичні операції;

2) операції порівняння;

3) операція присвоєння.

Арифметичні операції: додавання +, віднімання ‑, множення *, ділення /, залишок від ділення % виконуються над операндами цілого або дійсного типу. Наприклад, 2+7 результат 9 цілого типу, 2.5+7=9.5 – результат дійсного типу. До операції ділення в мові C++ потрібно відноситись дуже уважно. Якщо обидва операнди цілого типу, то і результат буде цілого типу, тому в результаті виконання оператора S=2/5; змінній S присвоїться значення 0, щоб одержати правильний результат необхідно щоб хоча б один операнд був дійсного типу, тобто S=2.0 /5.0; Операція % виконується тільки над операндами цілого типу.


5

2



4

2

5/ 2 = 2 (ціле частина)

1

5 % 2 = 1 (остача)


Перераховані вище операції є бінарними, оскільки вони мають два операнди. Крім них у мові С++ є специфічні унарні операції (тобто такі які мають лише один операнд) інкременту ++ та декрименту --. Інкрементна операція ++ збільшує значення свого операнда на 1. Оператор n++; аналогічний такому оператору: n=n+1; Декриментна операція -- віднімає 1 від поточного значення свого операнда. Розрізняють дві форми запису цих операцій:

  1. префіксну ++n - змінна n збільшується на 1 до того, як використовується у виразі;

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

Для демонстрації виконання цих операцій виконайте таку програму:

# include <iostream>


main()

{

using namespace std;


int a=1, b=1;

int aplus, plusb;


aplus=a++;

plusb=++b

cout<<“a=”<<a<<” aplus=”<<aplus<<endl;

cout<<”b=”<<b<<” plusb=”<<plusb;

}

В результаті виконання цієї програми одержимо: a=2 aplus=1

b=1 plusb=2

Значення а збільшилось на 1 після того як виконалась операція присвоєння. Значення b спочатку збільшилось на 1, а тоді виконалась операція присвоєння.

Операції порівняння : менше або рівне <=, більше >, менше <, більше або рівне>=, рівне == та нерівне != можуть виконуватись над операндами будь-якого однакового типу. У мові С++ результатом виконання операцій порівняння є значення 1 (відповідає логічному значенню TRUE в мові Паскаль), якщо операція істинна, і значення 0 (відповідає логічному значенню FALSE в мові Паскаль), якщо операція хибна.

Операція присвоєння: на відміну від більшості інших мов програмування високого рівня присвоєння в С++ розглядається як бінарна операція =. У найпростішому випадку операція присвоєння має вигляд <змінна>=<вираз>; і полягає у тому, що змінній (лівий операнд) присвоюється значення, яке є результатом обчислення виразу (правий операнд).

Розглянуті вище операції можна звести в одну таблицю 2.

Таблиця 2. Елементарні опреації мови С++

Назва операції

Операція в С++

Алгебраїчний вираз

Вираз мовою С++

Додавання

+

a+5

a+5

Віднімання

-

x-y

x-y

Множення

*

abc

a*b*c

Ділення

/

z/2

Остача від ділення

%

a mod 2

a%2

Інкремент

++

a+1

a++

Декремент

--

k-1

k--

Рівність

==

x=y

x==y

Нерівність

!=

x y

x!=y

Більше

>

x>y

x>y

Менше

<

x<y

x<y

Більше або рівне

>=

x y

x>=y

Менше або рівне

<=

x y

x<=y

Присвоєння

=

a=b+c

a=b+c


При використанні операцій важливе значення відіграють пріоритет (старшинство) та асоціативність (порядок виконання) операцій. Для тих операцій з якими ми вже познайомилися групування за старшинством (в порядку спадання пріоритету) наведено у таблиці 3.


Таблиця 3. Пріоритет та асоціативність операцій

Операція

Асоціативність

()

Зліва направо

++ --

Справа наліво

* / %

Зліва направо

+ -

Зліва направо

< <= > >=

Зліва направо

== !=

Зліва направо

<< >>

Зліва направо

=

Справа наліво

Зауважимо, що круглі дужки ( ) у виразах мови С++ розглядається як операція взяти в дужки.

2.6. Стандартні функції

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

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

При виклику стандартної функції слід вказатиїї ім’я і в дужках її аргумент.

Перелік основних математичних функцій з стандартної бібліотеки мови С++, з описом типу аргументів і результату приведено в таблиці 4.

Таблиця 4. Основні математичні функції мови С++

Ім’я функції

Математичний запис

Тип і межі зміни аргументів

Тип результату

sin(x)

sin x

double

double

cos(x)

cos x

double

double

tan(x)

tg x

double

double

asin(x)

arcsin x

double x[-1,1]

[-/2,/2]

acos(x)

arccos x

x[-1,1]

[0,]

atan(x)

arctg x

x[-/2,/2]

double

sinh(x)

sh x

double

double

cosh(x)

ch x

double

double

tanh(x)

th x

double

double

exp(x)

ex

double

double

log(x)

ln x

x>0

double

log10(x)

lg x

x>0

double

pow(x,y)

xy

x0; y>0

double

sqrt(x)

x0

double

fabs(x)

|x|

double

double

ldexp(x,n)

x . 2n

x-double, n-int

double

fmod(x,y)

Залишок від ділення дійсних чисел х на у

double

double



2.7. Приклад програми обчислення математичних виразів мовою С++

Написати програму для обчислення виразу: Y=sin( - lg (4x))3. Значення x ввести з клавіатури, результат y вивести на екран.

Програма матиме такий вигляд:

# include <iostream>

# include <conio.h>

# include <math.h>


void main()

{

using namespace std;


double x, y;


cout<<”Enter x:”<<endl;

cin>>x;

y=pow(sin(sqrt(2*x)-log10(4*x)),3);

cout<<”x=”<<x<<” y=”<<y<<endl;

_getch();

}



3. КОНТРОЛЬНІ ЗАПИТАННЯ

  1. Що таке ідентифікатор? Які правила запису ідентифікаторів?

  2. Що таке змінна? Для чого використовуються змінні? Яка відмінність змінної від константи?

  3. Які є форми запису дійсних чисел у мові С++?

  4. Які прості типи даних мови С++ Ви знаєте? Які кваліфікатори можна до них застосовувати?

  5. Чому в програмах доцільно використовувати коментарі? Які є типи коментарів в С++?

  6. Опишіть коротко структуру програми мовою С++.

  7. Як здійснюється виведення на екран в мові С++?

  8. Що таке керуюча послідовність? Наведіть приклади цих послідовностей.

  9. Які операції в мові С++ Ви знаєте?

  10. Які є форми запису операцій інкременту та декременту? Яка між ними різниця?

  11. Що таке пріоритет виконання операцій? Перерахуйте відомі Вам операції мови С++ в порядку зростання старшинства?

  12. Що таке бібліотека стандартних функцій? Для чого вони використовуються?


4. ЛАБОРАТОРНЕ ЗАВДАННЯ

  1. Ознайомитися з теоретичним матеріалом викладеним вище в даній інструкції і виконати приклади програм.

  2. Одержати індивідуальне завдання.

  3. Скласти програму на мові С++ у відповідності із завданням.

  4. Виконати обчислення по програмі.

  5. Підготувати та здати звіт про виконання лабораторної роботи.

5. СПИСОК ЛІТЕРАТУРИ

  1. Керниган Б., Ритчи Д. Язык программирования С. - М. - Финансы и статистика. - 1992. – 272 с.

  2. Уэйт М., Прата С., Мартин Д. Язык С. Руководство для начинающих. - М. - Мир. - 1988. –512 с.

  3. К. Джамса. Учимся программировать на языке С++. М.: Мир, 1997. – 320 с

  4. Герберт Шилдт. Полный справочник по C++. М. – С.-П.-К., Вильямс. – 2003. – 800 с.

  5. Демидович Е. М. Основы алгоритмизации и программирования. Язык Си. (Учебное пособие). – Санкт-Петербург: “БХВ Петербург”. – 2006. – 439 с.

6. ІНДИВІДУАЛЬНІ ЗАВДАННЯ

Написати програму для обчислення заданих арифметичних виразів. Вважати, що X, Y – змінні, значення яких слід вводити з клавіатури, всі інші величини виразу описати як константи.

  1. де: х=5.2, у=6, z = -2

  2. U = (cos x+sin x), де: x = 3.2

  3. Ti = , де: x = 0.49

  4. z = + 0.2x де: x = 6.4

  5. c = , де: x = 2, a = 3, p = 6, b = 2

  6. w = , де: x = 2.6, k = 2

  7. s = , де: x = 2.6, y = 7.3, b = 2.1

  8. a = 2-x , де: x = 3.981, y = -1,625

  9. b = , де: x = 3.981, z = 0.512

  10. z = , де: x = 3.251, y = 0.325, a = 2

  11. a = , де: x = 17.421, y = 10.365

  12. b = x(arctg z+e-(x+3)), де: x = -0.622, z = 5.541

  13. b = x(sin arctg x +cos2y), де: x = 0.335, y = 0.025, z = 32.005

  14. b = , де: x = 0.100, y = -0.875, z = 0.765

  15. a = , де: x = 1.542, y = -3.261, z = 80.005

  16. a = , де: x = -0.851, y = 1.250

  17. a = , де: x = 1.825, y = 18.225

  18. a = , де: x = 16.55, y = -2.75

  19. b = (arcsin z)2+|x+y|, де: x = 16.55, y = -2.75, z = 0.15

  20. a = , де: x = 37.15, y =-12.55

  21. b = , де: u = 125.331, v = 33.075

  22. a = , де: x = 0.22, y = -6.72

  23. b =, де: u = 10.05, v = 0.35

  24. Q =, де: x = -12.650, y = -2.255, u = 3.205

  25. b = , де: x = -17.22, y = 6.33, z = 3.25

11