4382
Программирование арифметических выражений на С++
Лабораторная работа
Информатика, кибернетика и программирование
Программирование арифметических выражений на С++ Цель: усвоить, что такое линейные алгоритмы научиться создавать блок-схемы ознакомиться с математическими функциями. Теоретический материал В С++ можно делать различные математические расчёты, поэто...
Русский
2012-11-18
176.5 KB
17 чел.
Программирование арифметических выражений на С++
Цель: усвоить, что такое линейные алгоритмы; научиться создавать блок-схемы; ознакомиться с математическими функциями.
Теоретический материал
В С++ можно делать различные математические расчёты, поэтому разработчиками были созданы математические функции, которые находятся в заголовочном файле “math.h”. В таблице 3.1 приведены некоторые часто используемые математические функции.
Таблица 3.1: Некоторые математические функции
Функция в |
Описание |
Пример использования |
|
программировании |
математике |
||
sqrt( x ) |
Корень из х |
double a = 900; double b = 9; double res = 0; res = sqrt(a); // res = 30.0 res = sqrt(b); // res = 3.0 |
|
exp(x) |
Экспоненциальная функция |
double a = 1; double b = 2; double res = 0; res = exp(a); // res = 2.718282 res = exp(b); // res = 7.389056 |
|
pow(x,y) |
x в степени y |
double x=2; float y=7; double res = 0; res = pow(x,y); // res = 128.0 x = 9; y = 0.5; res = pow(x,y); // res = 3.0 |
|
log(x) |
логарифм натуральный х (по основанию е) |
double x = 2.718282; double y = 7.389056; double res = 0; res = log(x); // res = 1.0 res = log(y); // res = 2.0 |
|
log10(x) |
логарифм десятичный х (по основанию е) |
double x = 1.0; double y = 10.0; double z = 100.0; double res = 0; res = log10(x); // res = 0.0 res = log10(y); // res = 1.0 res = log10(z); // res = 2.0 |
|
fabs(x) |
абсолютное значение х (для чисел с плавающей точкой с запятой) |
double x = 17.3; double y = -13.6; double z = 0.0; double res = 0; res = fabs(x); // res = 17.3 res = fabs(y); // res = 13.6 res = fabs(z); // res = 0.0 |
|
abs(x) |
абсолютное значение х (для целочисленных значений) |
double x1 = 0.3; double y1 = -13.6; double z1 = 0.0; double res1 = 0; res = fabs(x1); // res = 0 res = fabs(y1); // res = 13 res = fabs(z1); // res = 0 int x2 = 7; int y2 = -43; int z2 = 0; int res2 = 0; res = fabs(x2); // res = 7 res = fabs(y2); // res = -43 res = fabs(z2); // res = 0 |
|
ceil(x) |
округление х до наименьшего целого, не меньшего чем х |
double x = 9.2; double y = -9.8; double res = 0; res = ceil(x); // res = 10.0 res = ceil(y); // res = -9.0 |
|
floor(x) |
округление х до наибольшего целого, не большего чем х |
double x = 9.2; double y = -9.8; double res = 0; res = floor(x); // res = 9.0 res = floor(y); // res = -10.0 |
|
fmod(x,y) |
остаток х/у, как число с плавающей точкой |
double x = 13.657; double y = 2.333; double res = 0; res = fmod(x,y); // res = 1.992 |
|
sin(x) |
синус х, где х в радианах |
double x = 0.0; res = sin(x); // res = 0.0 |
|
cos(x) |
косинус х, где х в радианах |
double x = 0.0; res = cos(x); // res = 1.0 |
|
tan(x) |
тангенс х, где х в радианах |
double x = 0.0; res = tan(x); // res = 0.0 |
|
asin(x) |
арксинус х, где х в радианах |
double x = 0.0; res = asin(x); // res = 0.0 |
|
acos(x) |
арккосинус х, где х в радианах |
double x = 0.0; res = acos(x); // res = 1.5708 |
Для использования математических функций необходимо подключить заголовочный файл “math.h”, в котором находятся все выше перечисленные функции. Заголовочный файл подключается в начале программы с помощью директивы
#include “имя_заголовочного_файла.h”
Обычно функция вызывается путём записи имени функции, после которой записывается левая круглая скобка, затем аргумент функции (или список аргументов, разделённых запятыми), а завершает запись правая круглая скобка. Например, если нам необходимо вычислить корень из числа 25, то можно было бы написать:
cout<<sqrt(25);
После выполнения этого оператора вызывается библиотечная функция sqrt, которая вычисляет корень квадратный из числа 25. Само число 25 будет являться аргументом функции sqrt, а sqrt имя функции. После выполнения оператора вывода на экране должно отобразиться число 5.
Замечание: все функции в математической библиотеке возвращают данные типа double.
Кроме того, аргументами функции могут быть константы, переменные и выражения. Например, мы могли бы вычислить корень квадратный из выражения 5-9+(34-15)*2+2. При подсчёте выражения получится число 36. Записать это выражение в функцию можно следующим образом:
cout<<sqrt(5-9+(34-15)*2+2);
Результатом работы оператора cout вывод числа 6 на экран.
Ход работы
1 |
#include “iostream.h” |
2 |
int main() |
3 |
{ |
4 |
|
. |
|
. |
|
. |
|
return 0; |
|
} |
4 |
// объявление переменных |
5 |
double x = 0.15; |
6 |
double y = 61.8; |
7 |
int z = -2; |
8 |
double a = 0; |
Рис.3.1: Упрощение задачи путём дробления её на более меньшие
Итак, появились новые переменные A, B, C. Теперь выражение будет иметь вид:
. Объявим новые вспомогательные переменные, которые нам понадобятся для расчётов.
9 |
|
10 |
// объявление вспомогательных переменных |
11 |
double A = 0; |
12 |
double B = 0; |
13 |
double C = 0; |
14 |
|
15 |
// расчёт выражений A, В, С |
16 |
A = 3+exp(y-1); |
17 |
B = sin(1+pow((y-x),3)); |
18 |
C = 1+pow(x,2)*fabs(y-tan(z)); |
19 |
|
20 |
// расчёт и вывод результата |
21 |
a=A/C+B; |
22 |
cout<<”a = ”<<a<<”\n”; |
Таблица 3.2: Задания к выполнению лабораторной работы
№ варианта по списку |
Выражение |
Переменные |
1 |
||
2 |
||
3 |
||
4 |
||
5 |
||
6 |
||
7 |
||
8 |
||
9 |
||
10 |
||
11 |
||
12 |
||
13 |
||
14 |
||
15 |
||
16 |
||
17 |
||
18 |
||
19 |
||
20 |
||
21 |
||
22 |
||
23 |
||
24 |
||
25 |
Содержание отчёта
А также другие работы, которые могут Вас заинтересовать | |||
51739. | ЛЮБОВ ДО МУЗИКИ — У СПАДОК | 28 KB | |
Чимало випало на долю цього міста минуле якого повязане не тільки із значними історичними подіями але і з життям та діяльністю видатних діячів вітчизняної культури. Та не вичерпуються музичні традиції старовинного українського міста. | |||
51740. | Рівень соціальної зрілості випускника 9-го класу | 29 KB | |
Хочу почати з поняття акселерації яка проявляється в прискореному психічному і фізичному розвитку дітей. Існує думка щодо третьої причини стимулюючого впливу на ріст і розвиток дітей. Це діти із сімей де створені умови для розвитку дітей де батьки опікуються майбутнім своїх дітей. Більшість дітей володіють сучасними компютерними технологіями 24 учні з 30ти мають компютер . | |||
51743. | 8 Марта - День торжественный - сценарий для детей 6-7 лет | 95 KB | |
Ведущий. Ведущий. Солнце солнце не сердись лучше рядышком садись Мамин праздник раз в году нарисую и пойду Вот луна ракета речка лес и сад Подарить я маме все на свете рад Что еще на праздник маме подарить Надо постараться и послушным быть Ведущий. | |||
51745. | 8 Марта - инсценировка сказки, посвященная женскому дню | 39.5 KB | |
Красная шапочка уходит за занавес появляются два Волка: большой ималенький нюхают следы.БольшойВолк. Маленький Волк бежитпо охотничьему следу Большой Волк хватает его за хвост:БольшойВолк. Да куда же тыМаленькийВолк. | |||