Материалы сайта
Это интересно
Вычислительная практика I курс
Смаль Дмитрий, АС-14 Работа №3(1) Вариант №10(а) 1. Дан текст из русских букв за которым следует точка. Между соседними словами запятая. Напечатать в алфавитном порядке: Все звонкие согласные буквы, которые входят более чем в одно слово. Звонкие согласные: б, в, г, д, ж, з, л, м, н, р 2. Схема алгоритма (см. Приложение №1) 3. Тестовые примеры: 1) Пусть текст будет таким: грибы, рога, зонт, звание, жор, дом, зрачок. тогда звонкими согласными, которые встречаются более чем в одном слове будут: г з н р 2) Пусть текст будет таким: нога, глаз, стакан, весло, бал, бревно. тогда звонкими согласными, которые встречаются более чем в одном слове будут: б в г л н 3) Пусть текст будет таким: бббббб, вввввв, ггггггг, дддддд, жжжжж, зззззлллмнр. тогда звонких согласных, которые встречаются более чем в одном слове не будет. 4. Распечатка текста программы: Program Mnozhestvo_1; Uses crt; Type CHARSET=SET OF CHAR; Var b,s,z:STRING; c:CHAR; i,j,k,r,m:INTEGER; ZV1,ZV:CHARSET; a:ARRAY[0..100] of INTEGER; Begin clrscr; Writeln('Введите текст, состоящий из русских букв:’); Readln(s);z:=’’; For i:=1 to length(s) do begin c:=s[i]; case c of 'А'..'П':c:=chr(ord(c)+32); 'Р'..'Я':c:=chr(ord(c)+80); end; z:=z+c; end; k:=0; ZV:=[]; ZV1:=[]; b:='бвгджзлмнр'; For i:=1 to length(z) do If (z[i]=',') or (z[i]='.') then begin Inc(k); a[k]:=i; end; a[0]:=1; For m:=1 to 10 do begin r:=0; For j:=1 to k do begin For i:=a[j-1] to a[j] do ZV:=ZV+[z[i]]; If b[m] in ZV then Inc(r); ZV:=[]; end; If r>1 then ZV1:=ZV1+[b[m]]; end; For i:=1 to 10 do If b[i] in ZV1 then Write(b[i],' '); End. Приложение №1: Ввод текста Обнуление строки Для i от 1 до длины строки S НЕТ ДА НЕТ ДА НЕТ ДА НЕТ ДА 5. Результаты тестирования: 1) Введите текст, состоящий из русских букв: грибы, рога, зонт, звание, жор, дом, зрачок. г з н р 2) Введите текст, состоящий из русских букв: нога, глаз, стакан, весло, бал, бревно. б в г л н 3) Введите текст, состоящий из русских букв: бббббб, вввввв, ггггггг, дддддд, жжжжж, зззззлллмнр. Работа №3(2) 1. Постановка задачи: Дан текст из русских букв за которым следует точка. Между соседними словами запятая. Напечатать в алфавитном порядке: Все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят ни в одно четное слово. 2. Схема алгоритма (см. Приложение №2) 3. Тестовые примеры: 1) Пусть текст будет таким: бревно, рог, бвгджзлмнр, гора, бревно. Тогда такими звонкими согласными будут: б в н 2) Пусть текст будет таким: л, о, л, а, в. Тогда таких звонких согласных не будет. 3) Пусть текст будет таким: л, л, л, л, л. Тогда таких звонких согласных не будет. 4. Распечатка текста программы: Program Vydelenie; Uses crt; Const ZV=['б','в','г','д','ж','з','л','м','н','р']; Var s,z,b,h:STRING; one,two,rez,bv,vb:set of Char; c:char; m:ARRAY[1..100] of STRING; i,j,f,n,x,w,t,a,p,v,q,k:INTEGER; Begin clrscr; Writeln('Введите текст:'); Readln(s); h:=''; For i:=1 to length(s) do begin c:=s[i]; case c of 'А'..'П':c:=chr(ord(c)+32); 'Р'..'Я':c:=chr(ord(c)+80); end; h:=h+c; end; i:=1; While i<=length(h) do begin While ((h[i]<>',') and (h[i]<>'.')) and (i<=length(h)) do begin z:=z+h[i]; Inc(i); end; Inc(j); m[j]:=z; Inc(i); z:=''; end; For v:=1 to j do If odd(v)=true then Inc(q) else Inc(k); For x:=1 to length(m[1]) do begin bv:=bv+[m[1][x]]; end; vb:=[];one:=[];two:=[]; For i:=2 to j do begin n:=2*i-1; For x:=1 to length(m[n]) do one:=one+[m[n][x]]; vb:=one*bv; end; For i:=1 to j do begin n:=2*i; For t:=1 to length(m[n]) do two:=two+[m[n][t]]; end; b:='бвгджзлмнр'; For w:=1 to length(b) do begin rez:=vb-two; If b[w] in rez then Write(b[w],' ') end; If Rez=[] then Writeln('Таких согласных нет'); End. Приложение №2 Ввод текста Обнуление строки Для i от 1 до длины строки S Нет ДА Нет ДА Нет ДА Нет ДА 5. Результаты тестирования: 1) Введите текст: бревно, рог, бвгджзлмнр, гора, бревно. б в н 2) Введите текст: л,о,л,а,в. Таких согласных нет 3) Введите текст: л,л,л,л,л. Таких согласных нет ----------------------- G D D F F B C A B C A C : = S[ i ] z : = ‘ ‘ B B r > 1 b [ m ] содерж. во множ . ZV z [ i ]=’ , ‘ или z [ i ]=’ . ‘ A A C : = S[ i ] z : = ‘ ‘ S НАЧАЛО G