Лабораторная работа: Программирование на языке Си++

Преподаватель: Степура А. А.

Студент гр. Мт-190503: Свиткин В. Г.

Екатеринбург, 2009

Цель: Знакомство со средой программирования, создание, отладка и выполнение простой программы, содержащей ввод/вывод информации и простейшие вычисления.

Задачи: 1) вычислить значение выражения при различных вещественных типах данных: float и double. Сравнить и объяснить полученные результаты.

2) Вычислить значения выражений. Объяснить полученные результаты.

Задание 1. Вычислить значение выражения при различных вещественных типах данных (float и double). Вычисления следует выполнять с использованием промежуточных переменных. Сравнить и объяснить полученные результаты.

, при а=100, b=0.001

Текст программы:

#include <cstdlib>

#include <iostream>

#include <math.h>

int main(int argc, char *argv[]){

//Объявление переменных и исходные данные

floata1=100,b1=0.001,c1;

doublea2=100,b2=0.001,c2;

//Расчет значений выражения для типов floatи double

//Вывод результата с 15 знаками после запятой

printf(" Float: ");

c1=(pow(a1+b1,4.0)-(pow(a1,4)+4*pow(a1,3)*b1) )/ (6 * a1 *a1 *b1* b1+ 4*a1*b1*b1+pow(b1,4) );

printf("%.15f",c1);

printf("\nDouble: ");

c2=(pow(a2+b2,4)-(pow(a2,4)+4*pow(a2,3)*b2) )/ (6*a2*a2*b2*b2 +4*a2*b2*b2 + pow(b2,4) );

printf("%.15f",c2);

system("PAUSE");

returnEXIT_SUCCESS; }

Результат выполнения программы:

Float: 0.993384063243866

Double: 0.993384430723606

Результаты совпадают с точностью до 6 знаков после запятой. Это происходит из-за того, что при вычислениях с типом float точность меньше, и при каждом вычислении накапливается погрешность. Вычисление с типом double точнее, чем с float.

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 631
Бесплатно скачать Лабораторная работа: Программирование на языке Си++