4382

Программирование арифметических выражений на С++

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

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

Программирование арифметических выражений на С++ Цель: усвоить, что такое линейные алгоритмы научиться создавать блок-схемы ознакомиться с математическими функциями. Теоретический материал В С++ можно делать различные математические расчёты, поэто...

Русский

2012-11-18

176.5 KB

16 чел.

Программирование арифметических выражений на С++

Цель: усвоить, что такое линейные алгоритмы; научиться создавать блок-схемы; ознакомиться с математическими функциями.

Теоретический материал

В С++ можно делать различные математические расчёты, поэтому разработчиками были созданы математические функции, которые находятся в заголовочном файле 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.  Выводы по проделанной лабораторной работе.


 

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

28081. Глобальный экологический кризис и причины возникновения экологического права 2.57 KB
  Глобальный экологический кризис и причины возникновения экологического права. Для возникновения самостоятельной отрасли права необходимы три условия: Государственный и общественный интерес к этой отрасли Специфика предмета отрасли права т. специфика регулируемых общественных отношений Особые источники права ЭП – это отрасль права регулирующая волевые общественные отношения по сохранению воспроизводству и изучению ОС и рациональному использованию ПР т.
28082. Законодательство о санитарно-защитных зонах 8.07 KB
  Документы необходимые для разработки и согласования проекта СЗЗ: Генплан предприятия с нанесенными существующими строениями и указанием перспективного строительства в М 1:500 представляется предприятием. Правоудостоверяющий документ на землепользование представляется предприятием. Реквизиты предприятия представляются предприятием. Проект нормативов предельно допустимых выбросов в атмосферу ПДВ и результаты последнего ведомственного контроля соблюдения нормативов; в случае отсутствия проекта данные...
28084. Информационное обеспечение охраны ос и пп 6.8 KB
  Информационное обеспечение охраны окружающей среды – это сбор переработка хранение и обязательно подготовка к использованию информации которая необходима для оценки состоянии собственно окружающей среды экологической деятельности и принятия различного рода решений в этой области. Информационное обеспечение охраны окружающей среды включает в себя: – необходимую информацию как объект обеспечения; – процессы работы с информацией завершающиеся ее подготовкой к использованию; – распределение или предоставление информации...
28085. Классификация источников экологического права 10.52 KB
  По юридической силе все источники подразделяются на законы и подзаконные акты. Законы как источники экологического права представляют собой нормативные акты принимаемые представительным и законодательным органом РФ Федеральным Собранием состоящим из двух палат Совета Федерации и Государственной Думы. Подзаконные нормативные акты как источники экологического права представляют собой документы правового характера принимаемые Правительством РФ правительствами республик РФ органами исполнительной...
28086. Конституционные основы охраны окружающей среды 4.7 KB
  Законы и иные НПА не должны противоречить конституции РФ. Наиболее важные положения по вопросам использования и охраны окружающей природной среды предусмотрены в нормах Конституции РФ. Провозглашение осуществление и защита предусмотренных в Конституции экологических прав физических и юридических лиц по поводу окружающей среды является одним из направлений развития конституционного права России. Нормы Конституции РФ можно разбить на две группы: первая непосредственно посвященная...
28087. Международное экологическое право 3.31 KB
  Международное экологическое право МЭП или международное право окружающей среды – составная часть отрасль системы международного права представляющая собой совокупность норм и принципов международного права регулирующих деятельность его субъектов по предотвращению и устранению ущерба окружающей среде из различных источников а также по рациональному использованию природных ресурсов. Объектом МЭП являются отношения субъектов международного права по поводу защиты и разумной эксплуатации окружающей среды на благо нынешнего и будущих...
28088. Общественные экологические организации и их роль в обеспечении экологической безопасности 2.77 KB
  Важно чтобы научнотехнический потенциал общественных объединений нашел достойное применение и поддержку в решении многих проблем по оздоровлению окружающей среды улучшению здоровья населения рациональному использованию природных ресурсов. Общественные и иные некоммерческие объединения осуществляющие деятельность в области охраны окружающей среды имеют право: разрабатывать пропагандировать и реализовывать в установленном порядке программы в области охраны окружающей среды защищать права и законные интересы граждан в области охраны...
28089. Органы муниципального управления в области ПП и охраны ОС. Их функции. На примере Омской области 9.19 KB
  10 Федерального закона Об охране окружающей среды управление в области охраны окружающей среды осуществляется органами местного самоуправления в соответствии с настоящим Федеральным законом другими федеральными законами и иными нормативными правовыми актами Российской Федерации законами и иными нормативными правовыми актами субъектов Российской Федерации уставами муниципальных образований и нормативными правовыми актами органов местного самоуправления. 132 Конституции РФ органы местного самоуправления самостоятельно управляют муниципальной...