Реализация библиотеки для работы с

Вид материалаДокументы

Содержание


Основной файл (реализация пользовательского интерфейса)
Подобный материал:
1   2   3   4   5

Основной файл (реализация пользовательского интерфейса)

program Search_and_Sor5;


{$APPTYPE CONSOLE}

uses

SysUtils,

listing5 in 'listing5.pas';


var

choice : shortint;

fQuit:boolean;

x:string;

myArrayStatic,myTwoDimenArray, myArrayDynamic:MyArr;

mySearchAndSort:SearchAndSort;

myTwoDimStr:TwoDimenStr;

myTwoDimCol:TwoDimenCol;

myTwoDimStrD:TwoDimenStrD;


begin

fQuit:=false;

choice:=-1;

while (true) do

begin

writeln(Rus('=====ГЛАВНОЕ МЕНЮ====='):48);

writeln(Rus('Выберите массив'):45);

writeln(Rus(' 1 - Одноменый статический массив'));

writeln(Rus(' 2 - Двумерный статический массив сортируемый по строкам'));

writeln(Rus(' 3 - Двумерный статический массив сортируемый по столбцам'));

writeln(Rus(' 4 - Одномерный динамический массив'));

writeln(Rus(' 5 - Двумерный динамический массив сортируемый по сторкам'));

writeln(Rus(' 0 - Завершить работу'));

while (true) do

begin

readln(x) ;

if (myArrayStatic.check(x)) then

begin

choice:=strToInt(x) ;

if ((choice>=0) and (choice<=5)) then Break else myArrayStatic.myError(2, x);

end;

writeLn(Rus('Выберите пункт меню'):45);

end;


if (choice=1) then

begin

myArrayStatic.createArrayStatic();

writeLn(Rus('Одноменый статический массив'):48);

mySearchAndSort:=SearchAndSort.Create();

mySearchAndSort.printArray();

mySearchAndSort.searchMax();

mySearchAndSort.searchMin();

writeLn(Rus('Максимальный элемент в массиве'):48);

writeLn(mySearchAndSort.GetMax():34);

writeLn(Rus('его номер'):38);

writeLn(mySearchAndSort.GetNumMax():34);

writeLn(Rus('Минимальный элемент в массиве'):48);

writeLn(mySearchAndSort.GetMin():34);

writeLn(Rus('его номер'):38);

writeLn(mySearchAndSort.GetNumMin():34);

mySearchAndSort.SortMin();

writeLn(Rus('Отсортированный массив по возрастанию'):48);

mySearchAndSort.printArray();

mySearchAndSort.SortMax();

writeLn(Rus('Отсортированный массив по убыванию'):48);

mySearchAndSort.printArray();

readln;

end

else if (choice=2) then

begin

myTwoDimenArray.createTwoDimenArray();

mySearchAndSort:=SearchAndSort.Create();

mySearchAndSort.TMax();

mySearchAndSort.TMin();

myTwoDimStr:=TwoDimenStr.Create();

myTwoDimStr.createNewArrayStatic();

myTwoDimStr.searchMax();

myTwoDimStr.searchMin();

writeLn(Rus('Двумерный статический массив'):48);

myTwoDimStr.printTwoDimArray();

writeLn(Rus('Максимальный элемент в массиве'):48);

writeLn(myTwoDimStr.GetMax():34);

writeLn(Rus('его номер'):38);

writeLn(myTwoDimStr.GetNumMax():34);

writeLn(Rus('Минимальный элемент в массиве'):48);

writeLn(myTwoDimStr.GetMin():34);

writeLn(Rus('его номер'):38);

writeLn(myTwoDimStr.GetNumMin():34);

myTwoDimStr.SortMin();

writeLn(Rus('Отсортированный массив по возрастанию'):48);

myTwoDimStr.printArray();

myTwoDimStr.SortMax();

writeLn(Rus('Отсортированный массив по убыванию'):48);

myTwoDimStr.printArray();

readln;

end

else if (choice=3) then

begin

myTwoDimenArray.createTwoDimenArray();

mySearchAndSort:=SearchAndSort.Create();

mySearchAndSort.TMax();

mySearchAndSort.TMin();

myTwoDimCol:=TwoDimenCol.Create();

myTwoDimCol.createNewArrayStatic();

myTwoDimCol.searchMax();

myTwoDimCol.searchMin();

writeLn(Rus('Двумерный статический массив'):48);

myTwoDimCol.printTwoDimArray();

writeLn(Rus('Максимальный элемент в массиве'):48);

writeLn(myTwoDimCol.GetMax():34);

writeLn(Rus('его номер'):38);

writeLn(myTwoDimCol.GetNumMax():34);

writeLn(Rus('Минимальный элемент в массиве'):48);

writeLn(myTwoDimCol.GetMin():34);

writeLn(Rus('его номер'):38);

writeLn(myTwoDimCol.GetNumMin():34);

myTwoDimCol.SortMin();

writeLn(Rus('Отсортированный массив по возрастанию'):48);

myTwoDimCol.printArray();

myTwoDimCol.SortMax();

writeLn(Rus('Отсортированный массив по убыванию'):48);

myTwoDimCol.printArray();

readln;

end

else if (choice=4) then

begin

myArrayDynamic.createDynArray();

writeLn(Rus('Исходный массив:'):48);

mySearchAndSort.printArrayD();

mySearchAndSort.SortBubbleMax();

writeLn(Rus('Отсортированный массив по возрастанию'):48);

mySearchAndSort.printArrayD();

mySearchAndSort.SortBubbleMin();

writeLn(Rus('Отсортированный массив по убыванию'):48);

mySearchAndSort.printArrayD();

myArrayDynamic.deleteDynArray();

end

else if (choice=5) then

begin

myArrayDynamic.createDynArrayT();

mySearchAndSort:=SearchAndSort.Create();

mySearchAndSort.DTMax();

mySearchAndSort.DTMin();

myTwoDimStrD:=TwoDimenStrD.Create();

myTwoDimStrD.createNewArrayDynamic();

myTwoDimStrD.searchMax();

myTwoDimStrD.searchMin();

writeLn(Rus('Двумерный статический массив'):48);

myTwoDimStrD.printArray();

writeLn(Rus('Максимальный элемент в массиве'):48);

writeLn(myTwoDimStrD.GetMax():34);

writeLn(Rus('его номер'):38);

writeLn(myTwoDimStrD.GetNumMax():34);

writeLn(Rus('Минимальный элемент в массиве'):48);

writeLn(myTwoDimStrD.GetMin():34);

writeLn(Rus('его номер'):38);

writeLn(myTwoDimStrD.GetNumMin():34);

myTwoDimStrD.SortMin();

writeLn(Rus('Отсортированный массив по возрастанию'):48);

myTwoDimStrD.printArray();

myTwoDimStrD.SortMax();

writeLn(Rus('Отсортированный массив по убыванию'):48);

myTwoDimStrD.printArray();

mySearchAndSort.SortBubbleMax();

writeLn(Rus('Отсортированный массив по возрастанию'):48);

myTwoDimStrD.printArray();

mySearchAndSort.SortBubbleMin();

writeLn(Rus('Отсортированный массив по убыванию'):48);

myTwoDimStrD.printArray();

myArrayDynamic.deleteDynArrayT();

end

else if (choice=0) then fQuit := true ;

if (fQuit) then break;

end;

end.


Вывод

Цель нашей работы – коллективная разработка программы с использованием принципов и методов объектно-ориентированного программирования была достигнута.

В ходе проделанной работы нами были написаны алгоритмически схожие программы на pascal и С++.

Это сходство видно из протоколов тестирования при одинаковых входных данных, что доказывает эквивалентность программ на pascal и С++.