Автор работы: Пользователь скрыл имя, 18 Декабря 2011 в 21:34, курсовая работа
Курсовая работа на тему "Критерий Фишера"
Студент, титульник сделай сам, если надо поставь номера страниц.
По порядку
1-й пункт это титульник, 2-е
задание, 3 – введение и так далее.
3. Введение.
Статистические методы обработки данных – это весьма необходимые и незаменимые способы для анализирования процессов, экспериментов и различных подобных ситуаций. Статистические расчеты почти всегда трудоемки, так как требуют большое количество повторяющихся операций, но эти трудности преодолевается с помощью применения специализированных компьютерных математических систем, таких как: STADIA, SPSS, STATA, JMR, SYSTAT, NCSS, MINITAB 14, STATGRAPHICS PLUS, PRISM и так же система R (http://www.r-project.org/)– это язык программирования и среда для выполнения различного рода статистических расчетов.
Инструментом выполнения данной курсовой работы является Delphi 7 – среда разработки консольных и графических программ на одноименном языке Delphi.
Delphi - среда программирования, в которой используется язык программирования Object Pascal.Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы .net) развития языков программирования: появились class helpers, перегрузки операторов и другое.
Object
Pascal — результат развития языка
Турбо Паскаль, который, в
Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Object
Pascal (Delphi) является результатом
Delphi
оказал огромное влияние на
создание концепции языка C# для
платформы .NET. Многие его элементы
и концептуальные решения
Паскаль — язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании, обучении программированию в высшей школе, является базой для ряда других языков.
Язык
назван в честь выдающегося
Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные.
Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию . Результат этой работы — язык Модула-2.
В 1978 году в Университете Сан-Диего (Калифорния, США) была разработана система UCSD p-System, включавшая порт виртовского компилятора с языка Паскаль в переносимый p-код, редактор исходных кодов, файловую систему и пр., а также реализовывавшая значительное число расширений языка Паскаль, такие как модули, строки символов переменной длины, директивы трансляции, обработка ошибок ввода-вывода, обращение к файлам по именам и пр. Впоследствии основные реализации языка Паскаль основывались на этом диалекте.
В 1986 году фирма Apple Computer разработала объектное расширение языка Паскаль, получив в результате Object Pascal. Он был разработан группой Ларри Теслера, который консультировался с Никлаусом Виртом.
В
1989 году объектное расширение языка
было добавлено фирмой Borland в Turbo Pascal
версии 5.5 (начиная со следующей версии
среда была переименована в Borland
Pascal). Объектные средства были позаимствованы
из Object Pascal от Apple, языковые различия между
объектным Turbo Pascal 5.5 и Object Pascal от Apple крайне
незначительны.
Почти в то же самое время, что и Borland, Microsoft выпустил свою версию объектно-ориентированного языка Паскаль. Эта версия Паскаля не получила широкого распространения.
Дальнейшее развитие реализации Паскаля от Borland породило Object Pascal от Borland, впоследствии, в ходе развития среды программирования Delphi, получивший одноимённое название.
Важным шагом в развитии языка является появление свободных реализаций языка Паскаль Free Pascal и GNU Pascal, которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, под более чем 10 различными операционными системами, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими.
В настоящее время, начиная с Delphi 2003, создана реализация языка для платформы Net, хотя разработчики продолжают использовать Delphi более ранних версий.
О коммерческих разработках на Free Pascal, GNU Pascal и TMT Pascal на данный момент известно мало.
Кроме
того, в Южном федеральном
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.
Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.
Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».
Наиболее известной реализацией Паскаля, обеспечившая широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.
Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.
4. Постановка и анализ задачи.
4.1 Постановка задачи.
Необходимо написать программу на языке Delphi для получения численного значения критерия Фишера.
По возможности функционал программы разделить на подпрограммы.
В качестве типа данных использовать тип “Extended”.
Работу с выборками реализовать с помощью динамических массивов.
4.2
Анализ задачи.
Теоретические сведения.
Статистика критерия Фишера имеет вид:
Где S1, S2 – наибольшие и наименьшие дисперсии соответственно.
Дисперсия вычисляется по следующей формуле:
Где - среднее арифметическое выборки, n – количество членов в выборке.
При справедливости нулевой гипотезы статистика F имеет распределение Фишера с f=2m и f=2n степенями свободы.
5. Программная часть.
5.1 Листининг программы на языке Delphi.
program
fisher;
{$APPTYPE
CONSOLE}
uses
SysUtils,Math;
type
Tarr=array of Extended;
var
x,y:Tarr;
n:integer;
av_x,av_y,val_fisher:
function fill_array(var a:TArr;msg:string):TArr;
var
i:integer;
begin
for i:=Low(a) to high(a) do
begin
write(msg,i+1,']=');
readln(a[i]);
end;
fill_array:=a;
end;
function get_average(var a:Tarr):Extended;
var
av:Extended;
i:integer;
begin
av:=0;
for i:=Low(a) to High(a) do
begin
av:=av+a[i];
end;
av:=av/length(a);
get_average:=av;
end;
function get_sum(var a:Tarr;val:Extended):Extended;
var
s:Extended;
i:integer;
begin
s:=0;
for i:=Low(a) to High(a) do
begin
s:=s+(a[i]-val)*(a[i]-val);
end;
s:=s/(Length(a)-1);
get_sum:=s;
end;
function
get_fisher(var x,y:Tarr;av_x,av_y:Extended):
var
f:double;
x_s,y_s:Extended;
begin
x_s:=get_sum(x,av_x);
y_s:=get_sum(y,av_y);
if x_s>y_s then
begin
f:=(x_s)/(y_s);
writeln('Ispolzovat znachebie kriteriya dlya ',Length(x),'/',Length(y));
end
else
begin
f:=(y_s)/(x_s);
writeln('Ispolzovat znachebie kriteriya dlya ',Length(y),'/',Length(x));
end;
get_fisher:=f;
end;