Смекни!
smekni.com

Методические указания по курсовому проектированию для студентов направления 071900 Составители: А. Е. Докторов (стр. 7 из 7)

function InputByRows:string;

begin { InputByRows }

repeat

GetEvent(Ev);

if Ev.Command in [cmLeft,cmRight] then

begin

case Ev.Command of

cmLeft: if Cor<>Intel then Cor:=Pred(Cor) else Cor:=Cyrix;

cmRight:if Cor<>Cyrix then Cor:=Succ(Cor) else Cor:=Intel;

end; {case}

GotoXY(X,Y); ClrEol; Write(CorpName[Cor]);

end;

until Ev.Command in [cmEnter,cmExit];

InputByRows:=CorpName[Cor];

end; { InputByRows }

- ввод данных в виде строки с клавиатуры - функция InputString, реализующая простейшие функции редактирования;

Листинг 10

{ Функция ввода строки с клавиатуры }

function InputString:string;

var S:string; X,Y,i,j:byte;

begin InputString

{Начальные значения вводимой строки и местоположения курсора}

S:=''; X:=WhereX; Y:=WhereY; i:=1; repeat

GetEvent(Ev); { Получить событие от клавиатуры }

with Ev do

begin

case Command of { Выбор действий по командам }

cmEmpty: begin {Нет команды, тогда ввод символа }

Insert(Key,S,i); GotoXY(X,Y); write(S); inc(i); end;

cmBackSpace: begin { Удалить символ перед курсором }

Delete(S,i-1,1); GotoXY(X,Y); ClrEol; GotoXY(X,Y); write(S); if i>1 then dec(i); end;

cmDelete: begin { Удалить символ после курсора }

Delete(S,i,1); GotoXY(X,Y); ClrEol; GotoXY(X,Y); write(S); end;

cmLeft: if i>1 then dec(i); { Курсор влево }

cmRight: if i<length(S)+1 then inc(i); { Курсор вправо }

end; {case}

end; {with}

GotoXY(X+i-1,Y);

until (Ev.Command=cmExit)or(Ev.Command=cmEnter);

if Ev.Command=cmEnter { если команда cmEnter }

then InputString:=S { Тогда принять ввод строки }

else InputString:=''; { Иначе отказ от введенных данных }

end; { InputString }

- процедура ClearSpecialLines - убирает с экрана всю дополнительную информацию.

Листинг 11

{ Процедура очистки специальных строк на экране монитора }

procedure ClearSpecialLines;

begin

GoToSpecialLine(1); ClrEol; GoToSpecialLine(2); ClrEol;

end;

С учетом изложенного основная часть процедуры ввода данных с клавиатуры примет вид:

Листинг 12

begin {KeyBoardInput }

InitKeyBoardInput; { Инициализация ввода с клавиатуры }

if C=2 { Если во втором столбце - выбор вариантов }

then Si:=InputByRows { Ввод поля выбором вариантов }

else Si:=InputString; {Ввод строкой с клавиатуры} ClearSpecialLines;

if Ev.Command=cmEnter

then KeyBoardInput:=Si { Принять ввод строки }

else KeyBoardInput:=''; {Отказ от введенных данных }

end; { KeyBoardInput }

4.3.3. Завершение работы программы

Завершающим этапом в проекте программы будет процедура Done, которая сохраняет введенные на экране изменения в файл и очищает экран. Процедура Done считывает данные непосредственно с экрана монитора. Такой вариант не совсем соответствует первоначальному плану, так как сохранение должно бы проводиться из одномерного массива записей. Данная реализация дана только в качестве примера работы с экранной областью памяти.

Листинг 13

{ Завершение работы }

procedure Done(InitY,Ny:byte);

Const ScreenWidth=80; {Ширина экрана }

ScreenLength=25; {Длина экрана }

var i,j:byte; F:Text; S:string;

{ Массив, расположенный в экранной области памяти }

s1:array[0..ScreenWidth*2*ScreenLength] of char absolute $B800:0;

begin {Done }

OpenTextFile('Table.txt',F,WriteFile);

for i:=0 to InitY+Ny do { Для всех строк экранной памяти }

begin

{ Переписать из строки экранной памяти в строку S }

S[0]:=#160; Move(s1[ScreenWidth*2*i],s[1],ScreenWidth*2);

{ Удалить из строки S атрибуты (цвет и т.п.) символа на экране,

то есть каждый второй байт }

j:=1;

while (j+1)<=length(S) do begin Delete(s,j+1,1); inc(j); end;

{ Вывести строку в файл }

WriteLn(F,S);

end;

Close(F);

end; { Done }

5. ОФОРМЛЕНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ

Пояснительная записка к курсовой работе должна содержать:

- титульный лист;

- задание на курсовое проектирование;

- аннотацию;

- *техническое задание;

- описание (спецификации) модулей программы;

- *описание программы;

- *текст программы;

- *программа и методика испытаний;

- (если это необходимо).

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

В аннотации приводится краткое изложение содержание поясни­тельной записки. Текст программы может быть оформлен как приложение к поясни­тельной записке.


СПИСОК ЛИТЕРАТУРЫ

1. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль : Пер. с англ. – М.: Финансы и статистика, 1991. – 720 с.

2. Джонстон Г. Учитесь программировать : Пер. с англ. – М.: Финансы и статистика, 1989. – 368 с.

3. Единая система программной документации (сборник стандартов). – М.: Издательство стандартов, 1988. – 143 с.

4. Лингер Р., Миллс Х., Уитт Б. Теория и практика структурного программирования : Пер. с англ. – М.: Мир, 1982. – 406 с.

5. Мик Б. и др. Практическое руководство по программированию : Пер. с англ. – М.: Радио и связь, 1986. -168 с.

6. Приборы, средства автоматизации и системы управления. ТС-3 «Автоматизированные средства управления». Обзорная информация «Методология и технология программирования». – М., 1989. Вып. 1.

7. Тассел Д. Ван. Стиль, разработка, эффективность, отладка и испытание программ : Пер. с англ. – 2-е изд., испр. – М.: Мир, 1985. – 332 с.

8. Шахов Э.К. Разработка и документирование программ. - Пенза: ПГТУ, 1994. - 58 с.

Учебное издание

Разработка и документирование программ

Методические указания по курсовому проектированию для студентов направления 071900

Составители: Докторов Александр Евгеньевич

Докторова Елена Анатольевна

Корректор Ю. М. Кретова

Подписано в печать 18.05.00

Формат 60х84/16. Бумага писчая. Усл. п. л. 2,09 Уч.-изд. л. 2,00 Тираж 50 экз. Заказ

Ульяновский государственный технический университет, 432027, Ульяновск, Сев. Венец, 32.

Типография УлГТУ, 432027, Ульяновск, Сев. Венец, 32.


* Не следует путать техническое задание и задание (бланк) на курсовую работу, получаемое студентом от руководителя. На основании последнего студент разрабатывает техническое задание в соответствии с требованиями ГОСТ 19.101-77 (см. табл.1) и ГОСТ 19.102-77

* При выполнении курсовой работы исключаются вторая, третья и пятая стадии разработки программы

* Программные документы, правила оформления и содержание которых регламентированы стандартами ЕСПД. Все необходимые выдержки из стандартов, которые могут пот­ребоваться при разработке этих документов, приведены выше, т.е. при их оформлении вполне можно обойтись без обращения непосредс­твенно к стандартам. Ука­занные документы не следует оформлять титульные листы и листы ут­верждения (перечисленные документы являются заголовками разделов пояснительной записки).