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.  Выводы по проделанной лабораторной работе.


 

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

84742. КОЭФФИЦИЕНТ ТЕПЛОПЕРЕДАЧИ ОРЕБРЕННОЙ ПОВЕРХНОСТИ 509.36 KB
  Оребренная поверхность состоит из поверхности ребер и поверхности участков, не занятых ребрами. Температура этих двух поверхностей и их размеры различны. Контакт между основанием ребра и несущей их стенкой трубы может быть недостаточно плотным.
84743. МЕРЫ ПО УЛУЧШЕНИЮ ФИНАНСОВОГО СОСТОЯНИЯ ПРЕДПРИЯТИЯ 361.66 KB
  При разнообразии аналитических процедур, выполняемых финансовыми менеджерами, есть сверх обязательный блок: это анализ финансового состояния субъекта хозяйствования. Результаты анализа входят в число основных аргументов при принятии весьма разнообразных управленческих решений в отношении...
84744. Проектирование тематического web-сайта «Интернет-магазин каминов» 2.57 MB
  Написанный мной веб-сайт может быть использован для ознакомления с представленной на нем продукцией и совершения посетителем веб-сайта, в случае заинтересованности, онлайн-заявки на проведение менеджером компании подробной консультации.
84745. Системы защиты среды обитания 402 KB
  В результате работы грохота на предприятии образуется крупнодисперсная пыль (кости), а так же выбросы с парами окислов железа. Для соблюдения экологических требований необходимо предложить аппараты очистки газоводушных потоков с высокой эффективностью для каждого вида пыли.
84746. Общие правила производства следственных действий 90 KB
  Проблематика исследования состоит в том, что большое количество международных преступников из стран ближнего зарубежья отправляются в Россию для того, чтобы осуществить определенные тяжкие преступления или же после того как уже совершили их у себя на родине, они едут в Россию, чтобы скрываться.
84747. Управление маркетинговой деятельности турфирмы и выявление путей повышения эффективности 7.13 MB
  Система маркетинга ставит производство товаров в функциональную зависимость от запросов и требует производить товары в ассортименте и количестве нужном потребителю. Теоретические основы управления маркетинговой деятельности на предприятии Понятие маркетинговой деятельности предприятия
84749. Аспекти стратегії розвитку підприємства 252.84 KB
  В даній курсовій роботі мною розглянуті теоретичні аспекти стратегії розвитку підприємства (фірми), а також представлена практична частина.У першій главі роботи, дано визначення такого поняття, як стратегічне планування. Знайдені відповіді на питання, як слід формулювати стратегію. Представлено зміст, структура та особливості стратегічного управління, а так же типи стратегій розвитку бізнесу
84750. Основные классы красителей для ткани 98.3 KB
  Во время обучения в школе Уильям увлекся химией. Особенно ему нравились опыты, когда на глазах у изумленных учеников преподаватель получал из одного вещества другое. Конечно, это увлечение не нравилось отцу, но сын был очень настойчив, и в 15-летнем возрасте, окончив школу...