М И Н И СТ Е РСТ В О О БЩ Е ГО И П РО Ф Е ССИ О Н А Л Ь Н О ГО О БРА З О В А Н И Я РФ В О Р О НЕ Ж СК И Й ГО СУ Д А Р СТВ Е ННЫ Й У НИ В Е Р СИ ТЕ Т Э К О НО М И ЧЕ СК И Й Ф А К У ЛЬТЕ Т
И Н Ф О РМ А Т И К Е С б орн и к з ад ач
1999
ББК 73 И 74
З адачник поинф ор матике/ Д авнис В .В ., И щ енкоВ .А ., Н агина Е .К., О р лова М .В .// П од р ед. д.э .н. Д авниса В .В . – В ор онеж, 1999. – 80с.
З адачник ор иентир ован на студентов э кономических специаль ностей, содер житзадачи позволяю щ ие пр иобр ести необх одимы е навы ки построения алгор итмов. П олу ченны е знания в области алгор итмизации могу тбы ть исполь зованы студентами на стар ш их ку р сах пр и изу чении пр оф илир у ю щ их э кономических и математических дисциплин. З адачник можетбы ть полезен для студентов, специализир у ю щ их ся в области изу чения инф ор мационны х систем в э кономике, а такжедля пр еподавателей инф ор матики ср едних ш кол и ш коль ников специализир ованны х классовпоэ кономике.
Рецензент: кандидаттех нических нау к, пр оф ессор В .В . Гасилов, Редактор М акар ова Е .А .
П ечатается в соответствии с р еш ением нау чно-методического совета э кономическогоф аку ль тета В ГУ Д авнисВ .В ., И щ енкоВ .А ., Н агина Е .К ., О р лова М .В .,1999 О ф ор мление, Э кономический ф аку ль тетВ ГУ ,1999
2
В В Е Д Е Н И Е Реш ение теор етических и пр актических пр облем, возникаю щ их в лю бой сф ер е человеческой деятель ности, и, в частности, э кономической, тр ебу етотспециалистов не толь ко глу боких знаний э кономики, математических методов и инф ор мационны х тех нологий, но и у мения в составлении алгор итмов р еш аемы х задач. В э той связи пр едставляется важны м полу чениеу глу бленны х знаний вобласти основпостр оения алгор итмов. И здание пр едлагаемого задачника ставитсвоей цель ю пр иобр етение студентами навы ков в составлении алгор итмов р еш ения задач, в у мении ф ор мализации поставленны х задач, то есть пер евода их с естественного язы ка на язы к логики. П олу ченны е навы ки даду твозможность в даль нейш ем вы строить логическу ю стр у ктур у э кономических пр оцессов, отбр осив многозначность, пр ису щ у ю обы чной язы ковой ф ор му лир овке, и таким обр азом полу чить точноеи ясноер еш ение. Стр у ктур а задачника позволяетстудентам постепенно пер ейти от пр осты х интуитивно понятны х постр оений к более сложны м. З адачи вну тр и р азделов у словно р азделены по их нар астаю щ ей сложности. У мение р еш ать задачи пр едполагаетналичие у студентов минималь но необх одимого у р овня подготовки по ку р су “Э кономическая инф ор матика и вы числитель ная тех ника” . Ф ор му лир овка боль ш инства задач у нивер саль на, то есть даетвозможность составления пр огр амм на лю бом язы кепр огр аммир ования. В тексты некотор ы х задач вклю чены у казания и обсу ждение нетр адиционны х вопр осов, помогаю щ их понять су ть постановки. Боль ш инство текстов задач являю тся ор игиналь ны ми, а др у гие- частично заимствованы из известны х сбор никовпо инф ор матике. В сепр иведенны евзадачникепр имер ы вы полнены с исполь зованием язы ка пр огр аммир ования Бейсик. П р ичин тому много. Как показы ваетопы тБейсик - наиболее подх одящ ий язы к, на котор ом ну жно у чить пр огр аммир ованию начинаю щ их . Кроме того, совр еменны е вер сии э того язы ка QBasic и QuickBasic, оставаясь пр осты ми в освоении, в то же вр емя обеспечиваю тэ ф ф ективное р еш ение достаточно ш ир окого кр у га задач и способны пр ивить х ор ош ие пр огр аммистские навы ки, котор ы е пр игодятся пр и освоении лю бы х др у гих язы ков пр огр аммир ования. Т акже, нель зя несчитаться с тем обстоятель ством, что пер ех од отр аботы в ср едеDOS к р аботе в ср едеWindows повы сили р оль язы ка Бейсик как базового язы ка пр огр аммир ования. Т акие попу ляр ны е пр иложения под Windows, как Word и Excel, исполь зу ю тязы к Бейсик (Word Basic и Visual Basic) в качестве язы ка у пр авления. В нову ю вер сию Windows встр оен язы к пр огр аммир ования Visual Basic. В се э ти пр иложения и пр огр аммны е пр оду кты изу чаю тся в ку р се инф ор матики на э кономическом ф аку ль тете. 3
1. Б А ЗО В Ы Е А Л Г О РИ Т М Ы В ы ч ислениесуммы О пер ация су ммир ования - одна из наиболее часто встр ечаю щ их ся опер аций пр и обр аботке массивов. А лгор итм су ммир ования состоитиз дву х э тапов. Н а пер вом э тапе"очищ ается" пер еменная (ей пр исваивается 0), в котор ой бу детнакапливаться су мма. Н а втор ом э тапе в цикле осу щ ествляется накапливаниесу ммы вэ той пер еменной. Базовы й алгор итм, вы числения су ммы значений э лементов линейного массива X, бу детвы глядеть следу ю щ им обр азом. Ф рагментпрограммы 10 REM В Ы Ч И СЛ Е Н И Е СУ М М Ы 20 REM S - СУ М М А З Н А Ч Е Н И Й Э Л Е М Е Н Т О В М А ССИ В А Х ......................... 60 S=0 70 FOR I=1 TO N 80 S=S+X(I) 90 NEXT I
100 PRINT “S=“, S ................... 150 END
В данном ф р агменте р оль “накопитель ной” ячейки игр ает пер еменная S, котор ой в стр оке 60 пр исваивается значение 0. Н епоср едственное су ммир ование осу щ ествляется в стр оке 80, котор ая повтор яется N р аз (по числу э лементоввмассивеХ ) благодар я циклу (стр оки 70, 90). Стр ока 100 вы водитр езу ль татна э кр ан. В ы ч ислениепроизведения В ы числение пр оизведения не менее р аспр остр аненная опер ация пр и р аботе с массивами, чем су ммир ование. Как и в алгор итме су ммир ования для вы числения пр оизведения тр ебу ется специаль ная пер еменная. Н а пер вом э тапе р асчетов э той пер еменной пр исваивается 1, а на втор ом, вцикле, вы числяется теку щ еезначениепр оизведения. Д ля вы числения пр оизведения значений э лементов линейного массива базовы й алгор итм вы глядитследу ю щ им обр азом: Ф рагментпрограммы 10 REM P –П РО И З В Е Д Е Н И Е З Н А Ч Е Н И Й Э Л Е М Е Н Т О В М А ССИ В А .................... 90 P=1 100 FOR I=1 TO N 110 P=P*X(I)
120 NEXT I 130 PRINT “P=“;P ..................... 200 END
4
В стр оке 90 пер еменной P пр исваивается 1, а в стр оках 100 – 120 вы числяется пр оизведение пу тем повтор ения в цикле опер ации у множения теку щ его пр оизведения на очер едной сомножитель . П оиск максимального(минимального) элементав массиве О пер ацию поиска наиболь ш его (наимень ш его) э лемента линей ного или дву мер ного массива пр их одится вы полнять пр и составлении компь ю тер ны х пр огр амм такжечасто, как и опер ацию су ммир ования. А лгор итм вы полнения э той опер ации пр огр аммно р еализу ется в два э тапа. Н а пер вом э тапе пер еменной, обы чно обозначаемой MAX (MIN), пр исваивается значение пер вого э лемента массива. Т ак как алгор итмический поиск MAX (MIN) э лемента осу щ ествляется последователь но, то пока не бы ло ср авнений с др у гими э лементами, пер вы й э лементвр еменно считается максималь ны м (минималь ны м). Н а втор ом э тапев циклеор ганизу ется последователь ноеср авнение теку щ его MAX (MIN) с др у гими э лементами массива. Е сли очер едной ср авниваемы й э лементокажется боль ш е(мень ш е), то пер еменной MAX (MIN) пр исваивается э то новое значение, в пр отивном слу чае сох р аняется стар оезначение. В слу чаях , когда пр и поиске максималь ного (минималь ного) э лемента тр ебу ется опр еделить и его пор ядковы й номер , поступаю тследу ю щ им обр азом. В водится дополнитель ная пер еменная K, и э той пер еменной пр исваиваю тпор ядковы й номер э лемента, значение котор ого засы лаю твMAX (MIN) вкачественового максиму ма (миниму ма). Рассмотр им задачу . П у сть тр ебу ется найти в линейном массиве X наиболь ш ий по значению э лементи егопор ядковы й номер . Ф рагментпрограммы 10 REM MAX - М А К СИ М А Л Ь Н О Е З Н А Ч Е Н И Е 20 REM K - И Н Д Е КС Э Л Е М Е Н Т А С MAX З Н А Ч Е Н И Е М ............................ 60 MAX = X(1): K = 1 70 FOR I=2 TO N 80 IF MAX<X(I) THEN MAX=X(I): K=I или 80 IF MAX<=X(I) THEN MAX=X(I): K=I
90 NEXT I 100 PRINT “MAX=“; MAX, “Н О М Е Р=“; K ............................................ 200 END
Е сли в массиве несколь ко э лементов с одинаковы м наиболь ш им значением, то пер вы й вар иантстр оки 80 обеспечиваетнах ождениетого наиболь ш его э лемента, котор ы й ср еди р авны х по значению встр ечается р ань ш едр у гих (имеетнаимень ш ий пор ядковы й номер ). В тор ой вар иант 5
стр оки 80 позволяетнайти последний из э лементов с р авны м максималь ны м значением. П оиск элементов, ближайш их познач ению к заданной велич ине З адачу , в некотор ом смы сле идентичну ю задаче поиска э лемента, ближайш его по значению к некотор ой величине, часто пр их одится р еш ать пр и постр оении инф ор мационно-спр авочны х систем. Реш ение э той задачи опир ается на вы ш ер ассмотр енны еалгор итмы . Н етр у дно понять, что если заданы массивХ и некотор ая величина В , то ближайш им по значению к В бу деттотэ лементиз Х , для котор ого абсолю тная величина р азности между его собственны м значением и значением величины В минималь на. Ф ор маль но тр ебу ется найти такое X(I) для котор ого ABS(X(I)-B) р авно минималь ному значению . П оиск минималь ного значения э то известная задача. Ф рагментпрограммы 10 REM В - З А Д А Н Н А Я П О Л О Ж И Т Е Л Ь Н А Я В Е Л И Ч И Н А 20 REM MIN - М А К СИ М А Л Ь Н О Е О Т К Л О Н Е Н И Е О Т “В ” ...................... 100 MIN =ABS(B-X(1)): K=1 110 FOR I=2 TO N 120 IF MIN < ABS(B-X(I)) THEN MIN=ABS(B-X(I)): K=I 130 NEXT I ...................... 200 PRINT “М И Н И М А Л Ь Н О Е О Т К Л О Н Е Н И Е =“, MIN
210 PRINT “Э Л Е М Е Н Т =“, X(K), “И Н Д Е К С Э Л Е М Е Н Т А =“,K 220 END
П ер еменной MIN в стр оке100 пр исваивается абсолю тная величина р азности между пер вы м э лементом массива Х и величиной В . В р еменно э та р азность пр инимается за минималь ну ю , а пер вы й э лементмассива за ближайш ий э лемент. З атем вциклевы числяю тся отклонения всех осталь ны х э лементов отвеличины В и ср авниваю тся с пер еменной MIN. П у тем ср авнения опр еделяется наимень ш ее отклонение и искомы й э лементмассива. У далениеэлементов в линейном массивеи таблиц е О пер ация у даления э лементов массива вы полняется кажды й р аз, когда возникаетнеобх одимость впер емещ ении некотор ы х э лементовна новое место, обновлении или у далении у стар евш их данны х и р яде др у гих пр еобр азований. В началер ассмотр им опер ацию у даления влинейном массивеодного э лемента. П у сть у даляемы м бу детК-ы й э лемент. М ожно пр едложить несколь ко вар иантовпр огр аммной р еализации алгор итма у даления К -го э лемента. 6
Ф рагменты программ 10 REM K - Н О М Е Р У Д А Л ЯЕ М О ГО Э Л Е М Е Н Т А 20 REM В А РИ А Н Т 1 20 REM В А РИ А Н Т 2 ............................. … … … … … … … … 100 IF K=N GOTO 140 100 IF K=N GOTO 140 110 FOR I=K TO N-1 110 FOR I=K+1 TO N 120 X(I) = X(I+1) 120 X(I-1) = X(I) 130 NEXT I 130 NEXT I 140 N=N-1 140 N=N-1 … … … … … … … .
200 END
И в пер вом и во втор ом вар иантах в стр оке 100 осу щ ествляется пр овер ка у словия K=N. В ы полнение э того у словия означает, что у даляемы й э лементстоитна последнем месте в последователь ности и его у далениеосу щ ествляется опер ацией "отсечения" встр оке140. Е сли у словие не вы полняется, то весь "х вост" массива с К +1-го э лемента сдвигается на одну позицию влево. В зависимости отгр аниц изменения пар аметр а цикла I пер емещ ение вы полняется опер ацией X(I)=X(I+1) или X(I-1)=X(I). О ставш аяся послепер емещ ения копия последнего э лемента отсекается встр оке140. Т епер ь р ассмотрим таблицы . А лгор итм у даления столбца или стр оки в таблицечисел основан на опер ации у даления одного э лемента влинейном массиве. Н апр имер у далениестолбца с номер ом L из таблицы А р азмер ом N*M пр едставляетсобой N-кр атное повтор ение опер ации у даления L-го э лемента в линейны х массивах (строках таблицы А ). Рассмотр им два вар ианта э того алгор итма. Ф рагменты программ 10 REM L - И Н Д Е К С У Д А Л Я Е М О ГО СТ О Л БЦ А ............................. 100 IF L=M GOTO 150 100 IF L=M GOTO 150 110 FOR J=L TO M-1 110 FOR J=L+1 TO M 120 FOR I=1 TO N 120 FOR I=1 TO N 130 A(I,J) = A(I,J+1) 130 A(I,J-1) = A(I,J+1) 140 NEXT I : NEXT J 140 NEXT I : NEXT J 150 M=M-1 150 M=M-1
… … … … … … … … . 200 END
В пер вом из пр иведенны х ф р агментов р еализован алгор итм, в соответствии с котор ы м, поочер едно в каждой строке весь "х вост", начиная с L+1-го э лемента, сдвигается на одну позицию влево. О тличие алгор итма, р еализованного во втор ом ф р агменте, состоитв том, что сначала во всех стр оках на одну позицию влево сдвигается толь ко L+1-ы й э лемент, затем толь ко L+2-ой и т.д.
7
У далениегруппы элементов Н ар яду с опер ацией у даления отдель ны х э лементов, часто возникает необх одимость в у далении из массива целой гр у ппы э лементов (гр у ппа э то несколь ко р ядом стоящ их э лементов, число котор ы х непр евосх одитчисла э лементов в массиве). П р и у далении гр у ппы , как и в слу чае у даления одного э лемента, весь "х вост" сдвигается влево, но не на одну позицию , а на число позиций, котор ое опр еделяется количеством у даляемы х э лементов. П р и э том количество э лементов массива у мень ш ается на число у даленны х э лементов. Рассмотр им ф р агментпр огр аммы , р еализу ю щ ей алгор итм у даления гр у ппы э лементов, р асположенны х между максималь ны м и минималь ны м э лементами линейного массива. Ф рагментпрограммы 10 REM K - Н О М Е Р М А К СИ М А Л Ь Н О ГО Э Л Е М Е Н Т А 20 REM L - Н О М Е Р М И Н И М А Л Ь Н О ГО Э Л Е М Е Н Т А 30 REM T - К О Л И Ч Е СТ В О Э Л Е М Е Н Т О В В ГРУ П П Е ...................................... 100 IK K>L THEN C=K: K=L: L=C 110 T=L-K-1 120 IF T=0 THEN PRINT “М Е Ж Д У MAX И MIN Н Е Т Э Л Е М Е Н Т О В ” : GOTO 500 130 FOR I=L TO N 140 X(I-T)=X(I) 150 NEXT I 160 N=N-T ........................... 500 END
П р оцеду р а у даления начинается с опр еделения левой и пр авой гр аницы р ассматриваемой гр у ппы э лементов (стр ока110). В р езу ль татевы полнения опер атор ов э той стр оки левая гр аница записы вается в К, пр авая – вL. В 120 пр овер яется у словиеТ =0. Е сли оно вы полняется, то между MIN и MAX нетэ лементов, и пр еобр азованиемассива пр екр ащ ается. О пер атор ы 130-150 стр ок сдвигаю т"х вост" влево на Т позиций. В 160 строке количество э лементов массива у мень ш ается на число у даленны х . В клю ч ениеэлементов в линейны й массив. П р и обр аботкемассивовопер ация вклю чения э лементоввстр ечается так жечасто, как и опер ация у даления. О на вы полняется в два э тапа. Н апр имер , если тр ебу ется новы й э лемент, значениекотор ого х р анится в А , вклю чить за э лементом, р асположенны м в К-ой позиции, то сначала необх одимо р аздвину ть массив, т.е. все э лементы , стоящ ие за К-ы м, сместить на одну позицию впр аво, вы полнив опер ацию Х (К+1)=Х (К). П ер емещ ение ну жно начать с конца. В пр отивном слу чае весь "х вост" бу детзаполнен значениями э лемента Х (К+1). Н а втор ом э тапеэ лементу
8
с номер ом К+1 пр исваивается значение нового э лемента Х (К +1)=А и р азмер массива у величивается на 1 (N+1). П ер ед вы полнением опер ации пер емещ ения "х воста" впр аво ну жно пр овер ить наличиесамого "х воста". Е сли К =N, то без пр едвар итель ного пер емещ ения новы й э лементср азу записы вается в позицию с номер ом К +1. Ч тобы пер емещ ение на одну позицию впр аво бы ло возможны м, ну жно в массиве пр еду смотр еть дополнитель ну ю позицию , вы полнив егоописаниеспомощ ь ю опер атор а DIM(N+1). Ф рагментпрограммы 10 REM K-Н О М Е Р Э Л Е М Е Н Т А , З А К О Т О РЫ М В К Л Ю Ч А Е Т СЯ “A” 20 REM A - В Е Л И Ч И Н А В К Л Ю Ч А Е М О Г О Н О В О ГО Э Л Е М Е Н Т А ..................... 50 DIM X(N+1) ..................... 200 IF K=N GOTO 240 210 FOR I=N TO K+1 STEP -1 220 X(I+1)=X(I) 230 NEXT I 240 X(K+1)=A 250 N=N+1
В клю ч ениегруппы элементов А лгор итм вклю чения в массив гр у ппы новы х э лементов пр еду сматр иваетту же последователь ность действий, что и алгор итм вклю чения одного э лемента. Рассмотр им э ту последователь ность действий для слу чая, когда за К -ы м э лементом линейного массива Х , состоящ его из N э лементов, тр ебу ется вклю чить всеМ э лементовмассива А . П р ежде всего пр и описании массива Х необх одимо пр еду смотр еть М дополнитель ны х позиций, т.е. DIM X(N+M). Когда К-ы й э лементпоследний, массив Х нер аздвигается. Э то пр оисх одитв том слу чае, когда у словие K=N вы полняется. Е сли э то у словие не вы полняется, то э лементы , стоящ ие за К -ы м, сдвигаю тся впр аво на М позиций. Сдвигосу щ ествляется опер ацией Х (I+М )=Х (I), вы полнениекотор ой начинается с конца массива. З атем на освободивш иеся позиции засы лаю тся значения вклю чаемы х э лементов, и р азмер массива у величивается на М единиц. Ф рагментпрограммы : 10 REM K - Н О М Е Р Э Л Е М Е Н Т А , З А К О Т О РЫ М В К Л Ю Ч А Ю Т СЯ 20 REM Э Л Е М Е Н Т Ы М А ССИ В А “A” ..................... 50 DIM X(N+M),A(M) ..................... 200 IF K=N GOTO 240
210 FOR I=N TO K+1 STEP -1 220 X(I+M)=X(I) 230 NEXT I 240 FOR I=1 TO M 250 X(K+1)=A(I) 260 NEXT I 260 N=N+M … … … … … … 350 END
. 9
И зменениепорядкаследования элементов наобратны й О пер ацию изменения на обр атны й пор ядка следования э лементов линейного массива можно вы полнить несколь кими способами. Н аиболее р ациональ ны й заклю чается в том, что каждая пар а э лементов, симметр ичная относитель но ср едины массива, обменивается местами. О бмен осу щ ествляется чер ез вспомогатель ну ю пер еменну ю . Сначала обмениваю тся местами пер вы й и последний э лементы , т.е. Р=А (1), А (1)=А (N), А (N)=Р, затем втор ой и пр едпоследний Р=А (2), А (2)=А (N1), А (N-1)=Р и т.д. В общ ем слу чае ф ор му лы обмена можно записать в видеР=А (I), А (I)=А (N-I+1), А (N-I+1)=Р. Ч тобы изменить пор ядок следования всех э лементов на обр атны й, ну жно опер ацию обмена повтор ить N/2 р аза. П р ичем, количество повтор ений независитоттого, четноеили нечетноеколичество э лементов в массиве. В слу чае, если N нечетное, центр аль ны й э лементостается на местеи количествоповтор ений опр еделяется числом полны х пар . Ф рагментпрограммы 10 REM И З М Е Н Е Н И Е П О РЯД К А СЛ Е Д О В А Н И Я 20 REM Э Л Е М Е Н Т О В М А ССИ В А Н А О БРА Т Н Ы Й … … … … … … … … … .. 100 FOR I = 1 TO N / 2 110 P = A(I) 120 A(I) = A(N - I + 1) 130 A(N - I + 1) = P 140 NEXT I … … … … … … … … … . 250 END В качестве вер х ней гр аницы изменения пар аметр а цикла можно исполь зовать INT(N/2), чтобы вер х няя гр аница всегда бы ла целы м числом. Н о э то у точнение совер ш енно не обязатель но. В лю бом слу чае циклбу детвы полняться целоечисло р аз. П еремещ ениеэлементов в массиве П р и пр еобр азовании массивов часто тр ебу ется некотор ы е гр у ппы э лементов пер еместить из одной части массива в др у гу ю или пр оизвести замену одной гр у ппы э лементов на др у гу ю . В ы полнение э той опер ации, как пр авило, у сложняется некотор ы ми огр аничиваю щ ими у словиями. Н апр имер , такими огр аничиваю щ ими у словиями могу т бы ть тр ебования по сох р анению пор ядка следования пер емещ аемы х э лементовили запр ету на исполь зованиедополнитель ной памяти. 10
Рассмотр им задачу , когда тр ебу ется, не пр ибегая к исполь зованию вспомогатель ного массива, э лементы , стоящ ие до заданного, пер еместить в конец массива, а стоящ ие за ним в начало. П р ичем пер емещ ение ну жно вы полнить так, чтобы пор ядок следования пер емещ аемы х э лементов сох р анился, а р азделяю щ им между пер емещ енны ми гр у ппами остался заданны й э лемент, х отя и изменивш ий , возможно, свое местоположение. Ф рагментпрограммы 10 REM П Е РЕ М Е Щ Е Н И Е Э Л Е М Е Н Т О В , СТ О Я Щ И Х Д О К -го 20 REM В К О Н Е Ц М А ССИ В А , СТ О Я Щ И Х З А К -ы м В Н А Ч А Л О 30 REM Т А К, Ч Т О БЫ П О РЯ Д О К И Х СЛ Е Д О В А Н И Я Н Е И З М Е 40 REM Н И Л СЯ, А РА З Д Е Л Я Ю Щ И М О СТ А Л СЯ К -ы й ........................... 100 IF K = N THEN PRINT "Э Л Е М Е Н Т Ы З А К-ы м Н Е П Е РЕ М .": GOTO 160 110 P = A(K) 120 FOR I = K TO N - 1 130 A(I) = A(I + 1) 140 NEXT I 150 A(K) = P 160 IF K = 1 THEN PRINT " Э Л Е М Е Н Т Ы Д О К -го Н Е П Е РЕ М .": GOTO 300 170 FOR I = 1 TO K - 1 180 P = A(1) 190 FOR J = 1 TO N - 1 200 A(I) = A(I + 1) 210 NEXT J 220 A(N) = P 230 NEXT I ................................ 300 END
П о я с н е н и я к п р о гр а м м е. Резу ль татвы полнения э того ф р агмента пр огр аммы пр ощ е понять на пр имер е. П у сть исх одны й массив пр едставляетсобой последователь ность чисел 5, 3, 7, 4, 9, 2, 1, 8 и К =5, тогда пр еобр азованны й массивбу детследу ю щ им: 2, 1, 8, 9, 5, 3, 7, 4. О пер ация по пер емещ ению вы полняется в два э тапа. Н а пер вом э тапе р азделяю щ ий э лемент9 пер емещ ается в конец массива с помощ ь ю вспомогатель ной пер еменной Р и стандар тной пр оцеду р ы у даления (стр оки 120-140). В р езу ль татеполу чаем 5, 3, 7, 4, 2, 1, 8, 9. Н а втор ом э тапеаналогичная пр оцеду р а пер емещ ения пр именяется поочер едно (в цикле) к э лементам, пер емещ аемы м в конец (стр оки 170230). Э лементы , стоящ ие за р азделяю щ им, в р езу ль тате э того пер емещ ения автоматически сдвигаю тся на пер вы епозиции массива.
11
В стр оках 100 и 160 пр овер яется целесообр азность пр оведения опер ации пер емещ ения. Е сли пр едш еству ю щ их К -му или следу ю щ их за ним э лементовнет, тосоответству ю щ еепер емещ ениенепр оводится. Заменаэлементов массиванасумму (произведение) окаймляю щ их П р и пр оведении р асчетов очень часто в массивах одни значения заменяю тся др у гими. Как пр авило, такие замены можно вы полнить с исполь зованием р азличны х способов и алгор итмов. П о понятны м пр ичинам, интер ес вы зы ваю т такие способы , котор ы е обеспечиваю тбы стр одействие и не тр ебу ю т дополнитель ной памяти. Н иже бу ду т р ассмотр ены р ациональ ны еалгор итмы подобны х замен. П ер вы м р ассмотр им алгор итм пр еобр азования последователь ности пу тем замены каждого ее члена, кр оме пер вого и последнего, на су мму окай мляю щ их э лементов. Разъясним понятие "окаймляю щ ий э лемент". Д ля лю бого э лемента A(I) некотор ой последователь ности окай мляю щ ими являю тся э лементы A(I-1) и A(I+1). Следователь но, пер вы й э лементне имеетокаймляю щ его э лемента слева, а последний - спр ава. П р облему пор ождаеттр ебование, в соответствии с котор ы м су мма окаймляю щ их э лементов вы числяется по значениям исх одного массива, а не пр еобр азованного. В то же вр емя э лемент, заменяемы й в пр оцессе теку щ его ш ага, на следу ю щ ем ш аге исполь зу ется в качестве левого окаймляю щ его. Э та пр облема р еш ается введением дву х дополнитель ны х пер еменны х S и R. В S х р анится теку щ еезначениелевого окаймляю щ его э лемента, а в R – теку щ еезначениезаменяемого э лемента. Т ак как на следу ю щ ем ш аге теку щ ий э лементпр евр ащ ается в левы й окаймляю щ ий, то пер ед вы полнением следу ю щ его ш ага значение, х р анящ ееся в R, пер есы лается в S. Н апр имер , для замены А (2) пер еменной S пр исваивается значение А (1), а R - А (2). П осле замены А (2) на (S+A(3)) S пр исваивается значениеR, вкотор ом вр еменно Х р анилось А (2). Ф р агментпр огр аммы , р еализу ю щ ий э тоталгор итм, вы глядитследу ю щ им обр азом: Ф рагментпрограммы 10 REM З А М Е Н А Э Л Е М Е Н Т О В П О СЛ Е Д О В А Т Е Л Ь Н О СТ И , .20 REM КРО М Е А (1) И А (N), Н А СУ М М У О КА Й М Л Я Ю Щ И Х ........................................................................ 100 S=A(1) 110 FOR I=2 TO N-1 120 R=A(I) 130 A(I)=S+A(I+1) 140 S=R 150 NEXT I .............................................................................. 350 END
12
Заменаэлементов массиванасумму (произведение) предш ествую щ их П р облема, возникаю щ ая пр и замене каждого э лемента массива на су мму (пр оизведение) пр едш еству ю щ их , та же самая, что и пр и замене на су мму (пр оизведение) окаймляю щ их : заменяемое на теку щ ем ш аге значениеисполь зу ется на следу ю щ ем ш агеи поэ тому его ну жно сох р анить. Реш ается э та пр облема, как и вы ш е, пу тем исполь зования дву х вспомогатель ны х пер еменны х S и R. . В пер еменной S накапливается су мма э лементов для замены I-ого э лемента (I=2, 3,...,N), а пер еменная R исполь зу ется для х р анения теку щ его значения э лемента A(I) пер ед его заменой на су мму пр еды ду щ их . П р едш еству ю щ ими для э лемента А (I) являю тся э лементы А (1), А (2), … , А (I-1). П ер вы й э лементнеимеет пр едш еству ю щ их себеэ лементов. П р и заменеА (2) су мма состоитвсего из одного слагаемого S=A(1), а вR х р анится значениеА (2); пр и заменеА (3) S= S+R=А (1)+А (2), а вR х р анится значениеА (3) и т.д. Ф р агментпр огр аммы , р еализу ю щ ий э тоталгор итм замены , имеет следу ю щ ий вид. Ф рагментпрограммы 10 REM З А М Е Н А КА Ж Д О ГО Э Л Е М Е Н Т А П О СЛ Е Д О В А Т Е Л Ь Н О СТ И , 20 REM КРО М Е П Е РВ О ГО , Н А СУ М М У П РЕ Д Ш Е СТ В У Ю Щ И Х ...................................................................................................... 100 S = A(1) 110 FOR I = 2 TO N 120 R = A(I) 130 A(I) = S 140 S = S + R 150 NEXT I ........................................................................................................ 350 END
Заменаэлементов массиванасумму (произведение) последую щ их О пер ация замены э лементов массива на су мму (пр оизведение) последу ю щ их аналогична вы ш е р ассмотр енной, если ее вы полнение начать сконца массива. Д ля лю бого э лемента А (I) (I=N-1, N-2, … , 1) последу ю щ ими являю тся э лементы A(I+1), A(I+2),..., A(N). П онятно, что э лементА (N-1) заменяется су ммой из одного слагаемого S=A(N); э лементA(N-2) – су ммой из дву х слагаемы х S=A(N)+A(N-1) и т.д. З начение заменяемого э лемента, как и р анее, сох р аняется вячейкеR.
13
Ф р агментпр огр аммы , р еализу ю щ ий э ту сх ему замены , имеетвид: Ф рагментпрограммы 10 REM З А М Е Н А К А Ж Д О ГО Э Л Е М Е Н Т А П О СЛ Е Д О В А Т Е Л Ь Н О СТ И , 20 REM КРО М Е П О СЛ Е Д Н Е ГО , Н А СУ М М У П О СЛ Е Д У Ю Щ И Х ..................................................................................................... 100 S = A(N) 110 FOR I = N - 1 TO 1 STEP -1 120 R =A(I) 130 A(I) =S 140 S =S + R 150 NEXT I .................................................................................................... 350 END
О бработкасимвольны х массивов. П р и р аботе с символь ны ми массивами исполь зу ю тся команды , позволяю щ ие вы р езать часть инф ор мации для последу ю щ его исполь зования. З адачи, р аботаю щ ие с символь ны ми массивами вклю чаю т также возможность склеивания и пер есор тир овки символь ны х данны х . Рассмотр им некотор ы епр имер ы обр аботки символь ны х стр ок. Ф рагментпрограммы 10 REM П О Л У Ч Е Н И Е Ч А СТ И СИ М В О Л Ь Н О Й СТ РО К И 20 REM Н А Ч И Н А Я С У К А З А Н Н О Й П О З И Ц И И … … … … … … … … … … … … … … … … 30 STROKA$=“ П О Д З А ГО Л О В О К ” 40 О Т R$=MID$( STROKA$,4,9) 50 OTR$=“_” +OTR$+“_” 60 PRINT OTR$ … … … … … … … … … … … … … … … … 80 END
В пер еменну ю STROKA$, котор ая является символь ной, так как содер житпр изнак пр инадлежности к данному типу знак $, помещ ается слово “подзаголовок” . З атем ф р агментстр оки длинной 9 символов, начиная с 4 – го пер есы лается в нову ю символь ну ю пер еменну ю О Т R$, котор ая оф ор мляется пер ед вы водом на печать дополнитель ны ми символами “_” . Д обавление новы х символов к вы р езанному ф р агменту стр оки пр оисх одитспомощ ь ю опер ации склеивания, обозначаемой знаком “+” . В р езу ль тате р аботы данного ф р агмента пр огр аммы бу детвы веденона печать: _ З А ГО Л О В О К_ Следу ю щ ие два ф р агмента исполь зу ю ткоманды , позволяю щ ие отсоединить у казанну ю часть инф ор мации как с начала, так и с конца стр оки.
14
Ф рагментпрограммы 10 REM П О Л У Ч Е Н И Е Ч А СТ И СИ М В О Л Ь Н О Й СТ РО К И 20 REM Н А Ч И Н А Я С П Е РВ О Й П О З И Ц И И … … … … … … … … … … … … … … … . 40 STROKA$=“З А К О Н О М Е РН О СТ Ь ” 50 SL$=LEFT$( STROKA$,5) 60 PRINT SL$ … … … … … … … … … … … … … … … . 100 END
Д ля вы полнения э того ф р агмента пр огр аммы исполь зу ется ф у нкция LEFT$, р езу ль татом р аботы котор ой является полу чение пер вы х 5-ти символовтеста, нах одящ егося впер еменной STROKA$, В р езу ль тате р аботы данного ф р агмента пр огр аммы бу детвы веденона печать: З А КО Н Ф рагментпрограммы 10 REM П О Л У Ч Е Н И Е Ч А СТ И СИ М В О Л Ь Н О Й СТ РО К И 20 REM Н А Ч И Н А Я С П О СЛ Е Д Н Е Й П О З И Ц И И … … … … … … … … … … … … … … … . 60 STROKA$=“КИ Л О БА Й Т ” 70 SPR$=RIGHT$( STROKA$,4) 80 PRINT SPR$ … … … … … … … … … … … … … … … 100 END
Д ля вы полнения э того ф р агмента пр огр аммы исполь зу ется ф у нкция RIGHT$, р езу ль татом р аботы котор ой является полу чение последних 4-х символовтеста, нах одящ егося впер еменной STROKA$, В р езу ль тате р аботы данного ф р агмента пр огр аммы бу детвы веденона печать: БА Й Т В пр огр аммах , содер жащ их пош агову ю обр аботку каждой бу квы , часто исполь зу ется команда LEN, позволяю щ ая полу чить число символоввр ассматр иваемой стр оке. Н апр имер : Ф рагментпрограммы 10 REM П О Д СЧ И Т А Т Ь К О Л Л И Ч Е СТ В О 20 REM СИ М В О Л О В В СТ РО КЕ … … … … … … … … … … … … … … … . 50 STROKA$=“И нф ор мация” 60 KL$=LEN( STROKA$) 70 PRINT KL$ … … … … … … … … … … … … … … … 100 END
В р езу ль татер аботы данного ф р агмента пр огр аммы бу детвы веденона печать число10. 15
2. Л И Н Е Й Н Ы Е М А С С И В Ы • 2.1. Д ан линейны й массив А , состоящ ий из N э лементов. Составить пр огр амму у даления в массиве всех э лементов, значения котор ы х р авны ну лю . В пр еобр азованном линейном массиве найти максималь ны й и минималь ны й по значению э лементы , считая что такие э лементы единственны е. Э лементы , р асположенны е между М А Х и М IN, пер еместить в начало массива с одновр еменны м их у далением с исх одны х мест. Н айденны езначения и пр еобр азованны й линейны й массиввы дать на э кр ан встроку . • 2.2 В последователь ности А из N э лементов найти два наиболь ш их э лемента. В ы полнить пр еобр азование последователь ности А пу тем у даления э лемента, встр ечаю щ егося чащ е др у гих ср еди э лементов, р асположенны х между дву мя найденны ми. П р еобр азованну ю последователь ность вы дать на э кр ан встр оку . • 2.3 В последователь ности А из N э лементов найти два наимень ш их э лемента. И зменить на обр атны й пор ядок следования э лементов, р асположенны х между найденны ми. П р еобр азованну ю последователь ность вы дать на э кр ан встр оку . • 2.4 В последователь ности С из N э лементов найти максималь ны й и минималь ны й э лементы . П р еобр азовать С таким обр азом, чтобы ср еди э лементов р асположенны х между max и min не бы ло повтор яю щ их ся. П р еобр азованну ю последователь ность вы дать на э кр ан в стр оку . • 2.5 Д ан линей ны й массив А , состоящ ий из N э лементов. Составить пр огр амму пр еобр азования массива пу тем у даления всех э лементов, р авны х по значению максималь ному э лементу массива. В пр еобр азованном массиве найти два э лемента, су мма котор ы х максималь на, и у далить э лементы , р асположенны е между ними. Н ай денны е значения и пр еобр азованны й массиввы дать на э кр ан встр оку . •
2.6 Д аны двепоследователь ности А и В из N э лементов каждая. В А най ти э лемент, котор ы й имеетв В боль ш евсего р авны х себе. Е сли в А такой э лементсу щ еству ет, то в В у далить все э лементы р авны е найденному . В пр отивном слу чае и в А и в В , найти по тр и самы х боль ш их э лемента А (k1),А (k2),А (k3) и В (11),В (12),В (13), а затем пр оизвести обмен между э лементами э тих массивов так, чтобы э лементы , стоящ ие до А (k1) оказались между В (11) и В (12), а стоящ ие 16
за А (k3)- между В (12),В (13). Соответственно э лементы , стоящ ие между B(11), В (12) оказались в начале А , а р асположенны е между В (12), В (13) - в конце A. Кажды й из пр еобр азованны х массивов вы дать на дисплей встр оку . • 2.7 В последователь ности А из N э лементовкажду ю гр у ппу из р ядом стоящ их ну лей заменить одним ну лем. Ср еди отр езков последователь ности, заклю ченны х между пар ами оставш их ся ну лей , найти два: с минималь ны м и максималь ны м числом э лементов. Е сли оба искомы х отр езка су щ еству ю т, то пр еобр азовать массив так, чтобы между ну лями, огр аничиваю щ ими пер вы й отр езок, оказались э лементы втор ого отр езка, а между ну лями, огр аничиваю щ ими втор ой отр езок э лементы пер вого, сох р анив пор ядок следования. В пр отивном слу чае в массиве А изменить пор ядок следования э лементов на обр атны й. П р еобр азованны й массив А вы дать на дисплей встр оку . • 2.8 Д аны двепоследователь ности А и В из N э лементов каждая. В А у далить все те э лементы , для котор ы х в В имеется по кр айней мер е один э лемент, котор ы й не пр евосх одиту даляемого. Е сли в А у даляемы х э лементов нет, то объединить А и В в один массив, найти в нем min ср еди положитель ны х и max ср еди отр ицатель ны х и пер енести э лементы , заклю ченны е между найденны ми, в начало. В слу чае когда су щ еству еттоль ко один э лемент(min или max), изменить на обр атны й пор ядок следования э лементов, стоящ их до найденного, и пор ядок э лементов, стоящ их после най денного. П р еобр азованны й массиввы дать на дисплей встр оку . • 2.9 Д аны двепоследователь ности А и В из N э лементов каждая. В А опр еделить всетеэ лементы , для котор ы х вВ имеется по кр айней мер е два э лемента, один из котор ы х боль ш е, а втор ой мень ш е опр еделяемого. Е сли такиеэ лементы есть, то кажды й из них пер енести из А в В таким обр азом, чтобы они бы ли вклю чены в лю боеместо между э лементами той пар ы , с помощ ь ю котор ой бы л опр еделен пер еносимы й. Е cли в А таких э лементов нет, то э лементы А , котор ы емень ш е ср еднего ар иф метического B вклю чить в начало, а котор ы еболь ш е– вконец В . П р еобр азованны й массивВ вы дать на дисплей встр оку . • 2.10 Д аны двепоследователь ности А и В из N э лементовкаждая. В А у далить все те э лементы , для котор ы х в В имею тся по кр айней мер е два э лемента, один из котор ы х боль ш е, а втор ой мень ш еу даляемого. П осле у даления массив А объединить с B и в полу ченном массиве у далить э лементчащ е др у гих встр ечаю щ ийся. Е сли в А у даляемы х
17
э лементов нет, то в каждом массиве (А и В ) найти по два э лемента, су мма котор ы х максималь на. З атем в начало массива с боль ш ей су ммой максималь ны х э лементов пер енести те э лементы из массива с мень ш ей су ммой, котор ы е заклю чены между найденны ми. П р еобр азованны емассивы вы дать на дисплей встроку . • 2.11 Д аны двепоследователь ности А и В из N э лементовкаждая. В А опр еделить э лементы котор ы е имею тр авны е себе в В . Е сли таких э лементов боль ш еполовины , то у далить максималь ны й из них , а оставш иеся вклю чить в В за э лементом, ближайш им к ср еднему ар иф метическому э тих оставш их ся. В пр отивном слу чае А и В объединить в один массив и пр еобр азовать так, чтобы не бы ло повтор яю щ их ся э лементов. Резу ль тат пр еобр азования вы дать на дисплей в стр оку . • 2.12 Д аны два массива А и В р азмер ом N. В каждом массиве вы числить су мму , слагаемы е котор ой пр едставляю тсобой по пар ны е пр оизведения положитель ны х и отр ицатель ны х э лементов, пр и у словии, что для каждой пар ы положитель ны еэ лементы вы бир аю тся с начала массива, а отр ицатель ны е- с конца. Количество слагаемы х в каждой су мме опр еделяется количеством э лементов того знака, котор ы х мень ш е в соответству ю щ ем массиве. В массиве абсолю тная величина вы численной су ммы котор ого боль ш е, пр оизвести у даление тех э лементов, по числу котор ы х опр еделялось количество слагаемы х в су мме, а в массиве с мень ш ей су ммой у далить э лементы того знака, котор ы х боль ш е. П р еобр азованны е массивы вы дать на дисплей в стр оку . • 2.13 Д аны два линей ны х массива Х и У , р азмер ом N кажды й. Составить пр огр амму пр еобр азования массива Х пу тем вклю чения после его максималь ного значения э лементов, нах одящ их ся между максималь ны м и минималь ны м э лементами массива У . П р еобр азованны й массивХ вы дать на э кр ан встроку . • 2.14 Д ана последователь ность, содер жащ ая N э лементов. Составить пр огр амму с исполь зованием возможности вы бор а вы числения по одному из несколь ких пр едложенны х ниже: 1)Кажды й э лемент, кр оме пер вого и последнего, заменить на пр оизведениеокаймляю щ их его э лементов. 2)Кажды й э лемент, кр оме пер вого, заменить на пр оизведение пр едш еству ю щ их ему э лементов. 3)Кажды й э лемент, кр оме последнего заменить на пр оизведение последу ю щ их э лементов.
18
П р и вы числении пр оизведений исполь зовать э лементы исх одной последователь ности. П р еобр азованну ю последователь ность вы дать на э кр ан встр оку . • 2.15 Д аны двепоследователь ности чисел А и В , состоящ иекаждая из Nэ лементов. В последователь ности А найти самы й длинны й отр езок из подр яд стоящ их э лементов, вкотор ом кажды й э лементимеетсебе р авны й в последователь ности В . Е сли такой отр езок найден, то э лементы найденного отр езка пер енести в начало последователь ности А с одновр еменны м у далением их с исх одны х мест. В пр отивном слу чае, вы дать на э кр ан соответству ю щ ее сообщ ение. И сх одну ю и пр еобр азованну ю последователь ности А вы дать на э кр ан в две стр оки. • 2.16 Д ана последователь ность чисел А из N э лементов. Н айти самы й длинны й отр езок э той последователь ности, состоящ ий толь ко из возр астаю щ их э лементов. В найденном отр езке изменить пор ядок следования э лементовна обр атны й, пр едвар итель но у даливвотр езке центр аль ны й э лемент, если он есть. П оследователь ность А и пр еобр азованны й отр езок вы дать на э кр ан вдвестроки. • 2.17 Д ан линейны й массив А , состоящ ий из N э лементов. Составить пр огр амму по следу ю щ ему алгор итму : кажду ю гр у ппу одинаковы х по значению э лементов заменить на один э лементиз э той гр у ппы . В пр еобр азованном линейном массиве найти максималь ны й и минималь ны й по значению э лементы , считая что такие э лементы единственны е. Э лементы , р асположенны емежду най денны ми М А Х и М IN, пер еместить в начало массива с одновр еменны м их у далением с исх одны х мест. Н айденны е значения и пр еобр азованны й линейны й массиввы дать на э кр ан встроку . • 2.18 Д аны тр и линей ны х массива X, Y, Z, кажды й р азмер ом N. Сф ор мир овать линейны й массив D по следу ю щ ему алгор итму : 1-ы м э лементом массива D поставить пер вы й э лементмассива Х , 2-ы м э лементом массива D поставить пер вы й э лементмассива Y, 3-им э лементом массива D поставить пер вы й э лементмассива Z, 4-ы м э лементом массива D поставить втор ой э лементмассива Х и т.д. В сф ор мир ованном массиве найти максималь ны й и минималь ны й э лементы , считая что они - единственны е. Э лементы р асположенны е между найденны ми, поместить вконец массива с одновр еменны м их у далением с исх одного места. Н айденны е значения, сф ор мир ованны еи пр еобр азованны емассивы вы дать на э кр ан встр оку .
19
• 2.19 Д аны два линейны х массива А и В , кажды й из N э лементов. Составить пр огр амму пр еобр азования массива В пу тем вклю чения в него тех э лементов из массива А , котор ы е не пр евосх одятмаксималь ного э лемента массива В . В пр еобр азованном массивеВ опр еделить минималь ны й э лементср еди положитель ны х и максималь ны й э лементср еди отр ицатель ны х , считая что такие э лементы - единственны е. Е сли оба искомы х э лемента су щ еству ю т, то у далить э лементы , заклю ченны е между ними. В слу чае, когда су щ еству еттоль ко один из искомы х э лементов, все э лементы , пр едш еству ю щ ие найденному , начиная со втор ого, заменить на су мму пр едш еству ю щ их , а все э лементы , кр оме последнего, стоящ ие за найденны м - заменить на су мму последу ю щ их э лементов. В се найденны е значения и пр еобр азованны й линейны й массиввы дать на э кр ан встр оку . • 2.20 Д аны два массива А и В , кажды й из N э лементов. В клю чить в начало массива В те э лементы из массива А , котор ы е р асположены за э лементом, ближайш им к полу су мме (min+max)/2, и - в конец, те э лементы из А , котор ы е пр едш еству ю тэ тому ближайш ему . В р асш ир енном массивеВ у далить э лементы р авны ену лю , пер ед котор ы ми стоятотр ицатель ны е э лементы . П р еобр азованны й массив В вы дать на э кр ан встр оку . • 2.21 Д аны две последователь ности А и В из N э лементов каждая. В последователь ности А опр еделить э лементы , котор ы ев В имею тсебер авны е. Е сли таких э лементовболь ш еполовины , то пр оизвести их у даление, а оставш у ю ся часть вклю чить в В за э лементом, ближайш им к ср еднему ар иф метическому э тих оставш их ся. Е сли впоследователь ностях А и В нетр авны х э лементов, оставить последователь ности без изменения. П оследователь ность В вы дать на э кр ан в стр оку . • 2.22 Д ан линейны й числовой массив и величина L. Ср еди э лементов э того массива найти тр и э лемента, котор ы е в су мме даю т максималь ное отклонение отзаданной величины L. П р еобр азовать линейны й массив, вклю чив после каждого из найденны х э лементов значениеиндекса э того э лемента. П р огр амму составить с исполь зованием подпр огр аммы . П р еобр азованны й массиввы дать на э кр ан. • 2.23 Д аны двепоследователь ности А и В р азмер ом N каждая. Сф ор мир овать последователь ность С из э лементов исх одны х последователь ностей таким обр азом, чтобы в нее бы ли вклю чены э лементы , котор ы есодер жаться как впоследователь ности А , так и впоследователь ности В . П р и э том последователь ность С не должна содер жать 20
повтор яю щ их ся э лементов. Сф ор мир ованну ю последователь ность с вы дать на э кр ан встр оку . • 2.24 Д аны М последователь ностей целы х чисел, состоящ иеиз N э лементов. В последователь ности, содер жащ ей наимень ш ее количество положитель ны х э лементов, каждое положитель ное число заменить на С. Составить пр огр амму с исполь зованием подпр огр аммы ввода э лементов очер едной последователь ности, в р абочий массив Х с последу ю щ им опр еделением в ней количества положитель ны х э лементов. Н а э кр ан вы дать пр еобр азованну ю последователь ность. • 2.25 Д аны М линейны х массивов р азмер ом N кажды й. Сф ор мир овать линей ны й массив из э лементов, максималь но у даленны х от пр оизведения положитель ны х э лементов в каждом массиве. В сф ор мир ованном линейном массиве у далить все э лементы , р авны е ну лю . Н айденны е значения, сф ор мир ованны й и пр еобр азованны й линейны й массиввы вести на э кр ан. • 2.26 Д ан линейны й массив А , состоящ ий из N э лементов. Составить пр огр амму по следу ю щ ему алгор итму : кажду ю гр у ппу одинаковы х по значению э лементов заменить на один э лементиз э той гр у ппы . В пр еобр азованном линейном массиве найти максималь ны й и минималь ны й по значению э лементы , считая, что такиеэ лементы единственны е. Э лементы р асположенны е между найденны ми MAX и MIN пер еместить в начало массива с одновр еменны м их у далением с исх одны х мест. Н айденны е значения и пр еобр азованны й линейны й массиввы дать на э кр ан встроку . • 2.27 Д ан линейны й массивА р азмер ом N. Составить пр огр амму пр еобр азования массива пу тем у даления всех э лементов р авны х значению максималь ного э лемента. В пр еобр азованном массивенайти два наиболее часто встр ечаю щ их ся э лемента. Н айденны е значения и пр еобр азованны й массиввы дать на э кр ан встр оку . • 2.28 Д аны два линейны х массива А и B, кажды й из N э лементов. Составить пр огр амму пр еобр азования массива В пу тем вклю чения внего тех э лементов из массива А , котор ы е не пр евосх одятмаксималь ны й э лементмассива В . В пр еобр азованном массиве В опр еделить минималь ны й э лементср еди отр ицатель ны х , считая, что такие э лементы единственны е. Е сли оба искомы х э лемента су щ еству ю т, то у далить э лементы , заклю ченны е между ними. В слу чае, когда су щ еству еттоль ко один из искомы х э лементов, все э лементы , пр едш еству ю щ иенайденному начиная со втор ого, заменить на су мму пр едш е21
ству ю щ их (непр еобр азованны х ) э лементов. В сенайденны езначения и пр еобр азованны й линей ны й массиввы дать на э кр ан встр оку . •
2.29 Д аны две последователь ности целы х положитель ны х чисел A(N), B(N). Составить пр огр амму , пр овер яю щ у ю у твер ждение, что э ти две последователь ности отличаю тся не более чем пор ядком следования чисел. (Резу ль татпр овер ки вы водить на печать). З атем в последователь ности A(N) найти такие пар ы из э лементов последователь ности, котор ы евсу ммедаю т0. У далить э ти числа из последователь ности. П р еобр азованну ю последователь ность вы вести на печать.
• 2.30 Д аны две последователь ности целы х положитель ны х чисел A(N), B(N). В последователь ности А найти такиетр ойки чисел, котор ы е в су мме даю тчисло 10. Сф ор мир овать из э тих чисел нову ю последователь ность С. З атем объеденить последователь ности С и В в одну , у читы вая пр и э том, что во вновь обр азу ему ю последователь ность пер вы ми должны вы йти числа той последователь ности, су мма э лементов котор ы х минималь на. П олу ченну ю последователь ность вы вести на э кр ан вф ор метаблицы . • 2.31 Д ана последователь ность целы х чисел. О тсор тир овать последователь ность таким обр азом, чтобы пор ядок чисел пер вой половины последователь ности стал у бы ваю щ им , а пор ядок чисел втор ой половины последователь ности бы л возр астаю щ им. Е сли в последователь ности бы л центр аль ны й э лементу далить его. П р еобр азованну ю последователь ность вы вести на печать. • 2.32 Д ана последователь ность A(N). Составить из ее э лементов нову ю последователь ность. П р ичем вначаленовой последователь ности должны стоять отр ицатель ны к э лементы исх одной последователь ности отсор тир ованны е в у бы ваю щ ем пор ядке, затем положитель ны е отсор тир ованны е в возр астаю щ ем пор ядке, ну левы е э лементы исх одой последователь ности в ф ор мир овании новой не у частву ю т. П олу ченну ю последователь ность вы вести на печать. • 2.33 Д ана последователь ность из N действитель ны х чисел. Е сли в данной последователь ности найдена гр у ппа из тр ех совпадаю щ их чисел, пр овер ить наличие в э той последователь ности ещ е х отя бы одной гр у ппы из тр ех совпадаю щ их чисел, отличны х отпер вы х тр ех найденны х повтор яю щ их ся чисел. Е сли она су щ еству ет, то поменять местами э лементы э тих гр у пп. 3. М А Т РИ Ц Ы
22
• 3.1 Д ана таблица С р азмер а М х N. Составить пр огр амму пр еобр азования таблицы пу тем у даления в каждой стр оке э лементов, стоящ их на нечетны х местах . В пр еобр азованной таблице в каждом столбце кажды й э лемент, кр оме пер вого, заменить на су мму пр едш еству ю щ их э лементов( вкачествепр едш еству ю щ их для вы числения су ммы исполь зу ю тся значения не пр еобр азованны х э лементов столбца). П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.2 В каждой строкеквадр атной таблицы А р азмер ом Nх N э лементы , стоящ ие до э лемента главной диагонали пер еместить в конец, а стоящ иеза э тим э лементом пер еместить в начало стр оки так, чтобы пор ядок их следования не изменился и диагональ ны й э лементоставался р азделяю щ им (местоположение диагональ ного э лемента можетизмениться). П р еобр азованну ю таблицу вы дать на дисплей постр очно. • 3.3 Д ана числовая таблица С р азмер ом Nх N. Составить пр огр амму поиска дву х стр ок по следу ю щ ему алгор итму : одной - с минималь ны м значением ср еднего ар иф метического (SR), др у гой - с максималь ны м значением SR. Е сли номер стр оки с минималь ны м значением SR боль ш е номер а стр оки с максималь ны м SR, то обе стр оки у далить. В пр отивном слу чае- э лементы найденны х строк поменять местами. П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.4 В квадр атной таблицеА р азмер ом (N,N), у далить стр оку , у котор ой количество повтор ений э лемента чащ едр у гих встр ечаю щ егося в э той строке максималь но по ср авнению с др у гими стр очками. Т аблицу вы дать на дисплей постр очно. • 3.5 В квадр атной таблице В р азмер ом (N,N) пер еместить в конец столбец, у котор ого количество повтор ений э лемента чащ е др у гих встр ечаю щ егося максималь но по ср авнению с др у гими столбцами. Т аблицу вы дать на дисплей постр очно. • 3.6 В квадр атной таблицеС р азмер ом (M,M) пер енести в начало таблицы стр оку , у котор ой величина р азности между дву мя ближайш ими э лементами максималь на. Т аблицу р аспечатать постр очно. • 3.7 Д ана квадр атная таблица А р азмер ом NxN. У далить в э той таблицекажду ю четну ю стр оку , су мма дву х наиболь ш их э лементов котор ой пр евосх одит су мму дву х наиболь ш их э лементов пр едш еству ю щ ей нечетной стр оки. Е сли у далению подлежат все четны е стр оки, то в каждой четной стр оке максималь ны й э лементзаменить 23
ср едним ар иф метическим значением положитель ны х э лементов, а в слу чае, когда у даляемы х стр ок нет, в каждой нечетной стр оке пр оизвести аналогичну ю замену , после чего повтор ить пр оцеду р у у даления четны х стр ок. Е сли повтор ная попы тка у даления не пр иводитк тр ебу емому р езу ль тату , то изменить сначала пор ядок следования стр ок на обр атны й, а затем пор ядок следования столбцов. Резу ль тир у ю щ у ю таблицу А вы дать на дисплей постр очно. • 3.8 Д ана квадр атная таблица А р азмер а NxN У далить те стр оки таблицы , ср еднее ар иф метическое положитель ны х э лементов котор ы х мень ш е заданного числа В . Е сли в таблице нетстр ок, котор ы е следу ету далить, то в каждой стр оке у далить диагональ ны й э лементи повтор ить пр оцеду р у у даления стр ок. В слу чае, если попы тка повтор ного у даления неу дачна, то заменить максималь ны й э лемент каждой стр оки пр еобр азованной таблицы числом В . Резу ль тир у ю щ у ю таблицу А вы дать на дисплей постр очно. • 3.9 В квадр атной таблице А р азмер ом NxN стр оки, су мма квадр атов э лементов котор ы х боль ш е су ммы квадр атов э лементов соответству ю щ их столбцов, заменить диагональ ю . Е сли таких стр ок окажется боль ш е половины , то в стр оках исх одной таблицы , подлежащ их пр еобр азованию , максималь ны й э лемент(если он не пер вы й и не последний ) заменить полу су ммой абсолю тны х значений его окаймляю щ их и повтор ить пр оцеду р у замены стр ок диагональ ю . В слу чае, если пр и повтор ной пр овер ке число заменяемы х стр ок окажется снова боль ш еполовины , то в каждой стр окесначала у далить максималь ны й э лемент, а затем в каждом столбце у далить минималь ны й э лемент. Резу ль тир у ю щ у ю таблицу А вы дать на дисплей постр очно. • 3.10 Д ана квадр атная таблица А р азмер а NxN. Ср еди э лементов э той таблицы найти min и max. Е сли найденны еэ лементы в р азны х стр оках , то у далить стр оки, заклю ченны е между теми, в котор ы х най денны е э лементы . В пр отивном слу чае стр оку с найденны ми э лементами заменить на стр оку из э лементов главной диагонали, а стр оки пр едш еству ю щ ие замененной пер енести в конец (вниз), следу ю щ ие за ней в начало (ввер х ), так, чтобы пор ядок их следования не изменился. П р еобр азованну ю таблицу вы дать на дисплей постр очно. • 3.11 Д ана квадр атная таблица р азмер а NxN. Составить пр огр амму поиска дву х стр ок: одной с минималь ны м значением ср еднего ар иф метического, а втор ой - смаксималь ны м. Е сли номер стр оки с минималь ны м значением ср еднего ар иф мети-
24
ческого боль ш е номер а стр оки с максималь ны м ср едним ар иф метическим, то э ти стр оки поменять местами. В пр отивном слу чае у далить найденны е стр оки. П р еобр азованну ю таблицу вы дать на дисплей постр очно. • 3.12 Д ана квадр атная таблица А р азмер а NxN. В каждой стр оке вы числить ср еднее ар иф метическое положитель ны х э лементов и ср еднее ар иф метическое отр ицатель ны х э лементов (если положитель ны х или отрицатель ны х э лементовнет, то соответству ю щ ееср еднее ар иф метическое считать р авны м ну лю ). Н айти строку , у котор ой значение ср еднего ар иф метического положитель ны х э лементов самоеболь ш ое, а отр ицатель ны х э лементовсамоемалень кое. Е сли такая стр ока бу детнайдена, то поменять местами центр аль ну ю стр оку и най денну ю . Е сли центр аль ной стр оки нет, тодобавить одну стр оку , сделав найденну ю центр аль ной, а на место найденной записать стр оку из диагональ ны х э лементов. П р еобр азованну ю таблицу вы дать на дисплей постр очно. • 3.13 Д ана квадр атная таблица А р азмер ом NxN. У далить в э той таблице все те стр оки, для котор ы х найдется по кр айней мер е два столбца, в каждом из котор ы х есть э лементпр евосх одящ ий полу су мму дву х наиболь ш их э лементов у даляемой. Е сли таких стр ок нет то в каждой стр оке максималь ны й э лемент заменить на ср еднее ар иф метическое значение диагонали и повтор ить пр оцеду р у у даления стр ок. В слу чаеесли повтор ная попы тка у даления строк неу дачна, то пр еобр азовать таблицу , у даливсначала вкаждом столбцедиагональ ны й э лемент, а затем в каждой стр оке – минималь ны й э лемент. Резу ль тир у ю щ у ю таблицу А вы дать на дисплей постр очно. • 3.14 Д ана числовая таблица А (i, j) р азмер ом MxN и целая величина К . Составить пр огр амму ф ор мир ования свы водом на э кр ан ср еднего ар иф метического К э лементов, наиболееблизких по абсолю тной величинек максималь ному э лементу таблицы . П р огр амму составить с исполь зованием подпр огр аммы поиска очер едного э лемента, наиболееблизкого к максималь ному э лементу таблицы . Резу ль татвы полнения пр огр аммы вы дать на э кр ан. • 3.15 Д ана числовая таблица (А (I,J)) р азмер ом NxM. Составить пр огр амму пр еобр азования таблицы пу тем у даления из нее всех э лементов, стоящ их на нечетны х местах , вкаждой стр окетаблицы . В полу ченной таблице кажды й э лементстолбца, кр омепер вого э лемента в каждом столбце, заменить на су мму пр едш еству ю щ их ему э лементов, исполь зу я для вы числения су мм не пр еобр азованы е э ле-
25
менты э того столбца. Т аблицу вы дать на э кр ан ввидетаблицы . • 3.16 В каждой стр оке квадр атной таблицы А р азмер ом NxN у далить диагональ ны й э лемент. В пр еобр азованной таблице опр еделить cтр оку , максималь ны й э лементкотор ой имеетнаиболь ш ий номер ср еди най денны х максималь ны х э лементов стр ок и у далю сь ее. П р еобр азованну ю таблицу постр очно вы дать на э кр ан. • 3.17 В каждом столбце квадр атной таблицы А р азмер ом NxN у далить диагональ ны й э лементпосле чего найти столбец, у котор ого р азность между номер ами минималь ного и максималь ного э лементов наиболь ш ая. В найденном столбцезаменить все э лементы , р асположенны е между минималь ны м и максималь ны м на полу су мму окай мляю щ их . П р еобр азованну ю таблицу постр очно вы дать на э кр ан. • 3.18 В квадр атной таблицеА р азмер а NxN у далить всестр оки, су мма номер овминималь ного и максималь ного э лементов котор ы х непр евосх одитсу ммы номер овминималь ного и максималь ного э лементов соответству ю щ их столбцов. П р еобр азованну ю таблицу постр очно вы дать на э кр ан. • 3.19 Д ана числовая таблица А (I,J) р азмер ом M*N и целая величина К . Составить пр огр амму ф ор мир ования свы водом на э кр ан ср еднего ар иф метического К э лементов, наиболееблизких по абсолю тной величинек максималь ному э лементу таблицы . П р огр амму составить с исполь зованием подпр огр аммы поиска очер едного э лемента, наиболее близкого к максималь ному э лементу таблицы . Резу ль татвы полнения пр огр аммы вы дать на э кр ан. • 3.20 В квадр атной матр ице С р азмер ом M*M у далить все столбцы , ср еднее ар иф метическое положитель ны х э лементов котор ы х пр евосх одитпо абсолю тной величине ср еднее ар иф метическое отр ицатель ны х э лементов соответству ю щ ей стр ок. П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.21 В квадр атной таблице С р азмер ом М *М у далить те стр оки, номер максималь ного э лемента котор ы х пр евосх одит номер минималь ного э лемента э той жестр оки. Е сли неттаких стр ок, то в каждой стр оке у далить центр аль ны й (если он есть) и повтор ить пр оцеду р у у даления стр ок. Е сли после повтор ной пр оцеду р ы , у словие для у даления стр ок не вы полняется - пер ех од на конец. П р еобр азованну ю таблицу вы дать 26
на э кр ан постр очно. • 3.22 В квадр атной таблице В р азмер ом N*N у далить те столбцы , ср еднееар иф метическое отр ицатель ны х э лементов котор ы х непр евосх одитнекотор у ю числову ю величину С. Е сли в таблице неттаких столбцов, то в каждом столбце у далить диагональ ны й э лементи повтор ить пр оцеду р у у даления столбцов. Е сли после повтор ной пр оцеду р ы , у словие для у даления столбцов не вы полняется - пер ех од на конец пр огр аммы . П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.23 В квадр атной таблице С р азмер ом М *М у далить все столбцы , ср еднее ар иф метическое положитель ны х э лементов котор ы х пр евосх одитпо абсолю тной величине ср еднее ар иф метическое отр ицатель ны х э лементов соответству ю щ ей стр оки. П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.24 В квадр атной таблице С р азмер ом М *М у далить те стр оки, номер максималь ного э лемента котор ы х пр евосх одит номер минималь ного э лемента э той жестр оки. Е сли неттаких стр ок, то в каждой стр оке у далить центр аль ны й (если он есть) и повтор ить пр оцеду р у у даления стр ок. Е сли после повтор ной пр оцеду р ы , у словиедля стр ок не вы полняется - пер ех од на конец. П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.25 Д ана квадр атная таблица А р азмер а N*N и некотор ая отрицатель ная величина С. В исх одной таблицеопр еделить столбцы , у котор ы х максималь ны й э лементср еди отр ицатель ны х э лементов пр евосх одитзаданну ю величину С. Н ай денны естолбцы у далить из таблицы , если их количество боль ш е половины . В пр отивном слу чае, в каждой столбце у далить диагональ ны й э лементи повтор ить пр оцеду р у у даления столбцов. Е сли после повтор ной попы тки у даления столбцов таблица остается без изменения или количество у даляемы х столбцов окажется мень ш е половины , закончить р еш ение. П р еобр азованну ю или исх одну ю таблицу вы дать на э кр ан постр очно. • 3.26 Д ана квадр атная таблица А р азмер а N*N и некотор ая величина В . В исх одной таблицеопр еделить стр оки, у котор ы х ср еднееар иф метическоеположитель ны х э лементов непр евосх одитзаданну ю величину В . Н айденны естр оки у далить из таблицы ; если их количество мень ш еполовины . В пр отивном слу чае, в каждом стр оке у далить диагональ ны й э лементи повтор ить пр оцеду р у у даления стр ок. Е сли после повтор ной 27
попы тки у даления стр ок таблица остается без изменения или количество у даляемы х стр ок окажется боль ш е половины , закончить р еш ение. П р еобр азованну ю или исх одну ю таблицу вы дать на э кр ан постр очно. • 3.27 Д ана таблица С р азмер ом M*N. Составить пр огр амму пр еобр азования таблицы пу тем у даления в каждой стр оке э лементов, стоящ их на нечетны х местах . В пр еобр азованной таблице в каждом столбце кажды й э лемент, кр оме пер вого, заменить на су мму пр едш еству ю щ их э лементов ( в качестве пр едш еству ю щ их для вы числения су ммы исполь зу ю тся не пр еобр азованны еэ лементы столбца). П р еобр азованну ю таблицу вы вести на э кр ан встр оку . • 3.28 Д ана числовая таблица С р азмер ом N*N. Н айти строки с максималь ной и минималь ной су ммой э лементов, считая что такие стр оки - единственны е. Е сли найденны е стр оки являю тся кр айними свер х у и снизу , то э лементы строки с максималь ной су ммой заменить на э лементы главной диагонали. В пр отивном слу чае- у далить обенайденны естр оки. Н ай денны е значения и пр еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.29 Д ана числовая таблица С р азмер ом N*N. Составить пр огр амму поиска дву х стр ок по следу ю щ ему алгор итму : одной - с минималь ны м значением ср еднего ар иф метического (SR), др у гой - с максималь ны м значением SR. Е сли номер стр оки с минималь ны м значением SR боль ш е номер а стр оки с максималь ны м SR, то обе стр оки у далить. В пр отивном слу чае - э лементы найденны х стр ок поменять местами. П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.30 Д аны L вещ ественны х таблиц р азмер ом М *М . Составить пр огр амму поиска ср еди всех таблиц той таблицы , в котор ой су ммы во всех стр оках и столбцах одинаковы . П оиск пр одолжать до пер вой таблицы , у довлетвор яю щ ей э тому у словию . В найденной таблице э лементы пер вой и последней строк поменять местами. П р еобр азованну ю таблицу вы дать на э кр ан. В слу чае, если ср еди всех таблиц неттаблицы , в котор ой су ммы э лементов во всех стр оках и столбцах одинаковы , вы дать соответству ю щ еесообщ ение. • 3.31 Д ана числовая таблица С р азмер ом М *N. Составить пр огр амму пр еобр азования таблицы пу тем у даления в каждой стр оке э лемен28
тов, стоящ их на нечетны х местах . В пр еобр азованной таблице в каждом столбце кажды й э лемент, кр оме пер вого, заменить на су мму пр едш еству ю щ их э лементов ( в качестве пр едш еству ю щ их для вы числения су ммы исполь зу ю тся не пр еобр азованны еэ лементы столбца). П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.32 Д ана числовая таблица С р азмер ом М *N. Составить пр огр амму поиска дву х стр ок по следу ю щ ему алгор итму : одной - с минималь ны м значением ср еднего ар иф метического (SR), др у гой - с минималь ны м значением SR. Е сли номер стр оки с минималь ны м значением SR боль ш е номер а стр оки с максималь ны м SR, то обе стр оки у далить. В пр отивном слу чае - э лементы найденны х стр ок поменять местами. П р еобр азованну ю таблицу вы дать на э кр ан постр очно. • 3.33 Д ана числовая таблица А (N,М ), гдеN*M < 1000. Составить пр огр амму нах ождения и вы вода на э кр ан всех э лементов таблицы , котор ы еу довлетвор яю ту словию : M A(i,j) > ∑A(i,j)/Amin j=1 И з полу ченны х э лементов, у довлетвор яю щ их у словию , сф ор мир овать последователь ность, в котор ой заменить кажды й э лемент, кр омепоследнего, на су мму последу ю щ их э лементов. • 3.34 Д ана пр ямоу голь ная таблица чисел А (N,M). Составить пр огр амму вы числения из каждой тр ойки р азличны х э лементов каждой стр оки площ ади тр еу голь ника. П олу ченны е площ ади, если они су щ еству ю т, ср авнить между собой и вы дать на э кр ан для каждой стр оки значения максималь ной площ ади и значения э лементов, котор ы еявляю тся стор онами э того тр еу голь ника. • 3.35 Д аны L вещ ественны х таблиц р азмер ом М *М . Составить пр огр амму поиска ср еди всех таблиц той таблицы , в котор ой су ммы во всех стр оках и столбцах одинаковы . П оиск пр одолжать до пер вой таблицы , у довлетвор яю щ ей э тому у словию . В слу чае, если такая таблица не встр етилась , вы дать соответству ю щ ее сообщ ение. В найденной таблицепоменять местами э лементы пер вой и последней стр ок. • 3.36 Д ана пр ямоу голь ная таблица А р азмер ом N*M. Составить пр огр амму пр еобр азования таблицы пу тем у даления всех стр ок табли29
цы , каждая из котор ы х состоитиз одной ну лей. В пр еобр азованной таблице кажды й э лемент, кр оме пер вого, в каждой строке заменить на су мму ему пр едш еству ю щ их э лементов. В ф ор мир овании су мм у частву ю тэ лементы исх одной таблицы . П р еобр азованну ю таблицу вы дать на э кр ан ввидетаблицы . • 3.37 Д ана таблица А (N,M). Составить пр огр амму пр еобр азования таблицы пу тем у даления всех стр ок таблицы , каждая из котор ы х состоитиз одной ну лей. В пр еобр азованной таблице кажды й э лемент, кр омепер вого и последнего, каждой стр оки заменить на полу су мму окай мляю щ их его э лементов. П р еобр азованну ю таблицу вы дать на э кр ан ввидетаблицы . • 3.38 Д ана целочисленная квадр атная матр ица A(N,N). Н айти и вы вести на э кр ан номер а стр ок, э лементы в каждой из котор ы х одинаковы . З атем пр еобр азовать таблицу так, чтобы вней неосталось повтор яю щ их ся э лементов, в пр оцессе пр еобр азования заменять встр етивш иеся повтор яю щ иеся э лементы , на max+i , где max – максималь ны й э лементтаблицы , i – пор ядковы й номер вновь най денного повтор яю щ егося э лемента. П р еобр азованну ю таблицу вы дать на э кр ан ввидетаблицы . • 3.39 Д ана матр ица A(N,M). Н еобх одимо пр еобр азовать еетаким обр азом, чтобы р азность между су ммой значений э лементов под главной диагональ ю и над главной диагональ ю бы ла р авна пер вому э лементу исх одной матр ицы (без у чета значений э лементов главной диагонали). • 3.40 Д ана таблица A(N,N). И з нее у далить ту стр оку , су мма э лементов котор ой максималь на и тотстолбец, кажды й э лементкотор огор авен ну лю . И зэ лементовполу ченной таблицы создать двеквадр атны етаблицы , пр ичем одна из них должна содер жать отр ицатель ны е э лементы исх одной таблицы , др у гая пр оложитель ны е. Н у левы е э лементы в ф ор мир овании не исполь зу ю тся. П олу ченны е таблицы вы вести на печать. • 3.41 Д ана целочисленная квадр атная матр ица A(N,N). О тсор тир овать э лементы четны х стр ок матр ицы по возр астанию , нечетны х по у бы ванию . Стр оки, содер жащ ие все одинаковы е по значению э лементы у далить. П р еобр азованну ю таблицу вы вести на э кр ан. • 3.42 Д ана целочисленная квадр атная матр ица A(N,N).О тсор тир овать э лементы четны х столбцов матр ицы по возр астанию , нечетны х по 30
у бы ванию . Столбцы , содер жащ ие все одинаковы е по значению э лементы у далить. П р еобр азованну ю таблицу вы вести на э кр ан. • 3.43 Д ана целочисленная квадр атная матр ица A(N,N).О тсор тир овать э лементы стр оки с максималь ной су ммой. Стр оки, содер жащ ие все одинаковы е по значению э лементы у далить. П р еобр азованну ю таблицу вы вести на э кр ан. • 3.44 Д ана таблица A(N,N). В вести пр оизволь ны е э лементы в пер ву ю и последню ю стр оки таблицы , а такжев пер вы й и последний столбцы таблицы . О сталь ны е э лементы таблицы заполнить с у четом следу ю щ ей зависимости A(i,j)=A(i-1,j)*A(i,j-1), где i – номер стр оки таблицы , j- номер столбца таблицы . П олу ченну ю таблицу вы вести на печать вф ор метаблицы . • 3.45 Д анонекотор оеколичество матр иц Z1, Z2, Z3… Zn. И звестно, что матрица А (N,M) содер житв качествеэ лементов имена вы ш е пер ечисленной последователь ности матр иц. М есто р асположения э лемента в матр ице A(N,M) задаетх ар актер истику р азмер ности той матр ицы , номер котор ой записан в э том э лементе. Н апр имер , если э лементА (2,3) содер житзначения Z7, то опр еделяемая им матр ица э то Z7(2,3). Н еобх одимо составить нову ю матр ицу из э лементов тех матр иц ссы лки, на котор ы е нах одятся в конце четны х стр ок матр ицы А . П олу ченны й р езу ль татвы вести на печать. • 3.46 В квадр атной таблице D р азмер ом (N,N) у далить столбец, у котор ого величина р азности между дву мя наиболее у даленны ми др у г отдр у га э лементами минималь на по ср авнению с др у гими столбцами. Т аблицу вы дать на э кр ан постр очно. •
3.47 Д ана квадр атная таблица А р азмер а NxN. Ср еди столбцов, минималь ны е значения котор ы х отр ицатель ны , найти столбец с максималь ны м значением минималь ного э лемента. Е сли такой столбец су щ еству ет, то пер ед ним и за ним вставить по столбцу из э лементов главной диагонали. Е сли не су щ еству ет, то в столбцах , в котор ы х номер минималь ного э лемента боль ш е номер а максималь ного э лемента, у далить максималь ны й э лемент, а в осталь ны х у далить диагональ ны й э лемент. Резу ль тир у ю щ у ю таблицу А вы дать на дисплей построчно. 4. К О М Б И Н И РО В А Н Н А Я О Б РА Б О Т К А Л И Н Е Й Н Ы Х М А С С И В О В И М А Т РИ Ц 31
• 4.1 Д аны массивы В и С из N э лементов кажды й. И з э лементов С сф ор мир овать квадр атну ю таблицу А максималь но возможны х р азмер ов. Ф ор мир ование вы полнить таким обр азом, чтобы на главной диагонали стояли э лементы С, котор ы х нетв В , а на побочной - э лементы С, котор ы еесть вВ . Е сли число стр ок (столбцов) в сф ор мир ованной матр иценечетное, то на пер есечении диагоналей ну жно поставить ср еднееар иф метическое э лементовмассива В . В сф ор мир ованной таблице опр еделить столбец с минималь ны м числом положитель ны х э лементов. Е сли такой столбец опр еделен, то его э лементы , стоящ ие ниже побочной диагонали обменять местами с э лементами стр оки, стоящ ими левеепобочной диагонали. П р еобр азованну ю таблицу вы дать на дисплей постр очно. • 4.2 Д ан линейны й массив С из N э лементов. Сф ор мир овать из э лементов э того массива квадр атну ю таблицу А максималь но возможны х р азмер ов. Ф ор мир ование вы полнить таким обр азом, чтобы главная диагональ бы ла заполнена э лементами С, вы бр анны ми из множества тех э лементов, котор ы е пр едш еству ю тдву м наиболь ш им э лементам С, побочная - вы бр анны ми из множества э лементов, р асположенны х за э тими наиболь ш ими, осталь ны е заполнить э лементами, р асположенны ми между э той пар ой наиболь ш их . Е сли число стр ок (столбцов) нечетное, то на пер есечении диагоналей поставить мень ш ий из дву х найденны х наиболь ш их . В сф ор мир ованной таблице опр еделить стр ону , у котор ой ср еднее ар иф метическое э лементов, пр едш еству ю щ их диагональ ному , боль ш е ср еднего ар иф метического э лементов, следу ю щ их за диагональ ны м. Э лементы найденной стр оки поменять местами с э лементами побочной диагонали. П р еобр азованну ю таблицу вы дать на дисплей построчно. • 4.3 Д аны линейны й массив С из N э лементов и число В . Сф ор мир овать из э лементов С квадр атну ю таблицу максималь но возможны х р азмер ов. Ф ор мир ование вы полнить таким обр азом, чтобы на главной диагонали стояли э лементы С(I) < В , на побочной - С(I) > В . Е сли число стр ок (столбцов) в сф ор мир ованной матр иценечетное, то на пер есечении диагоналей поставить э лементиз С, ближайш ий по значению к В . В сф ор мир ованной таблице опр еделить стр оку с максималь ны м числом ну лей. Е сли такая стр ока опр еделена, то ее э лементы , стоящ ие до главной диагонали обменять местами с э лементами одноименного столбца, стоящ ими вы ш е главной диагонали. П р е32
обр азованну ю таблицу вы дать на дисплей постр очно. • 4.4 Д ан линейны й массив С из N э лементов. Сф ор мир овать из э лементов С квадр атну ю таблицу максималь но возможны х р азмер ов. Ф ор мир ование вы полнить таким обр азом, чтобы на побочной диагонали стояли положитель ны еэ лементы , пр ичем су мма э тих э лементов должна бы ть наимень ш ей ср еди су мм, вы числяемы х для лю бого др у гого набор а положитель ны х э лементов С, котор ы ми можно заполнить диагональ . В сф ор мир ованной таблице опр еделить две соседних стр оки, абсолю тная величина р азности между ср едними ар иф метическими котор ы х минималь на. Н айденны е стр оки пер еместить вниз таблицы , сох р анив пор ядок следования осталь ны х . П р еобр азованну ю таблицу вы дать на дисплей постр очно. • 4.5 Сф ор мир овать линейны й массив С из тех столбцов квадр атной таблицы А р азмер а Nх N, су мма номер ов максималь ного и минималь ного э лементов котор ы х не пр евосх одитсу ммы номер ов максималь ного и минималь ного э лементоводноименны х стр ок. В сф ор мир ованном массиве найти минималь ны й и максималь ны й э лементы ср еди тех , котор ы е в А бы ли диагональ ны ми. Э лементы заклю ченны е между най денны ми пер еместить в начало массива С, изменив пр и э том пор ядок их следования на обр атны й. М ассив С р аспечатать встр оку . • 4.6 Д ана квадр атная таблица А р азмер а Nх N. Составить пр огр амму ф ор мир ования последователь ности В из э лементов таблицы А , р асположенны х под главной диагональ ю . В полу ченной последователь ности най ти тр и наимень ш их э лемента. П р еобр азовать последователь ность В по следу ю щ ему алгор итму : э лементы , р асположенны е между пер вы м и втор ы м из тр ех най денны х , пер еместить в конец массива В , сох р анив пор ядок их следования. Э лементы , р асположенны емежду втор ы м и тр етьим из тр ех найденны х , пер еместить в начало массива В , изменив пор ядок следования э лементов на обр атны й. П ер емещ ение э лементов пр едполагает одновр еменное у даление их с пр ежнего места. П р еобр азование массива В пр овести без исполь зования дополнитель ного массива. Сф ор мир ованны й и пр еобр азованны й линейны е массивы В вы вести на э кр ан встроку . •
4.7 Д ана квадр атная таблица А (N,N). В ы числить ср еднее ар иф метическоеэ лементовисх одной таблицы (SRА ). Сф ор мир овать линейны й массив В из э лементов исх одной таблицы , р асположенны х ниже главной и побочной диагоналей ( на р ису нке- область 1). 33
В сф ор мир ованном линейном массиве В найти два максималь ны х э лемента с индексами к1 и к2 и два минималь ны х э лемента с индексами кЗ и к4. П р еобр азовать линейны й массив В по алгор итму : если найденны е пар ы э лементов не имею тобласть пер есечения, то у далить отр ицатель ны е э лементы , р асположенны х вну тр и пр авой пар ы . Э лементы , р асположенны е вну тр и левой пар ы и не пр евосх одящ ие най денное SRА , пер еместить в конец массива, изменив пор ядок их следования на обр атны й. Е сли искомы е пар ы пер есекаю тся, то закончить р еш ение. Сф ор мир ованны й и пр еобр азованны й массивы В вы дать на э кр ан в две стр оки. П ер емещ ение э лементов массива пр едполагаетодновр еменноеу далениеих спр ежних мествмассиве.
1 • 4.8 Д ана квадр атная таблица А (N,N). Сф ор мир овать линей ны й массив В из э лементов исх одной таблицы , р асположенны х вы ш еглавной и нижепобочной диагоналей ( на р ису нке- область 1). В сф ор мир ованном линей ном массиве В ср еди положитель ны х э лементов най ти максималь ны й и минималь ны й э лементы с индексами к1 и к2, и ср еди отр ицатель ны х э лементов найти максималь ны й и минималь ны й э лементы с индексами кЗ и к4. П р еобр азовать линейны й массив В по алгор итму : если найденны епар ы э лементов имею т область пер есечения, то в области пер есечения пар у далить все э лементы , р авны е ну лю , а оставш иеся - пер еместить в начало массива, изменивпор ядок их следования на обр атны й. Е сли искомы е пар ы э лементов непер есекаю тся, то закончить р еш ение. Сф ор мир ованны й и пр еобр азованны й массивы В вы дать на э кр ан в двестр оки. П ер емещ ениеэ лементов массива пр едполагаетодновр еменноеу далениеих спр ежних мествмассиве.
1 • 4.9 Д ана квадр атная таблица А (N,N). Сф ор мир овать линей ны емассивы С и В по следу ю щ ему алгор итму : 34
э лементами массива С должны бы ть э лементы исх одной таблицы , р асположенны е в области 1(см. р ису нок), и не пр евосх одящ ие максиму м ср еди отр ицатель ны х э лементов э той области, э лементами массива В должны стать э лементы исх одной таблицы , р асположенны ев области 2 (см. р ису нок), и пр евосх одящ иеминиму м ср еди положитель ны х э лементовэ той области. Е сли оба массива сф ор мир ованы , то опр еделить массив мень ш его р азмер а и в нем найти два э лемента, су мма котор ы х максималь на. Ср еди э лементов, заклю ченны х между дву мя найденны ми, у далить э лементы снечетны ми индексами. В се най денны е значения, сф ор мир ованны е и пр еобр азованны е массивы вы дать на э кр ан.
2 1
• 4.10 Д ана квадр атная таблица А (N,N). Сф ор мир овать линей ны емассивы D и В по следу ю щ ему алгор итму : э лементами массива D должны бы ть э лементы исх одной таблицы , р асположенны евобласти 1 (см. р ису нок), и непр евосх одящ иеср еднее ар иф метическое положитель ны х э лементов э той области, э лементами массива В должны стать э лементы исх одной таблицы , р асположенны е в области 2 (см. р ису нок), и пр евосх одящ ие ср еднее ар иф метическоеотр ицатель ны х э лементовэ той области. В слу чае, когда сф ор мир ованы оба массива, то в массиве, содер жащ ем боль ш ее количество э лементов, найти тр и э лемента, значения котор ы х могу т являться стор онами тр еу голь ника максималь ной площ ади. В о всех осталь ны х слу чаях закончить р еш ение с вы дачей соответству ю щ их сообщ ений. Н ай денны е значения э лементов и их индексы вы дать на э кр ан с соответству ю щ ими комментар иями.
1
2
• 4.11 Д ана квадр атная таблица А (N,N). Сф ор мир овать линей ны емассивы С и В по следу ю щ ему алгор итму : 35
э лементами массива С должны бы ть э лементы исх одной таблицы , р асположенны е в области 1 (см. р ису нок), и пр евосх одящ ие значение миниму ма ср еди положитель ны х э лементов э той области, э лементами массива В должны стать э лементы исх одной таблицы , р асположенны е в области 2 (см. р ису нок), и не пр евосх одящ ие значениемаксиму ма ср еди отр ицатель ны х э лементовэ той области. Е сли оба искомы х массива сф ор мир ованы , то в массиве В найти э лемент, котор ы й имеетмаксималь ноечисло повтор ений ср еди э лементов, р авны х по значению в массивеС. В о всех осталь ны х слу чаях закончить р еш ениепечатью соответству ю щ их сообщ ений . В се найденны е значения вы дать на э кр ан. Сф ор мир ованны е массивы и пр еобр азованны й массивВ вы дать на э кр ан.
1 2
• 4.12 Сф ор мир овать линейны й массив С, из, тех столбцов квадр атной таблицы А р азмер а (N,N), номер а минималь ны х э лементов котор ы х боль ш еномер овэ лементовпобочной диагонали э тих жестолбцов. В сф ор мир ованном массивенайти ср еди тех э лементов, котор ы ебы ли в А э лементами главной диагонали и отр ицатель ны ми максималь ны й. Е сли такой э лементесть, то все э лементы , стоящ ие за ним пер еместить в начало массива, изменив пр и э том пор ядок их следования на обр атны й. В пр отивном слу чае массив С оставить без изменения. М ассив С р аспечатать встр оку . • 4.13 Сф ор мир овать линейны й массив C из тех стр ок квадр атной таблицы А р азмер а (N,N), номер а максималь ны х э лементов котор ы х мень ш еномер овдиагональ ны х э лементовэ тих жестр ок. В сф ор мир ованном массивеср еди тех э лементов, котор ы ев А бы ли э лементами главной диагонали и положитель ны ми найти минималь ны й. Е сли такой э лементнайден, то изменить на обр атны й пор ядок следования у э лементов, стоящ их донайденного и за найденны м. В пр отивном слу чае массив С оставить без изменений С. М ассив С 36
р аспечатать встр оку . • 4.14 Сф ор мир овать линейны й массив С из тех столбцов квадр атной таблицы А р азмер а (N,N), су мма номер ов максималь ного и минималь ного э лементов котор ы х не пр евосх одитсу ммы номер ов максималь ного и минималь ного э лементоводноименны х стр ок. В сф ор мир ованном массиве найти минималь ны й и максималь ны й э лементы ср еди тех , котор ы е в А бы ли э лементами главной диагонали. Э лементы заклю ченны е между найденны ми пер еместить в начало массива С, изменив пр и э том пор ядок их следования на обр атны й. М ассивС р аспечатать встр оку . • 4.15 Сф ор мир овать линейны й массив С из тех стр ок квадр атной таблицы А р азмер а (N,N), номер а максималь ны х э лементов котор ы х мень ш еномер овмаксималь ны х э лементоводноименны х столбцов. В сф ор мир ованном массивеу далить теэ лементы , котор ы ев А бы ли э лементами главной диагонали и котор ы епо величинеболь ш еср еднего ар иф метического положитель ны х э лементов сф ор мир ованного массива С. М ассивС р аспечатать встр оку . • 4.16 Д ана квадр атная таблица А р азмер а NxN. Составить пр огр амму ф ор мир ования дву х последователь ностей В и С, э лементами последователь ности В являю тся э лементы таблицы А , р асположенны е над главной диагональ ю , а э лементами последователь ности С являю тся э лементы таблицы А , р асположенны е под главной диагональ ю . П р еобр азовать последователь ности В и С таким обр азом, чтобы вВ попали э лементы , вы бр анны епопр авилу : B(I) = MAX { B(I), C(I) }, a вC C(I) = MIN { B(I), C(I) }. Сф ор мир ованны епоследователь ности вы дать на э кр ан вдвестроки. • 4.17 Д ана таблица А р азмер а NxM. Составить пр огр амму ф ор мир ования последователь ности В , кажды й э лементкотор ой является минималь ны м э лементом ср еди положитель ны х э лементов в каждой стр окетаблицы А . В полу ченной последователь ности най ти максималь ны й и минималь ны й э лементы . Е сли х отя бы один из най денны х является центр аль ны м впоследователь ности В , то э лементы , стоящ иедо него и посленего поменять местами, сох р анивпор ядок следования впоследователь ности.
37
Резу ль татвы дать на э кр ан встр оку . • 4.18 Д ана таблица А р азмер а NxN. Составить пр огр амму ф ор мир ования последователь ности В , э лементами котор ой являю тся э лементы таблицы А , р асположенны е над главной диагональ ю . В полу ченной последователь ности найти тр и самы х боль ш их э лемента. Э лементы , р асположенны е между втор ы м и тр етьим из найденны х добавить в начало массива, а э лементы , р асположенны е между пер вы м и втор ы м из тр ех найденны х добавить в конец последователь ности. • 4.19 Д ана числовая последователь ность Х (N). И зэ лементов э той последователь ности сф ор мир овать таблицу {В (i, j)}, гдеВ (i, j) вы числяется поф ор му ле: В (i, j) = (Х (I)*J+i*X(j))/(i+j) З атем пр еобр азовать кажды й э лемент каждой стр оки таблицы В , кр оме пер вого э лемента теку щ ей стр оки, заменив э тотэ лементна су мму пр едш еству ю щ их ему э лементоввэ той стр оке. Наэ кр ан вы дать пр еобр азованну ю таблицу В ввидетаблицы . • 4.20 Д ана таблица М *N. Сф ор мир овать линейны й массив из э лементов стр ок, котор ы е являю тся стор онами тр еу голь ника, имею щ его максималь ну ю площ адь . Э лементы в массиве р асположить в пор ядке возр астания индексов в стр оке. Н айденны езначения, сф ор мир ованны й массиввы вести на э кр ан. • 4.21 Д ана числовая таблица С р азмер ом М *N. Сф ор мир овать линейны й массив В , э лементами котор ого являю тся два максималь ны х э лемента из каждой стр оки таблицы или 0, если су мма дву х найденны х максималь ны х э лементов теку щ ей стр оки р авна 0. Е сли сф ор мир ованны й массив В содер життоль ко ну левы е э лементы , то вклю чить массив В в исх одну ю таблицу в качестве пер вого столбца. В пр отивном слу чае- пер вы еN э лементовмассива В вклю чить висх одну ю таблицу за столбцом, содер жащ им минималь ны й э лемент таблицы , считая чтотакой э лемент- единственны й. Н ай денны е значения и пр еобр азованну ю таблицу вы дать на э кр ан постр очно. 38
• 4.22 Д ана матр ица А р азмер а N*M. Сф ор мир овать из э лементов, стоящ их вы ш е главной диагонали линейны й массив В , а из э лементов, стоящ их нижемассив С. В С найти min и max э лементы ср еди тех , котор ы х нетвВ , Е сли min и max найдены и р азличны , то у далить э лементы , заклю ченны е между ними, в слу чае совпадения изменить пор ядок следования э лементов, состоящ их до найденного и после него на обр атны й. Е сли не найдены , то заменить все э лементы С (кр оме пер вого и последнего) на пр оизведение окаймляю щ их . М ассивы В и С р аспечатать встр оку . • 4.23 Д ана числовая таблица А (N,N), всеэ лементы котор ой р азличны . Составить пр огр амму ф ор мир ования из положитель ны х э лементов четны х стр ок таблицы А линей ного массива Х , с последу ю щ им опр еделением внем максималь ного и минималь ного э лементов. Э лементы , р асположенны е между максималь ны м и минималь ны м значениями вмассивеХ , вклю чить вконец э того массива. На э кр ан вы дать найденны е значения э лементов и их индекса, а такжепр еобр азованны й линейны й массивХ . • 4.24 Д ана квадр атная таблица A(N,N). Составить из э лементов э той таблицы последователь ность В , где B(I) э то су мма э лементов, пр едш еству ю щ их последнему отр ицатель ному э лементу i-ой стр оки. В ы вести на печать толь ко те э лементы полу ченной последователь ности В , котор ы евх одятвэ ту последователь ность болеепяти р аз. • 4.25 Д ана A(N,N) и последователь ность B(N). П р еобр азовать последователь ность таким обр азом, что кажды й э лементпоследователь ности В , заменяется на величину , р авну ю абсолю тной р азности между э тим э лементом и максималь ны м э лементом соответству ю щ ей стр оки таблицы . ( то есть B(i) заменяется на (maxi-В (i)), гдеmaxi э лементi-ой стр оки матр ицы ). П ри э том, если полу чаемы й новы й э лементпоследователь ности В р авен 0, его из последователь ности исклю чить. В пр еобр азованной последователь ности В , кажду ю гр у ппу , состоящ у ю из одинаковы х э лементов, заменить на один э лементэ той гр у ппы . П олу ченну ю последователь ность вы вести на печать.
39
• 4.26 Д ано N последователь ностей р азмер а M каждая. В каждой последователь ности заменить гр у ппу ( то есть следу ю щ их одним за др у гим ) нолей на один ноль . Составить из пр еобр азованны х последователь ностей квадр атну ю матр ицу , в котор ой пор ядок следования стр ок должен совпадать с пор ядком ввода последователь ностей ( т.е. пер вая стр ока составляется из э лементов пер вой последователь ности, втор ая из э лементов втор ой последователь ности и т. д.) В качествеэ лемента матр ицы взять пер вы й э лементпер вой последователь ности. П олу ченная квадр атная матр ица должна содер жать максималь но возможное количество э лементов. В ы вести на э кр ан полу ченну ю матр ицу . • 4.27 Д ана квадр атная таблица A(N,N). Составить из э лементовтаблицы последователь ность B(N), гдеB(I) э то наимень ш ий из значений э лементов, нах одящ их ся в начале стр ок таблицы , до э лемента пр инадлежащ его главной диагонали. О пр еделить сколь ко р азличны х циф р в последователь ности B(N). П олу ченны й р езу ль тати сами числа вы вести на э кр ан. • 4.28 Д ана таблица А (N,N) и массивВ (N). Cоставить пр огр амму р асш ир ения массива В пу тем вклю чения в него тех э лементовиз последней строки таблицы А , котор ы енепр евосх одятмаксималь ны й э лементиз В . В р асш ир енном массиве опр еделить min ср еди положитель ны х и max ср еди отр ицатель ны х э лементов. Е сли оба искомы х э лемента су щ еству ет, то у далить э лементы , заклю ченны емежду ними. В пр отивном слу чае э лементы пр едш еству ю щ ие найденному , начиная со втор ого, заменить на су мму пр едш еству ю щ их , а - за найденны м, начиная спр едпоследнего, на су мму последу ю щ их . П р еобр азованны й массивВ вы дать на дисплей встр оку .
5. Ч И С Л Е Н Н Ы Е М Е Т О Д Ы
40
• 5.1 Д ан линейны й числовой массивС(N) и точность вы числения Е . П р иняв максималь ны й и минималь ны й э лементы массива С за концы отр езка [а,b], вы числить методом деления отр езка пополам кор ень у р авнения F(х ) = 0 следу ю щ его вида: 21 2 x2-4x+10 - x +4x-6 = 0 И з вы числяемы х значений ф у нкции F(х ) вточках последователь ного деления отр езка [а,b] пополам сф ор мир овать линейны й массив D. В массиве С( N) най ти э лемент, ближайш ий по значению к найденному кор ню . П р еобр азовать последователь ность С, вклю чив пер ед найденны м э лементом теэ лементы из последователь ности D, в котор ы х знак ф у нкции совпадаетсознаком вточке"а". З а найденны м э лементом вклю чить теэ лементы из последователь ности D, вкотор ы х знак ф у нкции совпадаетсо знаком вточке"b". П р еобр азованны й массив С, а также сф ор мир ованны й массив D вы дать на э кр ан вдвестроки. П р имечание: если за количество ш агов р азбиения отр езка [а,b] пополам, р авное 1000, точность Е бу детне достигну та, то полу ченное последнее значение Х 1= (а+b) / 2 пр инять за пр иближенное значение кор ня.
• 5.2 Д ан линей ны й числовой массивС (N). Составить пр огр амму пр иближенного вы числения методом пр ямоу голь никовпр и N1 = 40 опр еделенногоинтегр ала следу ю щ еговида: b
∫ x sin
x / (1+cos2x) dx
a
В качестве пр еделов интегр ир ования "а" и "b" вы бр ать соответственно минималь ны й и максималь ны й э лементы последователь ности С(N). В ы численноезначениеинтегр ала вы дать на э кр ан. И з вы числяемы х площ адей пр ямоу голь ников, обр азу ю щ их пр иближенну ю площ адь кр иволинейной тр апеции, сф ор мир овать линейны й массивD. П р еобр азовать исх одны й массивС(N) по следу ю щ ему алгор итму : - пер еместить э лементы массива, стоящ ие до минималь ного э лемента массива С(N) вконец массива; - вклю чить э лементы сф ор мир ованного массива D пер ед минималь ны м э лементом массива С(N) П р еобр азованны й э лементмассива С и сф ор мир ованны й массив D вы дать на э кр ан вдвестр оки.
41
• 5.3 Составить пр огр амму вы числения величины : T=Sbaarctg3 (x)dx+SП 0 sin(e)5xdx по значениям a и b, вы бр анны м из массива Q таким обр азом, чтобы b-a=4. И нтегр алы вы числять пр иближенно с помощ ь ю метода пр ямоу голь ников пр и n1=30 для 1-го интегр ала и пр и n2=95 для 2-го интегр ала. В се полу ченны е значения величины Т вы дать на э кр ан, а также максималь ноеср еди найденны х . • 5.4 Д ан линей ны й числовой массивQ(N). Составить пр огр амму вы числения с вы водом р езу ль тата на э кр ан методом деления отр езка пополам значения кор ня у р авнения COS X = X^3 - 2 сзаданной точностью вы числения. В качествезначений а и b взять пер ву ю встр етивш у ю ся пар у чисел из массива Q, котор ая можетявляться интер валом для поиска кор ня. Е сли такой пар ы не су щ еству ет, то на э кр ан вы дать соответству ю щ ее сообщ ение. • 5.5 Составить пр огр амму вы числения величины : T = ∫ arctg^3(x)dx + ∫ sin(e)^(5x)dx по значениям a и b, вы бр анны м из массива Q р азмер а N таким обр азом, чтобы в- а = 4. И нтегр алы вы числять пр иближенно с помощ ь ю метода пр ямоу голь ников пр и n = 30 для 1 - го интегр ала и пр и n = 95 для 2 - го интегр ала. В се полу ченны е значения величины Т вы дать на э кр ан, а также максималь ноеср еди найденны х . • 5.6 Составить пр огр амму вы числения значений ф у нкции: y = x^2 + e^(-x) - k на отр езке [ a,b] с ш агом h = (b-a)/n, величины n, k заданы . П о найденны м значениям опр еделить теX, в котор ы х значения ф у нкции У достигаетМ А Х и MIN. В еличины a и b вы бр ать из массива Q(M) таким обр азом, чтобы b-a=1. На э кр ан вы дать вы численны е значения ф у нкции и коор динаты оптималь ны х точек.
• 5.7 Д ано квадр атноеу р авнение 42
x 2 + bx + c = 0 и некотор ы й массивB(N). Изэ лементов э того массива вы бр ать те, котор ого являю тся р еш ениями у р авнения и сф ор мир овать из них новы й массивD. В полу ченной последователь ности D найти миниму м и максиму м. Ч исла р асположенны емежду миниму м и максиму м пр еобр азовать в возр астаю щ у ю последователь ность. (П р имечание: количество э лементовр авны х миниму м и максиму м впоследователь ности D может бы ть боль ш ечем два). П олу ченну ю последователь ность вы вести на печать. • 5.8 Д аны двепоследователь ности целы х положитель ны х чисел A(N), B(N). Составить пр огр амму , пр овер яю щ у ю у твер ждение, что э ти две последователь ности отличаю тся не более чем пор ядком следования чисел. (Резу ль татпр овер ки вы водить на печать). З атем в последователь ности A(N) найти такие пар ы из э лементов последователь ности, котор ы е в су мме даю т0. У далить э ти числа из последователь ности. П р еобр азованну ю последователь ность вы вести на печать.
6. С И М В О Л Ь Н Ы Е М А С С И В Ы
43
• 6.1 М ассив символь ны х строк, содер житответы на заданны е вопр осы . О тветпр едставлен в видеслов Д А или Н Е Т , р азделенны х между собой пр обелами. Н апиш ите пр огр амму замены в тексте всех слов Д А на словоН Е Т и наобор от. • 6.2 М ассив символь ны х стр ок содер житслова, котор ы енеизменяю т смы сл пр и чтении их как слева напр аво, так и спр ава налево. Н айти слова, обладаю щ ие э тим свойством и вы вести их на печать. (П р имечание. Каждоеслово втекстеотделеноотсоседнего пр обелом.) • 6.3 Составить пр огр амму , анализир у ю щ у ю введенны й текстна соответствие тр ебу емому пар олю , котор ы й х р аниться в символь ной пер еменной P$. • 6.4 В массиве символь ны х стр ок, най ти слова “макр оэ кономика” и заменить на слова ” микр оэ кономика” .(П р имечание. К аждое слово в текстеотделено отсоседнегопр обелом.) • 6.5 Д аны несколь ко символь ны х стр ок. П р осмотр еть стр оки, у далив из них всециф р овы еданны е. • 6.6 Д аны несколь ко символь ны х строк. Н ай ти в символь ном массиве слова начинаю щ иеся на “мик” и вы вести их на печать. • 6.7 Д ан список у чеников одиннадцаты х классов ш кол г. В ор онежа. К аждая стр ока списка содер жит последователь но следу ю щ у ю инф ор мацию : ф амилия имя отчество номер ш колы тип спец.класса. Н апр имер : И ванов А лександр П етр ович ш кола № 9 класс э кономический. Н айти и вы вести на печать строки, содер жащ иеинф ор мацию об у чащ их ся математических классов. • 6.8 Д ана стр ока символов. Н ай ти и заменить все бу квы “т” в строке на бу квы “д” . П р еобр азованну ю стр оку вы вести на печать. • 6.9 Д ана стр ока, пр едставляю щ ая собой ответы на некотор ы е вопр осы . П р ичем “ Д а “- положитель ны й ответ; “Н ет” - отр ицатель ны й ответ В се слова в стр оке отделяю тся др у готдр у га пр обелами. П одсчитать и вы вести на печать количество положитель ны х ответови количество отр ицатель ны х . • 6.10 П р осмотр еть некотор ы й массив, состоящ ий из символь ны х стр ок и вы вести на э кр ан ту стр оку , котор ая содер житслово “В ор о44
неж” . Е сли такой стр оки нетв данном массиве, вы вести соответству ю щ еесообщ ение. • 6.11 Д ана текстовая стр ока. Н еобх одимо все циф р ы , встр ечаю щ иеся втекстеу мень ш ить в10 р аз. Каждоеслово втекстеотделяется отсоседнего пр обелом. В сециф р ы , встр ечаю щ иеся в текстеявляю тся целы ми. • 6.12 Д аны несколь ко символь ны х стр ок и некотор ая ф р аза, напр имер “у спеш но сдал сессию ” . В ы бр ать и вы вести на печать всестр оки, содер жащ иеэ ту ф р азу . • 6.13 Д аны две символь ны е стр оки, содер жащ ие совпадаю щ ие слова. Ср авнить их между собой и вы вести на печать не совпадаю щ ие слова, у казы вая пр и э том в какой стр оке они нах одяться. (П р имечание. К аждоеслово втекстеотделено отсоседнегопр обелом.) • 6.14 Д аны несколь ко символь ны х стр ок, содер жащ иесписок сотр у дников, пр ичем пер вы м словом в каждой стр оке является ф амилия, а последним стаж р аботы . В ы вести список с ф амилиями сотр у дников, отсор тир ованны й по мер еу бы вания стажа р аботы . • 6.15 П р осмотр еть некотор ы й массив, состоящ ий из символь ны х стр ок и вы вести на э кр ан те из них , котор ы е р асположены между стр оками содер жащ ими словосочетания “Н ачало доклада” , и “О кончание” . • 6.16 Д ана таблица А (N,N). Д анны ев таблицепр едставляю тсобой р азличны есимволы . О пр еделить можно ли из подр яд иду щ их символов полу чить слово введенное в символь ну ю пер еменну ю Z$. Е сли у словие вы полняется вы вести сообщ ение “Клю ч найден” , в пр отивном слу чае вы вести сообщ ение“Клю ч задан невер но” . • 6.17 Д ан массив символов. П одсчитать количество пр едложений в массиве, если известно, что каждое пр едложение заканчивается точкой , а каждоесловоотделено отсоседнего слова пр обелом. П олу ченны й р езу ль татвы вести на печать.
7. С И Т У А Ц И О Н Н Ы Е ЗА Д А Ч И
45
• 7.1 В ор ганизации Т вы делено на отды х сотр у дников 40000 р у блей. Т у р истические ф ир мы пр едлагаю тпу тевки на 15, 24, 45 дней. Стоимость пу тевок соответственно: 600, 900, 1500 р у блей. Составить пр огр амму , позволяю щ у ю найти оптималь ны й ответна вопр ос: “ Сколь ко и каких пу тевок ну жно ку пить, чтобы истр атить вседень ги и сделать числодней отды х а наиболь ш ими” . • 7.2 П р едпр иятие должно пер еслать 2300 своих изделий в контейнер ах . К онтей нер 1-ого типа вмещ ает90 изделий, контейнер 2-ого типа 70 изделий, контейнер 3-ого типа 45 изделий. Стоимость пер есы лки одного контейнер а 1-ого типа составляет500 р у блей, 2-го типа 350 р у блей, 3-ого типа 200 р у блей. К ак пер еслать все изделия, чтобы су мма затр аченная на пер есы лку бы ла наимень ш ей. • 7.3 П р едпр иятиер еш ило ку пить в мелкооптовой тор говле автор у чки для своих сотр у дников на су мму 200 р у блей. А втор у чки пр одаю тся набор ами. Н абор из 10 р у чек стоит5 р у блей, набор из 25 р у чек стоит 9 р у блей , набор из 60 р у чек стоит15 р у блей. Сколь ко и каких набор овну жно ку пить, чтобы бы ло ку пленонаиболь ш еечислор у чек. • 7.4 Д ош коль ноеу чр еждениер еш илопр еобр ести к пр азднику белы еи кр асны еш ар ы для детей. Н а поку пку можно затр атить неболее2800 р у блей. Белы й ш ар стоит4 р у бля, кр асны й 3 р у бля. П р и заку пкечислобелы х ш ар овнедолжно отличаться отчисла кр асны х болеечем на 6. Н еобх одимо заку пить максималь но возможноесу ммар ноеколичество ш ар ов, пр ичем из всех вар иантов , даю щ их э то максималь но возможное количество, надо найти такой, пр и котор ом число кр асны х ш ар ов минималь но. Сколь ко кр асны х и сколь ко белы х ш ар ов можетку пить у чер еждение. • 7.5 Компь ю тер ная ф ир ма вы полняеттр и вида у слу г: А - поставку ср едстввы числитель ной тех ники; В - у становку локаль ны х вы числитель ны х систем; С – у слу ги по сер вису обслу живания. Кажды й из видов р аботопр еделяется соотнош ением тр у доемкости, р ентабель ности и дох ода, вы р ажаемой для конкр етной ор ганизации следу ю щ им соотнош ением: А (2 су ток, 15% , 4000 р у блей) т.е. за двоесу ток полу чено 4000 р у блей дох ода пр и р ентабель ности 15% В (1 су ток, 50%, 2000 р у блей) С (0,5 су ток, 100%, 200 р у блей)
46
О пр еделить оптималь ное соотнош ение у слу г оказы ваемы х в течение месяца, даю щ их максималь ны й дох од. Рассчитать ср едню ю зар аботну ю плату специалистов, если она составляет25% отдох ода. • 7.6 П р едпр иятиепр оизводитцементпо себестоимости 500 р у блей за тонну . П р и отпу скной цене 800 р у блей за тонну оно р еализу ет5000 тонн, пр и отпу скной цене 600 р у блей за тонну оно р еализу ет2000 тонн. О пр еделить отпу скну ю цену цемента, пр и котор ой пр едпр иятие имеетмаксималь ны й дох од. Д ох од опр еделяется как р азница между вх одной ценой и себестоимостью у множенной на объем пр одаж. В ы числение пр оизвести с у четом того, что зависимость между отпу скной ценой и объемом р еализации линейная. • 7.7 Д аны двепоследователь ности целы х положитель ны х чисел A(N), B(N).Н еобх одимо составить из них нову ю последователь ность отсор тир ованны х чисел (в пор ядке возр астания). П р и э том опр еделить оптималь ну ю стр атегию сор тир овки исх одя из дву х возможны х вар иантов: 1. О тдель ная сор тир овка А и В , а затем слияние. 2. Слияниепоследователь ностей А и В , и затем сор тир овка П р иэ том вр емя добавления числа впоследователь ность составляет 4 мксек, вр емя замены (обмена) чисел8 мксек. П олу ченну ю последователь ность вы вести на печать. • 7.8 Д ано некотор оечисло Р и последователь ность A(N) действитель ны х чисел, такая, что каждое из чисел последователь ности р авно пр оизведению дву х следу ю щ их за ним чисел. И звестно, что э лементы A(P)=50, A(P +1)=5, Составить пр огр амму , опр еделяю щ у ю значение1-огоэ лемента последователь ности А . Резу ль татнапечатать. • 7.9 Д ана теку щ ая ту р нир ная таблица чемпионата России по ф у тболу , где за победу дается 3 очка, за ничь ю 1 очко, за пор ажение 0 очков. О пр еделить пр и каком минималь ном количестве ничь их в данной таблиценепр оизойдетизменения мест, если за победу давать 2 очка, за ничь ю 1-очко, за пор ажение0 очков. Резу ль татвы вести на печать. • 7.10 Д ля сбор ки компь ю тер а тр ебу ется 11 комплекту ю щ их (наименования котор ы х нах одятся в массиве B(N)), кажду ю из котор ы х можно заку пить в N р азличны х компаниях по цене у станавливаемой данной компанией. Стоимость доставки комплекту ю щ их из компании опр еделяется последователь ностью A(N) внезависимости отколичества комплекту ю щ их . О пр еделить оптималь ны й заказ комплекту ю щ их у поставщ иков на 10 компь ю тер ов так, чтобы стоимость
47
компь ю тер ов бы ла минималь ной. Список поставщ иков и комплекту ю щ их вы вести на э кр ан. • 7.11 Д ана последователь ность описаний х ар актер истик пр интер ов, вклю чаю щ ая: - стоимость пр интер а - стоимость кар триджа - количество отпечаты ваемы х листовна один кар тридж. О пр еделить наиболее э кономичны й вар иантпр иобр етения пр интер а, пр и у словии, что на нем бу детпечататься ежедневно (200) листов в течении года. Н аименованиепр интер а вы вести на печать. • 7.12 Н а пр едпр иятии создается локаль ная вы числитель ная сеть из 20 компь ю тер ов для р аботы 20 поль зователей. К ажды й из компь ю тер ов х ар актер изу ется объемом внеш ней и опер ативной памяти. Д ля р аботы пр иложений (пр икладны х пр огр амм) тр ебу ется опр еделенны й объем опер ативной и внеш ней памяти. Н еобх одимо ввести х ар актер истики каждого компь ю тер а и поль зователя и вы вести на печать оптималь ное р аспр еделение компь ю тер -поль зователь . И звестно, что р есу р совЛ В С достаточнодля р аботы всех поль зователей. • 7.13 В вы бор ах вгосу дар ственну ю ду му у частву ю тN избир атель ны х блоков и пар тий, кажды й из котор ы х имеетопр еделенны й р ейтинг. Т аким обр азом можно опр еделить некотор у ю последователь ность р азмер ностью N, значения котор ой э то - % довер ия избир ателей. О пр еделить максималь ное количество избир атель ны х блоков, котор ы е могу тпр ойти на вы бор ах , пр и том, что минималь ны й пр оцент голосов должен бы ть не менее 5%, а р еаль ная вер оятность пр авиль ности р ейтинга составляет(0,6), то есть 60%. • 7.14 Х озяйке необх одимо пр иобр ести пр оду кты на р ы нке. Н а минир ы нке, нах одящ имся р ядом с домом, стоимость пр оду ктов составляетN р у блей . В гор одеимеется 6 р ы нков, цены вкотор ы х мень ш ечем на мини-р ы нке. Разницы в ценах между мини-р ы нком и осталь ны ми р ы нками опр еделяю тся матр ицей A(6,N), где э лементA(i,j) опр еделяетиндекс цен: отнош ениецены j пр оду кта на i р ы нке, деленноена цены j пр оду кта на мини-р ы нке. Н еобх одимо вы дать р екомендацию х озяйке, котор ая х очетпр иобр ести набор из K,L,M пр оду ктов (где K,L,M соответству ю щ ие э лементы анализир у емого общ его списка пр оду ктов). Н а каком р ы нке ей вы годнее пр обр ести э ти пр оду кты , пр и у словии, что стоимость доставки пр оду ктов с р ы нка опр еделяется последователь ностью В [7]. П олу ченны й р езу ль татвы вести на печать. 8. Т Е С Т О В Ы Е ЗА Д А Н И Я 48
8.1 Запиш итерезультат логич еского вы ражения: • 8.1.1 Л огическое вы р ажение а) б) в) г)
Резу ль тат а) б) в) г)
(10.5*(-2)>=5 AND SQR(36)>= 6) OR (13-5<= 8 OR 1/2 = .5) 12/3+ (10-8)>=5 OR (4+5*2>< 28/2 AND 15-6<=10) (15*2<>30 AND –32/4>2^3) OR (50*2>=100 AND 16*2>=2^4) (-6*5<=13 OR ( (11+25)/2 <> 9*2 EQV 5*(-3) > -20 )
• 8.1.2
а) б) в) г)
Л огическое вы р ажение
Резу ль тат
1.5*2>=5 EQV (25/5 -10<= 6 AND (16-5)*2<= -8 OR 8/2<> 5) 14/2+ 15/3>=5 OR (7*2<= 20/2 AND 15-6<=10) (15/5><30 AND –48/4<=2*3) OR (20/2><10 EQV 16*2<=3^4) 6*3>=18 AND (75/3< 9*2 EQV 12*5 => 60)
а) б) в) г)
• 8.1.3 Л огическое вы р ажение а) б) в) г)
Резу ль тат
(11.5*2>15 OR SQR(49))>= 6) AND (13-5<= 8 EQV 3/2<> 1.5) 13+ 32/8>=15 AND (10+5*2>< 35 OR 12-6<=10) (12*3<>36 AND 32/4>2^3) EQV (30*2<=60 OR 16/2<=2^3) (16*2<=32 AND (14-2)/2 <> 3*2) EQV -15*(-3 )> -20
а) б) в) г)
• 8.1.4 Л огическое вы р ажение а) б) в) г)
•
Резу ль тат
(1.5*2>=5 EQV SQR(25)>= 6) AND (1-5<= -8 AND 10/2<> 5) (14/2+ 15/3)>=5 AND (5*2>< 20/2 EQV 15-6<=10) (15/5<30 AND –12/4>2^3) OR (10/2><100 AND 16*(-1)<=2^4) (-6*3>=18 AND (11+25)/3< 9*2) EQV ( 5*3 > -20)
8.1.5 49
а) б) в) г)
Л огическое вы р ажение
Резу ль тат
а) (10.5*2>=5 AND SQR(36)>= -6) OR (13+5<= 8 OR -1/2 = .5) б) ( 12/3 - (10+8)>=5) OR (5*2>< 28/2 AND 156<= -10) в) (15*2<=30 AND –32/4>2^3) OR (-50*2>=-100 AND 16*2=2^4) г) (6*5<=13 OR ((11+25)/2 <> 9*2 EQV 5*(-3) > -20 )
а) б) в) г)
• 8.1.6
а) б) в) г)
Л огическое вы р ажение
Резу ль тат
(1.5*10>=5) EQV (25/5 -10<= 6 AND (16-5)*2<= -8 OR 8/2<> 5) (16/2+ 15/3>=5 OR 7*2<= 20/2) AND (15-6<=10) (15/5><30 AND –48/4<=2*3 OR 20/2><10) EQV (16*2<=3^4) (6*3>=18 AND 75/3< 9*2) EQV (- 12*5 => 60)
а) б) в) г)
• 8.1.7 Л огическое вы р ажение
Резу ль тат
а) (-34.5*2>9 AND -97<0) OR (-22*3>=44 OR 14*6>120) б) ("КО Л " EQV "Л О К") OR ("СО РТ " = "Т О РС") в) 996>778 OR (-178<-100 AND 15/3>=5) г) (1/2<> 0.5 OR 1.5=3/2) OR 100-20=<80 д) NOT (6*12 =>48 OR 17*9<>99)
•
д)
8.1.8 Л огическое вы р ажение
а) б) в) г)
а) б) в) г)
Резу ль тат
5*3>=5 AND (25/5 -10<= 6 AND (16-5)*2<= -8 OR 8/2<> 5) 84/2+ 15/3>=5 OR (40*2<> 20/2 AND 15-6<=10) (55/5><30 AND –48/4<=2*3) OR (20/2><10 EQV 16*2<=3^4) 63/3>=18 OR (75/3< 9*2 EQV 12*5 => 60)
а) б) в) г)
8.2 В приведенны х нижеф рагментах программ найдитеош ибки и, если они есть, исправьтеих : 50
Задание8.2.1
• 10 REM В Ы Ч И СЛ Е Н И Е СРЕ Д Н Е ГО А РИ Ф М Е Т И Ч Е СКО ГО 20 REM П О Л О Ж И Т Е Л Ь Н Ы Х Э Л Е М Е Н Т О В Н А Ч Е Т Н Ы Х И 30 REM О Т РИ Ц А Т Е Л Ь Н Ы Х - Н А Н Е Ч Е Т Н Ы Х М Е СТ А Х -------------------------------------------------80 S1=0 : S2=0 90 FOR I=1 TO N STEP 2 100 IF A(I) > 0 THEN S1=S1+A(I) 110 IF A(I+1) < 0 THEN S2=S2+A(I+1) 120 NEXT I 130 PRINT "S1="; S1/N 140 PRINT "S2="; S2/N 150 END
----------------------------------------------------Задание8.2.2 10 REM Ф РА ГМ Е Н Т В Ы Ч И СЛ Е Н И Я СРЕ Д Н Е ГО А РИ Ф М Е Т И Ч Е СК О ГО (SR) 15 REM П О Л О Ж И Т Е Л Ь Н Ы Х Э Л Е М Е Н Т О В , РА СП О Л О Ж Е Н Н Ы Х М Е Ж Д У 20 REM MAX И MIN Э Л Е М Е Н Т А М И В П О СЛ Е Д О В А Т Е Л Ь Н О СТ И А ............................................................. 100 MAX=A(1): MIN=A(1): K=1: L=1 110 FOR I=1 TO N 120 IF A(I)>MAX THEN MAX=A(I): K=I 130 IF A(I)<MIN THEN MIN=A(I): L=I 140 NEXT I 150 S=ABS(K-L): SR=0 155 IF K
0 THEN SR=SR+A(I) 180 NEXT I 190 SR=SR/S 200 PRINT "SR="; SR
Задание8.2.3 10 REM 20 REM 30 REM … … … …
В П О СЛ Е Д О В А Т Е Л Ь Н О СТ И С(N) Н А Й Т И Э Л Е М Е Н Т , З Н А Ч Е Н И Е КО Т О РО ГО М И Н И М А Л Ь Н О СРЕ Д И С(I) > 0. У Д А Л И Т Ь Э Л Е М Е Н Т , СТ О ЯЩ И Й З А Н А Й Д Е Н Н Ы М … … … … … … … … … … … … .
100 K=0 110 FOR I=1 TO N 120 IF K=0 AND C(I) > 0 THEN MIN = C(I) 130 IF C(I) > 0 AND C(I) <= MIN THEN MIN = C(I): K=I 140 NEXT I 150 IF K=N GOTO 190 160 FOR I=K TO N-1 170 C(I) = C(I+1) 180 NEXT I 190 N=N-1 … … … … … … … … … … … … … … … … … … .. 500 END
Задание8.2.4 10 REM В Т А БЛ И Ц Е С(N,N) У Д А Л И Т Ь СТ РО КИ , Н О М Е РА 51
20 REM К О Т О РЫ Х Х РА Н Я Т СЯ В М А ССИ В Е В (К ) ..................................... 200 FOR L = K TO 1 STEP -1 210 FOR I = B(L) TO N-1 220 FOR J = 1 TO M 230 C(I,J) = C(I,J+1) 240 NEXT J 250 N = N-1 260 NEXT I 270 NEXT L ................................ 500 END
Задание8.2.5 10 REM В П О СЛ Е Д О В А Т Е Л Ь Н О СТ И A(N) Н А Й Т И MAX Э Л Е М Е Н Т СРЕ Д И А (I) < 0 20 REM И У Д А Л И Т Ь Э Л Е М Е Н Т , СТ О ЯЩ И Й П Е РЕ Д Н А Й Д Е Н Н Ы М ..................................... 200 K=0 210 FOR I = 1 TO N 220 IF K = 0 AND A(I) < 0 THEN MAX = A(I) 230 IF A(I) < 0 AND A(I) >= MAX THEN MAX = A(I): K = I 240 NEXT I 250 IF K = N GOTO 290 260 FOR I = K TO N-1 270 A(I) = A(I+1) 280 NEXT I 290 N =N - 1 ................................ 500 END
Задание8.2.6 10 REM В Т А БЛ И Ц Е А (N,N), В К А Ж Д О Й СТ РО К Е З А Э Л Е М Е Н Т О М 20 REM ГЛ А В Н О Й Д И А ГО Н А Л И В СТ А В И Т Ь СО О Т В Е Т СТ В У Ю Щ И Й 30 REM Э Л Е М Е Н Т L-О ГО СТ О Л БЦ А , СО Х РА Н И В П О РЯД О К И Х СЛ Е Д О В А Н И Я ....................................... 190 M = N 200 FOR I = 1 TO N 210 FOR J = M TO I+1 STEP -1 220 A(I,J+1) = A(I,J) 230 NEXT J 240 A(I,J) = A(I,I) 250 NEXT I 260 M=M+1 265 FOR I=1 TO N 270 FOR J=1 TO M 280 PRINT A(I,J); 290 NEXT J: PRINT 300 NEXT I .............................. 500 END
Задание8.2.7 10 REM В Т А БЛ И Ц Е А (N,M) П Е РЕ М Е СТ И Т Ь (С О Д Н О В РЕ М Е Н Н Ы М
52
20 REM У Д А Л Е Н И Е М С И СХ О Д Н О ГО М Е СТ А ) СТ РО КИ , 30 REM РА СП О Л О Ж Е Н Н Ы Е Д О К -О Й СТ РО К И , В К О Н Е Ц Т А БЛ И Ц Ы ................................. 190 FOR L=1 TO K 200 FOR J = 1 TO M 210 D = A(L,J) 220 FOR I = 1 TO M 220 A(I,J) = A(I+1,J) 230 NEXT I 240 A(N,J) = D 250 NEXT J 260 NEXT L .................... 500 END
Задание8.2.8 10 REM В Т А БЛ И Ц Е А (N,N) В КА Ж Д О М СТ О Л БЦ Е У Д А Л И Т Ь 20 REM Д И А ГО Н А Л Ь Н Ы Й Э Л Е М Е Н Т ............................................ 200 M = N 210 FOR J = 1 TO N-1 220 FOR I =1 TO M 230 A(I,J) = A(I,J+1) 240 NEXT I 250 NEXT J 260 N=N-1 265 FOR I=1 TO M 270 FOR J=1 TO N 280 PRINT A(I,J); 290 NEXT J: PRINT 300 NEXT I ............................. 500 END
Задание8.2.9 10 REM В М А ССИ В Е С(N) СРЕ Д И Э Л Е М Е Н Т О В , Н Е И М Е Ю Щ И Х СЕ БЕ 20 REM РА В Н Ы Х В М А ССИ В Е B(N), Н А Й Т И М И Н И М А Л Ь Н Ы Й Э Л Е М Е Н Т 200 FOR I=1 TO N 210 FOR J=1 TO N 220 IF C(I) = B(J) GOTO 230 ELSE 260 230 NEXT J 240 MIN=C(I): K=I 250 IF MIN < C(I) THEN MIN=C(I): K=I 260 NEXT I 270 PRINT MIN, K .............. 500 END
Задание8.2.10 10 REM В Т А БЛ И Ц Е А (N,N) В КА Ж Д О М СТ О Л БЦ Е У Д А Л И Т Ь 20 REM Д И А ГО Н А Л Ь Н Ы Й Э Л Е М Е Н Т ............................................ 53
200 M = N 210 FOR J = 1 TO N-1 220 FOR I =1 TO M 230 A(I,J) = A(I,J+1) 240 NEXT I 250 N = N-1 260 NEXT J ............................. 500 END
Задание8.2.11 10 REM В М А ССИ В А Х А (N) И С(N) СРЕ Д И СО В П А Д А Ю Щ И Х П О З Н А Ч Е Н И Ю 20 REM Э Л Е М Е Н Т О В Н А Й Т И М И Н И М А Л Ь Н Ы Й … … … … … … … … … … … … … . 210 FOR I = 1 TO N 220 FOR J = 1 TO N 230 IF A(I) <>C(J) GOTO 260 240 NEXT J 250 GOTO 260 260 MAX=A(I): K=I 270 IF MAX
Задание8.2.12 10 REM В Т А БЛ И Ц Е A(N,N) Э Л Е М Е Н Т Ы СТ РО К И С Н О М Е РО М К П Е РЕ М Е СТ И Т Ь 15 REM (С О Д Н О В РЕ М Е Н Н Ы М У Д А Л Е Н И Е М С П РЕ Ж Н Е ГО М Е СТ А ) Н А М Е СТ О 20 REM П Е РВ О Й СТ РО К И , СО Х РА Н И В П О РЯ Д О К СЛ Е Д О В А Н И Я О СТ А В Ш И Х СЯ СЛ О В
… … … … … … … … … … … 200 IF K = 1 GOTO 500 210 FOR J = 1 TO N 220 FOR I=K TO 1 STEP -1 230 A(I,J)=A(I-1, J) 240 NEXT I 250 NEXT J ................... 500 END
Задание8.2.13 10 REM В Т А БЛ И Ц Е A(N,N) В К А Ж Д О Й СТ РО К Е И З М Е Н И Т Ь П О РЯ Д О К СЛ Е Д О В А Н И Я 15 REM Н А О БРА Т Н Ы Й У Э Л Е М Е Н Т О В , Н А Х О Д ЯЩ И Х СЯ В Ы Ш Е П О БО Ч Н О Й Д И А ГО Н А Л И
… … … … … … … … … … .. 210 FOR I = 1 TO N – 1 220 M = INT ((N –I + 1)/2) 230 FOR J=1 TO M 240 C = A(I,J) : A(I,J)=A(I, N –I –J) : A(I, N –I –J) = C 240 NEXT I 250 NEXT J ................... 500 END
Задание8.2.14 10 REM В Т А БЛ И Ц Е В (N,N) В КА Ж Д О Й СТ РО КЕ И З М Е Н И Т Ь П О РЯ Д О К СЛ Е Д О В А Н И Я 15 REM Н А О БРА Т Н Ы Й У Э Л Е М Е Н Т О В , Н А Х О Д ЯЩ И Х СЯ Н И Ж Е П О БО Ч Н О Й Д И А ГО Н А Л И … … … … … … … … .. 210 FOR I = 2 TO N – 1
54
220 M = INT ((N)/2) 230 FOR J=1 TO M 240 C = B(I, N–I+J) : B(I, N–I+J)=B(I, N–J+1) : A(I, N–J+1) = C 240 NEXT J 250 NEXT I ................... 500 END
Задание8.2.15 10 REM В Т А БЛ И Ц Е С(N,N) У Д А Л И Т Ь СТ РО К И , Н О М Е РА М И К О Т О РЫ Х 20 REM Я В Л Я Ю Т СЯ Э Л Е М Е Н Т Ы М А ССИ В А В (К ) 200 FOR L=K TO 1 STEP -1 210 FOR I=B(I) TO N-1 220 FOR J=1 TO N-1 230 C(I,J) = C(I,J+1) 240 NEXT J 250 N=N-1 260 NEXT I 270 NEXT L .............. 500 END
Задание8.2.16 10 REM В Т А БЛ И Ц Е A(N,N) Э Л Е М Е Н Т Ы СТ О Л БЦ А С Н О М Е РО М L П Е РЕ М Е СТ И Т Ь 15 REM (С О Д Н О В РЕ М Е Н Н Ы М У Д А Л Е Н И Е М С П Е РЖ Н Е ГО М Е СТ А ) Н А М Е СТ О 20 REM П О СЛ Е Д Н Е ГО СТ О Л БЦ А , СО Х РА Н И В П О РЯ Д О К СЛ Е Д О В А Н И Я Д РУ ГИ Х СТ О Л БЦ О В … … … … … … … … .. 210 FOR I = 1 TO N 220 FOR J=L TO N 230 A(I,J)=A(I, J + 1) 240 NEXT J 250 NEXT J ................... 500 END
Задание8.2.17 10 REM У Д А Л Е Н И Е И З П О СЛ Е Д О В А Т Е Л Ь Н О СТ И “А ” 20 REM Э Л Е М Е Н Т О В , СО В П А Д А Ю Щ И Х С Э Л Е М Е Н Т А М И 30 REM В П О СЛ Е Д О В А Т Е Л Ь Н О СТ И “В ” 100 FOR I=1 TO N 110 FOR J=1 TO M 120 IF A(I)<>B(J) GOTO 170 130 FOR K=J TO M-1 140 A(K)=A(K+1) 150 NEXT K 160 N=N-1 170 NEXT J 180 NEXT I 190 FOR I=1 TO N 200 PRINT A(I); 210 NEXT I 220 END
8.3 П роч итайтеприведенны енижепрограммы и запиш итерезультатвы полнения:
55
Задание8.3.1 85 IF A(I,J)>0 THEN MIN=A(I,J):K=I: GOTO 110 90 NEXT I 100 GOTO 150 110 FOR I=K TO N 120 IF A(I,J)>0 AND A(I,J)<MIN THEN MIN=A(I,J) 130 NEXT I 140 L=L+1:B(L)=MIN 150 NEXT J 155 IF L=0 THEN 175 160 FOR I=1 TO L 165 PRINT B(I); 170 NEXT I 175 END
5 N=5 10 DIM A(N,N),B(N) 20 DATA 5,2,-5,7,3 25 DATA 4,7,-7,32,4 30 DATA -1,4,3,7,6 35 DATA 5,9,-4,34,4 40 DATA 3,6,-6,3,7 45 FOR I=1 TO N 50 FOR J=1 TO N 55 READ A(I,J) 60 NEXT J 65 NEXT I 70 L=0 75 FOR J=1 TO N 80 FOR I=1 TO N
Задание8.3.2 5 N=5:M=N 10 DIM A(N),B(M) 20 DATA 5,2,-5,7,3 25 DATA 4,7,-5,32,5 50 FOR I=1 TO M 55 READ A(I) 60 NEXT I 65 FOR I=1 TO M 70 READ B(I) 90 NEXT I 100 FOR I=1 TO M 110 FOR J=N TO 1 STEP -1
120 IF A(J)<>B(I) GOTO 170 125 IF J=N THEN GOTO 160 130 FOR K=J TO N-1 140 A(K)=A(K+1) 150 NEXT K 160 N=N-1 170 NEXT J 180 NEXT I 185 IF N=0 THEN GOTO 220 190 FOR I=1 TO N 200 PRINT A(I); 210 NEXT I 220 END
Задание8.3.3 10 N=4 15 IF N/2=INT(N/2) THEN P=N/2 ELSE P=INT(N/2)+1 20 DIM A(N,N+P) 30 DATA 4,-8,3,5,3,-9,8,8 40 DATA -2,6,0,-1,0,5,1,3 50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(I,J) 80 NEXT J 90 NEXT I 100 IF N/2=INT(N/2) THEN L=N-1 ELSE L=N 110 FOR I= 1 TO N 120 R=A(I,I): Z=0 130 FOR K=L TO 1 STEP –2 140 IF K=N GOTO 180
150 FOR J=N+Z TO K+1 STEP -1 160 A(I,J+1)=A(I,J) 170 NEXT J 180 A(I,K+1)=R:Z=Z+1 190 NEXT K 200 NEXT I 210 IF N/2=INT(N/2) THEN M=N+N/2 ELSE M=N+INT(N/2)+1 220 FOR I=1 TO N 230 FOR J= 1 TOM 240 PRINT A(I,J); 250 NEXT J 260 PRINT 270 NEXT I 280 END
Задание8.3.4 10 N=4:F=0 20 DIM A(N,N+2) 30 DATA 4,-8,3,5,3,-9,8,8 40 DATA -2,6,0,-1,0,5,1,3
200 R=A(I,I) 210 IF F=N GOTO 250 220 FOR J=N TO F+1 STEP -1 230 A(I,J+1)=A(I,J)
56
240 NEXT J 250 A(I,F+1)=R 260 FOR J=N+1 TO F STEP -1 270 A(I,J+1)=A(I,J) 280 NEXT J 290 A(I,F)=R 300 NEXT I 310 M=N+2 320 FOR I=1 TO N 330 FOR J=1 TO M 340 PRINT A(I,J); 350 NEXT J 360 PRINT 370 NEXT I 380 END
50 FOR I=1 TON 60 FOR J=1 TON 70 READ A(I,J) 80 NEXT J 90 NEXT I 100 FOR J=1 TON 110 X=A(1,J) 120 FOR I=2 TON 130 IF A(I,J)<X THEN X=A(I,J) 140 NEXT I 150 IF F=0 AND X<0 THEN Y=X:F=J 160 IF X<0 AND X>Y THEN Y=X:F=J 170 NEXT J 180 IF F=0 GOTO 320 190 FOR I=1 TO N
Задание8.3.5 10 N=10 20 DIM A(N) 30 DATA 3,4,0,2,5,7,0 40 DATA -1,-2,-3,-2,5,7,9 50 FOR I=1 TO N 60 READ A(I) 70 NEXT I 80 K=1: F=0 90 FOR I=1 TO N-1 100 IF A(I)MAX THEN MAX=K: P=N
160 R=P-MAX+1 170 IF S<2=INT(S/2) GOTO 280 180 Z=R+INT(S/2) 190 FOR I=Z TO N-1 200 A(I)=A(I+1) 210 NEXT I 220 N=N-1: S=S-1 230 IF S<2 GOTO 280 240 FOR I=1 TO MAX/2 250 C=A(R+I-1) 260 A(R+I-1)=A(P-I+1): A(P-I+1)=C 270 NEXT I 280 FOR I=1 TON 290 PRINT A(I) 200 NEXT I 300 END
Задание8.3.6 5 N=10 10 DIM A(N) 15 DATA 5,-3,7,2,6 20 DATA -4,2,-5,8,9 25 FOR I=1 TO N 30 READ A(I) 35 NEXT I 36 K=0 40 FOR I=1 TO N 45 IF K=0 AND A(I)>0 THEN MIN=A(I):K=I:GOTO 55 50 IF A(I)>0 AND A(I)<MIN THEN MIN=A(I):K=I 55 NEXT I 60 IF K=0 GOTO 135 65 IF K=1 OR K=N GOTO 175 70 R=A(K) 75 FOR I=K TO N-1 80 A(I)= A(I+1)
85 NEXT I 90 A(N)=R 95 FOR I=1 TO K-1 100 R=A(1) 105 FOR J=1 TO N-1 110 A(J)=A(J+1) 115 NEXT J 120 A(N)=R 125 NEXT I 130 GOTO 160 135 FOR I=1 TO N/2 140 R=A(I) 145 A(I)=A(N-I+1) 150 A(N-I+1)=R 155 NEXT I 160 FOR I=1 TO N 165 PRINT A(I); 170 NEXT I 175 END
Задание8.3.7 10 N=4 20 DIM A(N,N) 30 DATA 3,8,7,6,5,3,9,2 40 DATA 6,5,3,4,2,0,1,3
170 FOR I=2 TO N 180 FOR L=1 TO I-1 190 R=A(I,1) 200 FOR J=1 TO N-1
57
210 A(I,J)=A(I,J+1) 220 NEXT J 230 A(I,N)=R 240 NEXT L 250 NEXT I 260 FOR I=1 TO N 270 FOR J=1 TO N 280 PRINT A(I,J); 290 NEXT J 300 PRINT 310 NEXT I 320 END
50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(I,J) 80 NEXT J 90 NEXT I 100 FOR I= 1 TO N-1 110 R=A(I,I) 120 FOR J=I TO N-1 130 A(I,J)=A(I,J+1) 140 NEXT J 150 A(I,N)=R 160 NEXT I
Задание8.3.8 170 IF I=N GOTO 230 180 FOR K=I TO N-1 190 FOR J= 1 TO M 200 A(K,J)=A(K+1,J) 210 NEXT J 220 NEXT K 230 N=N-1 240 NEXT I 250 IF N=0 GOTO 320 260 FOR I=1 TO N 270 FOR J=1 TO M 280 PRINT A(I,J); 290 NEXT J 300 PRINT 310 NEXT I 320 END
10 N=5:M=N 20 DIM A(N,N) 30 DATA 25,0,-1,5,-2,-5,-8,0,-3,-5,16,-2 40 DATA 16,-6,-4,12,3,12,-3,0,6,8,3,4,-2 50 FOR I=1 TON 60 FOR J=1 TON 70 READ A(I,J) 80 NEXT J 90 NEXT I 100 FOR I=N TO 1 STEP -1 110 SR=0 120 FOR J=1 TO M 130 SR=SR+A(I,J) 140 NEXT J 150 SR=SR/M 160 IF A(I,I)<=SR GOTO 240
Задание8.3.9 10 N=4:F=0 20 DIM A(N,N+2) 30 DATA 4,3,-2,0,-8,-9,6,5 40 DATA 3,8,0,1,5,8,-1,3 50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(J,I) 80 NEXT J 90 NEXT I 100 FOR J=1 TO N 110 X=A(1,J) 120 FOR I=2 TO N 130 IF A(I,J)<X THEN X=A(I,J) 140 NEXT I 150 PRINT “X в” ;J; ” столбце=“; X 160 IF F=0 AND X<0 THEN Y=X:F=J 170 IF X<0 AND X>Y THEN Y=X:F=J 180 NEXT J 190 IF F=0 THEN PRINT “у х од ” :GOTO 340 200 PRINT “F=“;F,” Y=“;Y
210 FOR I=1 TO N 220 R=A(I,I) 230 IF F=N GOTO 270 240 FOR J=N TO F+1 STEP -1 250 A(I,J+1)=A(I,J) 260 NEXT J 270 A(I,F+1)=R 280 FOR J=N+1 TO F STEP -1 290 A(I,J+1)=A(I,J) 300 NEXT J 310 A(I,F)=R 320 NEXT I 330 M=N+2 340 FOR I=1 TO N 350 FOR J=1 TO M 360 PRINT A(I,J); 370 NEXT J 380 PRINT 390 NEXT I 400 END
Задание8.3.10 10 N=4:M=N:K=0 20 DIM A(N,N), C(N) 30 DATA 4,3,12,-6,0,0,3,-8 40 DATA -1,10,4,9,-5,4,25,6
200 IF C(L)=M GOTO 260 210 FOR J=C(L) TO M-1 220 FOR I=1 TO N 230 A(I,J)=A(I,J+1)
58
240 NEXT I 250 NEXT J 260 M=M-1 270 NEXT L 280 IF M<>0 THEN 350 ELSE 410 290 FOR I=1 TO N-1 300 FOR J=1 TO M 310 A(I,J)=A(I+1,J) 320 NEXT J 330 NEXT I 340 N=N-1 350 PRINT “П РЕ О БРА З О В А Н Н Ы Й М А ССИ В ” 360 FOR I=1 TO N 370 FOR J=1 TO M 380 PRINT A(I,J); 390 NEXT J 395 PRINT 400 NEXT I 410 END
50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(J,I) 80 NEXT J 90 NEXT I 100 FOR I=1 TO N 110 X1=A(I,1): X2=A(1,I) 120 FOR J=2 TO N 130 IF A(I,J)>X1 THEN X1=A(I,J) 140 IF A(J,I)>X2 THEN X2=A(J,I) 150 NEXT J 160 IF X1<X2 THEN K=K+1:C(K)=I 170 NEXT I 172 IF K=0 GOTO 290 173 FOR I=1 TO K 175 PRINT C(I); 177 NEXT I 180 PRINT 190 FOR L=K TO 1 STEP -1
Задание8.3.11 10 N=10:M=N:K=0 20 DIM A(N),B(INT(3*N/2)),C(N) 30 DATA 5,5,7,9,0,2,6,7,8,3 40 DATA 5,3,0,0,7,4,1,0,5,4 50 FOR I=1 TO N 60 READ A(I),B(I) 70 NEXT I 80 FOR I=1 TO N 90 FOR J=1 TO N 100 IF A(I)=B(J) THEN K=K+1:C(K)=I: GOTO 120 110 NEXT J 120 NEXT I 130 IF K<=N/2 GOTO 380 140 FOR L=K TO 1 STEP -1 150 IF C(L)=N GOTO 190 160 FOR I=C(L) TO N-1 170 A(I)=A(I+1) 180 NEXT I 190 N=N-1 200 NEXT L 201 IF N=0 GOTO 410 203 FOR I=1 TO N 204 PRINT A(I); 206 NEXT I
208 PRINT 210 SR=0 220 FOR I=1 TO N 230 SR=SR+A(I) 240 NEXT I 250 SR=SR/N 260 MIN=ABS(SR-B(1)):L=1 270 FOR I=2 TOM 280 IF ABS(SR-B(I))<MIN THEN MIN=ABS(SRB(I)):L=I 290 NEXT I 295 PRINT “L=“;L 300 IF L=M GOTO 340 310 FOR I=M TO L+1 STEP –1 320 B(I+N)=B(I) 330 NEXT I 340 M=M+N 350 FOR I=1 TO N 360 B(L+I)=A(I) 370 NEXT I 375 PRINT “М А ССИ В В ” 380 FOR I=1 TO M 390 PRINT B(I); 400 NEXT I 410 END
Задание8.3.12 10 N=4:M=N:K=0 20 DIM A(N,N), C(N) 30 DATA 6, 1, 0, -3, 5, 7, -2, 13 40 DATA 6, 0, 4, -8, 12, 3, 5, 10 50 FOR I=1 TO N
200 IF C(L)=M GOTO 260 210 FOR J=C(L) TO M-1 220 FOR I=1 TO N 230 A(I,J)=A(I,J+1) 240 NEXT I 59
250 NEXT J 260 M=M-1 270 NEXT L 280 IF M<>0 THEN 350 ELSE 410 290 FOR I=1 TO N-1 300 FOR J=1 TO M 310 A(I,J)=A(I+1,J) 320 NEXT J 330 NEXT I 340 N=N-1 350 PRINT “П РЕ О БРА З О В А Н Н А Я Т А БЛ И Ц А A(” ; N; ” ,” ; M;” )” 360 FOR I=1 TO N 370 FOR J=1 TO M 380 PRINT A(I,J); 390 NEXT J 395 PRINT 400 NEXT I 410 END
60 FOR J=1 TO N 70 READ A(J,I) 80 NEXT J 90 NEXT I 100 FOR I=1 TO N 110 P1=A(I,1): P2=A(1,I) 120 FOR J=2 TO N 130 IF A(I,J)>P1 THEN P1=A(I,J) 140 IF A(J,I)>P2 THEN P2=A(J,I) 150 NEXT J 160 IF P1
Задание8.3.13 10 N=4:F=0 20 DIM A(N,N+2) 30 DATA 6, 2, 1, 0, 3, 2, 8, 9 40 DATA 4, 5, 0, -3, 8, 5, 9, 8 50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(J,I) 80 NEXT J 90 NEXT I 100 FOR J=1 TO N 110 X=A(1,J) 120 FOR I=2 TO N 130 IF A(I,J)<X THEN X=A(I,J) 140 NEXT I 150 PRINT “ встолбце” ; J ; “Х =” ; Х 160 IF F=0 AND X>0 THEN Y=X: F=J 170 IF X>0 AND X
210 FOR I=1 TO N 220 R=A(I,I): PRINT R; 230 IF F=N GOTO 270 240 FOR J=N TO F+1 STEP -1 250 A(I,J+1)=A(I,J) 260 NEXT J 270 A(I,F+1)=R 280 FOR J=N+1 TO F STEP -1 290 A(I,J+1)=A(I,J) 300 NEXT J 310 A(I,F)=R 320 NEXT I 330 M=N+2 331 PRINT 335 PRINT “П РЕ О БРА З О В А Н Н А Я Т А БЛ И Ц А ” 340 FOR I=1 TO N 350 FOR J=1 TO M 360 PRINT A(I,J); 370 NEXT J 380 PRINT 390 NEXT I 400 END
Задание8.3.14 10 N=10: M=N: K=0 20 DIM C(N),D(2*N) 30 DATA 2, 2, 6, 8, 8, 7, 3, 0, 4, 7 40 DATA 2, 1, 8, 3, 5, 10, 3, 8, 6, 4 50 FOR I=1 TO N
245 FOR I=1 TOM 246 PRINT D(I); 247 NEXT I 248 PRINT 250 MAX=D(1)+D(2):K1=1:K2=2 60
260 FOR I=1 TO M-1 270 FOR J=I+1 TO M 280 IF D(I)+D(J)>MAX THEN MAX=D(I)+D(J): K1=I:K2=J 290 NEXT J 300 NEXT I 305 PRINT K1, K2, D(K1), D(K2) 310 S=K2-K1-1 320 IF S=0 GOTO 380 330 FOR I=K1+1 TO M-S 340 D(I)=D(I+S) 350 NEXT I 360 M=M-S 370 PRINT “Л И Н Е Й Н Ы Й М А ССИ В D” 380 FOR I=1 TO M 390 PRINT D(I); 400 NEXT I 410 END
60 READ C(I),D(I) 70 NEXT I 80 FOR I=1 TO N 90 FOR J=1 TO N 100 IF C(I)=D(J) THEN K=K+1:GOTO 120 110 NEXT J 120 NEXT I 130 IF KD(J) THEN L=L+1: D(L)=D(J) 220 NEXT J 230 M=L 240 NEXT I
Задание8.3.15 10 N=10:M=N:K=0 20 DIM A(N),B(2*N) 30 DATA 5,6,7,2,0,1,6,3,8,8 40 DATA 5,4,0,9,7,2,1,2,5,3 50 FOR I=1 TO N 60 READ A(I),B(I) 70 NEXT I 80 FOR I=1 TO N 90 FOR J=1 TO N 100 IF A(I)=B(J) THEN K=K+1:GOTO 120 110 NEXT J 120 NEXT I 130 IF K>N/2 GOTO 370 140 FOR I=1 TO N 150 B(N+I)=A(I) 160 NEXT I 170 M=2*N 180 FOR I=1 TO N 190 L=I 200 FOR J=I+1 TO M 210 IF B(I)<>B(J) THEN L=L+1: B(L)=B(J) 220 NEXT J 230 M=L 240 NEXT I
245 FOR I=1 TOM 246 PRINT B(I); 247 NEXT I 248 PRINT 250 MAX=B(1)+B(2):K1=1:K2=2 260 FOR I=1 TO M-1 270 FOR J=I+1 TO M 280 IF B(I)+B(J)>MAX THEN MAX=B(I)+B(J): K1=I:K2=J 290 NEXT J 300 NEXT I 310 S=K2-K1-1 320 IF S=0 GOTO 380 330 FOR I=K1+1 TO M-S 340 B(I)=B(I+S) 350 NEXT I 360 M=M-S 370 PRINT “М А ССИ В В ” 380 FOR I=1 TO M 390 PRINT B(I); 400 NEXT I 410 END
Задание8.3.16 10 N=4:F=0 20 DIM A(N,N+2) 30 DATA 4,3,-2,0,-8,-9,6,5 40 DATA 3,8,0,1,5,8,-1,3 50 FOR I=1 TO N 60 FOR J=1 TO N
210 FOR I=1 TO N 220 R=A(I,I) 230 IF F=N GOTO 270 240 FOR J=N TO F+1 STEP -1 250 A(I,J+1)=A(I,J) 260 NEXT J 61
270 A(I,F+1)=R 280 FOR J=N+1 TO F STEP -1 290 A(I,J+1)=A(I,J) 300 NEXT J 310 A(I,F)=R 320 NEXT I 330 M=N+2 340 FOR I=1 TO N 350 FOR J=1 TO M 360 PRINT A(I,J); 370 NEXT J 380 PRINT 390 NEXT I 400 END
70 READ A(J,I) 80 NEXT J 90 NEXT I 100 FOR J=1 TO N 110 X=A(1,J) 120 FOR I=2 TO N 130 IF A(I,J)<X THEN X=A(I,J) 140 NEXT I 150 PRINT “X в” ;J; ” столбце=“; X 160 IF F=0 AND X<0 THEN Y=X:F=J 170 IF X<0 AND X>Y THEN Y=X:F=J 180 NEXT J 190 IF F=0 THEN PRINT “у х од ” :GOTO340 200 PRINT “F=“;F,” Y=“;Y
Задание8.3.17 10 N=10:M=N:K=0 20 DIM A(N),B(INT(3*N/2)),C(N) 30 DATA 3, 7, 3, 4, 7, 5, 4, 4, 2, 9 40 DATA 6, 8, 6, 10, 5, 4, 2, 7, 4, 5 50 FOR I=1 TO N 60 READ A(I),B(I) 70 NEXT I 80 FOR I=1 TO N 90 FOR J=1 TO N 100 IF A(I)=B(J) GOTO 120 110 NEXT J 115 K=K+1: C(K)=I 120 NEXT I 130 IF K<=N/2 GOTO 380 140 FOR L=K TO 1 STEP -1 150 IF C(L)=N GOTO 190 160 FOR I=C(L) TO N-1 170 A(I)=A(I+1) 180 NEXT I 190 N=N-1 200 NEXT L 201 IF N=0 GOTO 410 202 PRINT “Л И Н Е Й Н Ы Й М А ССИ В А ” 203 FOR I=1 TO N 204 PRINT A(I); 206 NEXT I
208 PRINT 210 SR=0 220 FOR I=1 TO N 230 SR=SR+A(I) 240 NEXT I 250 SR=SR/N 260 MIN=ABS(SR-B(1)):L=1 270 FOR I=2 TOM 280 IF ABS(SR-B(I))<MIN THEN MIN=ABS(SRB(I)):L=I 290 NEXT I 295 PRINT “L=“;L , “Э Л Е М Е Н Т =” ; B(L) 300 IF L=M GOTO 340 310 FOR I=M TO L+1 STEP –1 320 B(I+N)=B(I) 330 NEXT I 340 M=M+N 350 FOR I=1 TO N 360 B(L+I)=A(I) 370 NEXT I 375 PRINT “Л И Н Е Й Н Ы Й М А ССИ В В ” 380 FOR I=1 TO M 390 PRINT B(I); 400 NEXT I 410 END
Задание8.3.18 10 N=4:M=N:K=0 20 DIM A(N,N),C(N) 30 DATA 4,0,-1,-5,3,0,10,4 40 DATA 12,3,4,25,6,-8,9,6 50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(I,J) 80 NEXT J
190 FOR L=K TO 1 STEP -1 200 IF C(L)=M GOTO 260 210 FOR J=C(L) TO M-1 220 FOR I=1 TO N 230 A(I,J)=A(I,J+1) 240 NEXT I 250 NEXT J 260 M=M-1 62
270 NEXT L 280 IF M=0 THEN 350 290 FOR I=1 TO N 300 FOR J=1 TOM 310 PRINT A(I,J); 320 NEXT J 330 PRINT 340 NEXT I 350 END
90 NEXT I 100 FOR I=1 TO N 110 X1=A(I,1):X2=A(1,I) 120 FOR J=2 TO N 130 IF A(I,J)>X1 THEN X1=A(I,J) 140 IF A(J,I)>X2 THEN X2=A(J,I) 150 NEXT J 160 IF X1<X2 THEN K=K+1:C(K)=I 170 NEXT I 180 IF K=0 GOTO 290
Задание8.3.19 180 FOR I=1TO M 190 FOR J=1 TO M 200 IF I=J GOTO 220 210 IF C(I)=C(J) GOTO 250 220 NEXT J 230 IF F=0 THEN X=C(I): Y=C(I): F=I: F1=I 240 IF C(I)>X THEN X=C(I): F=I 250 IF C(I)
10 N=18 20 M=INT(SQR(N)) 30 DIM A(N), B(M,M), C(M) 40 DATA 0,1,7,9,5,4,8,1,6 50 DATA 9,0,3,1,0,4,5,2,1 60 FOR I=1 TO N 70 READ A(I) 80 NEXT I 90 FOR I=1 TO M 100 FOR J=1 TO M 110 B(I,J)=A((I-1)*M+J) 120 NEXT J 130 NEXT I 140 FOR I+1 TO M 150 C(I)=B(I,M-I+1) 160 NEXT I 170 F=0
Задание8.3.20 10 N=16 20 DIM A(N) 30 DATA 3,0,0,5,0,0,0,4 40 DATA 3,5,1,-1,0,4,3,5 50 FOR I=1 TO N 60 READ A(I) 70 NEXT I 80 FOR I=N TO 2 STEP -1 90 IF A(I)=0 AND A(I-1)=0 THEN 100 ELSE 150 100 IF I=N GOTO 140 110 FOR J=I TO N-1 120 A(J)=A(J+1) 130 NEXT J 140 N=N-1 150 NEXT I 160 L=0:K=0
170 FOR I=1 TO N 180 IF A(I)=0 GOTO 210 190 NEXT I 200 PRINT “Резу ль тата нет”: GOTO 310 210 IF I=N THEN PRINT “Резу ль тата нет”: GOTO 310 220 FOR J=P+1 TO N 230 IF A(J)<>0 THEN K=K+1: GOTO 260 240 IF L=0 THEN MAX=K: R1=J-1: K=0: L=1 250 IF K>MAX THEN MAX=K:R1=J-1: K=0 260 NEXT J 270 IF L=0 THEN PRINT ” Резу ль тата нет”: GOTO 310 280FOR I=R1-MAX+1 TO R1 290 PRINT A(I); 300 NEXT I 310 END
Задание8.3.21 10 N=4 20 DIM A(N,N), X(INT(N/2)) 30 DATA 3,0,5,1,7,9,0,8 40 DATA 6,12,5,4,3,0,6,8 50 FOR I=1 TO N 60 FOR J=1 TO N 70 READ A(I,J) 80 NEXT J 90 NEXT I 100 K=0: M=N
200 IF MAX2>MAX1 THEN K=K+1: X(K)=I 210 NEXT I 220 IF K0 THEN 230 ELSE 380 230 FOR L=K TO1 STEP -1 240 IF X(L)=N GOTO 300 250 FOR I=X(L) TO N-1 260 FOR J=1 TO M 270 A(I,J)=A(I+1,J) 280 NEXT J 63
290 NEXT I 300 N=N-1 310 NEXT L 320 FOR I=1 TO N 330 FOR J=1 TO M 340 PRINT A(I,J); 350 NEXT J 360 PRINT 370 NEXT I 380 END
110 FOR I=2 TO N STEP 2 120 MAX1=A(I-1,1)+A(I-1,2): MAX2=A(I,1)+A(I,2) 130 FOR J=1 TO N-1 140 FOR L=J+1 TO N 150 P1=A(I-1,J)+A(I-1,L): P2=A(I,J)+A(I,L) 160 IF P1>MAX1 THEN MAX1=P1 170 IF P2>MAX2 THEN MAX2=P2 180 NEXT L 190 NEXT J
Задание8.3.22 220 NEXT L 230 FOR L=1 TO K1-1 240 FOR J=1 TO M 250 B(J)=A(N-K2+1,J) 260 NEXT J 270 FOR I=N-K2+1 TO N-1 280 FOR J=1 TO M 290 A(I,J)=A(I+1,J) 300 NEXT J 310 NEXT I 320 FOR J=1 TOM 330 A(N,J)=B(J) 340 NEXT J 350 NEXT L 360 FOR I=1 TO N 370 FOR J=1 TOM 380 PRINT A(I,J); 390 NEXT J 400 PRINT 410 NEXT I 420 END
10 N=6:M=3:K1=3:K2=4 20 DIM A(N,M), B(M) 30 DATA 0,1,0,2,0,2,1,3,9 40 DATA 5,4,3,4,3,4,5,6,5 50 FOR I=1 TO N 60 FOR J=1 TO M 70 READ A(I,J) 80 NEXT J 90 NEXT I 100 FOR L=1 TO N-K2 110 FOR J=1 TO M 120 B(J)=A(N,J) 130 NEXT J 140 FOR I=N TO 2 STEP -1 150 FOR J= 1 TO M 160 A(I,J)=A(I-1,J) 170 NEXT J 180 NEXT I 190 FOR J=1 TO M 200 A(1,J)=B(J) 210 NEXT J
8.4 П риведенны енижеэлементы данны х язы ка Б ейсик, в случ ае правильногоих представления, запиш и в таблиц у в соответствии с типами Задание8.4.1 а) KARAT$ б) -175.9 в) + FF-34% г) +54% д) -99.995 е) +.915 ж) DDK%(I) з) KURS$(3)
Э лементы данны х язы ка Ц елы е В ещ ественны е
Т екстовы е
8.5 В приведенны х нижепримерах использования операторов язы каБ ейсик найдитеош ибки и, е сли они есть, исправьтеих : Задание8.5.1 а) 10 DIM F(M,N), DIM A(50)$, C% (T,R) б) 10 DATA И В А Н О В , М А СТ Е Р, 1945 20 READ S, B, G в) 10 F = М А Т Е М А Т И КА : S = 9,35 г) 20 INPUT “В В Е Д И Н А З В А Н И Е Л Ю БИ М О Й К Н И ГИ , ГО Д И З Д А Н И Я ” ; GOD; BOOK
а) б) в) г)
64
Задание8.5.2 а) 10 INPUT “В В Е Д И СВ О Й А Д РЕ С: У Л И Ц У , Н О М Е Р Д О М А И КВ А РТ И РЫ ” ; UL, DOM, KVART б) 10 DIM S2R; L(50)$, DIM B(T,R)% в) 10 P = Э К З А М Е Н ; D = 15,8; L = C+K г) 10 MAX=C(K), PRINT MAX
а) б) в) г)
Задание8.5.3 а) 10 DIM F%(M,N); DIM A(50)$; C%(T,R) б) 10 M = 3: T=5%: R=65,23 в) 10 DATA 1,5,Э К О Н О М Ф А К 20 READ KURS, FAK, GRUP г) 10 2F = К А Н И К У Л Ы : S = Л Е Т О
а) б) в) г)
Задание8.5.4 а) 10 DATA Э кзамен; 1998; 11-12-13 20 READ R, L, S б) INPUT “В веди ф аку ль т ет” ; FAK;” номер GRUP; “ку р с” ; KURS в) 10 DIM 5F(M,N$); DIM 2C3(100), W(T,R)% г) 5R = М А Т Е М А Т И К А ; D = 354%
а)
гр у ппы
”;
в) г)
Задание8.5.5 а) 1S25 = СО Ч И Н Е Н И Е : Q3= Л И Т Е РА Т У РА … … … … … … … б) 10 DIM G4(M:N)%, DIM K(40)$, Z6(T;L) в) 10 DATA 17 И Ю Л Я ; 1998; Э К З А М Е Н … … … … … … … … … 20 READ K; GOD; IMIA г) 10 M$4 = -3; T12=245; DR=-65,13
а) б) .в) г)
Задание8.5.6 а) 10 INPUT “В веди э лементы массива А и С” ; A(I); C(I) б) 10 DIM 2R(M,N); C(20)$; C%(T,R) в) 10 P = И Н Ф О РМ А Т И К А : S% = 5,05 г) 10 PRINT “В В Е Д И Ф А М И Л И Ю ” ; FAM, “ГО Д РО Ж Д Е Н И Я ” ; GOD
а) б)
в) г)
Задание8.5.7 а) 10 INPUT “Ф амилию писат еля” ; FAM;… … … а) “Н азваниер омана” ; ROMAN; “Год
издания” ; GOD б) 10 13M=-2.5, N3=3; DIM R%(M;N) в) 10 DIM GOL(M)1$; C(10:5): D%(T,R) г) 10 P5 = Л О ГА РИ Ф М : S%6 = -13,05
б) в) г)
Задание8.5.8
65
б)
а) 10 DIM F(M,N)%, DIM A(50)$, C(M,N) б) 10 DATA Ф А М И Л И Я, П РО Ф Е ССИ Я , 1965 20 READ F, P, G в) 10 F$ = М А Т Е М А Т И К А : S = 14,35 г) 20 INPUT “В В Е Д И Н А З В А Н И Е Л Ю БИ М О Й П Е СН И , Ф А М И Л И Ю П Е В Ц А ” ; GOD; FAM
а) б) в) г)
Задание8.5.9 а) 10 INPUT “В В Е Д И СВ О Й А Д РЕ С: ГО РО Д , У Л И Ц У , Н О М Е Р Д О М А ” ; GOR; UL; DOM б) 10 DIM 5S2R; L3(10)$, DIM B3(N,M)% в) 10 P = И СП Ы Т А Н И Е ; D = -15,8; L+ C=K г) 10 C(K) = MAX, PRINT MAX
а) б) в) г)
Задание8.5.10 а) INPUT “В
веди названиегор ода, ф амилию , год р ождения ” ; GOR; FAM; GOD
а)
б) 10 DIM 1F(M;N$); DIM C23(50), C(T,R)% в) 5R = КО Н К У РС; D = 17-07-98 г) 10 DATA 25; 14.14; 43-15-47 20 READ F, D, K
б) в) г)
8.6 Запиш итерезультатвы полнения следую щ егооператора PRINT: Задание8.6.1 100 PRINT 55;22;33: PRINT 55,,22,,33 110 PRINT 55,22;33, : PRINT 55,22,33
Задание8.6.2 10 PRINT –3; 13; 23,: PRINT 3, -13, -23 20 PRINT 33, “Z” ; “E” ; “R” ; “O” , 30 PRINT –17; 3; 5: PRINT 1,, 2,, 3
Задание8.6.3 10 PRINT –1; -11,, -111,: PRINT 1, 11, 111 20 PRINT 22, “SSS” ; “EEE” ; “RRR” 30 PRINT –27; 23; 25;: PRINT 1,, 2,,3
Задание8.6.4 10 PRINT –1, -11,, -111;: PRINT 1; 11; 111 20 PRINT 55, “Т ” ; “Е ” ; “С” ; “Т ” 30 PRINT –77;; 22, -55,: PRINT -1, -2,-3
Задание8.6.5 100 PRINT 15,21;13, : PRINT 15,21,13 110 PRINT 15;21;13, : PRINT 15,21,13
66
Задание8.6.6 10 PRINT 7, 17; 27;: PRINT -7, ,-17; -27 20 PRINT -7, “М ” ; “О ” , -17, “Р” ; “Е ” 30 PRINT –37, 47, 57: PRINT 44,, 22,,33
8.7 О пределитесистемусч исления, в которой имеетместоравенство: Задание8.7.1 11101(x) –11010(x) = D(16)
Задание8.7.2 110(x) –11(x) –1101(x) = -35(8)
Задание8.7.3 101(x) –10(x) + 110(x) = 21(16)
Задание8.7.4
log4 121(x) = 3
Задание8.7.5
log2128 = 11(X)
Задание8.7.6
log2 256 =210(x) Задание8.7.8
log 11(x) 125 = 3 8.8 П ереведитеч ислоиздесятич ной системы сч исления в восьмерич ную с точ ностью до3-х знаков послезапятой: Задание8.8.1 456,145 (10) = ? (8) Задание8.8.2 976,412 (10) = ?(16) 9 П РИ М Е РЫ РЕ Ш Е Н И Я Н Е К О Т О РЫ Х ЗА Д А Ч 1. Составить пр огр амму , котор ая р еализу еталгор итм вклю чения столбца из э лементовглавной диагонали за столбцом, содер жащ им максималь ны й э лементквадр атной N x N таблицы А . П рограммареш ения задач и 67
10 INPUT N 20 DIM A(N,N+1) 30 FOR I=1 TO N 40 FOR J=1 TO N 50 INPUT A(I,J) 60 NEXT J 70 NEXT I 80 REM П О И СК СТ О Л БЦ А С М А К СИ М А Л Ь Н Ы М Э Л Е М Е Н Т О М Т А БЛ И Ц Ы 90 MAX=A(1,1):K=1 100 FOR I=1 TO N 110 FOR J=1 TO N 120 IF A(I,J)>MAX THEN MAX=A(I,J):K=J 130 NEXT J 140 NEXT I 150 REM В К Л Ю Ч Е Н И Е СТ О Л БЦ А З А К -Ы М СТ О Л БЦ О М 160 FOR I=1 TO N 170 R=A(I,I) 180 IF K=N GOTO 220 190 FOR J=N TO K+1 STEP -1 200 A(I,J+1)=A(I,J) 210 NEXT J 220 A(I,K+1)=R 230 NEXT I 240 M=N+1 250 REM В Ы В О Д Т А БЛ И Ц Ы 260 FOR I=1 TO N 270 FOR J=1 TO M 280 PRINT A(I,J); 290 NEXT J 300 PRINT 310 NEXT I 320 END
2.Д ан линейны й числовой массивC из N э лементови точность вы числения Е . П р инявмаксималь ны й и минималь ны й э лементы массива С за концы отр езка [a, b], вы числить методом деления отр езка пополам кор ень у р авнения F(x) = 0 следу ю щ его вида: 21 x 2 −4 x +10
− x2 + 4x − 6 = 0 .
И з вы числяемы х значений ф у нкции F(x) вточках последователь ного деления отр езка [a, b] пополам сф ор мир овать линейны й массивD. В массивеC найти э лемент, ближайш ий по значению к найденному кор ню . П р еобр азовать последователь ность С, вклю чивпер ед найденны м э лементом теэ лементы из последователь ности D, вкотор ы х знак ф у нкции совпадаетсо знаком вточке"а". З а найденны м э лементом вклю чить теэ лементы из последователь ности D, вкотор ы х знак ф у нкции совпадаетсознаком вточке"b". П р еобр азованны й массивС, а такжесф ор мир ованны й массивD вы дать на э кр ан вдвестр оки. 68
П р имечание: если за количество ш аговр азбиения отр езка [a, b] пополам, р авное1000, точность Е бу детнедостигну та, тополу ченноепоследнеезначениеX1=(a+b)/2 пр инять за пр иближенноезначениекор ня. П рограммареш ения задач и 10 INPUT N 20 DIM C(N+1000), D(1000) 30 FOR I=1 TO N 40 INPUT C(I) 50 NEXT I 60 REM П О И СК MAXC И MINC 70 MAXC=C(1):MINC=C(1):K=0 80 FOR I=2 TO N 90 IF C(I)>MAXC THEN MAXC=C(I) 100 IF C(I)<MINC THEN MINC=C(I) 110 NEXT I 120 A=MINC: B=MAXC 130 IF A^2-4*A+10=0 OR B^2-4*B+10=0 THEN PRINT "З Н А М Е Н А Т Е Л Ь =0": GOTO 610 140 FA=21/(A^2-4*A+10)-A^2+4*A-6:FB=21/(B^2-4*B+10)-B^2+4*B-6 150 IF FA*FB>0 THEN PRINT "В Н У Т РИ И Н Т Е РВ А Л А Н Е Т КО РН Я ":GOTO 610 160 IF FA=0 THEN PRINT "КО РЕ Н Ь =";A: GOTO 610 170 IF FB=0 THEN PRINT "К О РЕ Н Ь =";B: GOTO 610 180 INPUT "В В Е Д И Т Е Т О Ч Н О СТ Ь В Ы Ч И СЛ Е Н И Я "; E 190 F1=FA 200 X1=(A+B)/2 210 F2=21/(X1^2-4*X1+10)-X1^2+4*X1-6:K=K+1:D(K)=F2 220 IF F2=0 THEN X=X1: GOTO 260 230 IF F1*F2<0 THEN B=X1 ELSE A=X1:F1=F2 240 IF B-A>2*E AND K<100 GOTO 200 250 X=(A+B)/2 260 PRINT "К О РЕ Н Ь ="; X 270 REM П О И СК Э Л Е М Е Н Т А В C(N) БЛ И Ж А Й Ш Е ГО К Х 280 MIN=ABS(C(1))-X):L=1 290 FOR I=2 TO N 300 IF ABS (C(I)-X)<MIN THEN MIN=ABS(C(I)-X):L=I 310 NEXT I 320 REM В К Л Ю Ч Е Н И Е Э Л Е М Е Н Т О В И З D В C П О У СЛ О В И Ю 330 M=N 340 REM В К Л Ю Ч Е Н И Е Э Л Е М Е Н Т О В З А Э Л Е М Е Н Т О М С Н О М Е РО М L 350 FOR I=1 TO K 360 IF D(I)*FB< =0 GOTO 430 370 IF L=M THEN C(N+1)=D(I):GOTO 420 380 FOR J=N TO L+1 STEP -1 390 C(J+1)=C(J) 400 NEXT J 410 C(L+1)=D(I) 420 N=N+1 430 NEXT I 440 REM В К Л Ю Ч Е Н И Е Э Л Е М Е Н Т О В П Е РЕ Д Э Л Е М Е Н Т О М С Н О М Е РО М L 450 FOR I=1 TO K 460 IF D(I)*FA< =0 GOTO 520 470 FOR J=N TO L STEP -1 480 C(J+1)=C(J) 490 NEXT J 500 C(L)=D(I) 510 N=N+1 520 NEXT I
69
530 REM В Ы В О Д М А ССИ В О В С И D В Д В Е СТ РО КИ 540 FOR I=1 TO N 550 PRINT C(I); 560 NEXT I 570 PRINT 580 FOR I=1 TO K 590 PRINT D(I); 600 NEXT I 610 END
3. Д аны линейны емассивы В и С из N э лементовкажды й. Сф ор мир овать из э лементовС квадр атну ю таблицу А максималь но возможны х р азмер ов. Ф ор мир ованиевы полнить таким обр азом, чтобы на побочной диагонали стояли толь ко теэ лементы С, котор ы еесть вВ . Н айти строку , у котор ой ср еднее ар иф метическое э лементов, стоящ их до главной диагонали, минималь но. Н айденну ю стр оку пер еместить ввер х таблицы , сох р анивпор ядок следования осталь ны х . П р еобр азованну ю таблицу вы дать на дисплей постр очно. П рограммареш ения задач и 10 REM Ф О РМ И РО В А Н И Е К В А Д РА Т Н О Й Т А БЛ И Ц Ы 20 INPUT "N="; N 25 IF N < 4 THEN PRINT : GOTO 20 30 M = INT(SQR(N)) 40 DIM B(N), C(N) 50 FOR I = 1 TO N 60 INPUT B(I), C(I) 70 NEXT I 75 REM О П РЕ Д Е Л Е Н И Е К О Л И Ч Е СТ В А Э Л Е М Е Н Т . П О БО Ч Н О Й Д И А ГО Н А Л И 80 L = 0 90 FOR I = 1 TO N 100 FOR J = 1 TO N 110 IF C(I) = B(J) THEN L = L + 1: GOTO 130 120 NEXT J 130 NEXT I 140 IF L <= 1 THEN PRINT : GOTO 610 150 IF L < M THEN M = L 160 DIM A(M, M) 165 REM Ф О РМ И РО В А Н И Е П О БО Ч Н О Й Д И А ГО Н А Л И 170 N1 = N 180 FOR I = 1 TO M 190 FOR J = N TO 1 STEP -1 200 FOR K = 1 TO N1 210 IF C(J) <> B(K) GOTO 280 220 A(I, M - I + 1) = C(J) 230 IF J = N GOTO 270 240 FOR JK = J TO N - 1 250 C(JK) = C(JK + 1) 260 NEXT JK 270 N = N - 1: GOTO 300 280 NEXT K 290 NEXT J 300 NEXT I 305 REM Ф О РМ И РО В А Н И Е Т А БЛ И Ц Ы 70
310 L = 0 320 FOR I = 1 TO M 330 FOR J = 1 TO M 340 IF J = M - I + 1 GOTO 360 350 L = L + 1: A(I, J) = C(L) 360 NEXT J 370 NEXT I 375 REM П О И СК СТ РО К И 380 FOR I = 2 TO M 390 S = 0 400 FOR J = 1 TO I - 1 410 S = S + A(I, J) 420 NEXT J 425 SR = S / (I - 1) 430 IF I = 2 THEN MIN = SR: K = I 440 IF SR < MIN THEN MIN = SR: K = I 450 NEXT I 460 REM П Е РЕ М Е Щ Е Н И Е СТ РО К И 470 FOR J = 1 TO M 480 P = A(K, J) 490 FOR I = K TO 2 STEP -1 500 A(I, J) = A(I - 1, J) 510 NEXT I 520 A(1, J) = P 530 NEXT J 540 PRINT 550 FOR I = 1 TO M 560 FOR J = 1 TO M 570 PRINT A(I, J); 580 NEXT J 590 PRINT 600 NEXT I 610 END
4 В каждой стр океквадр атной таблицы А р азмер ом N × N изменить на обр атны й пор ядок следования э лементов, стоящ их до э лемента главной диагонали и стоящ их за э тим э лементом. П р еобр азованну ю таблицу вы дать на дисплей постр очно. П рограммареш ения задач и 10 REM П РЕ О БРА З О В А Н И Е К В А Д РА Т Н О Й Т А БЛ И Ц Ы 20 INPUT “N=” ; N 30 DIM A(N,N) 40 FOR I=1 TO N 50 FOR J=1 TO N 60 INPUT A(I,J) 70 NEXT I 80 NEXT J 90 REM И З М Е Н Е Н И Е П О РЯ Д К А СЛ Е Д О В А Н И Я Э Л Е М Е Н Т О В З А Д И А ГО Н А Л Ь Ю 100 FOR I=1 TO N-2 110 FOR J=1 TO (N-I)/2 120 P=A(I,I+J) 130 A(I,I+J)=A(I,N-J+1) 140 A(I,N-J+1)=P 150 NEXT J 160 NEXT I 71
170 REM И З М Е Н Е Н И Е П О РЯД К А СЛ Е Д О В А Н И Я Э Л Е М Е Н Т О В П Е РЕ Д Д И А ГО Н А Л Ь Ю 180 FOR I=3 TO N 190 FOR J=1 TO (I-1)/2 200 P=A(I,J) 210 A(I,J)=A(I,I-J) 220 A(I,I-J)=P 230 NEXT J 240 NEXT I 250 PRINT “П РЕ О БРА З О В А Н Н А Я Т А БЛ И Ц А ” 260 FOR I=1 TO N 270 FOR J=1 TON 280 PRINT A(I,J); 290 NEXT J 300 PRINT 310 NEXT I 320 END
5. Д аны линейны й массив С из N э лементов и число В . Сф ор мир овать из э лементов С квадр атну ю таблицу максималь но возможны х р азмер ов. Ф ор мир ованиевы полнить таким обр азом, чтобы на главной диагонали стояли э лементы С(I) < В , на побочной - С(I) > В . Е сли число стр ок (столбцов) в сф ор мир ованной матр ице нечетное, то на пер есечении диагоналей поставить э лементиз С, ближайш ий по значению к В . В сф ор мир ованной таблицеопр еделить стр оку с максималь ны м числом ну лей . Е сли такая стр ока опр еделена, тоееэ лементы , стоящ иедо главной диагонали, обменять местами сэ лементами одноименногостолбца, стоящ ими вы ш еглавной диагонали. П р еобр азованну ю таблицу вы дать на дисплей постр очно. П рограммареш ения задач и 10 REM Ф О РМ И РО В А Н И Е Т А БЛ И Ц Ы 20 INPUT "В В О Д N, B"; N, B 30 DIM C(N) 35 REM В В О Д М А ССИ В А С 40 FOR I =1 TO N 50 INPUT C(I) 60 NEXT I 65 REM П О Д СЧ Е Т К О Л И Ч Е СТ В А С(I) < B И C(I) > B 70 FOR I =1 TO N 80 IF C(I) < B THEN M1 = M1 + 1 90 IF C(I) > B THEN M2 = M2 + 1 100 NEXT I 110 REM О П РЕ Д Е Л Е Н И Е М А КС. В О З М О Ж Н О ГО РА З М Е РА Т А БЛ И Ц Ы 120 M = INT(SQR(N)) 130 IF M1 < M THEN M = M1 140 IF M2 < M THEN M = M2 150 IF M < 2 THEN PRINT "Т А БЛ И Ц А Н Е Ф О РМ И РУ Е Т СЯ": GOTO 670 160 IF M/2 = INT(M/2) GOTO 270 165 REM СЛ У Ч А Й Н Е Ч Е Т Н О ГО М 170 MIN = ABS(B-C(1)) 180 FOR I =1 TO N 190 IF ABS(B –C(I)) < MIN THEN MIN = ABS(B –C(I)): K = I 200 NEXT I 205 REM V –Н О М Е Р Ц Е Н Т РА Л Ь Н О ГО Э Л Е М Е Н Т А
72
210 V = INT(M/2) + 1 220 A(V,V) = C(K) 225 REM У Д А Л Е Н И Е Л -ГО Э Л Е М Е Н Т А 230 IF K = N GOTO 265 240 FOR I = K TO N –1 250 C(I) = C(I + 1) 260 NEXT I 265 N = N - 1 270 REM Ф О РМ И РО В А Н И Е Д И А ГО Н А Л Е Й 275 L1 = 0: L2 = 0 280 FOR I = N TO 1 STEP –1 285 REM Ф О РМ И РО В А Н И Е ГЛ А В Н О Й Д И А ГО Н А Л И 290 IF C(I) < B AND L1 < M THEN L1 = L1 +1 ELSE GOTO 320 300 IF L1 = V AND INT(M/2) <> M/2 THEN L1 = L1 + 1 310 A(L1, L1) = C(I): GOTO 350 315 REM Ф О РМ И РО В А Н И Е П О БО Ч Н О Й Д И А ГО Н А Л И 320 IF C(I) > B AND L2 < M THEN L2 = L2 +1 ELSE GOTO 400 330 IF L2 = V AND INT(M/2) <> M/2 THEN L2 = L2 + 1 340 A(L2, N – L2 + 1) = C(I) 345 REM У Д А Л Е Н И Е I –ГО Э Л Е М Е Н Т А И З М А ССИ В А С 350 IF I = N GOTO 390 360 FOR J = I TO N – 1 370 C(J) = C(J -+1) 380 NEXT J 390 N = N – 1 400 NEXT I 405 REM З А П О Л Н Е Н И Е О СТ А Л Ь Н Ы Х П О З И Ц И Й Т А БЛ И Ц Ы А 410 L = 0 420 FOR I = 1 TO M 430 FOR J = 1 TO M 440 IF I = J OR J = N –I + 1 GOTO 460 450 L = L + 1: A(I, J) = C(L) 460 NEXT J 470 NEXT I 475 REM П О И СК П РЕ О БРА З У Е М О Й СТ РО КИ 480 FOR I = 1 TO M 490 P = 0 500 FOR J = 1 TO M 510 IF A(I, J) = 0 THEN P = P + 1 520 NEXT J 530 IF I = 1 THEN MAX = P: K = I 540 IF P > MAX THEN MAX = P: K = I 550 NEXT I 555 REM П Е РЕ М Е Щ Е Н И Е СТ РО К И 560 IF MAX = 0 THEN PRINT "П РЕ О БРА З У Е М О Й СТ РО КИ Н Е Т " 570 FOR J = 1 TO K – 1 580 P = A(K, J): A(K, J) = A(J, K): A(J, K) = P 590 NEXT J 600 PRINT "СФ О РМ И РО В А Н Н А Я М А Т РИ Ц А " 610 FOR I = 1 TO M 620 FOR J = 1 TO M 630 PRINT A(I, J); 640 NEXT J 650 PRINT 660 NEXT I 670 END
6. В последователь ности С из N э лементов най ти максималь ны й и минималь ны й э лементы . П р еобр азовать С таким обр азом, чтобы ср еди э лементов, р асположенны х между max и min, небы ло повтор яю щ их ся. 73
П р еобр азованну ю последователь ность вы дать на э кр ан встроку . П рограммареш ения задач и 10 REM У Д А Л Е Н И Е П О В Т О РЯ Ю Щ И Х СЯ Э Л Е М Е Н Т О В В М А ССИ В Е С 20 INPUT "В В О Д N"; N 30 DIM C(N) 50 REM В В О Д М А ССИ В А С 60 FOR I =1 TO N 70 INPUT C(I) 80 NEXT I 90 REM П О И СК MAX И MIN Э Л Е М Е Н Т О В 100 MAX = C(1): K = 1 110 MIN = C(1): L = 1 120 FOR I = 1 TO N 130 IF C(I) < MIN THEN MIN = C(I): L = I 140 IF C(I) > MAX THEN MAX = C(I): K = I 150 NEXT I 160 IF ABS(K – L) < 2 THEN PRINT "П РЕ О БРА З . Н Е В О З М О Ж Н О ": GOTO 360 170 IF K > L THEN R = K: K = L: L = R 180 Q = L –K –1 185 REM Q1 –К О Л И Ч Е СТ В О У Д А Л Е Н Н Ы Х Э Л Е М Е Н Т О В 187 REM P – КО Л И Ч Е СТ В О П РО СМ О Т РЕ Н Н Ы Х Э Л Е М Е Н Т О В 189 REM Z –Н О М Е Р П РО СМ А Т РИ В А Е М О ГО Э Л Е М Е Н Т А 190 Q1 = 0 200 P=1 210 Z = K + 1 220 FOR I = L –1 TO Z + 1 STEP –1 230 IF C(I) <> C(Z) THEN 300 240 FOR J = I TO N – 1 250 C(J) = C(J + 1) 260 NEXT J 270 N = N –1 280 L = L –1 290 Q1 = Q1 + 1 300 NEXT I 310 IF P + Q1 < Q THEN Z = Z + 1: P = P + 1: GOTO 220 320 PRINT "П РЕ О БРА З О В А Н Н Ы Й М А ССИ В С" 330 FOR I = 1 TO N 340 PRINT C(I); 350 NEXT I 360 END
7.Д ана строка символов. Н айти и заменить все бу квы “c” в стр оке на бу квы “з” . П р еобр азованну ю стр оку вы вести на печать. П рограммареш ения задач и 10 REM ввод обр абаты ваемой стр оки. 20 INPUT A$ 30 A2$=“ ” 40 REM поиск бу квы “c” и замена на“з” 50 FOR I=1 TO LEN(A$) 60 IF MID$(A$, I, 1) = “c” THEN A2$=A2$+“з” 70 ELSE A2$=A2S+MID$(A$, I, 1) 80 ENDIF 74
90 PRINT A2$ 100 END
8. Д ана стр ока, пр едставляю щ ая собой ответы на некотор ы евопр осы . Н апр имер : “ Д а - пр авиль ны й ответ; Н ет- непр авиль ны й ответ” В сеслова встр океотделяю тся др у готдр у га пр обелами. И спр авить ответы на пр отивоположны е , т.е. вы веденная на печать стр ока должна иметь вид “Н ет- пр авиль ны й ответ; Д а - непр авиль ны й ответ”. П рограммареш ения задач и 10 A$ =“ Д а - пр авиль ны й ответ; Н ет- непр авиль ны й ответ” 20 A2$ = “ ” 30 REM нах ождениеместор асположения искомы х слов 40 FOR I=1 TO LEN(A$) 50 IF MID$(A$, I, 4)= “ Д а ” THEN K=I 60 IF MID$(A$, I, 5)= “ Н ет” THEN K1=I 70 NEXT I 80 REM замена слова Д А на словоН Е Т 90 FOR I=1 TO K 100 A2$=MID$(A$, I, 1) 110 NEXT I 120 A2$=A2$+“ Н ет” 130 FOR I=K+5 TO K1 140 A2$=A2$+MID$(A$, I, 1) 150 NEXT I 160 REM замена слова Н Е Т на словоД А 170 A2$=A2$+“ Д а ” 180 FOR I=K1+4 TO LEN(A$) 190 A2$=A2$+MID$(A$, I, 1) 200 NEXT I 210 PRINT A2$ 220 END
9. П р осмотр еть некотор ы й массив, состоящ ий из символь ны х стр ок и вы вести на э кр ан ту стр оку , котор ая содер житслово “бай т”. Е сли такой стр оки нетвданном массивевы вести соответству ю щ еесообщ ение. П рограммареш ения задач и 10 INPUT N 20 DIM A$(N) 30 FOR I=1 TO N 40 INPUT A$(I) 50 NEXT I 60 K=0 70 FOR I=1 TO N 80 FOR J=1 TO LEN(A$(I)) 90 IF MID$(A$(I), J, 6)=“ байт” THEN K=I 100 NEXT J 75
110 NEXT I 120 IF K=0 THEN 130 PRINT “ стр оки, содер жащ ей словобайт, нет”: GOTO 140 140 ENDIF 130 PRINT A$(K) 140 END
10. Д ана текстовая стр ока. Н еобх одимо всециф р ы , встр ечаю щ иеся в тексте у величить в 10 р аз. Каждоеслово в текстеотделяется отсоседнегопр обелом. В сециф р ы , встр ечаю щ иеся втекстеявляю тся целы ми. П рограммареш ения задач и 10 PER$=“Д ано: 15 моду лей исполь зу ется в20 пр иложениях ” 20 D=LEN(PER$) 30 REM В ведем дополнитель ны й массивдля поиска циф р встр оке 40 DM$=“1234567890” 50 FOR I=D TO 1 STEP -1 60 REM пр овер ка является ли теку щ ий символ циф р ой 70 FOR J=1 TO 10 80 IF MID$(PER$, I, 1)=MID$(DM$, J, 1) THEN GOTO 120 90 NEXT J 100 GOTO 270 110 REM добавим 0 спр ава к найденной циф р е 120 PER2$=LEFT$(PER$, I) 130 PER3$=RIGHT$(PER$, D - I) 140 PER$=PER2$+” 0” +PER3$ 150 REM у величениечисла символоввобр абаты ваемой стр оке 160 D=D+1 170 ST=0 180 REM пер емещ ениек следу ю щ ему слову встр оке 190 FOR J=I TO 1 STEP-1 200 PR=0 210 FOR U=1 TO 10 220 IF MID$(PER$, J, 1)=MID$(DM$, U, 1) THEN PR=1 230 NEXT U 240 IF PR=1 THEN ST=ST+1 ELSE GOTO 260 250 NEXT J 260 I=I-ST 270 NEXT I 280 PRINT PER$ 290 END
11. Д аны несколь ко символь ны х стр ок и некотор ая ф р аза, напр имер “э кономический ф аку ль тет”. В ы бр ать и вы вести на печать стр оки, содер жащ иеэ ту ф р азу . П рограммареш ения задач и 10 INPUT N 76
20 DIM A$(N) 30 FOR I=1 TO N 40 INPUT A$(I) 50 NEXT I 60 R$=“э кономический ф аку ль тет” 70 DR=LEN(R$) 80 FOR J=1 TO N 90 DA=LEN(A$(J)) 100 FOR I=1 TO DA-DR+1 110 IF MID$(A$(J), I, DR)=R$ THEN PRINT A$(J): GOTO 130 120 NEXT I 130 NEXT J 140 END
12.Д аны две символь ны е стр оки, содер жащ ие совпадаю щ ие слова. Ср авнить их между собой и вы вести на печать количество таких слов. (П р имечание. К аждоеслово втекстеотделеноотсоседнего пр обелом.) П рограммареш ения задач и 10 INPUT “В ведитепер ву ю стр оку ” , A1$ 20 INPUT “В ведитевтор у ю стр оку ” , A2$ 30 REM вD1и D2 полу чим длины данны х стр ок 40 D1=LEN(A1$) 50 D2=LEN(A2$) 60 REM пер еменну ю GSTSL исполь зу ем для подсчета 70 REM количества совпадаю щ их слов 80 ST=0: GTSL=0 90 REM подсчетчисла словвпер вой стр оке 100 FOR I=1 TO D1 110 IF MID$(A1$, I, 1)=“ ” THEN ST=ST+1 120 NEXT I 130 KSLOW=ST+1 140 NJ=1 150 FOR I=1 TO KSLOW 160 SLOWO$=“ ” 170 REM вы делениеслова из пер вой стр оки 180 FOR J=NJ TO D1 190 IF MID$(A1$, J, 1)=“ ” THEN 200 NJ=J+1 : GOTO 260 210 ELSE 220 SLOWO$=SLOWO$+MID$(A1$, J, 1) 230 END IF 240 NEXT J 250 REM поиск вы деленного слова во втор ой стр оке 260 DSL=LEN(SLOWO$) 270 FOR J=1 TO D2 - DSL+1 280 IF MID$(A2$, J, DSL)=SLOWO$ THEN 290 GTSL=GTSL + 1: GOTO 320 300 END IF 77
310 NEXT J 320 NEXT I 330 IF GSTL=0 THEN 340 PRINT “встр оках нетсовпадаю щ их слов” 350 ELSE PRINT “количествосовпадаю щ их слов” , GTSL 360 END IF 370 END
13. Д ан список у чеников одиннадцаты х классов ш кол г. В ор онежа. К аждая стр ока списка содер житпоследователь но следу ю щ у ю инф ор мацию : ф амилия имя отчество номер ш колы тип спец.класса. Н апр имер : И вановА . П . ш кола № 9 класс э кономический. Н айти и вы вести на печать стр оки, содер жащ ие инф ор мацию об у чащ их ся э кономических классов28 ш колы . П рограммареш ения задач и 10 DIM A$(3) 20 A$(1)=“П етр овФ . С. ш кола № 16 класс математический” 30 A$(2)=“Д овС. С. ш кола № 34 класс математический” 40 A$(3)=“Свер товД . Р. ш кола № 13 классэ кономический” 50 REM для поиска стр ок, содер жащ их словоэ кономический 60 REM введем пер еменну ю SL 70 SL$=“э кономический” 80 DSL=LEN(SL$) 90 FOR J=1 TO 3 100 IF RIGHT$(A$(J),DSL)<>SL$ THEN GOTO 190 110 REM вы делениеиз стр оки номер а ш колы 120 NSK$=“ ” 130 FOR I=LEN(A$(J)) - DSL - 1 TO 1 STEP -1 140 IF MID$(A$(J), I, 1)=“ ” THEN GOTO 180 150 ELSE NSK$=MID$(A$(J), I, 1) + NSK$ 160 END IF 170 NEXT I 180 IF NSK$=“28 ” THEN PRINT A$(J) 190 NEXT J 200 END
14. Д аны несколь ко символь ны х стр ок, содер жащ ие список у чащ их ся, пр ичем пер вы м словом в каждой стр оке является ф амилия у чащ егося. О тсор тир овать стр оки по ф амилиям валф авитном пор ядке. В ы вести пр еобр азованны й символь ны й массивна печать. П р и р еш ении э той задачи исполь зу ется знание ф ор мы пр едставления символов в компь ю тер е, а именно каждому символу соответству ет циф р овой код, котор ы й возр астаетотА до Я. П рограммареш ения задач и
78
10 INPUT N 20 DIM SL$(N) 30 FOR I=1 TO N 40 INPUT SL$(I) 50 NEXT I 60 FOR I=1 TO N 70 MIN$=LEFT$(SL$(I), 1): K=I 80 FOR J=I TO N 90 IF MIN$
С одержание 1. 2. 3. 4. 5. 6. 7.
Базовы еалгор итмы Л инейны емассивы М атр ицы К омбинир ованная обр аботка линейны х массивови матриц. Ч исленны еметоды Символь ны емассивы Ситуационны езадачи 79
4 16 23 32 41 44 46
8. Т естовы езадания 9. П р имер ы р еш ения некотор ы х задач.
80
49 68