воскресенье, 24 ноября 2019 г.

Этап 1. Ахиллесова пята


Объект исследования: компьютерная арифметика.
Цель исследования: Выявить наличие особенностей компьютерных вычислений.
Задачи исследования:
  1.    Развить навыки анализа условия задачи.
  2.  Научиться составлять план проведения экспериментальной работы.
  3.  Научиться проводить компьютерный эксперимент.
  4. Научиться анализировать результаты экспериментальной работы.


Ход исследования:
  1.         получение задания и его выполнение;
  2.        получение доказательств существования несоответствия компьютерной математики классической;
  3.       определение частоты возникновения такого несоответствия;
  4.        проведение машинных экспериментов на других математических равенствах;
  5.        формулировка выводов.


Как мы проводили эксперимент.
Нужно проверить равенство: (a^2-b^2)/(a-b)=a+b
После обсуждения мы написали такую программу:


#include <iostream>
using namespace std;
int main()
{ const int p=100;
 double S1,S2,a,b;
     int l,k,n;
 a=-1;b=3; k=0;
 for (n=1; n<=p;n++) {
S1=(a*a-b*b)/(a-b);
     S2=a+b;
     if (S1!=S2) {
         cout.precision(25);
  cout <<"S1=" <<S1 << " ; S2="<<S2<< endl;
         k++;}
      if (S1!=S2) {
         cout.precision(6);
  cout <<" a="<<a<<" ; b="<<b<< endl<<endl;
        }
       a=a+0.03 ;
       b=b+0.03;
 }
     l=(double)k/p*100;
 cout<<l<<"%"<<endl;
  return 0;
}

Когда мы запустили программу, то получили ответ: 37%.



Также мы провели эксперименты над:  a*b=b*a
                                                                   (a+b)^2-(a-b)^2=4ab
                                                                   (a+b)^3=a^3+3a^2b+3ab^2+b^3
Результаты всех экспериментов представлены в данной таблицы


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


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



Комментариев нет:

Отправить комментарий