Код програми
Program lab_mnoz; uses crt; type charset=set of char; entry=array[1..3] of integer; var vowel, {vowel sound} numb, {number sing} con:charset; {consonant sound} lenth, {length} i:byte;{counter} numentr:entry; {number of entriing of element in set} ch, {char} ans:char; {user answer} st:string; {edit and result} flag:boolean;{flag of vowel and consonant} procedure Generation(var s:string); var tmp:integer; begin lenth:=random(30); {generate of length string} for i:=1 to lenth do {generation of each symbol in string} begin tmp:=random(3); {type of symbols} case tmp of 0: s:=s+chr(57-random(10)); {number} 1: s:=s+chr(90-random(25)); {large letter} 2: s:=s+chr(122-random(25)); {small letter} end; end; end;
procedure Input; begin vowel:=[]; {initialization set} numb:=[]; con:=[]; repeat {circle for correct answer} writeln('Menu'); writeln('1. Generation string'); writeln('2. Keyboard entry'); readln(ans); until(ans='1')or(ans='2'); if(ans='1')then begin Generation(st) end else {entring from keyboard} begin writeln('Enter string'); readln(st); end; end;
procedure Solution; {Solution of problem} begin for i:=1 to length(st) do {each symbol} begin flag:=true; {init flag} if(ord(st[i])>=48)and(ord(st[i])<=57)then {number symbol} numb:=numb+[st[i]]; {add into set} if(upcase(st[i])='A')or(upcase(st[i])='E')or(upcase(st[i])='I')or (upcase(st[i])='O')or(upcase(st[i])='U')or(upcase(st[i])='Y')then begin flag:=false; {change flag value} vowel:=vowel+[st[i]]; end; {consonant symbol} if(((ord(st[i])>=65)and(ord(st[i])<=90))or ((ord(st[i])>=97)and(ord(st[i])<=121)))and(flag=true)then con:=con+[st[i]]; end;
end;
procedure Output; begin writeln(st); {outputing string} if(numb<>[])then {is set empty} begin write('Numbers in string is '); for ch:='0'to '9' do if ch in numb then begin numentr[1]:=numentr[1]+1; {counting of number elements} write(ch,' '); end; writeln; writeln('Count of number is ',numentr[1]);
end else writeln('There aren''t numbers in string ');
if(vowel<>[])then begin write('Vowels in string is '); for ch:='A'to 'z' do if ch in vowel then begin numentr[2]:=numentr[2]+1; write(ch,' '); end; writeln; writeln('Count of vowel is ',numentr[2]);
end else writeln('There aren''t vowels in string ');
if(con<>[])then begin write('Consonants in string is '); for ch:='A'to 'z' do if ch in con then begin numentr[3]:=numentr[3]+1; write(ch,' '); end; writeln; writeln('Count of consonant is ',numentr[3]);
end else writeln('There aren''t consonant in string ');
end;
{--------------main program--------------------} begin randomize; clrscr; Input; Solution; Output; readln; end. 5. ScreenShot’s
6. Аналіз роботи На ScreenShot ’ах ми бачимо роботу програми 1. Меню має 2 пункта. Перший генерація рядка та введення рядка з клавіатури. Здійснено зациклення програми на введення можливого пункту меню. Виведення коректного результату. 2. Введення рядка з клавіатури.
|