17533

Реалізація розгалужених обчислювальних процесів в С++

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота №2 Реалізація розгалужених обчислювальних процесів. Мета роботи вивчити особливості використання: умовного оператора; стандартних математичних функцій. Умовний оператор Умовний оператор має наступний формат: ...

Украинкский

2013-07-04

109 KB

13 чел.

Лабораторна робота №2

Реалізація розгалужених обчислювальних процесів.

Мета роботи – вивчити особливості використання:

  •  умовного оператора;
  •  стандартних математичних функцій.

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

Умовний оператор має наступний формат:

if (<вираз>) <оператор1>;

[else <оператор2>;]

Виконання оператора if починається з обчислення <виразу>. Далі виконання здійснюється за наступною схемою:

  •  якщо <вираз> істиний (відмінний від 0), то виконується <оператор1>;
  •  якщо <вираз> хибний (дорівнює 0), то виконується <оператор2>;
  •  якщо <вираз> хибний і відсутній <оператор2> (у квадратні дужки вкладена необов'язкова конструкція), то виконується наступний за if оператор.

Після виконання оператора if значення передається на наступний оператор програми, якщо послідовність виконання операторів програми не буде примусово порушена використанням операторів переходу.

Наприклад,

if (i<j) i++;

else {j=i-3; i++;}

Цей приклад ілюструє також і той факт, що на місці <оператор1>, так само як і на місці <оператор2> можуть знаходитися складні конструкції.

Допускається використання вкладених операторів if: оператор if може бути включений у конструкцію if або в конструкцію else іншого оператора if. Щоб зробити програму більш читабельною, рекомендується групувати оператори і конструкції у вкладених операторах if, використовуючи фігурні дужки. Якщо ж фігурні дужки опущені, то компілятор зв'язує кожне ключове слово else  з найближчим до нього оператором if, для якого немає else. Наприклад,

   

 char ZNAC;

    int x,y,z;

     if (ZNAC = = '-') x = y - z;

         else  if (ZNAC = = '+') x = y + z;

                  else if (ZNAC == '*') x = y * z;

                          else if (ZNAC == '/') x = y / z;

                                  else ...

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

2.1 Математичні функції

Математичні функції мови С++ описані в бібліотеках stdlib.h (abs, labs) і  math.h (всі інші). Їх перелік наведений в табл. 1.5:

Таблиця 1.5 – Стандартні математичні функції

Функція

Опис

Тип значення, що повертається

1

abs

Модуль цілого числа

int

2

acos

Арккосинус числа

double

3

аsin

Арксинус числа

double

4

аtan

Арктангенс числа

double

5

atan2

Арктангенс відношення двох чисел

double

6

ceil

Округлення  числа до більшого

double

7

cos

Косинус числа

double

8

cosh

Гіперболічний косинус числа

double

9

exp

Обчислення ех

double

10

fabs

Модуль дробового числа

double

11

floor

Округлення числа до меншого

double

12

fmod

Модуль числа за основою

double

13

labs

Модуль числа типу long

long

14

log

Натуральний логарифм

double

15

log10

Логарифм за основою 10

double

16

pow

Піднесення числа до заданого ступеню

double

17

sin

Синус числа

double

18

sinh

Гіперболічний синус числа

double

19

sqrt

Добування квадратного кореня

double

20

tan

Тангенс числа

double

21

tanh

Гіперболічний тангенс числа

double

  1.  Завдання

  1.  Виконати завдання у відповідності із вибраним варіантом.

А ( +2 бала)

Ввести два дійсних , b) і одне ціле (c) число. Якщо число  с більше номера варіанта, то обчислити для числа а значення функції F1, інакше обчислити для нього значення функції F2. Використовуючи числа а і b обчислити функцію F3. Вивести на екран введені числа, номер варіанта та значення обчислених функцій (значення варіанта задавати константою).

Функції F1, F2, F3 задані в таблиці відповідно до варіанта.

Варіант

F1

F2

F3

1

atan

floor

atan2

2

atan

log

atan2

3

tan

sqrt

pow

4

acos

log10

fmod

5

asin

exp

pow

6

tan

ceil

pow

7

sin

log

atan2

8

acos

fabs

fmod

9

atan

exp

atan2

10

asin

sqrt

pow

11

asin

floor

pow

12

sinh

fabs

fmod

13

tanh

ceil

atan2

14

asin

fabs

pow

15

cos

fabs

fmod

В(+3 бала)

  1.  Написати програму,  яка запрошує у користувача номер дня  тижня  і  виводить одне  з повідомлень:   
    "Робочий день","Субота" АБО "Неділя".
  2.  Напишіть програму, яка запрошує у користувача номер місяця і  виводить відповідну назву пори  року.   У випадку, якщо  користувач  введе недопустиме число, програма повинна вивести повідомлення "Помилка   введення даних".
  3.  Написати програму, яка після введеного з клавіатури числа,  що позначає грошову одиницю, дописує слово "гривня" в правильній формі. Наприклад,
    0 гривень, 11 гривня, 3 гривни і так далі
  4.  Написати програму обчислення  площі трикутника за формулою Герона. Сторони a, b c вводить користувач. Якщо трикутник зі сторонами  a, b c не існує, вивести відповідне повідомлення.





  5.  Написати програму, яка обчислює  вік користувача, який вводить  свій рік народження і видає рекомендацію що до  часу роботи за комп’ютером:  якщо вік менше 7,  сидіти за комп’ютером не більше 0,5 години, якщо більше 7 і менше 15, то не більше 1 години, в решті випадків – не більше 4 годин в день.

  1.  Написати програму, яка після введеного з клавіатури числа,  що позначає кількість котів, дописує слово "кіт" в правильній формі. Наприклад,
    12 котів, 1 кіт, 3 кота і так далі.
  2.  Написати програму, яка обчислює оптимальну вагу для користувача, порівнює її із реальною і видає рекомендацію про необхідність набрати вагу або схуднути. Оптимальна вага обчислюється за формулою:  Зріст (см) — 100.  
  3.  Написати програму, яка обчислює  вік користувача, який вводить  свій рік народження і видає рекомендацію що до  часу занять спортом:  якщо вік менше 40,  пробігати 6км в день,  якщо більше 40 і менше 55, то пробігати 4км в день, в решті випадків – не більше 2км в день.
  4.  Визначити, чи можна побудувати трикутник по заданим довжинам сторін a, b, c. Якщо побудова можлива, то визначити тип трикутника: прямокутний, тупокутний, гострокутний, рівносторонній, рівнобедрений і т.п
  5.  Визначити коріння  квадратного рівняння.
  6.  Задано координати трьох точок. Визначити, чи визначають ці  точки трикутник.
  7.  Визначити, у якому відношенні розбиває задана точка заданий відрізок.
  8.  Дано координати трьох точок площини. Перевірити, чи утворять вони прямокутний трикутник.
  9.  По заданим координатам трикутника на площі визначити довжини його сторін.
  10.  

Використовуючи теорему синусів, визначити по заданих довжинах сторін трикутника величини його кутів.

де a, b, c - сторони трикутника, α, β, γ - відповідно противолежащие їм кути, а R- радіус кола, описаного навколо трикутника.

  1.  Контрольні питання

  1.  У чому різниця між функціями abs і fabs?
    1.  Чи може бути if без else?
    2.  Чи може бути else без if?
    3.  Наведіть приклади використання вкладених операторів if
    4.  Чи обов'язково в програмі повинна бути функція  main?

PAGE  6


EMBED Equation.3  


 

А также другие работы, которые могут Вас заинтересовать

17435. Ознайомлення з роботою широтно-імпульсного модулятора 248.5 KB
  Мета роботи :Ознайомлення з роботою широтноімпульсного модулятора. Теоретичні відомості Широтноімпульсна модуляція ШІМ англ. Pulsewidth modulation PWM наближення бажаного сигналу багаторівневого або неперервного до дійсних бінарних сигналів таким чином щоби в середнь...
17436. Ознайомлення з принципом роботи частотомірів 701 KB
  Мета роботи Ознайомлення з принципом роботи частотомірів Теоретичні відомості Вимірювання частоти та періоду сигналів по методу прямого перетворення базується на реалізації двох операцій: перетворенні вимірюваного сигналу в послідовність дискретних імпульсів ц
17437. Ознайомлення з принципом роботи аналого-цифрових перетворювачів порозрядного зрівноваження 402 KB
  Мета роботи :Ознайомлення з принципом роботи аналогоцифрових перетворювачів порозрядного зрівноваження. Теоретичні відомості Аналогоцифрове перетворення використовується для обробки зберігання або передачі аналогових сигнал в цифровій формі. Наприклад швидкі в
17438. Ознайомлення з роботою систем автоматичного регулювання зі зворотнім зв’язком 198 KB
  Мета роботи:Ознайомлення з роботою систем автоматичного регулювання зі зворотнім звязком. Теоретичні відомості Значні обчислювальні та логічні можливості ЕОМ визначають їх використання для керування автоматизованими обєктами. Інтегральні пристрої цифрового опр
17439. Поняття Колективного несвідомого та архетипу в концепції К. Юнга 23.87 KB
  Поняття Колективного несвідомого та архетипу в концепції К. Юнга Аналітична психологія один з видів аналізу особистості засновником якого є швейцарський психолог і культуролог К. Г. Юнг. Цей напрямок близький до психоаналізу однак має істотні відмінності. Його
17440. Основні етапи розвитку позитивізму 20.68 KB
  Основні етапи розвитку позитивізму Незвичайність новітніх наукових відкриттів гостро поставила питання про природу наукових понять співвідношення чуттєвого і раціонального моментів пізнання емпіричного і теоретичного знання про істину та її критерії законом...
17441. Головні ідеї Філософії життя Ф. Ніцше 17.6 KB
  Головні ідеї Філософії життя Ф. Ніцше Наприкінці XIX у першій половині XX ст. в Європі набула популярності філософія життя найпомітнішими представниками якої були Ф. Ніцше З. Фрейд А. Бергсон які відійшли від онтологічної та характерної для класичної філософії гн...
17442. Інтуїтивізм А. Бергсона 16.86 KB
  Інтуїтивізм А. Бергсона Один із філософських напрямів кінця XIX початку XX століть інтуїтивізм пов'язаний передусім з іменем видатного французького філософа лауреата Нобелівської премії Анрі Бергсона 18591941. Інтуїтивізм Бергсона складна суперечлива т...
17443. Характеристика напрямків філософії XX ст. 29.75 KB
  Характеристика напрямків філософії XX ст. Початок XX століття ознаменувався революційними змінами в науці відкриттям атома й електрона побудовою теорії відносності та квантової механіки а також становленню психології фрейдизму. На початку століття інтен