Автор работы: Пользователь скрыл имя, 30 Июня 2011 в 19:40, курсовая работа
В курсовой работе разработаны две процедуры на языке Java Scripts:
1-ая процедура выполняет заданные расчеты;
2-ая процедура производит обраотку текстового файла;
Задание: 1. Характеристика потока с минемальным процессорным временем
2. С помощью формулы Лейбница приближенно вычислить
В случае указания трех параметров (включая имя файла) <параметр2> и <параметр3> считаются номерами начальной и конечной засечек времени соответственно.
Возможные значения <параметр2> и соответствующие форматы приведены ниже:
Номера начальной и конечной засечек времени должны удовлетворять следующим условиям:
var fso=WScript.CreateObject('
var Accuracy=0.001;
var arg1;
var arg2;
var a=1/2;
var b=1/3;
var n;
var i=1;
var F=0;
var k=WScript.Arguments.Count();//
var detail=0;
var help=0;
var x=0;
var Arr=new Array();
function Leibnic()
{
F=4*(1/2)+4*(1/3);
do
{
var S = F;
a = a*(1/2)*(1/2);
b = b*(1/3)*(1/3);
arg1 = a/(2*i+1);
arg2 = b/(2*i+1);
var j = i;
j%=2;
if (j != 0)
{
arg1 = -arg1;
arg2 = -arg2;
}
F = S + (4*arg1 + 4*arg2);
if (detail==1) {Arr[i]=F;}
i++;
}
while (Math.abs(S - F) >= Accuracy);
i = i - 1;
}
for (var j=0;j<k;j++)
{
if ((escape(WScript.Arguments(j))
{ if (WScript.Arguments(j) < 1)
{ Accuracy = WScript.Arguments(j);}
else {WScript.Echo("Задано неправильное значение точности! \nПроверьте правильность задав в параметрах только аргумент help!")} //если один из аргументов находится в пределах от 0 до 1, то этот аргумент принимается за точность
}
if (escape(WScript.Arguments(j))=
if (escape(WScript.Arguments(j))=
}
if (help==1) {
WScript.Echo(" Help:");
WScript.Echo(" Данная
программа вычисляет значение
функции pi. \n Используется формула
Лейбница arctg(x)=x[1-1/3*x^2+1/5*x^4-
if (help==0)
{
Leibnic();
if (detail==1)
{
for (var l=1;l<i+1;l++)
{ WScript.Echo ('Итерация №',l,'.Значение PI= \n',Arr[l]);}
}
WScript.Echo('Число Пи равно: '+F+'\nКоличество итераций: '+i+'\nЗаданa точность: '+Accuracy);
}
7.2. Программа по обработке текстового файла
var countstr; //Количество строк в обрабатываемом файле
var countpot; //количество присутствующих в файе потоков
var mas; //двумерный массив, содержащий все данные из файла.
var t1=2;
var t2=12;
function MakeMas(filename)
//запоминается количество
{
var f = fso.OpenTextFile(filename);
mas= new Array();
var i,j;
countpot=0;
var
str1=f.ReadLine();
for(i=0;i<str1.length;i+
{ //потоков
if (str1.charAt(i)==",")
countpot++;
}
f.Close(); //
var
f = fso.OpenTextFile(filename); //
countstr=0;
while
(!f.AtEndOfStream) //
{ //временных засечек
mas[countstr]=new Array(countpot+1);
countstr++;
str1=f.ReadLine();
}
f.Close();
var f = fso.OpenTextFile(filename);
for
(i=0;i<countstr;i++) //
{
str1=f.ReadLine();
var ind1=1;
var ind2=1;
for (j=0;j<countpot+1;j++)
{
ind2=str1.
if (ind2>0)
mas[i]
else
mas[i]
ind1=ind2+3;
}
}
f.Close();
}
function Minpotok(outputformat,t1,t2)
{
if (((t1<=t2)&&(t1<countstr))&&(
{
var i,j;
var indmin=0;
var sum=0;
for (j=t1;j<=t2;j++)
sum=sum+parseFloat(mas[j][1]);
var min= (sum/(t2-t1+1));
for
(i=1;i<countpot+1;i++) //
{ //с минимальным
sum=0; //
for (j=t1;j<=t2;j++)
sum=sum+
if (((sum/(t2-t1+1))<min)||(i==1)
{
min=sum/(t2-
indmin=i;
}
}
switch(outputformat)
{
case 'all_streams':
WScript.Echo(mas[
for (i=t1;i<=t2;i++)
WScript.
break;
case 'min_stream':
WScript.Echo("
var minval=parseFloat(mas[t1][
var indminval=0;
for (i=t1;i<=t2;i++) //
if (mas[i][indmin]<minval) //
{
minval
indmin
}
WScript.Echo("
break;
case 'all_streams_interval':
WScript.Echo("
WScript.Echo("
for (i=t1;i<=t2;i++)
WScript.
break;
default:
WScript.Echo("
}
}
else
WScript.Echo("
}
if(WScript.Arguments.Count()>
{
if (WScript.Arguments(0)!="help")
{
var fso=WScript.
MakeMas(WScript.
if(WScript.
Minpotok(WScript.
else
<