Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Выполнение работы. Таблица 1 – Измеримые свойства программ на языке Pascal Операторы Операнды № Оператор Число вхождений №





Таблица 1 – Измеримые свойства программ на языке Pascal

Операторы Операнды
Оператор Число вхождений Операнд Число вхождений
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
  Итого:     Итого:  

 

Таблица 2 – Измеримые свойства программ на языке C

Операторы Операнды
Оператор Число вхождений Операнд Число вхождений
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
  Итого:     Итого:  

 

Таблица 3 – Измеримые свойства программ на языке Assembler

Операторы Операнды
Оператор Число вхождений Операнд Число вхождений
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
  Итого:     Итого:  

 


Таблица 4 – Расчетные характеристики программы

  Pascal C Assembler Формула
Число уникальных операторов (n1):        
Число уникальных операндов (n2):        
Общее число операторов (N1):        
Общее число операндов (N2):        
   
Алфавит (n):       n= n1+ n2
Экспериментальная длина программы (Nэ):       Nэ= N1+ N2
Теоретическая длина программы (Nт):       Nт =h1 log2h1 + h2 log2h2
Объём программы (V):       V = Nэ log2 n
Потенциальный объём (V*):       V* = (2+ h2*) log2(2+ h2*) (h2=2 – кол. параметров)
Уровень программы (L):       L= V*/ V
Сложность программы (S):       S = V/ V*
Ожидание уровня программы (L^):       L^= 2*h2 /(h1* N2)
Интеллект программы (I):       I= L^*V
Работа по программированию (Е):       E=V/L
Время кодирования (T):       T=E/S (S=10 – кол. различений)
Ожидане времени кодирования (T^):       T^= (n1*N2* Nэ * log2h) / (2*S*n2)
Уровень языка программирования (Lam):       Lam =L * V*
Уровень ошибок (В):       B= (V*)2 / (3000* Lam)

 

Выводы


program erfd4;

 

{ evaluation of the gaussian error function }

 

var x,er,ec: real;

done: boolean;

 

function erf(x: real): real;

{ infinite series expansion of the Gaussian error function }

 

const sqrtpi = 1.7724538;

t2 = 0.66666667;

t3 = 0.66666667;

t4 = 0.07619048;

t5 = 0.01693122;

t6 = 3.078403E-3;

t7 = 4.736005E-4;

t8 = 6.314673E-5;

t9 = 7.429027E-6;

t10 = 7.820028E-7;

t11 = 7.447646E-8;

t12 = 6.476214E-9;

 

var x2,sum: real;

i: integer;

 

begin

x2:=x*x;

sum:=t5+x2*(t6+x2*(t7+x2*(t8+x2*(t9+x2*(t10+x2*(t11+x2*t12))))));

erf:=2.0*exp(-x2)/sqrtpi*(x*(1+x2*(t2+x2*(t3+x2*(t4+x2*sum)))))

end; { function erf }

 

function erfc(x: real): real;

{ complement of error function }

const sqrtpi = 1.7724538;

 

var x2,v,sum: real;

 

begin

x2:=x*x;

v:=1.0/(2.0*x2);

sum:=v/(1+8*v/(1+9*v/(1+10*v/(1+11*v/(1+12*v)))));

sum:=v/(1+3*v/(1+4*v/(1+5*v/(1+6*v/(1+7*sum)))));

erfc:=1.0/(exp(x2)*x*sqrtpi*(1+v/(1+2*sum)))

end; { function ercf }

 

begin { main }

 

done:=false;

writeln;

repeat

write('Arg? ');

readln(x);

if x<0.0 then done:=true

else

begin

if x=0.0 then

begin

er:=0.0;

ec:=1.0

end

else

begin

if x<1.5 then

begin

er:=erf(x);

ec:=1.0-er

end

else

begin

ec:=erfc(x);

er:=1.0-ec

end { if }

end;

writeln('X= ',x:8:4,', Erf= ',er:12,', Erfc= ',ec:12)

end { if }

until done

end.


#include<iostream.h>

#include<math.h>

#include<conio.h>

#include<stdio.h>

float x,er,ec;

int done;

 

float erf(float x)

{

const sqrtpi = 1.7724538,

t2 = 0.66666667,

t3 = 0.66666667,

t4 = 0.07619048,

t5 = 0.01693122,

t6 = 3.078403E-3,

t7 = 4.736005E-4,

t8 = 6.314673E-5,

t9 = 7.429027E-6,

t10 = 7.820028E-7,

t11 = 7.447646E-8,

t12 = 6.476214E-9;

 

float x2,sum;

int i;

 

x2 = x*x;

sum = t5+x2*(t6+x2*(t7+x2*(t8+x2*(t9+x2*(t10+x2*(t11+x2*t12))))));

return(2.0*exp(-x2)/sqrtpi*(x*(1+x2*(t2+x2*(t3+x2*(t4+x2*sum))))));

}

 

float erfc(float x)

{

const sqrtpi = 1.7724538;

float x2,v,sum;

 

x2 = x*x;

v = 1.0/(2.0*x2);

sum = v/(1+8*v/(1+9*v/(1+10*v/(1+11*v/(1+12*v)))));

sum = v/(1+3*v/(1+4*v/(1+5*v/(1+6*v/(1+7*sum)))));

return(1.0/(exp(x2)*x*sqrtpi*(1+v/(1+2*sum))));

}

 

void main()

{

done=0;

printf("\n");

do

{

printf("Arg? ");

scanf("%f",&x);

if(x < 0.0) { done = 1; }

else

{

if (x==0.0)

{

er=0.0;

ec=1.0;

}

else

{

if(x<1.5)

{

er=erf(x);

ec=1.0-er;

}

else

{

ec=erfc(x);

er=1.0-ec;

}

}

printf("X= %f",x," Erf= %f",er,", Erfc= %f",ec);

}

} while (done == 0);

}


push bp

mov bp,sp

sub sp,32

mov word ptr [bp-2],1

mov word ptr [bp-4],0

mov word ptr [bp-6],0

mov word ptr [bp-8],0

mov word ptr [bp-10],0

mov word ptr [bp-12],0

mov word ptr [bp-14],0

mov word ptr [bp-16],0

mov word ptr [bp-18],0

mov word ptr [bp-20],0

mov word ptr [bp-22],0

mov word ptr [bp-24],0

fld dword ptr [bp+6]

fmul dword ptr [bp+6]

fstp dword ptr [bp-28]

fld dword ptr [bp-28]

fldz

fmul

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fstp dword ptr [bp-32]

fld dword ptr [bp-28]

fchs

sub sp,8

fstp qword ptr [bp-40]

fwait

call far ptr _exp

add sp,8

fmul dword ptr DGROUP:s@

fld1

fdiv

fld dword ptr [bp-28]

fmul dword ptr [bp-32]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fldz

fadd

fmul dword ptr [bp-28]

fld1

fadd

fmul dword ptr [bp+6]

fmul

jmp short @1@58

@1@58:

mov sp,bp

pop bp

ret

 

 

push bp

mov bp,sp

sub sp,14

mov word ptr [bp-2],1

fld dword ptr [bp+6]

fmul dword ptr [bp+6]

fstp dword ptr [bp-6]

fld dword ptr [bp-6]

fmul dword ptr DGROUP:s@

fld1

fdivr

fstp dword ptr [bp-10]

fld dword ptr DGROUP:s@+4

fmul dword ptr [bp-10]

fld dword ptr DGROUP:s@+8

fmul dword ptr [bp-10]

fld1

fadd

fdiv

fld1

fadd

fld dword ptr DGROUP:s@+12

fmul dword ptr [bp-10]

fdivr

fld1

fadd

fld dword ptr DGROUP:s@+16

fmul dword ptr [bp-10]

fdivr

fld1

fadd

fld dword ptr DGROUP:s@+20

fmul dword ptr [bp-10]

fdivr

fld1

fadd

fdivr dword ptr [bp-10]

fstp dword ptr [bp-14]

fld dword ptr DGROUP:s@+24

fmul dword ptr [bp-10]

fld dword ptr DGROUP:s@+28

fmul dword ptr [bp-14]

fld1

fadd

fdiv

fld1

fadd

fld dword ptr DGROUP:s@+32

fmul dword ptr [bp-10]

fdivr

fld1

fadd

fld dword ptr DGROUP:s@+36

fmul dword ptr [bp-10]

fdivr

fld1

fadd

fld dword ptr DGROUP:s@+40

fmul dword ptr [bp-10]

fdivr

fld1

fadd

fdivr dword ptr [bp-10]

fstp dword ptr [bp-14]

fld dword ptr [bp-6]

sub sp,8

fstp qword ptr [bp-22]

fwait

call far ptr _exp

add sp,8

fmul dword ptr [bp+6]

fld1

fmul

fld dword ptr DGROUP:s@

fmul dword ptr [bp-14]

fld1

fadd

fdivr dword ptr [bp-10]

fld1

fadd

fmul

fld1

fdivr

jmp short @2@58

@2@58:

mov sp,bp

pop bp

ret

 

 

_main proc far

push bp

mov bp,sp

sub sp,2

mov word ptr DGROUP:_done,0

push ds

mov ax,offset DGROUP:s@+44

push ax

call far ptr _printf

pop cx

pop cx

@3@58:

push ds

mov ax,offset DGROUP:s@+46

push ax

call far ptr _printf

pop cx

pop cx

push ds

mov ax,offset DGROUP:_x

push ax

push ds

mov ax,offset DGROUP:s@+52

push ax

call far ptr _scanf

add sp,8

fld dword ptr DGROUP:_x

fldz

fcompp

fstsw word ptr [bp-2]

fwait

mov ax,word ptr [bp-2]

sahf

jbe short @3@114

mov word ptr DGROUP:_done,1

jmp @3@310

@3@114:

fld dword ptr DGROUP:_x

fldz

fcompp

fstsw word ptr [bp-2]

fwait

mov ax,word ptr [bp-2]

sahf

jne short @3@170

mov word ptr DGROUP:_er+2,0

mov word ptr DGROUP:_er,0

mov word ptr DGROUP:_ec+2,16256

mov word ptr DGROUP:_ec,0

jmp short @3@282

@3@170:

fld dword ptr DGROUP:_x

fcomp dword ptr DGROUP:s@+55

fstsw word ptr [bp-2]

fwait

mov ax,word ptr [bp-2]

sahf

jae short @3@226

fld dword ptr DGROUP:_x

sub sp,4

fstp dword ptr [bp-6]

fwait

push cs

call near ptr @erf$qf

pop cx

pop cx

fstp dword ptr DGROUP:_er

fld dword ptr DGROUP:_er

fld1

fsubr

fstp dword ptr DGROUP:_ec

jmp short @3@254

@3@226:

fld dword ptr DGROUP:_x

sub sp,4

fstp dword ptr [bp-6]

fwait

push cs

call near ptr @erfc$qf

pop cx

pop cx

fstp dword ptr DGROUP:_ec

fld dword ptr DGROUP:_ec

fld1

fsubr

fstp dword ptr DGROUP:_er

@3@254:

fwait

@3@282:

fld dword ptr DGROUP:_ec

sub sp,8

fstp qword ptr [bp-10]

push ds

mov ax,offset DGROUP:s@+74

push ax

fld dword ptr DGROUP:_er

sub sp,8

fstp qword ptr [bp-22]

push ds

mov ax,offset DGROUP:s@+65

push ax

fld dword ptr DGROUP:_x

sub sp,8

fstp qword ptr [bp-34]

push ds

mov ax,offset DGROUP:s@+59

push ax

fwait

call far ptr _printf

add sp,36

@3@310:

cmp word ptr DGROUP:_done,0

jne @@1

jmp @3@58

@@1:

mov sp,bp

pop bp

ret

 

_main endp

 

Date: 2015-07-25; view: 302; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию