Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет75/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   71   72   73   74   75   76   77   78   ...   210
Байланысты:
boribaev-algoritmdeu

res1 = res2 = res3 = mns1,

болады да, res4 бос жиын болып шығады.


Егер енгізілген жолдағы сөздер саны бірден артық болса, онда əрбір жаңа сөз нəтижелік жиынды төмендегідей етіп өзгертетін болады:


  1. əр сөзге кіретін дауысты əріптер жиыны, осыған дейін та-былған сөздерге кіретін дауысты əріптер жиыны мен res1 З mns1 сөзінің дауысты əріптер жиынының қиылысуына тең болады;




  1. бірнеше сөзге кіретін дауысты əріптер жиыны – res4 жаңа сөзде қайталанатын дауысты əріптер санына өседі (бірігу):

res4 жəне (res3 # mns1);

  1. бір сөйлемдегі дауысты əріптер жиыны – res3 сөздегі дауы-сты əріптер санына өседі (бірігу):

res3 З mns1


142

  1. тек бір сөзге кіретін res2 – дауысты əріптер жиынын, бар-лық сөздерді өңдегеннен кейін, бір сөйлемдегі дауысты əріптеры жиыны мен бірнеше сөзге кіретін дауысты əріптер жиынының айырмасы ретінде анықтаймыз:

res1 / res4
Program ex;
Type setchar=set of char;
Const G:setchar=['а','я','у','ю','э','е','о ','ё','и','ы']; { «дауысты дыбыстар жиыны « типтік тұрақты}
Var res1, {əр сөзге кіретін дауысты əріптер жиыны}
res2, {тек бір сөзе кіретін дауысты əріптер жиыны}
res3, {сөйлемнің дауысты əріптер жиыны} res4, {бірнеше сөзге кіретін дауысты əріптер жиыны}
mns1:setchar; {ағымдағы сөздің дауысты əріптер жиыны}
st,slovo:string; ch:char; i,k:integer; fi rst:boolean; Begin
WriteLn('Бастапқы жолды енгізіңіз:'); ReadLn(st); {бастапқы жолды оқимыз} st:=st+' '; {өңдеу жеңіл болу үшін жолдың соғына бос орын қосамыз}
first:=true; {«бірінші жол» белгісі}
while st<>'' do {сөзді қиып алу жəне өңдеу ци-
клы}
begin
k:=pos(' ',st);
slovo:=copy(st,1,k-1); {қиып алынған сөз}
Delete(st,1,k); {сөзді жолдан алып тастаймыз}
{сөзге кіретін дауысты əріптер жиынын
анықтаймыз}
mns1:=[]; {бастапқы күй «бос жиын»} for i:=1 to k-1 do


143

if slovo[i] in G then {егер дауысты дыбыс бол-са, онда}
mns1:=mns1+[slovo[i]]; {жиынға қосамыз} {нəтижелік жиындарды құрастырамыз}
if first then {егер бірінші сөз болса, онда} begin
res1:=mns1; {əр сөзге кіреді} res2:=mns1; {тек бір сөзге кіреді} res3:=mns1; {кездескен дауысты əріптер} res4:=[]; {бірнеше сөзге кіреді}
first:=false; {«бірінші сөз» белгісін алып та-
стаймыз}
end
else {егер бірінші сөз болмаса, онда} begin
res1:=res1*mns1; {əр сөзге кіретіндер} res4:=res4+res3*mns1; {бірнеше сөзге кіретіндер}
res3:=res3+mns1; {кездескен дауысты əріптер}
end
end;
res2:=res3-res4; {тек бір сөзге кіретіндер} {сқйлемді өңдеу нəтижелерін шығарамыз} WriteLn('Əр сөзге кіретін дауысты əріптер жиы-ны:');
for ch:=#0 to #255 do if ch in res1 then
Write(ch:2);
WriteLn;
WriteLn('Тек бір сөзге кіретін дауысты əріптер жиыны:');
for ch:=#0 to #255 do if ch in res2 then
Write(ch:2);
WriteLn;
WriteLn('кем дегенде бір сөзге кіретін дауысты əріптер жиыны:');
for ch:=#0 to #255 do if ch in res3 then Write(ch:2);


144

WriteLn;
WriteLn('Бірнеше сөзге кіретіндер дауысты əріптер жиыны:');
for ch:=#0 to #255 do if ch in res4 then
Write(ch:2);
WriteLn;
End.



Достарыңызбен бөлісу:
1   ...   71   72   73   74   75   76   77   78   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет