¦ 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;
procedure SLOVO;
var l:char; T: text;
¦ assign(T,'ACROSTIH');
¦ reset(T);
¦ while not eof(T) do
¦ begin
¦ ¦ read(T,l); write(l);
¦ ¦ readln(T);
¦ end;
function PUNCTUATION(var CHARFILE: text): integer;
var SYMBOLNOMB: integer;
SYMBOL: char;
¦ SYMBOLNOMB:=0; reset(CHARFILE);
¦ write('Знаки пунктуации: ');
¦ while not eof(CHARFILE) do
¦ ¦ read(CHARFILE, SYMBOL);
¦ ¦ if SYMBOL in ['.',',',' ',':',';','-','!','?']then
¦ ¦ begin
¦ ¦ ¦ write(symbol,' ');
¦ ¦ ¦ symbolnomb:= symbolnomb+1;
¦ ¦ end;
end; writeln;
¦ PUNCTUATION:= SYMBOLNOMB;
{ ОСНОВНАЯ ПРОГРАММА }
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('Введите текст, отделяя стpоки нажатием клавиши ENTER !');
write('Текст:'); NOMBRELINE1; readln; readln;clrscr;
writeln(' А К Р О С Т И Х '); writeln;
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;
var UKSTR, UKZV: SVYAZ;
SYM,CH: char;
procedure VIVOD(var UKSTR: SVYAZ);
var UKZV: SVYAZ;
¦ { распечатка строки }
¦ UKZV:= UKSTR^.sled;
¦ while UKZV <> nil do
¦ ¦ write(UKZV^.elem,' ');
¦ ¦ ukzv:=UKZV^.sled;
procedure UDALENIE(var SP: SVYAZ; BUKVA: char);
var ZV: SVYAZ;
¦if SP = nil then write(' Нет такого элемента!') else
¦ if SP^.elem <> BUKVA then UDALENIE(SP^.sled, BUKVA)
¦ else begin ZV:=SP;
¦ ¦ SP:=SP^.sled;
¦ ¦ dispose(ZV);
procedure UDALENIE1(var SP: SVYAZ);
var Q: SVYAZ;
¦ if SP^.sled <> nil then
¦ ¦ Q:= SP;
¦ ¦ SP:= SP^.sled;
¦ ¦ dispose(Q);
¦ end
¦ else writeln(' Список пуст!');
procedure VSTAVKA(var SP: SVYAZ; X, D: char);
¦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
procedure VSTAVKA1(var SP: SVYAZ; D: char);
¦ new(Q); Q^.elem:= D;
¦ Q^.sled:= SP^.sled;
¦ SP^.sled:= Q
begin clrscr;
gotoxy(15,3);write('ДИHАМИЧЕСКАЯ ЦЕПОЧКА');
writeln;writeln;
{ Создание головного и нулевого звена}
write(' Введите последовательность символов с точкой:');
new(UKSTR); UKZV:=UKSTR; UKZV^.SLED:=NIL;
read(SYM);
{ Создание всей цепочки}
while SYM<>'.' do
¦ new(UKZV^.sled);
¦ UKZV:=UKZV^.sled;
¦ UKZV^.elem:=SYM;
¦ UKZV^.sled:=nil;
¦ read(SYM);
readln; writeln;
write(' Исходная цепочка: ');
VIVOD(UKSTR); writeln; writeln;
write(' Введите удаляемую букву: '); readln(SYM);
UDALENIE(UKSTR,SYM); writeln;
write(' Полученная цепочка: ');
UDALENIE1(UKSTR);
write('Цепочка с удаленным первым элементом:');
VIVOD(UKSTR); writeln;writeln;
write(' Введите новую букву: '); readln(SYM);
write(' Введите букву, за которой идет вставка: ');
readln(CH); VSTAVKA(UKSTR,CH,SYM);
write(' Полученная цепочка с вставленным элементом: ');
VSTAVKA1(UKSTR,SYM);writeln;
write(' Цепочка со вставленным головным элементом: ');
writeln('К О Н Е Ц Р А Б О Т Ы !');readln;
program otch; uses crt;
type SS = ^ZVENO;
ZVENO = record
next: SS;
var L: SS; {начало очереди}
R: SS; {конец очереди}
K: SS; {рабочий указатель}
el1,el2: char; {рабочий элемент}
procedure VIVOD_OTCHERED (var L, R: SS);
var K: SS;
¦ if (L^.elem= '.') or (L= nil) then
¦ writeln(' Очеpедь пуста ! ')
¦ ¦ K:= L;
¦ ¦ write(' Элементы очереди: ');
¦ ¦ while K <> R^.next do
¦ ¦ ¦ write (K^.elem, ' ');
¦ ¦ ¦ K:= K^.next;
procedure FORMIR_OTCHERED (var L, R: SS);
EL1, EL2: char;
¦ { Формирование первого звена очереди }
¦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
¦ ¦ ¦ new(K);
¦ ¦ ¦ K^.elem:= EL2; K^.next:= nil;
¦ ¦ ¦ R^.next:= K; R:= K; read(EL2);
¦ ¦ end; readln;
procedure FORMIR_OTCHERED1(var L, R: SS);
¦{ Формирование первого звена очереди }
¦ read(EL1); new(K);
¦ L:= K; R:= K; K^.next:= nil;
¦ K^.elem:= EL1;
¦{ Помещение очередного элемента в очередь }
¦ read(EL2);
¦ while (EL1<>'.') and (EL2<>'.') do
¦ ¦ new(K);
¦ ¦ K^.elem:= EL2; K^.next:= nil;
¦ ¦ R^.next:= K; R:= K; read(EL2);
¦ end; readln;
procedure DOBAV_OTCHERED (el:char; var l, r: ss);
var k: ss;
¦ 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;
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