Ф Е Д Е РАЛ Ь Н О Е АГ Е Н Т С Т В О П О О БРАЗО В АН И Ю В О РО Н Е Ж С К И Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС ...
28 downloads
331 Views
216KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Ф Е Д Е РАЛ Ь Н О Е АГ Е Н Т С Т В О П О О БРАЗО В АН И Ю В О РО Н Е Ж С К И Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС И Т Е Т
Язык программированияPascal М ножес тва . Т ипизирова нны еконс та нты П ра ктикум С п ециа л ь но с ть 010101 (010100) М а тем а тика
В О Р О НЕ Ж 2005
2
У тверждено научно-методическимсоветомМ атематического ф акуль тета – ( 28 ф евраля2005 года, протокол № 6 )
С оставители: В асиль ев В .В ., Х ливненко Л .В .
П рактикумподготовлен накаф едре математического моделированияматематического ф акуль тетаВ оронежского государственного университета. Рекомендуетсядлястудентов вечернего отделенияматематического ф акуль тетаВ оронежского государственного университета.
3
М но ж ес тва относятсяк структурированнымтипамданных и представляю т собой наборы э лементов одного типа. П орядок э лементовпри описании не учитывается. Э лементы не нумерую тся. М ножестваисполь зую тсяв задачах, длякоторых важен ф акт наличияили отсутствияэ лементаво множестве себе подобных. В П аскале множествамогут состоять толь ко изэ лементовпорядковых типов. В се э лементы конкретного множествадолжны принадлежать одномутипу, который называетсяба зо вы м тип о м м но ж ес тва . М аксималь ное количество значений базового типаназываетсямощ ность ю множества. В качестве базового типамножествав П аскале допустимы толь ко типы, мощ ность которых не боль ш е 256. К роме того, номеранижней и верхней границ базового типадолжны находитсявдиапазоне 0..255. П оэ томубазовыми типами не могут быть типы Integer, LongInt, Word, Real. Д ляразличимости э лементы множествадолжны быть представлены уникаль ными значениями. М ножество, не содержащ ее э лементов, называетсяп у с ты м и обозначается[ ]. М ножественный тип в общ емвиде задаетсяследую щ имобразом: Set of <Базовый тип множества>; Н апример, тип множества, состоящ его изциф р, можно описать так: Type Set of 0..9; С ра внение м но ж ес тв. Д вамножестваравны, если все их э лементы одинаковы, причемпорядок следованияэ лементовне имеет значения. Н апример, [1,2,3]=[3,1,2].
Резуль татомоперации сравненияA<=B ( A ⊆ B ) будет true, если множество В вклю чает все э лементы множестваА (А я в ля етс я п од м н ож ес тв ом В ).
Резуль татомоперации сравненияA>=B ( A ⊇ B ) будет true, если множество А вклю чает все э лементы множестваВ (В я в ля етс я п од м н ож ес тв ом А ). О тнош ение строгого вклю чения ( A ⊂ B ) можно сделать следую щ имобразом: (A>=B) And (A<>B). О п ера ции на дм но ж ес тва м и. В П аскале над множествами допустимы операции объединения, пересеченияи разности. Резуль татомоперации сло ж е н и я (объед ин ен ия ) множеств А и В является множество А +В , содержащ ее э лементы множествА и В (без д ублиров а н ия од ин а ков ых элем ен тов ). В се э лементы множествауникаль ны! Резуль татомоперации в ы чи тан и я (ра зн ос ти) множеств А и В является множество А - В , содержащ ее э лементы множестваА , не входящ ие во множество В . Резуль татомоперации ум н о ж е н и я (п ерес ечен ия ) множеств А и В является множество А * В , содержащ ее э лементы, входящ ие и во множество А , и во множество В . П роверить , п р и н адле ж и т ли э лемент множеству, можно с помощ ь ю знакомой намлогической операции IN: Элемент IN Множество Ко нс тру кто ро м м но ж ес тв называетсявыражение множественного ти-
4
па, которое может содержать операции объединения, разности и пересечения множеств. К онструктор множеств может стоять вправой части оператораприсваивания. Для того, чтобы д оба в итьили уд а литьэлем ен т, его п ред с та в ля ю т ка к м н ож ес тв о м ощ н ос ти 1. Для этого элем ен т берут в кв а д ра тн ые с кобки ! Д лядобавлениянового э лементаво множество имеетсяспециаль наяпроцедураINCLUDE (М н ожес тво, Э л ем ен т); Д ляисклю ченияэ лементаизмножестваслужит специаль наяпроцедура EXCLUDE (М н ожес тво, Э л ем ен т); И споль зуямножества, можно упростить реш ение задач обработки текстовой инф ормации. За да ча 1. Н апиш ите программу, котораяпроверяет, имею тсяли в слове повторяю щ иесябуквы. ♣ С ловомбудемсчитать последователь ность символов, оканчиваю щ ую ся точкой . Буквы словабудемзаписывать в массивизсимволов. П араллель но с вводомбукв будемф ормировать множество букв слова. Е сли очереднаявведеннаябукване входит всф ормированное натекущ ий момент множество букв, то буквавклю чаетсяво множество буквслова. В противномслучае логической переменной flag (хра н я щ ей отв ет н а в оп рос за д а чи) присваивается значение true. ♠ Program Repeat_Letters; Uses crt; Const Max_Len = 100; {максимальная длина слова} eot = '.'; {признак конца ввода} Type Word = array [1..Max_Len] of char; {тип слова} Var Sl: Word; {слово} Letters: set of char; {множество букв слова} i: 0..Max_Len; {счетчик букв в слове} flag: Boolean; {признак наличия повторяющихся букв} Begin Textbackground(7); Textcolor(blue); Clrscr; writeln('Введите слово (в конце поставьте точку): '); i:=0; Letters:=[]; flag:=false; repeat inc(i); read(Sl[i]); if not (Sl[i] in Letters) then Letters:=Letters + [Sl[i]] else if not flag then flag:=true; until (i=Max_Len) or (Sl[i]=eot); if flag then writeln('В слове есть повторяющиеся буквы! ') else writeln('В слове нет повторяющихся букв! '); readkey End.{Repeat_Letters}
5
Н аучимсяпроверять , входят ли э лементы одного множествавдругое. За да ча 2. П усть дан текст. В ерно ли, что внемимею тсябуквы, входящ ие в слово, задаваемое поль зователем? ♣ С ловоми текстомбудемсчитать последователь ность символов, оканчиваю щ ую сяточкой . П араллель но с вводомсловасф ормируеммножество его букв. Буквасловавклю чаетсяво множество букв, если онавстречаетсяв слове впервые. П осле заверш ениявводасловаизмножествабукв словаисклю чается точка. Почем у? П араллель но с вводомсимволовтекста, проверяетсяналичие вводимых символовво множестве букв слова. Е сли проверкадаст положитель ный резуль тат, то логической переменной flag (хра н я щ ей отв ет н а в оп рос за д а чи) присваиваетсязначение true. ♠ Program Words1; Uses crt; Const Max_Len = 100; {максимальная длина слов} eot = '.'; {признак конца ввода} Type Word = array [1..Max_Len] of char; {тип слова} Var Sl,Text: Word; {слово и текст} Letters: set of char; {множество букв слова} i: 0..Max_Len; {счетчик букв} flag: Boolean; {п ризн ак н ал ичия бу кв с л ова в текс те} Begin Textbackground(7); Textcolor(blue); Clrscr; {Ввод слова и инициализация множества букв слова} writeln('Введите слово (в конце поставьте точку): '); i:=0; Letters:=[]; repeat inc(i); read(Sl[i]); if Letters-[Sl[i]]=Letters then Letters:=Letters+[Sl[i]] until (i=Max_Len) or (Sl[i]=eot); Letters:=Letters-[eot]; {Ввод текста и проверка вхождения букв слова в текст} writeln('Введите текст (в конце поставьте точку): '); i:=0; flag:=false; repeat inc(i); read(Text[i]); if (not flag) and (Text[i] in Letters) then flag:=true; until (i=Max_Len) or (Text[i]=eot); if flag then writeln('В тексте есть буквы слова! ') else writeln('В тексте нет букв слова! '); readkey End.{Words1} ♣ П риведемвторой способ реш енияданной задачи. П араллель но с вводом
6
словаи текстаф ормируетсямножество буквсловаи множество букв текста. Е сли пересечение двух сф ормированных множествнепусто, то навопрос задачи надо дать положитель ный ответ. ♠ Program Words; Uses crt; Const Max_Len = 100; {максимальная длина слов} eot = '.'; {признак конца ввода} Type Word = array [1..Max_Len] of char; {тип слова} Var Sl,Text: Word; {слово и текст} Letters1, Letters2: set of char; {м н ожес тво бу кв с л ова} i: 0..Max_Len; {счетчик букв} flag: Boolean; {п ризн ак н ал ичия бу кв с л ова в текс те} Begin Textbackground(7); Textcolor(blue); Clrscr; {Ввод слова и инициализация множества букв слова} writeln('Введите слово (в конце поставьте точку): '); i:=0; Letters1:=[]; repeat inc(i); read(Sl[i]); if Letters1-[Sl[i]]=Letters1 then Letters1:=Letters1+[Sl[i]] until (i=Max_Len) or (Sl[i]=eot); Letters1:=Letters1-[eot]; {Ввод текста и инициализация множества букв текста} writeln('Введите текст (в конце поставьте точку): '); i:=0; Letters2:=[]; repeat inc(i); read(Text[i]); if Letters2-[Text[i]]=Letters2 then Letters2:=Letters2+[Text[i]] until (i=Max_Len) or (Text[i]=eot); Letters2:=Letters2-[eot]; if Letters1*Letters2<>[] then writeln('В тексте есть буквы слова! ') else writeln('В тексте нет букв слова! '); readkey End.{Repeat_Letters} За да ча 3. П усть дананепустаяпоследователь ность словизстрочных русских букв. М еждусоседними словами присутствует запятая, запоследним– точка. Н апечатай те в алф авитномпорядке гласные буквы, которые входят в каждое слово. ♣ Т екст изсловоф ормимввиде последователь ности символов, оканчиваю щ ей сяточкой . П ри просмотре очередного словатекстабудемф ормировать множество Gl_Sl его гласных букв. М ножество Gl_T гласных букв, входящ их во все словатекста, вначале совпадает с множествомгласных букв первого слова.
7
П ри просмотре n-го словатекстамножество Gl_T получаетсякак резуль тат пересечениямножестваGl_T гласных букв, входящ их во все словаот 1-го до n-1го, и множестваGl_Sl гласных буквn-го слова. Е сли после просмотравсех слов текстамножество Gl_T оказываетсянепусто, то его э лементы выводятсяв алф авитномпорядке. О бра тите в н им а н ие н а то, ка к п рос то в ыв ес ти элем ен ты м н ож ес тв а в а лф а в итн ом п оря д ке (с м . п рогра м м у)! ♠ Program Glas; Uses crt; Const Max_Len = 100; {максимальная длина текста} eot = '.'; {признак конца текста} eow = ','; {признак конца слова} Type TWord = array [1..Max_Len] of char; {тип слова} TGl = set of char; {тип множества гласных букв} Const Gl: TGl = ['а','о','ы','э','у','я','ё','и','е','ю']; Var Text: TWord; {слово} Gl_Sl, Gl_T: set of char; {м н ожес тво гл ас н ы хбу кв с л ова и вс ехс л ов} i,T_Len: 0..Max_Len; {счетчик букв и длина текста} f: boolean; {п ризн ак н ачал ьн ого зап ол н ен ия м н ожес тва Gl_W} ch:char; {счетчик цикла} Begin Textbackground(7); Textcolor(blue); Clrscr; {Ввод текста} writeln('Введите текст (в конце поставьте точку): '); i:=0; repeat inc(i); read(Text[i]) until (i=Max_Len) or (Text[i]=eot); if Text[i]=eot then T_Len:=i-1 else T_Len:=i; {Поиск гласных букв, входящих во все слова} Gl_T:=[]; f:=true; i:=1; repeat {пропуск запятых} while (i<=T_Len) and (Text[i]=eow) do inc(i); {формирование множества гласных букв слова} Gl_Sl:=[]; while (i<=T_Len) and (Text[i]<>eow) do begin if Text[i] in Gl then include(Gl_Sl,Text[i]); inc(i) end; if f then begin Gl_T:=Gl_Sl; f:=not f end else Gl_T:=Gl_T*Gl_Sl
8
until (i>=T_Len); {вывод результата} if Gl_T=[] then writeln('Гл ас н ы хбу кв, которы е входят в каждое с л ово, н ет!') else begin writeln('Гл ас н ы е бу квы , которы е входят в каждое с л ово:'); for ch := 'а' to 'я' do if ch in Gl_T then write(ch,' ') end; readkey End.{Glas} В программе к задаче 3 намвпервые встретились с тру кту риро ва нны е тип изиро ва нны е (тип иров а н н ые) ко нс та нты (с м . const Gl). И ногдав задачах бывает нужно исполь зовать константы структурированного типа. Т ак, например, в программе Glas исполь зовалось множество Gl гласных строчных русских букв. В общ емвиде описать типизированную константуможно так: Const Имя константы: Тип =(Значение); П ример константы типазапись : Type TDATA = record gd: 1900..2100; mc: 1..12; dn:1..31 end; Const Now: TDATA = (dn: 31; mc: 12; gd: 2004); П ример константы – многомерного массива: Const M: Array [1..2, 1..3,1..4] of byte = (((1,2,3,4), (5,6,7,8), (9,10,11,12)), ((13,14,15,16), (17,18,19,20), (21,22,23,24))); Разберемзадачунасообразитель ность , алгоритмреш ениякоторой приведет нас к множествам. За да ча 4. К отуснится, что его окружили тринадцать мыш ей . Д венадцать изних серые, аоднабелая. С лыш ит кот, что кто-то говорит ему: « М урлыка, ты можеш ь съедать каждую тринадцатую мыш ку. С читай их по кругув одномнаправлении. Белую мыш куты должен съесть последней .» . Задумалсякот: « С какой мыш ки начинать счет?» ♣ М ыш и стоят по кругу. Будемсчитать , что нумерациямыш ей вкруге начинаетсяс белой мыш и и идет по часовой стрелке. Задачубудемреш ать переборомвсех возможных ситуаций . Н ачнемсчет с первой мыш и. С ф ормируеммножество номеровмыш ей . Будемисклю чать из э того множествакаждую тринадцатую мыш ь . Е сли накаком-то э тапе при исклю чении мы попадемв белую мыш ь , то выбор началаотсчетанеудачен, и нужно начать отсчет со следую щ ей мыш и. Е сли белаямыш ь останетсяпоследней , то точкаотсчетанай дена. Е сли номер мыш и, толь ко что исклю ченной изкруга, равен i, то следую щ ей будет исклю ченамыш ь , номер которой определяетсяследую щ имобразом:
9
for i:=1 to 13 do i:=Ном ер м ы ши, с тоящей в кру гу за i; К огдавсе мыш и стоят вкругуот 1 до max (max=13), то переход от одной мыш и к другой выражаетсяоператоромi:=i mod max + 1. Е сли при переходе мы попадаемв мыш ь , которой уже нет в круге, то номер э той мыш и пропускается. Program Cat; Const Max=13; {число мышей} Var krug:set of 1..max; {множество мышей} i,j:byte; {параметры циклов} k:1..max; {искомый номер} Begin for k:=1 to max do begin krug:=[1..max]; i:=k; repeat for j:=1 to max do repeat i:=i mod max + 1 until i in krug; if i<>1 then krug:=krug-[i] until (i=1) or (krug=[1]); if krug=[1] then break end; write('Номер мыши, с которой надо начать счет: ',k); readln End.{Cat} Реш имзадачу, в которой исполь зуетсямассивизмножеств. За да ча 5. П усть дан ф рагмент программы. Н ай дите значенияA, B, C типа ассортимент, перечисленные ниже. type продукт = (хл еб, м ас л о, м ол око, м яс о, ры ба, с ол ь, кол бас а, с ахар, коф е); ассортимент = set of продукт; магазины = array[1..20] of ассортимент; а) А – продукты, которые есть во всех магазинах; б) В – продукты, которые есть хотябы водноммагазине; в) С – продукты, которых нет ни в одноммагазине. ♣ М ножество А получаетсякак пересечение множеств ассортиментов продуктоввсех магазинов. М ножество B есть объединение множествассортиментовпродуктов всех магазинов. М ножество С получаетсякак разность множества, состоящ его извсех возможных продуктов, и множестваВ . ♠ Program Shops_; Uses crt; Const Max=20; {количество магазинов} Type products=(bread,butter,milk,meat,fish,salt,cheese,sausage,sugar,coffee ); assortiment=set of products;
10
shops=array[1..max] of assortiment; Var mag:shops; {массив множеств} all,one,no:assortiment; {искомые множества} n,i:byte; {параметры циклов} p:products; {продукт} Procedure print(m:assortiment); begin for p:=bread to coffee do if p in m then case p of bread:write('хлеб '); butter:write('масло '); milk:write('молоко '); meat:write('мясо '); fish:write('рыба '); salt:write('соль '); cheese:write('сыр ');sausage:write('колбаса '); sugar:write('сахар '); coffee:write('кофе ') end; writeln end; {print} Begin clrscr; {ввод ассортимента в магазинах} for i:=1 to max do begin mag[i]:=[]; writeln('Введите н ом ера п роду ктов, которы е ес ть в ',i,'-м м агазин е'); write('1-хлеб,2-масло,3-молоко,4-мясо,5-рыба,6соль,'); writeln('7-сыр,8-колбаса,9-сахар,10-кофе'); writeln('0-конец ввода'); repeat repeat read(n) until (n>=0) and (n<=10); case n of 1:p:=bread; 2:p:=butter; 3:p:=milk; 4:p:=meat; 5:p:=fish; 6:p:=salt; 7:p:=cheese; 8:p:=sausage; 9:p:=sugar; 10:p:=coffee end; if not(p in mag[i]) then include(mag[i],p) until (n=0); end; {поиск продуктов, которые есть во всех магазинах} all:=mag[1];
11
for i:=2 to max do all:=all*mag[i]; writeln('Продукты, которые есть во всех магазинах:'); print(all); {ф орм ирован ие м н ожес тва п роду ктов, которы е ес ть хотя бы в одн ом м агазин е} one:=[]; for i:=1 to max do one:=one+mag[i]; writeln('Проду кты , которы е ес ть хотя бы в одн ом м агазин е:'); print(one); {ф орм ирован ие м н ожес тва п роду ктов, которы x н ет н и в одн ом м агазин е} no:=[bread..coffee]-one; writeln('Продукты, которыx нет ни в одном магазине:'); print(no); readkey End.{Shops_} Под готов ьтес ьк отв ета м н а в се(!) кон трольн ые в оп рос ы и в ып олн ите в се(!) кон трольн ые за д а н ия . Дорогу ос илит ид ущ ий!
Ко нтро л ь ны е во п ро с ы и за да ния. М но ж ес тва . Тип изиро ва нны е ко нс та нты . Ч то такое множество вП аскале? В каких задачах целесообразнее исполь зовать множества? Д ай те определение э лементамножества. Ч то такое базовый тип множества? К акимможет быть базовый тип множества? Ч то в П аскале называю т мощ ность ю множества? К аковамаксималь наямощ ность множества? К аков диапазон варь ированияномеровнижней и верхней границ базового типа? 9. П очемубазовымтипоммножестване могут быть типы Integer, LongInt, Word, Real? 10. М ожет ли множество содержать несколь ко одинаковых э лементов? 11. Ч то такое пустое множество? К ак оно обозначается? 12. К ак в общ емвиде задаетсямножественный тип? 13. К акие множествасчитаю тсяравными? Н еравными? У читываетсяли при сравнении множеств порядок следованияэ лементов? 14. К ак проверить строгое вложение множеств? 15. Ч то являетсярезуль татомсложениямножеств? 16. Ч то являетсярезуль татомвычитаниямножеств? 17. Ч то являетсярезуль татомумножениямножеств? 18. К ак проверить принадлежность э лементамножеству? 19. Ч то такое конструктор множества? 20. К ак добавить (удалить ) э лемент во (из) множество(а)? 21. Д лячего нужны процедуры INCLUDE и EXCLUDE? К аковы аргументы э тих процедур?
1. 2. 3. 4. 5. 6. 7. 8.
12
22. Ч то такое типизированнаяконстанта? 23. К ак в общ емвиде задать типизированную константу? 24. О пиш ите типизированную константу– множество. 25. О пиш ите типизированную константу– многомерный массив. 26. О пиш ите типизированную константу– запись . 27. Н апиш ите программу, котораяпроверяет, имею тсяли вслове повторяю -
щ иесябуквы. 28. П усть дан текст. В ерно ли, что в немимею тсябуквы, входящ ие в слово, задаваемое поль зователем? П риведите дваспособареш ениязадачи. 29. П усть дананепустаяпоследователь ность словизстрочных русских букв. М еждусоседними словами присутствует запятая, запоследним– точка. Н апечатай те валф авитномпорядке гласные буквы, которые входят вкаждое слово. 30. К отуснится, что его окружили тринадцать мыш ей . Д венадцать изних серые, аоднабелая. С лыш ит кот, что кто-то говорит ему: « М урлыка, ты можеш ь съедать каждую тринадцатую мыш ку. С читай их по кругуводном направлении. Белую мыш куты должен съесть последней » . Задумалсякот: « С какой мыш ки начинать счет?» 31. П усть дан ф рагмент программы. Н ай дите значенияA, B, C типаассортимент, перечисленные ниже. type продукт = (хл еб, м ас л о, м ол око, м яс о, ры ба, с ол ь, кол бас а, с ахар, коф е); ассортимент = set of продукт; магазины = array[1..20] of ассортимент; а) А – продукты, которые есть во всех магазинах; б) В – продукты, которые есть хотябы водноммагазине; в) С – продукты, которых нет ни в одноммагазине. 32. П усть дан ф рагмент программы. Var s: set of char; c, d: char; П рисвой те переменной s перечисленное ниже множество литер, которые боль ш е с, но мень ш е d (c [6,6,6]; б) [‘1’, ‘8’] = [‘8’, ‘1’]; в) [‘n’, ‘m’] = [‘n’.. ‘m’]; г) odd(8) in []; д) trunc[6.7] in (1,5,6). 34. В ычислите значениявыражений : а)[4,6,8]+[5,7]; б) [4,6,8]-[5,7]; в) [4,6,8]*[5,7]. 35. В ычислите значение выражения([‘0’ .. ‘7’] + [‘2’ .. ‘9’])*([‘a’]+[‘z’]). 36. У простите (А и В - множества): A*B-A и (A-B)+(B-A)+A*B. 37. П усть дан текст. П осчитай те общ ее число вхождений англий ских букв в
13
текст. 38. П усть вводитсяпоследователь ность символовдлиной не более 4. Е сли все вводимые символы – циф ры, то выполните преобразование данной последователь ности вцелое число. 39. П усть дан текст, состоящ ий изстрочных латинских букви циф р. О пределите, каких букв– гласных (a,e,i,o,u) или согласных – боль ш е в э томтексте. 40. П усть дананепустаяпоследователь ность словизстрочных русских букв. М еждусоседними словами присутствует запятая, азапоследним– точка. Н апечатай те валф авитномпорядке все звонкие согласные буквы, которые входят более чемводно слово. 41. Н е исполь зуядополнитель ных переменных, поменяй те местами значенияА и В множественного типа. 42. П усть дан ф рагмент программы. О пиш ите логическую ф ункцию В Е ЗД Е (Г Р), определяю щ ую есть ли вгруппе Г Р хотябы один человек, побывавш ий в гостях увсех осталь ных изгруппы (Г Р[х] – множество лю дей , побывавш их вгостях учеловекас именемх). Type Имя=(Вика, Света, М иша, Ж ен я, Тан я, Лен а, М арин а, Сергей , Дим а, Ол я); Гости = set of Имя; Группа = array [Имя] of Гости; 43. П усть дано натураль ное число n ( n ≥ 2 ). Н ай дите все мень ш ие n простые числа, исполь зуяр е ше то Эр ато сф е н а. Реш етомЭ ратосф енаназываю т следую щ ий способ определенияпростых чисел. В ыпиш емподряд все целые числа от2 до n. П ервое простое число 2. П одчеркнемего, авсе боль ш ие числа, кратные 2, зачеркнем. П ервое изоставш ихсячисел – 3. П одчеркнемего, а все боль ш ие числа, кратные 3, зачеркнем. П ервое число изоставш ихсятеперь – 5, так как 4 уже зачеркнуто. П одчеркнемчисло 5 как простое, авсе боль ш ие числа, кратные 5, зачеркнеми т.д. 44. И ндивидуа льное(!) за да ние, которое передаетсяпреподавателю перед началомсобеседованияпо э той теме: Ном ер ин д ив ид уа льн ого за д а н ия оп ред еля ет п реп од а в а тель! О пиш итепос та новку за да чи, с озда йтем а тем а тичес кую м одель еереш ения, ра зра бота йтеблок-с хем у и ра бота ющ ую програ м м у, проведите тес тирова ниеи отла дку програ м м ы , обдум а йтеполученны ерезульта ты . Индивиду а л ь ны е за да ния. 1. П усть заданапроизволь наяпоследователь ность символов. П ризнак конца последователь ности – точка. Н апечатай те те символы, которые встречаю тся вданной последователь ности более одного раза. 2. П усть дан текст, заканчиваю щ ий сяточкой . Т екст состоит изсимволов, разделенных пробелами. С лово – последователь ность латинских букв. Н апечатай те словатекста, имею щ ие нечетный номер, вкоторых нет ни одной повторяю щ ей сябуквы. 3. П усть заданацелочисленнаяквадратнаяматрицаразмерности n. Э лементы
14
матрицы находятсявдиапазоне от 1 до 100. Н апечатай те все циф ры иззаданного диапазона, которых нет ни водной изстрок заданной матрицы. 4. Н апечатай те все целые числа, лежащ ие вдиапазоне от 5 до 2500, которые представимы в виде 5n+7m, где n и m – целые числа(n, m ≥ 0). 5. В классе учатся25 учеников. К аждомуученикубыли выставлены оценки за четверть по 15 предметам. О пределите, сколь ко вклассе отличников, хорош истов и троечников. 6. И звестны резуль таты анкетированиястачеловек. Анкетасостоит из150 пунктов, накоторые предлагалось ответить утвердитель но или « нет определенного мненияпо данномувопросу» . Н апечатай те номератех пунктов анкеты, накоторые были получены толь ко утвердитель ные и толь ко отрицатель ные ответы всех опрош енных (ес ли, кон ечн о, та кие п ун кты ес ть). 7. В городе N имеется100 кондитерских магазинов. И звестно, что в каждомиз э тих магазинов не более 20 видовсластей в ассортименте. К акие виды сластей есть во всех имею щ ихсямагазинах? С ущ ествует ли магазин, торгую щ ий уникаль ной продукцией (а с с ортим ен т кон д итерс ких м а га зин ов ра с с м а трив а йте ка к д а н н ые п еречис лим ого тип а )? 8. П усть заданы двапредложения, словавкоторых разделены запятыми или пробелами. К аждое предложение заканчиваетсяточкой . М ожно ли избукв первого предложениясоставить второе предложение и наоборот? Е сли нель зяни то, ни другое, то перечислите буквы, которых не хватает впервом (в тором ) предложении, чтобы составить второе (п ерв ое). 9. В столовой имею тсяотдель ные меню назавтрак, обед и ужин. И звестно, что вкаждомизэ тих меню не более 100 видов блю д. О пределите, какие виды блю д имею тсяи назавтрак, и наобед, и наужин, если такие есть . О пределите виды блю д, которые есть толь ко назавтрак, толь ко наобед, толь ко наужин (в ид ы блюд ра с с м а трив а йте ка к д а н н ые п еречис лим ого тип а ). 10. В водитсяслово – образец. Затемвводитсясписок слов(н е более 100). О пределите слова, вкоторых нет хотябы одной буквы изслова-образца. В ыведите также слова, атакже буквы, которых нет в слове-образце. 11. М ногие игры дети начинаю т со считалок (н ед лин н ый с тихотв орн ый текс т). И граю щ ий , накоторого попадет последнее слово текста, выходит изкруга. П усть вкругустоит n детей . Т екст считалки вводитсяс клавиатуры. Н апечатай те номерадетей втомпорядке, вкоторомони выходят из круга. 12. Бли зн е цы . Д ванечетных простых числа, разнящ ихсяне два, называю тся близнецами. Н апример, 5 и 7, 11 и 13, 17 и 19, … Н апиш ите программу, печатаю щ ую все числаблизнецы в интервале [2..255]. Д ляопределенияявляетсяли число простым, исполь зуй те реш ето Э ратосф ена. 13. С помощ ь ю реш етаЭ ратосф енанай дите четверки, мень ш их n простых чисел, принадлежащ их одномудесятку(н а п рим ер, 11, 13, 17, 19).
15
С оставители: В асиль евВ алерий В икторович, Х ливненкоЛ ю бовь В ладимировна Редактор
Т ихомироваО .А.