I этап: Формирование цели и задач исследования.

Begin

While notEOF(F) do

Begin

Begin

Var

Begin

Begin

Begin

Begin

Var

Begin

Else

End

Begin

Begin

Else

End

Begin

Begin

Else

End

Begin

Begin

Var

Implementation

Public

Type

Interface

Begin

Readln(F, sName);

Readln(F, Salary);

 

PrependItem(sName, Salary);

end;

end;

 

end.

 


Текст файла Unit3.pas:

 

unitUnit3;

 

 

usesUnit1, Unit2, Math;

 

 

MyList3Class = Class(MyList2Class)

 

functionCompareTwoRecords(varR1, R2: PersonType): integer;

procedureInsertItem(sName: string; Salary: double);

procedureInsertFromFile(sFileName: string);

end;

 

 

functionMyList3Class.CompareTwoRecords(

varR1, R2: PersonType): integer;

 

// Функция возвращает:

// –1, если запись R1 «меньше» записи R2

// +1, если запись R1 «больше» записи R2

// 0, если запись R1 «равна» записи R2

 

l1, l2, l0, i: integer;

 

l1 := Length(R1.sName);

l2 := Length(R2.sName);

l0 := Min(l1, l2);

 


fori := 1 tol0 do

ifR1.sName[i] < R2.sName[i] then

CompareTwoRecords := -1;

exit;

ifR1.sName[i] > R2.sName[i] then

CompareTwoRecords := +1;

exit;

end;

 

ifl1 < l2 then

CompareTwoRecords := -1;

exit;

ifl1 > l2 then

CompareTwoRecords := +1;

exit;

end;

 

ifR1.Salary < R2.Salary then

CompareTwoRecords := -1;

exit;

ifR1.Salary > R2.Salary then

CompareTwoRecords := +1;

exit;

end;

 

// Если уж сюда попали, значит, никаких различий между записями не найдено.

 

CompareTwoRecords := 0;

end;

 


procedureMyList3Class.InsertItem(sName: string; Salary: double);

pNew, pCurr, pPrev: pPersonType;

pc: pChar;

ifAloneItem(sName, Salary, pNew) then EXIT;

 

ifCompareTwoRecords(pNew^, pHead^) < 0 then

pNew^.pNext := pHead;

pHead := pNew;

exit;

end;

 

pPrev := pHead;

pCurr := pPrev^.pNext;

 


whilepCurr <> Nil do

ifCompareTwoRecords(pNew^, pCurr^) < 0 then

pPrev^.pNext := pNew;

pNew^.pNext := pCurr;

exit;

end;

 

pPrev := pCurr;

pCurr := pCurr^.pNext;

end;

 

pPrev^.pNext := pNew;

pTail := pNew;

 

end;

 

procedureMyList3Class.InsertFromFile(sFileName: string);

F: Text;

sName: string[40];

Salary: double;

 

Assign(F, sFileName);

 

{SI-}

Reset(F);

{SI+}

 

ifIOResult <> 0 then

WriteLN('File ', sFileName, ' not notfound');

Halt;

end;

 

ReadLN(F, sName);

ReadLN(F, Salary);

 

InsertItem(sName, Salary);

end;

end;

 

end.

 

 

Этот этап включает в себя обоснование актуальности проблемы и цели исследования. Цель- это конечный конкретный результат или желаемое состояние, которого можно добиться, работая вместе в команде единомышленников. Цель должна быть сформулирована четко и недвусмысленно. Она должна быть ясной не только автору, но и представителям других специальностей и профессий. Название темыдолжно соответствовать цели исследования.

Для раскрытия поставленной цели необходимо определить задачиисследования, т.е. те конкретные действия, которые последовательно ведут к достижению цели исследования. Для небольших исследования намечают обычно 4-6 задач. Большую помощь при формировании цели и задач исследования может оказать рабочая гипотеза,т.е. основная идея исследования, предвидение ожидаемых результатов.

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