RSS    

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

    TextBackGround(green);

    clrscr;

Закрашивание следующего окна- важная функция. Она закрашивает то синее окно, которое было выбрано перед обращением к процедуре.

    Window(10,22,69,22); {основное окно панели управления}

    TextBackGround(green);

    clrscr;

    TextColor(brown); {установка цвета текста}

    Write('Новый     Открыть   Править   Результат Печать    Выход'); {нанесение надписи на панель         

                                                                                                                                                       управления}

    If x>=20 Then x:=x-10; {проверка соответствия окна выбора границам панели управления}

Этот оператор производит сравнение координат окна выбора с координатами начала панели управления. Если окно выбора “выехало” за границы панели управления, то изменений координат не производится, окно выбора остается на своем месте.

    Window(x,22,x+9,22); {рисование окна выбора}

    TextBackGround(blue);

    clrscr;

    case x of  {выбор надписи на окне выбора}

Данное ветвление распознает по координате окна выбора какое слово следует в него вписать.

    10:Begin

       TextColor(green);

       Write('Новый');

       End;

    20:Begin

       TextColor(green);

       Write('Открыть');

       End;

    30:Begin

       TextColor(green);

       Write('Править');

       End;

    40:Begin

       TextColor(green);

       Write('Результат');

       End;

    50:Begin

       TextColor(green);

       Write('Печать');

       End;

    60:Begin

       TextColor(green);

       Write('Выход');

       End;

    End;

    End;

  Procedure panel.right; {процедура сдвига окна выбора вправо}

    Begin

    Window(x,22,x+9,22); {закрашивание предыдущего окна}

    TextBackGround(green);

    clrscr;

    Window(10,22,69,22); {рисование окна панели управления}

    TextBackGround(green);

    clrscr;

    TextColor(brown); {изменение цвета текста}

    Write('Новый     Открыть   Править   Результат Печать    Выход'); {нанесение текста на панель управления}

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

    If x<=50 Then x:=x+10; {сравнение координат окна выбора с координатами конца окна панели                                  

                                                                                                                                                       управления}

    Window(x,22,x+9,22); {рисование окна выбора}

    TextBackGround(blue);

    clrscr;

    case x of  {нанесение соответствующего текста на окно выбора}

    10:Begin

       TextColor(green);

       Write('Новый');

       End;

    20:Begin

       TextColor(green);

       Write('Открыть');

       End;

    30:Begin

       TextColor(green);

       Write('Править');

       End;

    40:Begin

       TextColor(green);

       Write('Результат');

       End;

    50:Begin

       TextColor(green);

       Write('Печать');

       End;

    60:Begin

       TextColor(green);

       Write('Выход');

       End;

    End;

    End;

  Procedure pannel; {процедура рисования панели управления}

    Begin

    Window(10,22,69,22);

    TextBackGround(green);

    clrscr;

    TextColor(brown);

    Write('Новый     Открыть   Править   Результат Печать    Выход');

    End;

<Procedure NewF;> {функции тестового редактора}

<Procedure OpenF;>

<Procedure RedactF;>

<Procedure SearchF;>

<Procedure PrintF;>

Procedure panel.choose; {процедура выбора функции}

    Begin

    case x of  {по координате окна выбора определяет нужную функцию}

    10:NewF;

    20:OpenF;

    30:RedactF;

    40:SearchF;

    50:PrintF;

    60:b:='e';

    End;

    End;

Вывод: Как видно, основную функцию управления взял на себя объект. Благодаря этому действие программы значительно упростилось, программа стала быстрее работать. Схему действия объекта можно изобразить следующим образом

Оформление программы.

В завершении работы с программой я приступил к оформлению работы. Создание титульной страницы не составило большого труда. Если вы ознакомитесь с программным кодом, то убедитесь, что все команды- из модуля crt. Они используют элементы работы с цветом фона и текста.

Procedure oform;

    Begin

    TextBackGround(green);   {установка цвета фона}

    clrscr;

    TextColor(red); {цвет текста}

    GoToXY(20,10); {перевод курсора в нужную позицию}

    Write('Редактор Тестов'); {вывод текста}

    TextColor(darkgray); {цвет текста}

    GoToXY(20,12);

    Writeln('автор: Цыбин Антон'); {вывод текста}

    GoToXY(20,14);

    Writeln('составлено 09.05.2000'); {вывод текста}

    TextColor(white); {цвет текста}

    GoToXY(20,16);

    Writeln('нажмите клавишу'); {вывод текста}

    Readln;

    TextBackGround(black);

    clrscr;

    End;

    Begin

Программа рисует титульный лист разноцветными буквами.

Основная программа.

Реализует  действие всей программы, здесь сходятся все процедуры, объекты, функции, но ее действие крайне просто: сначала запускается оформление, затем системное время, а затем управление передается объекту или его методам. По завершении работы программа закрывает все окна и «сворачивает» работу программы.

   g.x:=10;

    oform; {оформление}

    TextColor(green);

    GoToXY(30,1);

    Writeln('ТЕСТОВЫЙ РЕДАКТОР. V 1.01.'); {вывод информации}

    GoToXY(23,2);

    Writeln('составитель: Цыбин Антон (09.05.2000)');

    pannel;

    repeat

    Window(60,24,70,24);

    TextBackGround(black);

    clrscr;

    repeat  {время}

     h:=g3;

     GoToXY(50,22);

     GetTime(g1,g2,g3,g4);

     TextColor(yellow);

     Write(g1,':',g2,' ',g3);

     Delay(1000);

     clrscr;

    until keypressed;

    b:=readkey; {считывание клавиши}

По нажатию клавиши программа определяет дальнейшие действия (передача управления объекту)

    case b of

    '1':g.left(b);

    '3':g.right(b);

    '0':Begin

        Window(10,10,53,15);

        TextBackGround(blue);

        clrscr;

        g.choose;

        End;

    End;

    until b='e';

    Window(10,10,53,20); {закрытие всех окон}

    TextBackGround(black);

    clrscr;

    Window(10,10,80,15);

    TextBackGround(black);

    clrscr;

    Window(30,10,35,12);

    TextBackGround(red);

    clrscr;

    TextColor(blue);

    Writeln('конец!');

    Readln;

    End.

Программа запускает методы панели управления в соответствии с нажатой клавишей, повторный вызов происходит благодаря циклу.

 

Заключение: Тенденции развития программных технологий.

Вы прочитали реферат и ознакомились с принципами действия отдельных процедур, функций и всей программы в целом. Кроме того, вы поняли разницу между структурным и объектным подходами к программированию. Что касается структурных языков, о них сказано и написано почти все, но немногие знакомы с объектами. Поэтому я посвящаю заключение этой теме.

   В последние несколько лет начал создаваться новый подход к программированию, названный объектным. Объекты стали вводиться и в язык Pascal, который позже был назван Object Pascal. Сам объект построен по принципу, объясняющемуся в главе «Объекты». Их преимущество заключается в принципе наследования, когда один созданный объект способен породить родственный ему объект-потомок. Многие объекты могут использовать друг друга при построении программы. Ввиду большого количества полей и методов, были созданы свойства, использующие методы. В частности, в Delphi свойства выносятся в Инспектор объектов, что делает работу с ними похожей на детскую игру. Теперь, чтобы написать программу, не надо возиться с кучей переменных и операторов. Программист может даже и не видеть текста самой программы, конструируя сразу ее внешний вид на форме. Таким образом, если на создание программы ранее уходили недели, то сейчас она создается за несколько часов.

   В связи с переходом на объектные концепции, новые программы возникают на основе уже имеющихся объектов. Некоторые языки программирования написаны на основе объектов. Расширяется и пространство применения объектов, если они возникли в среде MS-DOS, то теперь, используя объекты, можно с легкостью создать текстовый редактор типа WORD или СУБД типа ACCESS. И, естественно, в такой среде можно создать мощный и удобный редактор тестов.

   Но я только приступаю к изучению Delphi и не могу написать подобный редактор в той среде. Но и описанная здесь программа не останется в таком виде. В перспективе внедрение мышки и управление программой с ее помощью. Я уже знаю, как это осуществить, и использую мышь в ряде своих программ.

   К программе недавно мной был написан кодировщик информации. Он универсален в применении к файлам, т. е. можно зашифровать любой файл и ни одна программа не сможет его прочитать. Расшифровать файл вы сможете используя тот же редактор, совершая те же действия. Вам требуется лишь ввести полный путь к файлу, имя файла с указанием его расширения. Далее программа сделает все за вас, включая расчет времени, необходимого для шифрования. Используйте его по вашему усмотрению для шифрования текстов тестов.

 

 

Список использованной литературы:

1.   Учебник по Turbo Pascal 7.0 1998г.

2.   Учебник по Delphi 5 (Дарахвелидзе, Котенок, Марков) 2000г.

3.   Журнал «Информатика и Образование» №1 1998г. статья Г. Н. Гутмана «Неисчерпаемый Фортран»

4.   Журнал «Земля и Вселенная» №2 1998г. статья В. П. Дьяконова «Бейсик- язык программирования ПЭВМ»

5.   Журнал «Информатика и Образование» №8 1999г. статья В. И. Курганского «Конструирование программ»

6.   Интерактивный учебник по Delphi, аннотированные ссылки в Интернет


[1] Примечание: данные из учебника по Turbo Pascal

[2] Примечание: данные из статьи «Конструирование программ»

[3] Примечание: данные из учебника по Turbo Pascal

*Примечание автора

[4] Примечание: данные из учебника по Delphi 5


Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.