Скачиваний:
18
Добавлен:
16.01.2016
Размер:
2.89 Mб
Скачать

Министерство образования и науки РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Белгородский Государственный Технологический Университет им. В.Г. Шухова» (БГТУ им. В.Г. Шухова)

ИИТУС

Кафедра: «Техническая кибернетика»

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

дисциплина: «ИТ»

тема: «Вычисление математических выражений»

Выполнил: студент группы УС-11

Татаринов Алексей

Принял:

ст. препод. кафедры ТК Бушуев Д.А.

Белгород 2014

Содержание

1Цель работы 3

2Краткие теоритические сведения 4

3Задания 12

4Список индивидуальных заданий 13

4.1Задание 1 14

4.2Задание 2 14

4.3Задание 3 14

  1. Цель работы

Освоение приемов записи математических выражений на алгоритмическом языке. Получение навыков практической работы по вычислению математических выражений в различных программных средах — электронных таблицах,

инженерных калькуляторах, специальных математических пакетах, средствами какого-либо языка программирования. Ознакомление с использованием различных математических формул и функции в разных программных средах.

  1. Краткие теоритические сведения

Вычисление математических выражений, как и достаточно широко используемый в связи с этим термин «компьютерная математика», включает совокупность как теоретических и методических средств, так и современных программных и аппаратных средств, позволяющих производить все математические вычисления с высокой степенью точности и производительности, а также строить сложные цепочки вычислительных алгоритмов с широкими возможностями визуализации процессов и данных при их обработке.

Производить такие компьютерные расчеты можно при помощи разнообразных программных продуктов:

  1. инженерных калькуляторов:

Рис.1. Окно программы calc.exe

  1. Электронных таблицах Microsoft Excel или StarOffice Calc (OpenOffice Calc):

Рис.2. Окно программы MS Excel 2013

Рис.3. Окно программы OpenOffice Calc

  1. специальных математических пакетах. Математические пакеты или системы компьютерной математики (СКМ) - это программы (пакеты программ), обладающие средствами выполнения различных численных и аналитических (символьных) математических расчетов, от простых арифметических вычислений, до решения уравнений с частными производными, решения задач оптимизации, проверки статистических гипотез, средствами конструирования математических моделей и другими инструментами, необходимыми для проведения разнообразных технических расчетов. Все они имеют развитые средства научной графики, удобную справочную систему, а также средства оформления отчетов. Системами компьютерной математик (СКМ) или математическими пакетами можно назвать системы, среды, языки типа Microsoft Mathematics, Maple, MatLAB, Derive, Mathcad, а также семейство систем статистического анализа данных - таких как SPSS, Statistica, Statgraphics, Stadia и др.

Рис.4. Окно программы MathCad 14

Рис.5. Окно программы Maple 17

Рис.6. Окно программы SMath Studio

Рис.7. Окно программы Microsoft Mathematics

4) с использованием какого-либо языка программирования, в любой среде разработки программного обеспечения - Borland C++, Borland Delphi, PascalABC.NET, Microsort Visual Studio, Visual Basic, C# Builder и др.

Рис.8. Окно среды разработки PascalABC.Net

Работа в вышеперечисленных классах программных средств может различаться по различным параметрам:

1) точностью вычисления различных операций;

2) множеством встроенных математических функций;

3) удобством самой среды для ввода/редактирования математического выражения;

4) удобочитаемостью записи математического выражения и результата в целом.

При этом, в какой бы программной среде не происходила работа, математическое выражение необходимо записать по специальным правилам, синтаксису, свойственного именно данной программной среде. Речь идет о представлении выражения на алгоритмическом языке.

Алгоритмический язык — формальный язык, используемый для записи, реализации и изучения алгоритмов. Формализованный (формальный) язык — язык, характеризующийся точными правилами построения выражений и их понимания. Он строится в соответствии с четкими правилами, обеспечивая непротиворечивое, точное и компактное отображение свойств и отношений изучаемой предметной области.

Как правило, в любой программной среде (и тем более в любом языке

программирования) существуют свои особые правила синтаксиса, алфавита, конструкций и т.д. Рассматривая лишь вопросы записи математических выражений, такие отличия состоят лишь в записи стандартных математических операций. Так, например, математического выражения запишется следующим образом:

Запись в среде MS Excel

1) =КОРЕНЬ((a^5)/(b+abs(c)))

2) =((a^5)/(b+abs(c)))^(1/2)

3)= СТЕПЕНЬ(СТЕПЕНЬ(а;5)/(b+abs(c)); 1/2)

Запись в среде PascalABC.Net

1) f:=sqrt(power(a,5)/(b+abs(c)))

2) f:=power(power(a,5)/(b+abs(c)), 1/2)

Запись в среде VBA

1) f=sqr((a^5)/(b+abs(c)))

2) f=((a^5)/(b+abs(c)))^(1/2)

Поэтому изучение данной темы можно свести к рассмотрению особенностей в работе (ввод, вывод, редактирование выражений) в каждой из рассматриваемой сред, и изучению синтаксических конструкций, эквивалентных соответствующим математическим выражениям.

Приведем также полноценные скриншоты для вычисления вышеизложенного примера в этих же средах:

Рис.8. Вычисление математического выражения с использованием PascalABC.Net

Рис.9. Вычисление математического выражения с использованием VBA

Рис.10. Вычисление математического выражения с использованием MS Excel

Рис.11. Вычисление математического выражения с использованием Microsoft Mathematics

  1. Задания

1) Представить выражения, записанные на алгебраическом языке, в компактной математической форме.

2) Записать математические выражения на алгебраическом языке различных сред (MS Excel; и языках программирования: Pascal, С).

3) Вычислить заданные выражения в 4-х классах программных средств (инженерный калькулятор, электронные таблицы, математические пакеты (MathCad, Microsoft Mathematics), и с использованием различных языков программирования (для двух примеров использовать разные языки).

4) Использовать среду табличного редактора для решения конкретной математической задачи.

  1. Список индивидуальных заданий

    1. Задание 1

Представить выражения, записанные на алгебраическом языке, в компактной математической форме.

А) a/b/c/d*p*q^2+d*c/2/R+a^3*R-1;

Б) sqrt(abs(sin(abs(x*x*x))+sqrt(power(x, sin(x+1)))

    1. Задание 2

Записать математические выражения на алгебраическом языке различных сред (MS Excel; и языках программирования: Pascal, С).

  1. MS Excel

=(abs(cos*(x^3)-(sin^2)*x))/((abs(((ln(x))^1/4))+xy)

  1. Pascal

Var

a, b, c:integer;

Begin

a:=abs(cos(x*x*x)-sqr(sin)(x);

b:=power(abs(ln(x)))+x*y;

c:=a/b;

end.

    1. Задание 3

Вычислить заданные выражения в 4-х классах программных средств (инженерный калькулятор, электронные таблицы, математические пакеты (MathCad, Microsoft Mathematics), и с использованием различных языков программирования (для двух примеров использовать разные языки).

При вычислении данного выражения в инженерном калькуляторе получим следующее значение выражения:

Для вычисления данного выражения в электронных таблицах используем табличный процессор MS Exel. Внесем в отдельные ячейки значения переменных и запишем наше выражение в отдельную ячейку. В результате получим:

Затем в отдельную ячейку впишем формулу которая будет вычитать значение нашего выражения, для удобства можно разделить формулу на две части и работать с ними отдельно.

Для этого введем две дополнительных переменных (g=числитель и l=знаменатель).

Для каждой переменной составим формулу:

g=2-EXP(1,5*$B$3)

l=ABS(($B$1+$B$2)^1/5+4*$B$2^3*$B$3)+3,002

Значение переменной b получим, разделив g на l:

Используем для наших вычислений математический пакет Microsoft Mathematics. В результате чего получим:

Для вычисления данного выражения в среде программирования Pascal напишем следующий код:

var

b, x, y, z: real;

begin

x:=7.7;

y:=1.5;

z:=-0.02;

b:=(2-exp(1.5*b))/(abs(power(x,1/5)*power(y,1/5)-4*power(y,3*z))+3.002);

writeln('значение выражения при x=7.7 y=1.5 z=-0.02 равен ', b);

end.

В результате чего получим следующее значение:

При вычислении данного выражения в среде программирования C++ запишем данный код в редактор:

#pragma hdrstop

#include <stdio.h>

#include <tchar.h>

#include <iostream>

using namespace std;

#include <conio.h>

#include <assert.h>

#include <fstream>

#include <string>

#include <stdlib.h>

#include <windows.h>

#include <math.h>

int main ()

{

setlocale(LC_ALL, "Russian");

float x, y, z, ch, zn, rez;

cin>>x;

cin>>y;

cin>>z;

ch=2-exp(1.5*z);

zn=abs(pow(x+y,1/5)-4*pow(y,3*z))+3.002;

rez=ch/zn;

printf ("ИТОГ=%f",rez);

getch();

В результате чего в скомпилированной программе на выходе мы получим следующие значения:

Соседние файлы в предмете Алгоритмические языки и основы программирования