Автор работы: Пользователь скрыл имя, 09 Января 2015 в 12:38, лабораторная работа
"Знакомство с Си++. Выполнение программы простой
структуры"
Цель: Знакомство со средой программирования, создание, отладка и выполнение простой программы, содержащей ввод/вывод информации и простейшие вычисления.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Лабораторная работа по информатике № 1
за первый семестр
Пермь-2015
структуры"
Цель: Знакомство со средой программирования, создание, отладка и выполнение простой программы, содержащей ввод/вывод информации и простейшие вычисления.
Задание 1:
Вычислить значение выражения при различных вещественных типах данных (float и double). Вычисления следует выполнять с использованием промежуточных переменных. Сравнить и объяснить полученные результаты.
Выражение:
(a-b)2-(a2-2a*b), при a=1000, b=0.0001.
b2
Задание 2:
Вычислить значения выражений. Объяснить полученные результаты.
Выражения:
2)
Задание 1:
// подключаем
заголовочные файлы с
#include <cstdlib>
#include <iostream.h>
#include <math.h>
int main()
{
//Объявление переменных
float a1,b1,c1;
double a2,b2,c2;
//Расчет значений выражения для типов float и double
//Вывод результата с 10 знаками после запятой
cout <<"Enter a1:";
cin>>a1;
cout <<"Enter b1:";
cin>>b1;
c1= (pow(a1-b1,2)-(a1*a1-2*a1*b1))
cout<<" Float: ";
printf("%.10f",c1);
cout <<"\nEnter a2:";
cin>>a2;
cout <<"Enter b2:";
cin>>b2;
c2= (pow(a2-b2,2)-(a2*a2-2*a2*b2))
cout<<"\nDouble: ";
printf("%.10f",c2);
cout<<"\n";
system("PAUSE");
return 0;
}
Задание 2:
#include <cstdlib>
#include <iostream>
#include <math.h>
int main()
{
int m=5,n=2,y;
printf("n=%d,m=%d\n",n,m);
y=++n*++m;
printf("++n*++m=%d\n",y);
printf("n=%d,m=%d\n",n,m);
y=m++<n;
printf("m++<n=%d\n",y);
printf("n=%d,m=%d\n",n,m);
y=n++>m;
printf("n++>m=%d\n",y);
printf("n=%d,m=%d\n",n,m);
system("PAUSE");
return 0;
}
Задание 1:
Float: 1.0011718273
Double: 1.0058272437
Результаты совпадают с точностью до 2 знаков после запятой. Это происходит из-за того, что при вычислениях с типом float точность меньше, и при каждом вычислении накапливается погрешность. Вычисление с типом double точнее, чем с float.
Задание 2:
При выполнении первого действия сначала переменные увеличиваются на единицу, затем умножаются: 3 * 6 =18. При выполнении второго действия сначала идет сравнение переменных, после этого переменная m увеличивается на единицу. При выполнении третьего действия сначала переменные сравниваются, затем переменная n увеличивается на единицу. В итоге n=4, m=7.