Практическая работа №7 Тема: Представление строки, как массива символьной информации. Обработка символьной информации. Использование функций и процедур обработки символьной информации. Постановка задачи: 1.Формулировка задачи по обработке строки символьной информации: ^Представление строки как массива символьной информации. 2.Шифрование массива строк собственным методом. 2.Проработка строки символьной информации с использованием функций или процедур: Для вывода строк, у которых число чётных цифр превышает число нечётных цифр, я использовал функцию COPY. Программный код: Program Mashaa; type mas=array[1..80] of string; type sum=array[l ..100] of integer; type floa-array[1..100] of real; var s.osn.kodirovka.rackodirovka,ssss,ints:mas;n:string;ss;max,nech,ckol,kol:integer;kod,kod2 ,kolvo:sum;sqs:floa; var kk,sel:integer; var f:text: procedure wod(var s:mas;var kk:integcr); var i: integer, begin writeln('Введuте количество строк:'); readln(kk); for i:-l to kk do begin readln(s[i]); end; writeln; end; writeln; end; procedure defl>ar s.osn:mas;var n:string;var ckoljcol: integer); var i j: integcr;z,yy,ncch: integer; begin z:=0; j » nech:-0; kol:-0; ckol:-0; forj:-l to kk do for i:-l to length(sLjl) do begin n:=copy(s[j),i,l); kol:=kol+l; yy:-Strtoint(n); if y>- mod 2 B0 then z:-z+l; if y>' mod 2 о 0 then nedu-nech+l; ifkol=length(s(j]) then begin if ncch<z then begin ckol:-ckol+l; osn[ckol]:wcopy(s[jJ, 1 ,kol); end; kol:=0; z:-0; nech:-0; end; end; writeln('Строки, в которых количество четных чисел больше, чем количество нечетных’) for i:=l to ckol do begin Подготовил Проверила Майоров А.Д Овсейчук Т.В УМТ ПКС 16 1/11(209) Лист 1 if i=ckolthen write(osn[i]) else write(osn[i]+’,’); end; writeln; for i:-l to ckol do writeln(f,osn[i]); end; procedure kodirovka2(var s,osn,rackodirovka,kodirovka,ssss,ints:mas;var kod,kod2,kolvo:sum;var sqs:floa); var I,j,k:integer;stroka,sd:string;//kkkk:int64; begin assign(f,'PRACT7.TXT); rewrite(f); randomize; writeln(Зашифрованные строки:'); for i:=l to ckol do begin kod[i]:=random(23456330)+53240; kod2[i]:=random(2345033)+53400; sqs[i]:=(strtoint(osn[i]))*4; kodirovka[i]:-inttostr(kod[i])^floattostr(sqs[i])+inttostr(kod2[i]); writeln(kodirovka[i]); write(f,kodirovka[i]); end; writeln; close(f); end; . procedure razkodirovka(var s,osn,rackodirovka,kodirovka,ssss,int:mas); var I,j:integer;otvet:real; begin assign(f,’PRACT7.TXT); rewrite(f); writeln; writcln('PaciiiH4)poBaHHbie строки:'); for i:=l to ckol do begin rackodirovka[i):=copy(kodirovkali],length(floatiostr(kod[i]))+l,lengih(floanostr(sqs[i])) ); rackodirovka[i]"fioa'ttostr(strtofloat(rackodirovka[i]y4); writcln(rackodirovka[i]); writcln(f,rackodirovka[i]); end; writeln; close(f); end; procedure menu; procedure select(var sel:integer); begin readln(sel); case sel of _ 1)kodirovka2[s)osntrackodirovka,kodirovka,ssss,ints,kod,kod2.kolvo.sqs); 2:razkodirovka(s,osn,rackodirovka,kodirovka,ssss,ints); 3:exit; end; menu; select(sel); end; begin assign(f/PRACT7.Txt'); rewrite(0; wod(s,kk); det^s,osn,n,ckol,kol); Подготовил Проверила Майоров А.Д Овсейчук Т.В УМТ ПКС 16 1/11(209) Лист 2 close(f); menu; select(sel); end. Введите количество строк: 3 44556 55566 44554 Строки, в которых количество чётных чисел больше, чем количество нечётных чисел: 44556,44554 Выберите нужное действие: 1.Зашифровать 2. Расшифровать 3.Выход 1 Зашифрованные строки: 11841813178224908763 220809361782162048002 Выберите нужное действие: 1 .Зашифровать 2. Расшифровать 3.Выход 2 Расшифрованные строки: 44556 44554 Выберите нужное действие: 1 .Зашифровать 2.Расшифровать 3.Выход Подготовил Проверила Майоров А.Д Овсейчук Т.В УМТ ПКС 16 1/11(209) Лист 3