Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Создание текстового редактора

Тип Реферат
Предмет Информатика
Просмотров
667
Размер файла
24 б
Поделиться

Ознакомительный фрагмент работы:

Создание текстового редактора

Министерство энергетики РФ

Уфимский Энергетический Колледж

Курсовая работа

по Основам алгоритмизации и программирования

на тему “Создание текстового редактора”

Выполнил: студент группы 2 – АС – 3 ____________ Тимофеев Т.П.

Проверил: ____________ Ганиев А.Э.

Уфа – 2001г.

Содержание

Задание ……………………………………………………… стр. 3

Описание программы ………………………………………. стр. 4

Листинг ……………………………………………………… стр. 5

Исходный текст программы .…………………………. стр. 5

Текст модуля ……………….………………………….. стр.10

Заключение ………………………………………………….. стр.18

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

Задание.

Создать программу, обеспечивающую:

Cоздание файлов.

Переименование файлов.

Удаление файлов.

Копирование файла в другой файл.

Открытие файла для просмотра.

Программа должна быть написана на Turbo Pascal в текстовом режиме с использованием любых модулей, которые необходимы для её реализации (допускаются также модули пользователя).

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

Timofeev Word v.1.0 – это программа для работы с текстом. С её помощью можно создавать, удалять, переименовывать, открывать, копировать файлы друг в друга. Конечно, всё это можно проделать и в MS-DOS, но преимущество этой программы в том, что все эти команды тщательно спрятаны под красивым и дружественным интерфейсом моей программы.

Так как в программе Timofeev Word v.1.0 много процедур, я создал собственный модуль Tim.tpu, куда их (процедуры) и отправил.

Процедуры:

Table – рисует оболочку программы.

Enter_Sandman – происходит проигрывание музыки на песню группы Metallica - “Enter Sandman”. Я не стал делать так, чтобы при нажатии какой-либо клавиши она прекращала играть, потому что для меня (не знаю как для других) это свято.

Menu – эта процедура вызывает меню, где содержится информация о программе и помощь (если её так можно назвать).

Keys – процедура, считывающая код нажатой клавиши.

В этой программе, конечно много недоработок, но я надеюсь, что вскоре появятся дополненные версии 1.2, 1.3, 2.0,2.1,……, n.m.

Эта программа может использоваться в о-о-о-о-о-очень маленьких офисах, которые не имеют возможности приобрести качественный лицензионный продукт, к примеру Microsoft Office’9x, ’2000 (если кто-то имеет на примете такой офис, я с удовольствием продам, за символическую цену, свой программный продукт). Также программа может использоваться для обучения детей в детских садах работе на персональных компьютерах. И, наконец, ей могут воспользоваться студенты I курса для сдачи её как Курсовой работы на следующем курсе.

Листинг.

Исходный текст программы.

Program Redaktor;

Uses Crt,Tim; {использовать модули Crt и Tim}

Label b; {метка}

Var {тело}

Programname,Cmdline:string;

nn,i,x,y:integer;

f1,f1_new:text;

Name,New_name:string[12];

txt,text:string;

ch:char;

begin

i:=1;

textbackground(red);

clrscr;

textcolor(yellow);

gotoxy(22,10);

writeln('Текстовый процессор Timofeev Word');

gotoxy(22,11);

writeln(' Версия 1.0 (2001 год)');

gotoxy(40,15);

writeln('Составил Тимофеев Тимур (2-АС-3)');

textcolor(green);

gotoxy(40,16);

writeln('Все права защищены.');

gotoxy(40,17);

writeln('Незаконное копирование');

gotoxy(40,18);

writeln('или подделка без согласия автора');

gotoxy(40,19);

writeln('преследуется по понятиям !!!');

delay(5000);

textcolor(yellow);

table;

gotoxy(2,21);

write('Введите имя:');

readln(name);

assign(f1,name);

rewrite(f1);

gotoxy(2,21);

write('Вводите текст !!! ');

gotoxy(1,2);

repeat

write(chr(179),':>');

readln(txt);

writeln(f1,txt);

until txt='';

close(f1);

gotoxy(2,21);

writeln('Ввод окончен, нажмите чего-нибудь ...');

repeat

readkey;

keys(nn);

case nn of {определяет нажатие функциональных клавиш}

59:menu; {F1}

60:begin {F2}

table;

gotoxy(2,21);

write(' ');

gotoxy(2,21);

write('Введите имя:');

readln(name);

assign(f1,name);

rewrite(f1);

gotoxy(2,21);

write('Вводите текст !!! ');

gotoxy(1,2);

repeat

write(chr(179),':>');

readln(txt);

writeln(f1,txt);

until txt='';

close(f1);

gotoxy(2,21);

writeln('Ввод окончен, нажмите чего-нибудь ...');

end;

61:begin {F3}

gotoxy(2,21);

write('Введите имя файла, в который копир-я файл ',name,'->');

readln(new_name);

reset(f1);

assign(f1_new,new_name);

append(f1_new);

while not eof(f1) do

begin

readln(f1,txt);

writeln(f1_new,txt);

end;

close(f1);

close(f1_new);

gotoxy(2,21);

writeln('Файл ',name,' скопирован в ',new_name,' нажмите

чего-нибудь ...');

end;

62:begin {F4}

gotoxy(2,21);

write(' ');

gotoxy(2,21);

write('Введите новое имя файла:');

readln(new_name);

assign(f1,name);

rename(f1,new_name);

gotoxy(2,21);

writeln('Файл ',name,' перименован в ',new_name,' нажмите

чего-нибудь ... ');

end;

63:begin {F5}

erase(f1);

gotoxy(2,21);

writeln('Файл ',name,' удалён с диска, нажмите чего-нибудь ...');

end;

64:begin {F6}

{$I-}

repeat

gotoxy(2,21);

write('Введите имя файла для считывания текста ->');

readln(name);

assign(f1,name);

reset(f1);

if ioresult<>0 then

begin

gotoxy(2,21);

writeln('Файл не найден ... ');

close(f1);

end;

until ioresult=0;

{$I+}

table;

gotoxy(1,2);

while not eof(f1) do

begin

readln(f1,txt);

writeln(chr(179),txt);

end;

close(f1);

gotoxy(2,21);

write('Файл считан, нажмите чего-нибудь ... ');

end;

68:goto b; {F10} {Происходит выход на метку}

end;

until i<0; {считывай функциональные клавиши пока i<0,

а т.к. i=1 и не изменяется, то этот процесс бесконечен}

b:end.

Текст модуля.

Unit Tim;

Interface

Uses Crt,Dos;

Procedure keys(var n:integer);

Procedure table;

Procedure Enter_sandman;

Procedure menu;

Implementation

Procedure keys(var n:integer);{процедура нажатия клавиши}

var c:char;

begin

if keypressed then

begin

c:=readkey;

if c=#0 then c:=readkey;

n:=ord(c);

end;

end;

Procedure Enter_sandman; {музыка}

Const

m:array [1..6] of integer=(165,330,392,233,220,330);

t:array [1..6] of integer=(1100,600,600,600,1100,600);

e:array [1..7] of integer=(165,165,165,165,165,165,170);

r:array [1..7] of integer=(600,600,600,600,600,600,1100);

w:array [1..5] of integer=(167,167,167,294,233);

q:array [1..5] of integer=(1100,600,600,600,1100);

o:array [1..9] of integer=(165,182,165,182,165,196,165,182,165);

b:array [1..9] of integer=(600,1100,600,600,600,600,600,600,3000);

var a,u,z,x:integer; i:byte;

begin

for a:=1 to 4 do

begin

for i:=1 to 6 do

begin

sound(m[i]);

delay(t[i]);

nosound;

end;

end;

for u:=1 to 3 do

begin

for i:=1 to 7 do

begin

sound(e[i]);

delay(r[i]);

nosound;

end;

end;

for z:=1 to 3 do

begin

for i:=1 to 5 do

begin

sound(w[i]);

delay(q[i]);

nosound;

end;

end;

for i:=1 to 9 do

begin

sound(o[i]);

delay(b[i]);

nosound;

end;

end;

Procedure table; {рисует таблицу}

var

w,h:integer;

c1,c2,c3,c4,c7,c5,c6,c8,c9,c10:char;

begin

textbackground(blue);

clrscr;

textcolor(yellow);

w:=1;

h:=1;

c1:=chr(218);

c2:=chr(196);

c3:=chr(191);

c4:=chr(179);

c5:=chr(192);

c6:=chr(217);

c7:=chr(195);

c8:=chr(180);

c9:=chr(193);

c10:=chr(194);

for h:=2 to 25 do

begin

gotoxy(w,h);

write(c4);

end;

gotoxy(w,h);

write(c5);

for w:=2 to 79 do

begin

gotoxy(w,h);

write(c2);

end;

gotoxy(w,h);

write(c6);

for h:=24 downto 1 do

begin

gotoxy(w,h);

write(c4);

end;

gotoxy(w,h);

write(c3);

for w:=78 downto 1 do

begin

gotoxy(w,h);

write(c2);

end;

gotoxy(w,h);

write(c1);

gotoxy(1,20);

write(c7);

for w:=2 to 59 do

begin

gotoxy(w,20);

write(c2);

end;

gotoxy(w,1);

write(c10);

for h:=2 to 24 do

begin

gotoxy(w,h);

write(chr(179));

end;

gotoxy(w,20);

write(c8);

gotoxy(59,25);

write(c9);

gotoxy(62,4);

writeln('F1-Помошь');

gotoxy(62,5);

writeln('F2-Новый');

gotoxy(62,6);

writeln('F3-Копировать');

gotoxy(62,7);

writeln('F4-Переименовать');

gotoxy(62,8);

writeln('F5-Удалить');

gotoxy(62,9);

writeln('F6-Просмотреть');

gotoxy(62,10);

writeln('F10-Выход');

end;

Procedure menu;

Const

NORM=$17;{ цвет невыделеного пункта }

SEL=$70;{ цвет выделенного пункта }

N=3;

var

menu:array[1..N] of string[12];{ названия пунктов меню }

punkt:integer;{ номер выделенного пункта }

ch:char;{ введенный символ }

x,y,i:integer;{ координаты первой строки меню }

Procedure punkt1;

begin

ClrScr;

writeln('Выполнил студент гр. 2-АС-3 Тимофеев Т.П. (2001 г.)');

writeln('Курсовая работа-а-а-а-а-а-а-а !!!!!!!!!!!!!!!!!');

readln;

end;

Procedure punkt2;

begin

ClrScr;

writeln('Тута всё понятно даже ребёнку.');

readln;

end;

Procedure MenuToScr;{ вывод меню на экран }

var i:integer;

begin

ClrScr;

for i:=1 to N do begin

GoToXY(x,y+i-1);

write(menu[i]);

end;

TextAttr:=SEL;

GoToXY(x,y+punkt-1);

write(menu[punkt]);{ выделим строку меню }

TextAttr:=NORM;

end;

begin

menu[1]:=' О программе ';

menu[2]:=' Помощь ';

menu[3]:=' Выход ';

punkt:=1;

x:=5;

y:=5; TextAttr:=NORM;

MenuToScr;

repeat

ch:=ReadKey;

if ch=char(0) then begin

ch:=ReadKey;

case ch of

chr(80):{ стрелка вниз }

if punkt<N then begin

GoToXY(x,y+punkt-1);

write(menu[punkt]);

punkt:=punkt+1;

TextAttr:=SEl;

GoToXY(x,y+punkt-1);

write(menu[punkt]);

TextAttr:=NORM;

end;

chr(72):{ стрелка вверх }

if punkt>1 then begin

GoToXY(x,y+punkt-1);

write(menu[punkt]);

punkt:=punkt-1;

TextAttr:=SEl;

GoToXY(x,y+punkt-1);

write(menu[punkt]);

TextAttr:=NORM;

end;

end;

end

else

if ch=chr(13) then begin { нажата клавиша <Enter> }

case punkt of

1:punkt1;

2:punkt2;

3:i:=2;{ выход }

end;

MenuToScr;

end;

until i=2;

end;

end.

Заключение.

В результате проделанной работы я написал прекрасную программу за 4 часа свободного от учёбы времени практически без помощи литературы и других источников.

Программа основана на стандартных процедурах и функциях модуля Crt: Rename, Erase, Append, Rewrite, Reset, Assign и др.

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

Попов В.Б. “Turbo Pascal для школьников”:

Учеб.пособие. – 3-е доп. изд. – М.: Финансы и статистика, 2001г.

Вирт Н. “Алгоритмы и структуры данных”:

Пер. с англ. – М.: Мир, 1989г.

Прайс Д. “Программирование на языке Паскаль: Практическое руководство”.

Пер. с англ. – М.: Мир, 1987г.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
Физика
История
icon
137666
рейтинг
icon
5834
работ сдано
icon
2641
отзывов
avatar
Математика
История
Экономика
icon
137419
рейтинг
icon
3045
работ сдано
icon
1326
отзывов
avatar
Химия
Экономика
Биология
icon
92238
рейтинг
icon
2003
работ сдано
icon
1260
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
51 607 оценок star star star star star
среднее 4.9 из 5
АНО ДПО "НУСТ"
Замечательное и быстрое исполнение. Спасибо Вам. То, что вы делаете, очень важно и нужно. ...
star star star star star
ИРНИТУ
Исполнитель понравился, сделано все блестяще даже больше! Рекомендую!!!
star star star star star
Уральский Государственный аграрный университет
Заказ сделала очень быстро и на мой взгляд очень качественно согласно методичке. Преподава...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

В программе Micro-cap v12, написать название графиков в 3 задании и сделать вывод под каждым из них

Отчет по практике, Радиоборудование и схемотехника

Срок сдачи к 21 апр.

только что

Ответы по элктроэнергетике

Ответы на билеты, «Надежность электроэнергетических систем»

Срок сдачи к 21 апр.

только что

Нужно выполнить 14заданий 3 вариант из каждого задания

Решение задач, Математика

Срок сдачи к 22 апр.

1 минуту назад

добавление новых условий в программу на С++

Решение задач, Объектно-ориентированное программирование

Срок сдачи к 30 апр.

1 минуту назад

Решить 3 работы

Контрольная, Геодезия

Срок сдачи к 22 апр.

1 минуту назад
1 минуту назад

Практическое задание «Анализ бюджетной политики субъекта Рф»

Презентация, Государственная бюджетная политика

Срок сдачи к 23 апр.

1 минуту назад

Три лабораторных

Решение задач, теория вероятностей и математическая статистика

Срок сдачи к 25 апр.

1 минуту назад

Решить 2 задачи

Решение задач, Сопротивление материалов

Срок сдачи к 30 апр.

2 минуты назад

Пособия для граждан с детьми 35 страниц

Курсовая, Социальная защита населения

Срок сдачи к 29 апр.

2 минуты назад
2 минуты назад

Курсовая по предмету «Теория государства и права»

Курсовая, Теория государства и права

Срок сдачи к 30 апр.

2 минуты назад

Разработка приложения с трехуровневой архитектурой на Java

Курсовая, Программирование

Срок сдачи к 4 мая

2 минуты назад
3 минуты назад

в тесте добавить ссылки на закон, откуда взяли ответ

Контрольная, Правовые основы профессиональной деятельности

Срок сдачи к 24 апр.

3 минуты назад

6 задач

Решение задач, Основы теории вычислительных систем

Срок сдачи к 30 апр.

3 минуты назад

Сделать расчеты для курсовой

Курсовая, теоретические основы электротехники

Срок сдачи к 6 мая

3 минуты назад

Условие задание прикреплено в файл.

Решение задач, Информатика и программирование

Срок сдачи к 24 апр.

4 минуты назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно