Строковый редактор текста
Разработка программы для редактирования в оперативной памяти текстовых 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