Строковый редактор текста

Разработка программы для редактирования в оперативной памяти текстовых ASCII-файлов размером не более 40 килобайт, на языке программирования Pascal в среде разработки Turbo Pascal 6.0. Инструкция для пользователя. Листинг разработанной программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.11.2011
Размер файла 21,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Чувашский государственный университет имени И.Н. Ульянова

Кафедра Вычислительной техники

КУРСОВАЯ РАБОТА

по дисциплине

«Программирование на языке высокого уровня»

на тему: «Строковый редактор текста»

Выполнил: студент гр. ИВТ-42-09

Васильев Владимир Александрович

Проверил: Симаков Александр Леонидович

Чебоксары, 2010

Задание

Разработать программу для редактирования в оперативной памяти текстовых ASCII-файлов размером не более 40 килобайт.

Программа должна читать текстовый файл в оперативную память; отображать название проекта, автора, язык управления, имя редактируемого файла; точно моделировать структуры данных и выполнять функциональность строкового редактора текста в объёме описания [1]; записывать отредактированный файл на диск.

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

Дополнительные по отношению к [1] функциональные возможности:

1. Наличие справки о назначении и использовании редактора, вызываемой по ключу "/?" и пустой командной строке.

2. Имя редактируемого файла должно передаваться в командной строке.

3. Программа должна проверять наличие файла.

4. Директивы "Прочитать" и "Записать" должны запрашивать имя файла.

5. Минимальный набор модулей проекта "Строковый редактор текста":

- главный модуль: справка, проверка наличия файлов, инициализация, чтение файла для редактирования, вызов монитора редактора текста;

- глобальные данные;

- служебные подпрограммы для организации интерфейса;

- монитор редактора текста;

- подпрограммы реализации каждой директивы.

Описание процесса разработки

Для решения поставленной задачи был выбран язык Pascal и среда разработки Turbo Pascal 6.0.

Интерфейс программы был разработан в соответствии с описанием [1]: использован алгоритм монитора редактора текста. Директивам пользователя в соответствие поставлены соответствующие процедуры обработки текста. Адреса процедур хранятся в массиве, так как это упрощает сопоставление директив и подпрограмм: для вычисления адреса процедуры нужно указать в индексе массива его номер, получаемый выделением пяти младших битов символа, который представляет команду пользователя.

В качестве структур данных, на которых мог быть основан буфер текста были рассмотрены следующие варианты.

1) Список указателей на строки, ограниченные нулём. Данная структура позволила бы увеличить максимальный размер редактируемого файла, избежать пересылки в памяти больших объемов данных при вставке и удалении строк. Например, для вставки строк можно выделить область памяти B (1), на эту область создать указатель (2), разместить этот указатель в списке указателей за указателем, который указывает на область памяти A, в которой хранится последняя выведенная строка (3), в выделенную память переместить ту часть строк из области A, которая следует за последней выведенной (4), и, сдвигая содержимое В (5), размещать в B строки вводимые пользователем (6), причем при нехватке места в B, снова переходим к пункту (1). Для реализации этого метода потребовалось бы разработать процедуры, устраняющие фрагментацию памяти. Очевидно, что сложность реализации этой структуры высока.

2) Массив из слов. Эта структура данных позволяет осуществлять прямой доступ к своим компонентам, что обуславливает простоту алгоритмов работы с ней и надёжностью реализации и расширения программы, а также простотой моделирования структуры данных из описания [1], потому была выбрана именно эта структура данных.

Описание программы

1) Общие сведения.

Наименование программы: "Строковый редактор текста".

Программное обеспечение: для функционирования программы необходима операционная система Microsoft DOS.

Программа написана на языке программирования Pascal в среде разработки Turbo Pascal 6.0.

2) Функциональное назначение: редактирование текстовых ASCII-файлов, организованных в виде строк, размером не более 40 килобайт. Максимальный размер вставляемых строк и буфера поиска - 78 символов.

3) Описание логической структуры.

Программа состоит из следующих частей.

Главная программа, которая вызывает процедуры получения параметров из командной строки, выдачи справки и чтения файла. После выполнения этих процедур она вызывает монитор редактора текста.

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

Модули, вызываемые монитором можно разделить на несколько категорий по роду выполняемых ими задач.

Модули установки адресов задают адреса начала и конца области текста, доступного для дальнейшего редактирования.

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

Модуль перемещения перемещает указатель на заданное пользователем число строк.

Модуль вывода строк выводит заданное число строк, просматривая массив и подсчитывая число символов возврата каретки, и изменяет указатель последней выведенной строки.

Модуль поиска строк последовательно сравнивает начало заданной пользователем строки со всеми строками текста и выводит первую соответствующую запросу строку.

4) Используемые технические средства: ЭВМ, совместимые с IBM PC.

5) Вызов и загрузка: программа вызывается с указанием в качестве необязательного параметра имени файла для редактирования.

6) Входные данные: текстовые файлы в соответствии со стандартом кодирования ASCII, символы, получаемые через стандартный поток входных данных DOS; предварительная подготовка: обеспечить соответствие ограничениям, указанным в пункте 2).

7) Выходные данные: текстовые файлы в соответствии со стандартом кодирования ASCII, символы, передаваемые через стандартный поток выходных данных DOS.

8) Выводы.

Достоинства: благодаря использованию структур данных с прямым доступом, программа позволяет с большой скоростью обрабатывать текстовые файлы, есть возможность ее расширения.

Недостатки: для многих задач интерфейс менее удобен, чем в не-строковых редакторах, малый размер редактируемых файлов.

Предложения по модернизации и расширению.

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

Литература

1. Строковый редактор текста. Метод. указания к лабораторным работам /Сост. А.Л.Симаков, А.В.Аникин. Чебоксары: Изд. Чуваш. ун-та. 1987. - 38 с.

2. Работа в интегрированной среде программирования Turbo Pascal: Мутод. указания к лабораторным работам/ сост. А.Л.Симаков, Чебоксары: Изд. Чуваш. ун-та, 1993, 60с.

3. Алгоритмические языки и программирование: Метод. указания к курсовой работе / Сост. А.Л.Симаков. Чебоксары: Изд. Чуваш. ун-та, 1995. - 36 с.

Приложение

Инструкция для пользователя (файл readme.txt).

======== Строковый редактор текста =========

Редактор текста предназначен для создания редактирования массивов символьной информации. Редактирование выполняется в режиме диалога пользователя с ЭВМ, ауправление редактированием осуществляется с помощью команд редактора текста.

Формат команды: [-][N][Буква] Enter

- - Управление к началу редактируемого массива(по умолчанию знака минус нет)

N - целое число в восьмеричной системе счисления, указывает количество редактируемых строк текста

Буква - команда

Команды

-----------------------------------------------------

Символ | Действие

B | переход в начало текста

X | вывод числа строк в редактируемом файле

D | удаление строк

E | переход в конец

I | вставка строк

P | перемещение

V | вывод строк

R | чтение файла

F | поиск строки с заданным началом

W | запись текста в файл

N | установка НОТ - начало области текста

K | установка КТ - адрес признака конца файла

O | установка КОТ - конец области текста

Dier Васильев Владимир ИВТ-42-09

Тестовые данные.

1) Входной файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

Sweet oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,

and are now the most common variety of orange cultivated. The sweet orange will grow to different sizes and

colours according to local conditions, most commonly with ten carpels,or segments, inside.

Директивы:

W (запись файла).

Результирующий файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

Sweet oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,

and are now the most common variety of orange cultivated. The sweet orange will grow to different sizes and

colours according to local conditions, most commonly with ten carpels,or segments, inside.

Файл прочитан и записан без изменений.

2) Входной файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

Sweet oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,

and are now the most common variety of orange cultivated. The sweet orange will grow to different sizes and

colours according to local conditions, most commonly with ten carpels,or segments, inside.

Директивы:

B (в начало файла)

2P (перемещение на 2 строки вперед);

D (удаление последней выведенной строки);

F (поиск: задана строка "sweet");

D (удаление последней выведенной строки);

W (запись файла).

Результирующий файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

colours according to local conditions, most commonly with ten carpels,or segments, inside.

3) Входной файл:

Директивы:

W (запись файла).

Результирующий файл:

Пояснение:

Открыт пустой файл и записан без редактирования.

4) Входной файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

Sweet oranges broughtto Europe in the 15th century from India by Portuguese traders quickly displaced the bitter,

and are now the most common variety of orange cultivated. The sweet orange will grow to different sizes and

colours according to local conditions, most commonly with ten carpels,or segments, inside.

Директивы:

F (поиск: задана строка "sweet");

3D (удаление трех строк);

W (запись файла).

Результирующий файл:

The Persian orange, grown widely in southern Europe after its introduction to Italy in the 11th century, was bitter.

Главный модуль:

Program ED_MAIN;

Uses Ed_MNT, Ed_Subr, Crt;

var

F : text;

Result : boolean;

begin

ClrScr;

Assign(F,Paramstr(1));

{$I-} Reset(F); {$I+}

Result:=IOResult=0;

if (Result) and (Paramstr(1)<>'') then begin

ReadText(F);

Close(F);

UstZn;

end

else

PustFile;

H;

Monitor;

end.

Модуль данных:

Unit Ed_Data;

interface

type

TArr=array [boolean] of char;

const

Otmena=#3;

Vihod=#81;{Q}

var

EndProc : boolean;

List : text;

Buf : array[0..20480] of word;

SmallBuf : array[1..39] of word;

EGR,EKT : byte;

Arg: integer;

Znak : Char;

KOT, KT, HOT, YCC, YNC : word;

implementation

end.

Модуль “Монитор”

Unit Ed_MNT;

interface

Procedure Monitor;

var Modul : char;

Edit : integer;

implementation

Uses Ed_Data, Ed_Subr, Crt;

Procedure Monitor;

var

ch:char;

sost:byte;

begin

sost:=3;

while sost<>25 do

case sost of

3: begin Writeln; EndProc:=True; Znak:='+'; Arg:=1;

TextColor(11); Writeln('*'); NormVideo;

sost:=6

end;

6: begin

ch:=Readkey;

if ch='-' then begin

Znak:=ch;

Write(ch)

end else sost:=8

end;

8: if ch=Otmena {const otmena ch=#3} then sost:=3 else sost:=9;

9: if ch in ['0'..'9'] then sost:=14 else sost:=10;

10: if ch in ['A'..'Z'] then begin

sost:=18; Write(ch);

end else sost:=11;

11: if ch=Vihod then sost:=25

else sost:=12;

12: begin TextColor(11); Writeln('?'); NormVideo; sost:=3 end;

14: begin

Pr_8chisla(ch);

if ch=otmena then sost:=3 else sost:=17;

end;

17: if ch in ['A'..'Z'] then begin sost:=18; Write(ch) end

else begin sost:=12; Writeln end;

18: begin Edit:=Ord(ch) and $1F; Modul:=ch; ch:=Readkey;

if ch=otmena then sost:=3 else sost:=21;

end;

21: if ch=#13 then begin sost:=22; Writeln end

else begin sost:=12; Writeln end;

22: if Modul='N' then sost:=24

else sost:=23;

23: if EGR=1 then sost:=24

else sost:=12;

24: begin TAM[Edit]; if EndProc then sost:=3 else sost:=12 end;

end;

V_8chisla(HOT);

Write('T');

V_8chisla(KT);

Readln;

end;

end.

Модуль “Подпрограммы”

Unit Ed_Subr;

Interface

Procedure PustFile;

Procedure UstZn;

Procedure Pr_8chisla(var ch : char);

Procedure V_8chisla(Chislo : word);

Procedure ReadText(var F : text);

Procedure A;

Procedure B;

Procedure C;

Procedure D;

Procedure E;

Procedure F;

Procedure G;

Procedure H;

Procedure I;

Procedure J;

Procedure K;

Procedure L;

Procedure M;

Procedure N;

Procedure O;

Procedure P;

Procedure Q;

Procedure R;

Procedure S;

Procedure T;

Procedure U;

Procedure V;

Procedure W;

Procedure X;

Procedure Y;

Procedure Z;

const TAM : array[1..26] of procedure=(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,

R,S,T,U,V,W,X,Y,Z);

implementation

Uses Ed_Data, Crt;

Procedure PustFile;

begin

TArr(Buf[0])[false]:='0';

TArr(Buf[0])[true]:=#26;

end;

Procedure UstZn;

begin

EGR:=1;

HOT:=0;

KOT:=20480;

YCC:=0;

YNC:=0;

end;

Procedure Pr_8chisla(var ch:char);

var chislo, cifra : integer;

begin

chislo:=0;

while ch in ['0'..'7'] do begin

Write(ch);

chislo:=chislo*8;

cifra:=ord(ch)-ord('0');

cifra:=cifra and $07;

chislo:=chislo+cifra;

ch:=Readkey;

end;

Arg:=chislo;

end;

Procedure V_8chisla(Chislo : word);

var i : shortint;

begin

Write(Chislo and $8000);

i:=12;

repeat

Write((Chislo shr i) and $0007);

i:=i-3;

until i=-3;

end;

Procedure Outline;

var ch : char;

k : byte;

j : boolean;

begin

if YNC = KT then Writeln('Љ®­Ґж ⥪бв®ў®Ј® д ©« !!!')

else begin

j:=false; YCC:=YNC; ch:='0';

while ch<>#13 do begin

ch:=TArr(Buf[YNC])[j];

if (ch<>'0') then

if (ch<>#13) then Write(ch);

if j=true then YNC:=YNC+1;

j:=j xor true;

end;

if j=true then YNC:=YNC+1;

Writeln;

end;

end;

Procedure YKV(Adress : word);

var k : integer;

j : boolean;

ch : char;

begin

k:=0;

while (Adress<>KT) and (k<>ARG) do begin

j:=false;

ch:='0';

while ch<>#13 do begin

ch:=TArr(Buf[Adress])[j];

if j=true then Adress:=Adress+1;

j:=j xor true;

end;

if j=true then Adress:=Adress+1;

k:=k+1;

end;

YNC:=Adress;

end;

Procedure ReadText(var F : text);

var ch : char;

i : integer;

j : boolean;

begin

i:=HOT; j:=false;

while not Eof(F) do begin

while not Eoln(F) do begin

Read(F,ch);

TArr(Buf[i])[j]:=ch;

if j then Inc(i);

j:=j xor true;

end;

Readln(F);

TArr(Buf[i])[j]:=#13;

if not j then begin

j:=j xor true;

TArr(Buf[i])[j]:='0';

end;

Inc(i);

j:=j xor true;

end;

TArr(Buf[i])[j]:='0';

j:=j xor true;

Read(F,ch);

TArr(Buf[i])[j]:=#26;

KT:=i;

end;

Procedure ReadScrText(var Mnt : boolean; var AC : word);

var ch : char;

Exit, j : boolean;

Sost : byte;

begin

sost:=2; Exit:=false; Mnt:=false;

while (not Exit) and (not Mnt) do

case sost of

2: begin Write('>'); AC:=1; j:=false; sost:=3 end;

3: begin ch:=Readkey;

if ch=Otmena then begin Writeln; sost:=2 end else sost:=6;

end;

6: if ch=#26 then Mnt:=true else sost:=7;

7: if (AC=39) and j and (ch<>#13) then begin

Writeln;

Writeln('ЃгдҐа Ї®«®­!!! "ENTER" ¤«п ўў®¤ бва®ЄЁ!!!');

sost:=3

end

else begin

TArr(SmallBuf[AC])[j]:=ch;

sost:=10;

end;

10: if ch=#13 then begin Exit:=true; Writeln end

else begin

Write(ch);

if j then Inc(AC);

j:=j xor true;

sost:=3;

end;

end;

if not j then begin

j:=j xor true;

TArr(SmallBuf[AC])[j]:='0';

end;

end;

Procedure A;

begin

EndProc:=false;

end;

Procedure B; {GO TO BEGIN}

begin

YNC:=HOT;

YCC:=HOT;

end;

Procedure C;

begin

EndProc:=false;

end;

Procedure D; {DELETE STRING}

var i : integer;

j : integer;

begin

YKV(YCC);

i:=YCC;

j:=YNC;

repeat

Buf[i]:=Buf[j];

j:=j+1;

i:=i+1;

until j=KT+1;

YNC:=YCC;

KT:=i-1;

Outline;

end;

Procedure E; {GO TO END}

begin

YNC:=KT;

YCC:=KT;

end;

Procedure F; {FOUND}

var k, i : word;

Endfound, j : boolean;

ch1, ch2 : char;

begin

ReadScrText(Endfound, i);

Endfound:=FALSE;

k:=YNC;

while (k<>KT) and (not Endfound) do begin

i:=1;

j:=false;

ch1:=TArr(Buf[k])[j];

while (ch1<>#13) and (not Endfound) do begin

ch1:=TArr(Buf[k])[j];

ch2:=TArr(SmallBuf[i])[j];

if ch2=#13 then

Endfound:=true

else

if ch1=ch2 then begin

if j then begin Inc(k); Inc(i) end;

j:=j xor true;

end

else begin

repeat

if j then Inc(k);

j:=j xor true;

ch1:=TArr(Buf[k])[j];

until ch1=#13;

end;

end;

if ch2<>#13 then begin

Inc(k);

YNC:=k;

j:=false;

I:=1;

end;

end;

Outline;

end;

Procedure G;

begin

EndProc:=false;

end;

Procedure H; {OUT HELP FILE}

var

ReadmeTxt: text;

lines: byte;

str: string[80];

begin

TextColor(White);

lines:=0;

Assign(ReadmeTxt, 'readme.txt');

Reset(ReadmeTxt);

while NOT Eof(ReadmeTxt) do begin

ReadLn(ReadmeTxt, str);

WriteLn(str);

end;

Close(ReadmeTxt);

NormVideo;

end;

Procedure I; {INPUT STRING}

var Mnt : boolean;

AC, i : word;

begin

Writeln('‚ўҐ¤ЁвҐ ўбв ў«пҐ¬лҐ бва®ЄЁ');

repeat

ReadScrText(Mnt, AC);

if not Mnt then begin

if (KT+AC)<KOT then begin

YCC:=YNC;

i:=KT;

repeat

Buf[i+AC]:=Buf[i];

Dec(i)

until i=YNC-1;

KT:=KT+AC;

for i:=1 to AC do begin

Buf[YNC]:=SmallBuf[i];

Inc(YNC);

end;

end else begin

Writeln('`ва®Є ­Ґ ў¬Ґй Ґвбп!!!');

Mnt:=TRUE;

end;

end;

until Mnt;

end;

Procedure J;

begin

EndProc:=false;

end;

Procedure K; {Kt}

begin

if EKT=1 then EndProc:=false

else

if ARG>=HOT then begin EKT:=1; KT:=ARG; end

else EndProc:=false;

end;

Procedure L;

begin

EndProc:=false;

end;

Procedure M;

begin

EndProc:=false;

end;

Procedure N; {NOT}

begin

EGR:=1;

EKT:=0;

HOT:=ARG;

KT:=ARG;

KOT:=ARG;

YCC:=ARG;

YNC:=ARG;

end;

Procedure O; {kot}

begin

if EKT=0 then EndProc:=false

else

if ARG>=KT then KOT:=ARG

else EndProc:=false

end;

Procedure P; {GO TO}

var Adress, k : integer;

ch : char;

j : boolean;

begin

if Znak='+' then begin YKV(YNC); YCC:=YNC end

else begin

k:=-1;

Adress:=YNC;

while (Adress<>HOT) and (k<>ARG) do begin

j:=false;

ch:='0';

while (ch<>#13) and (Adress<>HOT) do begin

ch:=TArr(Buf[Adress])[j];

if j=true then Adress:=Adress-1;

j:=j xor true;

end;

if j=true then Adress:=Adress-1;

k:=k+1;

end;

if Adress<>HOT then Adress:=Adress+2

else Writeln('Ќ з «® ⥪бв®ў®Ј® д ©« !!!');

YNC:=Adress;

YCC:=YNC;

end;

Outline;

end;

Procedure Q;

begin

EndProc:=false;

end;

Procedure R; {READ}

var ch : char;

Result : boolean;

FName : string[20];

F : text;

begin

Write('‚ўҐ¤ЁвҐ Ё¬п д ©« ¤«п । ЄвЁа®ў ­Ёп: ');

Readln(FName);

Assign(F,FName);

{$I-} Reset(F); {$I+}

Result:=IOResult=0;

if Result then begin

ReadText(F);

YNC:=HOT;

YCC:=HOT;

end;

if Result then Close(F)

else begin

TArr(Buf[0])[false]:='0';

TArr(Buf[0])[true]:=#26;

KT:=HOT;

end;

end;

Procedure S;

begin

EndProc:=false;

end;

Procedure T;

begin

EndProc:=false;

end;

Procedure U;

begin

EndProc:=false;

end;

Procedure V; {OUTPUT STRING}

var Povtor : integer;

KV : boolean;

begin

Povtor:=0;

KV:=false;

repeat

if YNC=KT then KV:=true;

Outline;

Povtor:=Povtor+1;

until (Povtor=ARG) or KV;

end;

Procedure W; { wRITE IN FILE}

var F : text;

ch : char;

i : word;

j : boolean;

FName : string[15];

begin

Write('‚ўҐ¤ЁвҐ Ё¬п § ЇЁблў Ґ¬®Ј® ­ ¤ЁбЄ д ©« : ');

Readln(FName);

Assign(F,FName);

Rewrite(F);

i:=HOT; j:=false;

while i<>KT do begin

ch:=TArr(Buf[i])[j];

if ch<>'0' then Write(F,ch);

if ch=#13 then Write(F,#10);

if j=true then i:=i+1;

j:=j xor true;

end;

Close(F);

end;

Procedure X; {# STRINGS}

var i, count : integer;

j : boolean;

ch : char;

begin

i:=HOT;

j:=false;

count:=0;

while i<>KT do begin

ch:=TArr(Buf[i])[j];

if ch=#13 then count:=count+1;

if j=true then i:=i+1;

j:=j xor true;

end;

Writeln('‚ᥣ® ', count, ' бва®Є(Ё)..');

end;

Procedure Y;

begin

EndProc:=false;

end;

Procedure Z;

begin

EndProc:=false;

end;

end.

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [1,5 M], добавлен 17.03.2014

  • Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.

    курсовая работа [896,7 K], добавлен 18.05.2014

  • Разработка программы обработки числовых последовательностей с кодом на языке Pascal. Функции ввода пользователем с клавиатуры последовательности целых чисел. Алгоритмы разработанных процедур и функций. Инструкция пользователя, листинг программы.

    курсовая работа [677,7 K], добавлен 13.07.2010

  • Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.

    курсовая работа [198,1 K], добавлен 03.02.2010

  • Разработка программы, реализующей игру "Змейка" в среде Turbo Pascal. Возможность создания игры в модуле библиотеки crt, что позволяет использовать программу на компьютерах без графических библиотек и компьютерах, имеющих малый объём оперативной памяти.

    курсовая работа [190,5 K], добавлен 02.02.2013

  • Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.

    лабораторная работа [3,7 M], добавлен 22.03.2012

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.

    курсовая работа [359,0 K], добавлен 23.05.2012

  • Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.

    курсовая работа [446,0 K], добавлен 19.06.2014

  • История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.

    курсовая работа [519,3 K], добавлен 25.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.