Рефераты. Алгоритмический язык Паскаль

¦ writeln(F);read(s);end;

¦ close(F);

end;

procedure FORMFIL1;

var F: text; s: char;

begin

¦ assign(F,'FIL');

¦ rewrite(F); read(s);

¦ while s<> '#' do begin

¦ write(F,s); read(s); end;

¦ close(F);

end;

procedure SLOVO;

var l:char; T: text;

begin

¦ assign(T,'ACROSTIH');

¦ reset(T);

¦ while not eof(T) do

¦ begin

¦ ¦ read(T,l); write(l);

¦ ¦ readln(T);

¦ end;

end;

function PUNCTUATION(var CHARFILE: text): integer;

var SYMBOLNOMB: integer;

SYMBOL: char;

begin

¦ SYMBOLNOMB:=0; reset(CHARFILE);

¦ write('Знаки пунктуации: ');

¦ while not eof(CHARFILE) do

¦ begin

¦ ¦ read(CHARFILE, SYMBOL);

¦ ¦ if SYMBOL in ['.',',',' ',':',';','-','!','?']then

¦ ¦ begin

¦ ¦ ¦ write(symbol,' ');

¦ ¦ ¦ symbolnomb:= symbolnomb+1;

¦ ¦ end;

end; writeln;

¦ PUNCTUATION:= SYMBOLNOMB;

end;

{ ОСНОВНАЯ ПРОГРАММА }

begin

clrscr; writeln(' РАСШИФРОВКА '); writeln;

writeln('Введите чеpез пpобел одоы от 65 до 90 !');

writeln('00 - признак конца !'); writeln;

write(' Коды: '); KODIROVKA;

writeln; write('Расшифровка: ');

assign(sh,'shfrtxt');reset(sh);RASSHIFROVKA; readln;

clrscr;writeln(' ФАЙЛ МАКСИМАЛЬНЫХ ЭЛЕМЕНТОВ ');

writeln; MAXELEM; readln; clrscr;

writeln(' ЧИСЛО СТРОК В ТЕКСТЕ '); writeln;

writeln('Введите текст, отделяя стpоки знаком $ !');

writeln('Пpизнаком конца текста служит точка !');writeln;

write('Текст:'); NOMBRELINE; readln; readln;clrscr;

writeln(' ЧИСЛО СТРОК В ТЕКСТЕ '); writeln;

writeln('Введите текст, отделяя стpоки нажатием клавиши ENTER !');

writeln('Пpизнаком конца текста служит точка !');writeln;

write('Текст:'); NOMBRELINE1; readln; readln;clrscr;

writeln(' А К Р О С Т И Х '); writeln;

writeln('Введите текст, отделяя стpоки знаком $ !');

writeln('Пpизнаком конца текста служит # !');writeln;

write('Текст:'); FORMFIL; writeln;

write('Зашифрованное слово: '); SLOVO; readln; readln;clrscr;

writeln(' ЧИСЛО ЗНАКОВ ПРЕПИНАНИЯ В ТЕКСТЕ '); writeln;

writeln('Введите текст, пpизнаком конца текста служит # !');

write('Текст: ');FORMFIL1;

assign (F,'FIL'); reset(F); N:=PUNCTUATION(F); close(F);

writeln('Число знаков препинания в тексте FIL =', n);

write(' КОHЕЦ РАБОТЫ !'); readln;readln;

end.

program OBRABOTKA_ZEPOCHKI; uses crt;

type SVYAZ = ^ZVSTR;

ZVSTR = record

elem: char;

sled: SVYAZ;

end;

var UKSTR, UKZV: SVYAZ;

SYM,CH: char;

procedure VIVOD(var UKSTR: SVYAZ);

var UKZV: SVYAZ;

begin

¦ { распечатка строки }

¦ UKZV:= UKSTR^.sled;

¦ while UKZV <> nil do

¦ begin

¦ ¦ write(UKZV^.elem,' ');

¦ ¦ ukzv:=UKZV^.sled;

¦ end;

end;

procedure UDALENIE(var SP: SVYAZ; BUKVA: char);

var ZV: SVYAZ;

begin

¦if SP = nil then write(' Нет такого элемента!') else

¦ if SP^.elem <> BUKVA then UDALENIE(SP^.sled, BUKVA)

¦ else begin ZV:=SP;

¦ ¦ SP:=SP^.sled;

¦ ¦ dispose(ZV);

¦ end;

end;

procedure UDALENIE1(var SP: SVYAZ);

var Q: SVYAZ;

begin

¦ if SP^.sled <> nil then

¦ begin

¦ ¦ Q:= SP;

¦ ¦ SP:= SP^.sled;

¦ ¦ dispose(Q);

¦ end

¦ else writeln(' Список пуст!');

end;

procedure VSTAVKA(var SP: SVYAZ; X, D: char);

var Q: SVYAZ;

begin

¦if SP = nil then writeln(' Нет такого элемента!')

¦ else

¦ if SP^.elem <> X then VSTAVKA(SP^.sled,X,D)

¦ else begin

¦ ¦ new(q);q^.elem:=d;

¦ ¦ Q^.sled:= SP^.sled;

¦ ¦ SP^.sled:= Q

¦ end;

end;

procedure VSTAVKA1(var SP: SVYAZ; D: char);

var Q: SVYAZ;

begin

¦ new(Q); Q^.elem:= D;

¦ Q^.sled:= SP^.sled;

¦ SP^.sled:= Q

end;

{ ОСНОВНАЯ ПРОГРАММА }

begin clrscr;

gotoxy(15,3);write('ДИHАМИЧЕСКАЯ ЦЕПОЧКА');

writeln;writeln;

{ Создание головного и нулевого звена}

write(' Введите последовательность символов с точкой:');

new(UKSTR); UKZV:=UKSTR; UKZV^.SLED:=NIL;

read(SYM);

{ Создание всей цепочки}

while SYM<>'.' do

begin

¦ new(UKZV^.sled);

¦ UKZV:=UKZV^.sled;

¦ UKZV^.elem:=SYM;

¦ UKZV^.sled:=nil;

¦ read(SYM);

end;

readln; writeln;

write(' Исходная цепочка: ');

VIVOD(UKSTR); writeln; writeln;

write(' Введите удаляемую букву: '); readln(SYM);

UDALENIE(UKSTR,SYM); writeln;

write(' Полученная цепочка: ');

VIVOD(UKSTR); writeln; writeln;

UDALENIE1(UKSTR);

write('Цепочка с удаленным первым элементом:');

VIVOD(UKSTR); writeln;writeln;

write(' Введите новую букву: '); readln(SYM);

write(' Введите букву, за которой идет вставка: ');

readln(CH); VSTAVKA(UKSTR,CH,SYM);

write(' Полученная цепочка с вставленным элементом: ');

VIVOD(UKSTR); writeln; writeln;

write(' Введите новую букву: '); readln(SYM);

VSTAVKA1(UKSTR,SYM);writeln;

write(' Цепочка со вставленным головным элементом: ');

VIVOD(UKSTR); writeln; writeln;

writeln('К О Н Е Ц Р А Б О Т Ы !');readln;

end.

program otch; uses crt;

type SS = ^ZVENO;

ZVENO = record

elem: char;

next: SS;

end;

var L: SS; {начало очереди}

R: SS; {конец очереди}

K: SS; {рабочий указатель}

el1,el2: char; {рабочий элемент}

procedure VIVOD_OTCHERED (var L, R: SS);

var K: SS;

begin

¦ if (L^.elem= '.') or (L= nil) then

¦ writeln(' Очеpедь пуста ! ')

¦ else begin

¦ ¦ K:= L;

¦ ¦ write(' Элементы очереди: ');

¦ ¦ while K <> R^.next do

¦ ¦ begin

¦ ¦ ¦ write (K^.elem, ' ');

¦ ¦ ¦ K:= K^.next;

¦ ¦ end;

¦ end;

end;

procedure FORMIR_OTCHERED (var L, R: SS);

var K: SS;

EL1, EL2: char;

begin

¦ { Формирование первого звена очереди }

¦read(el1);

¦if el1='.' then begin l:=nil; r:=l end

¦ else begin new(K);

¦ ¦ L:= K; R:= K; K^.next:= nil;

¦ ¦ K^.elem:= EL1;

{ Помещение очередного элемента в очередь }

¦ ¦read(EL2);

¦ ¦while (EL1<>'.') and (EL2<>'.') do

¦ ¦ begin

¦ ¦ ¦ new(K);

¦ ¦ ¦ K^.elem:= EL2; K^.next:= nil;

¦ ¦ ¦ R^.next:= K; R:= K; read(EL2);

¦ ¦ end; readln;

¦ end;

end;

procedure FORMIR_OTCHERED1(var L, R: SS);

var K: SS;

EL1, EL2: char;

begin

¦{ Формирование первого звена очереди }

¦ read(EL1); new(K);

¦ L:= K; R:= K; K^.next:= nil;

¦ K^.elem:= EL1;

¦{ Помещение очередного элемента в очередь }

¦ read(EL2);

¦ while (EL1<>'.') and (EL2<>'.') do

¦ begin

¦ ¦ new(K);

¦ ¦ K^.elem:= EL2; K^.next:= nil;

¦ ¦ R^.next:= K; R:= K; read(EL2);

¦ end; readln;

end;

procedure DOBAV_OTCHERED (el:char; var l, r: ss);

var k: ss;

begin

¦ writeln(' Добавляемый элемент: ',el);

¦ if (l^.elem = '.') then r^.elem:= el

¦ else if l=nil then begin new(k);l:=k;r:=k;

¦ k^.next:=nil;k^.elem:=el end

else begin

¦ ¦ new(k);

¦ ¦ k^.elem:=el; k^.next:=nil;

¦ ¦ r^.next:=k; r:=k;

¦ end;

end;

procedure UDALENIE_OTCHERED (var l, r:ss);

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.