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  


 

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

77696. Перпендикулярная запись, гибридные накопители и прочие технологии 68 KB
  Направление эволюции С момента появления первых жестких дисков и до недавних пор совершенствование винчестеров в основном двигалось в одном направлении – в сторону увеличения плотности записи просто методом масштабирования. Вполне возможно эволюция протекала бы в подобном ключе и до сегодняшнего дня однако в дело вмешалась сама природа поставив на пути дальнейшего роста плотности записи так называемый эффект супермагнетизма. Таким образом чем больше магнитных частиц можно втиснуть на один квадратный дюйм поверхности тем большей окажется...
77697. Индустрия жестких дисков: тенденции 155 KB
  Создание IBM RAMAC, первой коммерческой системы с произвольным доступом к данным, считается официальным рождением жесткого диска. За время, прошедшее с этого момента, индустрия сделала гигантский шаг вперед. Судите сами: объем накопителей увеличился примерно в 200 тыс. раз, их удельная стоимость — в 25 млн, а поверхностная плотность записи — в 75 млн раз
77700. Управление дисками и томами в Windows 2000/XP 609.5 KB
  Оснастка Управление дисками заменившая служебную программу Администратор дисков которая использовалась в Windows NT 4. При помощи оснастки Управление дисками можно управлять удаленными компьютерами на которых запущена операционная система Windows 2000 или Windows XP на которых вы являетесь участником группы Администраторы. Типы разделов и запоминающих устройств В Windows 2000 и Windows XP Professionl используются два типа запоминающих устройств: базовый диск и динамический диск.
77701. Компакт-диск как носитель информации. CD-ROM 1.56 MB
  Таким образом в процессе такой штамповки осуществляется запись данных на диск. Поперечное сечение стандартного компакт-диска Структура данных на компакт-дисках В отличие от магнитных носителей гибких и жестких дисков компакт-диски разбиваются на концентрические дорожки и секторы. Представление о EFMмодуляции Процесс преобразования декодирования сигналов получаемых при прохождении чередующихся углублений и плато над считывающей головкой заключается в следующем: При записи данных на компактдиск используется EFMмодуляция...
77702. Конструкции дисководов CD-ROM 5.39 MB
  В этом заключается принципиальное отличие дисководов компактдисков от накопителей на жестких и гибких дисков в которых носители вращаются с постоянной угловой скоростью. Необходимость поддержания постоянной линейной скорости обусловлена исключительно тем что при воспроизведении звуковых компактдисков данные должны поступать в декодирующее устройство в постоянном и строго определенном темпе независимо от того с какого витка рожки они считываются. Механическая часть дисководов CDROM Конструкция дисководов компактдисков приведена на рис.