Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Из опыта создания универсальных тестовых редакторов

sp;       Write(chr(186));
                      For t:=1 to (x1-x-3) do Write(' ');
                      Writeln(chr(186));
                      End;
    Write(' ');
    Write(chr(200)); {рисование уголка}
    For a:=1 to (x1-x-3) do Write(chr(205)); {рисование линии}
    Write(chr(188)); {рисование уголка}
    Window(x+2,y+1,x1-2,y1-1); {открытие окна ввода внутри окна}
    TextColor(black);
    End;
Здесь все довольно просто: окно открывается оператором  Window  с  указанием
координат. По завершении текущего сеанса  окно  закрывается  (закрашивается)
той же командой. В данной программе окна  закрываются  и  открываются  много
раз,  запрашивая  каждое  свои  данные,  что  выглядит  намного  проще,  чем
множество строк на экране, не так ли?
Вот как это выглядит в программе:
Window(10,22,69,22);   {указывается окно с координатами}
  TextBackGround(green); {задается цвет фона}
  clrscr; {окно закрашивается}
 
               Введение процедур. Основные функции редактора.
Как видно в структурной программе, функции обозначены в  операторе  варианта
case. Для удобства обращения к ним  и  для  установления  более  эффективных
связей между ними  я  решил  вынести  функции  в  отдельные  процедуры.  Это
создало   дополнительные   трудности:   потребовалось   изменить   структуру
переменных, ввести локальные переменные. В результате  общий  вид  программы
изменился, увеличилось ее быстродействие.
   Я до сих пор говорил об основных функциях редактора, но не  показывал  их
программного кода. Начнем с функции создания теста. Она  создает файл  теста
и  файл  ответов,  последовательно  записывает  вопросы  и  ответы  и  затем
закрывает файл.
Procedure NewF;
    Var h1:string;          {объявление локальных переменных}
    Begin
    Window(10,10,53,15);
    TextBackGround(black);
    clrscr;
    Window(20,10,66,15); {начальное окно}
    TextBackGround(blue);
    clrscr;
    TextColor(black);
    Write('сохранить файл как ');
    Readln(a); {ввод пути создаваемого файла без расширения}
    a:=a+'.ts'; {дописывание расширения}
    h1:=a;
    Assign(c,a); {связь переменной с файлом вопросов}
    a:=a+'o'; {изменение расширения}
    Assign(u,a); {связь переменной с файлом ответов}
    Rewrite(c);
    Rewrite(u);
    Window(20,10,66,15); {закрытие окна}
    TextBackGround(black);
    clrscr;
    Window(30,5,50,10); {открытие окна характеристик}
    TextBackGround(yellow);
    clrscr;
    GoToXY(30,6);
    Write('кол-во вопросов ');
    Readln(d); {ввод количества вопросов}
    Writeln(c,' ',d);
    GoToXY(30,8);
    Writeln('название теста '); {ввод названия теста}
    Readln(f);
    Writeln(c,f);
    Writeln('пароль на защиту');
    Readln(f); {ввод пароля}
    Writeln(u,f);
    Window(30,5,50,10);
    TextBackGround(black);
    clrscr;
    For i:=1 to d do Begin
                     Writeln(c);
                     Window(10,10,53,20); {окно вопроса}
                     TextBackGround(lightgray);
                     clrscr;
                     Writeln(i,'-й вопрос: ');
                     Readln(a); {ввод вопроса}
                     Str(i,f);
                     f:=f+')'; {запись вопроса в файл}
                     Writeln(c,f);
                     Writeln(c,a);
                     Window(55,10,80,15); {окно количества ответов}
                     TextBackGround(cyan);
                     clrscr;
                     Write('количество ответов на ',i,'-й вопрос ');
                     Readln(e); {ввод количества ответов}
                     Window(10,10,53,20); {окно ответов}
                     TextBackGround(lightgray);
                     clrscr;
                     For j:=1 to e do Begin
                                      Write(' ',j,')');
                                      Readln(a); {ввод ответов}
                                      Str(j,f);
                                      a:=' '+f+')'+a;
                                      Write(c,a);
                                      End;
      
12345След.
скачать работу

Из опыта создания универсальных тестовых редакторов

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ