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  


 

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

6876. Створення геоприв’язаної карти 3.87 MB
  Створення геоприв'язаної карти Однією з базових задач в роботі із супутниковими знімками, є прив'язка їх до існуючої карти, чи створення нової карти на основі супутникових зображень. В даній роботі ми розглянемо процес створення геоп...
6877. Ефект Холла. Визначення знаку носіїв струму, їх концентрації і рухливості у напівпровідниках і напівметалах за допомогою ефекту Холла 262.5 KB
  Ефект Холла Мета роботи: визначення знаку носіїв струму, їх концентрації і рухливості у напівпровідниках і напівметалах за допомогою ефекту Холла. Зміст роботи і завдання Ознайомитись із приладами, які використовуються в роботі. Виміряти...
6878. Дослідження характеристик дуги постійного струму 405 KB
  Дослідження характеристик дуги постійного струму 1 Мета роботи Метою роботи є ознайомлення з електричною дугою постійного струму, її статичними вольт-амперними і регулювальними характеристиками, умовами існування стаціонарного дугового розряду і виб...
6879. Дослідження діелектричних властивостей сегнетоелектриків 226.5 KB
  Дослідження діелектричних властивостей сегнетоелектриків Мета роботи: дослідження процесів, що відбуваються при поляризації сегнетоелектриків та визначення їх діелектричних характеристик. Зміст роботи і завдання. Ознайомитись з експериментальною у...
6880. Головне меню програми та MDI інтерфейс 74.18 KB
  Головне меню програми та MDI інтерфейс Хід роботи 1)Створив новий проект, додав 2 форми, розмістив необхідні компоненти на формах. Далі вказав головну батьківську форму...
6881. Побудова 3D-моделі рельєфа 1.21 MB
  Побудова 3D-моделі рельєфа. Одночасно відкриті в ENVI знімок та карта Використаємо створені на попередній лабораторній роботі файли карти для побудови тривимірної моделі поверхні. Для цього нам потрібна карта висот відповідної області...
6882. Магнітна індукція у феромагнетиках 215 KB
  Магнітна індукція у феромагнетиках Мета роботи: вивчення процесів, що відбуваються при намагнічуванні та перемагнічуванні тороидального феромагнітного сердечника. Зміст роботи і завдання 1. Ознайомитися з лабораторним макетом для зняття петель перем...
6883. Робота із мультиспектральними знімками. Класифікація 2.5 MB
  Робота із мультиспектральними знімками. Класифікація Більшість супутників, що проводять фотозйомку земної поверхні постачають дані не у вигляді кольорового зображення, а у вигляді декількох (інколи декількох десятків) монохромних зображень - по...
6884. Справочно-библиографический аппарат библиотеки 41.41 KB
  Справочно-библиографический аппарат библиотеки. Определение, состав и задачи справочно-библиографического аппарата (СБА) Согласно ГОСТ 7.26-80 Библиотечное дело. Основные термины и определения справочно-библиографический аппарат (СБА) библи...