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.  Запускаем программы С++.
  2.  Создаём новый проект, даём ему имя.
  3.  Сохраняем проект.
  4.  Добавляем Source File и даём ему имя.
  5.  Сохраняем файл.
  6.  Пишем «скелет программы»

1

#include “iostream.h”

2

int main()

3

{

4

.

.

.

return 0;

}

  1.  Компилируем программу, собираем проект и проверяем на наличие ошибок.
  2.  Разберём следующее алгоритмическое выражение:
  3.  
  4.  В выражении используется три переменных (x, y, z). Результат записывается в переменную a. Поэтому для начала необходимо объявить наши переменные и определить их типы: x вещественное, y вещественное и z целое. Переменная a будет вещественным числом.
  5.  В теле функции main объявим и инициализируем переменные, которые будем использовать.

4

// объявление переменных

5

double x = 0.15;

6

double y = 61.8;

7

int z = -2;

8

double a = 0;

  1.  Для простоты понимания разделим наше алгоритмическое выражение на несколько простых выражений (рис.3.1)

Рис.3.1: Упрощение задачи путём дробления её на более меньшие

Итак, появились новые переменные A, B, C. Теперь выражение будет иметь вид:

. Объявим новые вспомогательные переменные, которые нам понадобятся для расчётов.

9

10

// объявление вспомогательных переменных

11

double A = 0;

12

double B = 0;

13

double C = 0;

  1.  Воспользовавшись таблицей 2.1, напишем код расчёта выражения A, B, C:

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));

  1.  Теперь получим результат и выведем его на экран:

19

20

// расчёт и вывод результата

21

a=A/C+B;

22

cout<<”a = ”<<a<<”\n”;

  1.  Скомпилируйте код программы, соберите проект и запустите на выполнение.
  2.  Теперь запрограммируйте то же самое выражение, но в одну строку. Результат вывести на экран. Результаты решения выражения первым и вторым способами должны совпадать.
  3.  В таблице 3.2 представлены варианты заданий по списку в журнале. Создайте новый проект, сделайте расчёты для своего варианта. Пользователь должен иметь возможность вводить переменные с клавиатуры. В программе обязательно должны присутствовать комментарии и условие вашего задания по списку в журнале.

Таблица 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

Содержание отчёта

  1.  Тема и номер лабораторной работы.
  2.  Цель работы.
  3.  Ход работы.
  4.  Код программы, который обязательно должен содержать комментарии и условие задачи.
  5.  Исходный код программы со всем проектом в целом в электронном виде.
  6.  Выводы по проделанной лабораторной работе.


 

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

21790. Риск и доход 72 KB
  Величина FV показывает будущую стоимость сегодняшней величины PV при заданном уровне доходности. Концепция риска и доходности в финансовом менеджменте Риск и доходность в финансовом менеджменте и анализе рассматриваются как две взаимосвязанные категории. Активы с которыми ассоциируется относительно больший размер возможных потерь рассматриваются как более рисковые; вполне естественно что к таким активам предъявляются и большие требования в отношении доходности.
21791. Управление рисками и антикризисное управление 81 KB
  Главная задача антикризисного управления обеспечение такого положения предприятия на рынке когда оно может преодолеть временные трудности в том числе и финансовые посредством использования всех возможностей современного менеджмента. главной целью его является обеспечение стабильного положения на рынке компании при любых экономических политических и социальных изменениях в стране; в его рамках применяются в основном те управленческие инструменты которые наиболее эффективны в устранении временных финансовых затруднений и решении других...
21792. Санитарные требования к транспортированию, приему, хранению, механической кулинарной обработке пищевых продуктов 75 KB
  ПЛАН ЛЕКЦИИ : Санитарные требования к транспортированию пищевых продуктов. Санитарные требования к приему и хранению пищевых продуктов. Санитарные требования к механической кулинарной обработке пищевых продуктов.
21793. Санитпрные требования к содержанию предприятий общественного питания 110.5 KB
  Санитарные требования к содержанию территории и помещений предприятий общественного питания. Цель способы и средства дезинфекции в предприятиях общественного питания. Гигиена и санитария общественного питания: Учебник для техн.
21794. Санитарные требования к тепловой обработке пищевых продуктов, хранению и раздаче готовой пищи 91 KB
  Санитарные требования к изготовлению кремовых изделий и пирожков во фритюре. Органолептическими признаками готовности мясных изделий являются выделение бесцветного сока в месте прокола и серый цвет на разрезе продукта при этом температура в центре готовых изделий должна быть не ниже 85 град. C для натуральных рубленых изделий и не ниже 90 град. C для изделий из котлетной массы.
21795. Гигиенические требования к факторам внешней среды и благоустройству предприятий общественного питания 112.5 KB
  Гигиена воздуха: а физические свойства воздуха; б химический состав воздуха; в загрязнение воздуха вредными примесями влияющими на организм и условия труда работников предприятия общественного питания. При этом оценивая влияние различных факторов внешней среды на организм человека обычно выделяют преимущественный фактор который по своим параметрам имеет наибольшее отклонение от требований организма человека например повышенная температура воздуха или запылённость его. 2 вопрос Гигиена воздуха Среди факторов внешней среды...
21796. Санитарный надзор в области гигиены паитания 88.5 KB
  Санитарный надзор в области гигиены паитания План лекции Предмет и задачи гигиены и санитарии Органы и службы государственного санитарного надзора Министерства здравоохранения Украины Основные направления предупредительного и текущего государственного санитарного надзора за предприятиями общественного питания Краткий обзор развития науки о питании Литература основная Закон Украины €œОб обеспечении санитарного и эпидемического благополучия населения€ от 24. Гигиена и санитария общественного питания: Учебник для технол. Гигиена и...
21797. Кишечные инфекции и их профилактика 73.5 KB
  48 стор 1 вопрос Общие сведения об инфекционных заболеваниях. Патогенные микроорганизмы могут вызывать различные заболевания в том числе и инфекционные. Инфекционные заболевания человека могут проходить в трех формах: При заболевании нарушаются физиологические функции организма и организм выводится из состояния равновесия с окружающей средой то есть развивается инфекционное заболевание и при этом признаки заболевания проявляются резко; Признаки заболевания проявляются не резко и как правило такие...
21798. Показатели и критерии оценки систем 504.5 KB
  2 Шкала уровней качества системы 5. Автоматизированные системы создаются для реализации ряда операций. Это зависит от условий протекания операций качества системы реализующих операции и способов достижения требуемых результатов.1 Соотношение понятий качества и эффективности Таблица 1 Соотношение понятий качества и эффективности Понятие Качество Эффективность Определяет Свойства или совокупность свойств системы обусловливающих ее пригодность для использования по назначению.