Ф Е Д Е РАЛ Ь Н О Е АГ Е Н С Т В О П О О БРАЗО В АН И Ю В О РО Н Е Ж С К И Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС И ...
5 downloads
237 Views
255KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Ф Е Д Е РАЛ Ь Н О Е АГ Е Н С Т В О П О О БРАЗО В АН И Ю В О РО Н Е Ж С К И Й Г О С У Д АРС Т В Е Н Н Ы Й У Н И В Е РС И Т Е Т
З А Д А Ч ИПО ПР О ГР А М М ИР О В А Н ИЮ Часть 1.
Базовые алгоритмические конструкции П рактикум поспециальности: 014100 (010803) – микроэ лектроникаи полупроводниковые приборы
В О РО Н Е Ж 2005
2
У тверж денонаучно-методическим советом ф изического ф акультета 24 ноября 2005 г., протокол№ 11.
С оставители: О .И .Д убр о вс к и й Е.Р.Л и хач ев С.И .Кур ганс к и й
П рактикум подготовлен на каф едре ф изики твердого тела ф изического ф акультетаВ оронеж ского государственного университета. Рекомендуется для студентов 1 курсаф изическогоф акультета.
3
С О Д Е РЖ АН И Е 1. П ростые линейные программы… … … … … … … … .… … … … … … … … … … 4 2. П рограммирование разветвлений… … … … … … … … … … … … … … … ...… ..6 3. П рограммирование циклов… … … … … … … … … … … … … … … … … … … … 8 4. И спользование подпрограмм … … … … … … … … … … … … … … … … … … .16
4
1. Прост ы е линейны е программы А р иф м е т ич е с к ие вы р аж е ния 1.1. Н аписать программувычисления 2π/3 (без использования Pi или константы, пох ож ей на3.1415926). 1.2. П оменять местами значения переменных x и y: а) с использованием промеж уточной переменной; б) безиспользования промеж уточной переменной. 1.3. Д ля заданного x вычислить рациональным способом, т.е. заминимальное количество операций значения выраж ений: а) y = x6; б) y = x10; в) y = x28; г) y = 2x4 –3x3 + 4x2 –5x +6. 1.4. Т ело начинает двигаться по параболе y = x2 из точки с координатой x0 таким образом, что составляю щ ая скорости vx неизменна. В ычислить расстояние телаот началакоординат черезвремя t после началадвиж ения тела. Значения x0, vx и t вводятся склавиатуры. 1.5. Д ватела, покоящ иеся наплоскости нарасстоянии s одно от другого, одновременно начинаю т движ ение в э той плоскости во взаимно перпендикулярных направлениях . П ервое тело движ ется с постоянной скоростью v1, авторое – равноускоренно с ускорением a. В ычислить расстояние меж дутелами через время t после началадвиж ения. Значения s, v1, a, и t вводятся с клавиатуры. 1.6. О пределить третью от конца циф рув записи заданного полож ительного целого числа. 1.7. О пределить первую циф рув дробной части заданного полож ительного вещ ественногочисла. 1.8. О пределить, сколько целых часов h и целых минут m прош ло к окончанию k-й секунды суток, где k – заданное целое полож ительное число. 1.9. О пределить полное количество часов и полное количество минут, прош едш их от начала суток до того момента (в первой половине дня), когдачасовая стрелкаповернулась наf градусов, где f – заданное целое число. 1.10. П о заданномуномерунекоторогогодаопределить номер егостолетия. Л ог ич е с к ие вы р аж е ния 1.11. Н айти больш ее издв ух целых чисел(не используя алгоритм ветвления). 1.12. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) точкас координатами (x, y) леж ит внутри прямоугольника, левая верх няя верш ина которого имеет координаты (x1, y1), правая ниж няя – (x2, y2), астороны параллельны координатным осям; б) сумма дв ух первых циф р данного четырех значного числаравна сумме дв ух его последних циф р;
5
в) две прямые, заданные целыми коэ ф ф ициентами уравнений вида ах+bу+с =0, параллельны и, возмож но, совпадаю т. 1.13. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) данные числаx, y являю тся координатами точки, леж ащ ей в первой или третьей координатной четверти; б) циф ры данного трех значного числа образую т геометрическую прогрессию ; в) данные числа a1, b1, с 1 и a2, b2, с 2 задаю т стороны двух равных треугольников. 1.14. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) изчисел x, y, z только дваравны меж дусобой; б) циф ры данноготрех значного числазадаю т стороны треугольника; в) поля (hor1, ver1) и (hor2, ver2) ш ах матной доски имею т одинаковый цвет. 1.15. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) среди трех данных целых чисел есть х отя бы однапаравзаимно противополож ных ; б) две прямые, заданные целыми коэ ф ф ициентами уравнений вида ах+bу+с =0, параллельны и не совпадаю т; в) поля (hor1, ver1) и (hor2, ver2) ш ах матной доски имею т разный цвет. 1.16. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) данные числаa, b и с задаю т стороны остроугольноготреугольника; б) циф ры данного трех значного числа образую т ариф метическую прогрессию ; в) ладья, располож енная на поле (hor1, ver1), «бьет» поле (hor2, ver2) (hor1, hor2, ver1, ver2 – целые от 1 до8). 1.17. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) кирпич с ребрами a, b, с мож но просунуть в прямоугольное отверстие состоронами d и e так, чтоего грани параллельны сторонам отверстия; б) две прямые, заданные целыми коэ ф ф ициентами уравнений вида ах+bу+с =0, параллельны и не совпадаю т; в) слон, располож енный на поле (hor1, ver1), «бьет» поле (hor2, ver2) (hor1, hor2, ver1, ver2 – целые от 1 до8). 1.18. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) данные числаa, b и с задаю т стороны прямоугольного треугольника; б) год с порядковым номером y является високосным (год високосный, если его номер кратен 4, однако из кратных 100 високосными являю тся лиш ь кратные 400); в) король, располож енный на поле (hor1, ver1), «бьет» поле (hor2, ver2) (hor1, hor2, ver1, ver2 – целые от 1 до8).
6
1.19. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) данные числаa, b и с задаю т стороны разностороннего треугольника; б) данное четырех значное число читается одинаково слева направо и справаналево, т.е. является палиндромом; в) ф ерзь, располож енный на поле (hor1, ver1), «бьет» поле (hor2, ver2) (hor1, hor2, ver1, ver2 – целые от 1 до8). 1.20. С оставить программу, вычисляю щ ую значение логического выраж ения, истинного, если: а) данные числаa, b и с задаю т стороны равнобедренного треугольника; б) циф ры данного трех значного числа образую т возрастаю щ ую или убываю щ ую последовательность; в) конь, располож енный на поле (hor1, ver1), «бьет» поле (hor2, ver2) (hor1, hor2, ver1, ver2 – целые от 1 до8).
2. Программирование развет влений Б инар ны е ве т вле ния 2.1. В ывести наэ кран среднее изтрех заданных целых чисел. С редним назовем число, которое больш е наименьш его изданных чисел, но меньш е наибольш его. 2.2. Н аписать программу, которая проверяет, не приведет ли суммирование дв ух заданных целых чисел кпереполнению . 2.3. Д аны вещ ественные полож ительные числаa, b, с , d. В ыяснить, мож но ли прямоугольник со сторонами a, b и уместить внутри прямоугольника со сторонами c, d так, чтобы каж дая изсторон одного прямоугольникабылапараллельнаили перпендикулярнакаж дой стороне второго прямоугольника? 2.4. С оставить программу, которая определяла бы вид треугольника (равносторонний, равнобедренный, разносторонний, прямоугольный, тупоугольный, остроугольный), если поданным трем отрезкам егомож но построить. y 2.5. Н аписать программу, которая по введенномузначению аргументавычисляет 4 значение ф ункции, заданной в виде граф и2 ка(рис. 1). -10 -8 -6 -4 -2 0 2 4 6 8 x -2 Ри с . 1
2.6. Н аписать программу, которая определяет, попадает ли точка с заданными координатами в область, закраш енную нарис. 2 серым цветом.
Ри с . 2
7
2.7. П усть D – заш трих ованная часть плоскости (рис. 3) и пусть u определяется по х и у следую щ им образом x 2 − 1, x∈D u= x − 1 , x ∉ D Ри с . 3 Д аны действительные числаx, y. Н айти u. 2.8. Д ано целое k, 1 ≤ k ≤ 180. О пределить, какая циф ра нах одится в k – ой позиции последовательности 101112131415… 9899, в которой выписаны подряд все двузначные числа. 2.9. Д аны действительные числаа, b, с , d, s, t, u (s и t одновременно не равны нулю ). И звестно, что точки (а, b) и (с , d) не леж ат на прямой ℓ, заданной уравнением sx + ty + u = 0. П рямая ℓразбивает координатную плоскость надве полуплоскости. С оставить программу, определяю щ ую , принадлеж ат ли точки (а, b) и (с , d) разным полуплоскостям. Ук азани е: Д ве т о ч к и (а, b) и (с , d), не лежащи ена пр ямо й, о пр еделяемо й ур авнени ем sx+ty+u = 0, пр и надлежат о дно й по лупло с к о с т и , ес ли sa+tb+u и sc+td+u –ч и с ла о дно го знак а.
2.10.Д аны действительные числах1, х2, х3, у1, y2, у3. С оставить программу, определяю щ ую , принадлеж ит ли начало координат треугольникусверш инами (х1, у1), (х2, у2), (х3, у3). Ук азани е: Ур авнени е пр ямо й, пр о хо дящей ч ер ез две р азли ч ны е т о ч к и (е, f) и (g, h), и меет ви д (х–е)(h–f) – (y–f)(g–e) = 0.
М нож е с т ве нны е ве т вле ния 2.11.Е диницы массы пронумерованы следую щ им образом: 1 – килограмм, 2 – миллиграмм, 3 – грамм, 4 – тонна, 5 – центнер. Д ан номер единицы массы и масса тела в э тих единицах . В ывести массуданного телав килограммах . П еременная, определяю щ ая единицумассы, долж на принадлеж ать к перечисляемомутипу. 2.12.Элементы окруж ности пронумерованы следую щ им образом: 1 – радиус, 2 – диаметр, 3 – длина, 4 – площ адь круга. Д ан номер одного изэ тих э лементов и его значение. В ывести значения остальных э лементов данной окруж ности (в том ж е порядке). 2.13.Н аписать программу, которая по значению переменной перечисляемого типа, содерж ащ емуназвание страны, присваивает другой переменной перечисляемого типаназвание столицы э той страны. 2.14.К орабль мож ет перемещ аться в четырех направлениях (север, восток, ю г, запад) и принимать четыре команды (вперед, вправо, назад, влево). Корабль ш ел сначала по некоторомукурсу, а затем его курс был изменен согласно заданной команде. О пределить новый курс корабля. П еременные, определяю щ ие курс корабля и вид команды, долж ны принадлеж ать кперечисляемомутипу. 2.15.Л окатор ориентирован наоднуизсторон света(север, восток, ю г, запад) и мож ет принимать три циф ровые команды (поворот налево, поворот направо, поворот на180°). С оставить программу, которая по исх одной ориентации локатораопределяет его ориентацию после выполнения дв ух заданных команд. Д ля сторон светаи видов команд использовать переменные перечисляемого типа.
8
2.16.Д ано целое число в диапазоне 20 – 69, определяю щ ее возраст (в годах ). В ывести строку– словесное описание указанного возраста, обеспечив правильное согласование числасо словом "год". 2.17.О пределить датуd (день), m (месяц) k-го по счетудня високосного года. Д ля переменных k и d использовать тип-диапазон, для переменной m – перечисляемый тип. 2.18.П о дате d (день), m (месяц), y (год) определить d1, m1, y1 – датупредш ествую щ его дня. П еременные d, d1, y и y1 долж ны принадлеж ать к типудиапазону, переменные m и m1 – кперечисляемомутипу. 2.19.С читая, что год невисокосный и его 1 января прих одится надень недели wd1, определить wd – день недели, на который прих одится день с датой d (день), m (месяц). Д ля переменной d использовать тип-диапазон, для переменных m, wd и wd1 – перечисляемый тип. 2.20.В восточном календаре принят 60-летний цикл, состоящ ий из12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, ж елтый, белый и черный. В каж дом подцикле годы носят названия ж ивотных : крысы, коровы, тигра, зайца, дракона, змеи, лош ади, овцы, обезьяны, курицы, собаки и свиньи. П о номеругода вывести его название, если 1984 год был началом цикла – годом зеленой крысы. П еременные, определяю щ ие название подциклаи название года, долж ны принадлеж ать кперечисляемомутипу.
3. Программирование ц иклов Ц ик лы с пар ам е т р ом 3.1. С оставить программувозведения натурального числав квадрат, используя следую щ ую закономерность: 12 = 1 22 = 1 + 3 32 = 1 + 3 + 5 42 = 1 + 3 + 5 + 7 ... n 2 = 1 + 3 + 5 + 7 + 9 + ... + 2n − 1 3.2. Н айти n первых чиселФ ибоначчи. Ук азани е: Чи с ла Фи бо нач ч и f n о пр еделяют с я ф о р мулами f 0 = f 1 = 1 ; f n = f n −1 + f n − 2 ( n = 2 , 3 , K ). 3.3. П олучить все числаАрмстронга, состоящ ие изтрех и четырех циф р. Ук азани е: Н ат ур аль но е ч и с ло и з n ц и ф р являет с яч и с ло м А р мс т р о нга, ес ли с умма его ц и ф р , во зведенны х вn-ю с т епень , р авна с амо му ч и с лу.
3.4. П олучить все натуральные числа в заданном диапазоне, которые являю тся полными квадратами. 3.5. В последовательности a1, a2, a3,..., an каж дый член, начиная с четвёртого, равен последней циф ре суммы трёх предыдущ их . Н айти n-й э лемент последовательности.
9
3.6. О пределить все трех значные числа, которые обладаю т следую щ им свойством: как само число, так и его перевертыш (т.е. число, записанное теми ж е циф рами, нов обратном порядке) делятся насвои циф ры. 3.7. И меется n бактерий красного цвета. Через1 такт времени красная бактерия меняется на зелёную , затем через1 такт времени делится на красную и зелёную . О пределить, сколько будет всех бактерий черезk тактов времени? 3.8. Д анапоследовательность из20 целых чисел. О пределить количество чисел в наиболее длинной подпоследовательности изподряд идущ их нулей. 3.9. С оставить программу, которая для заданного с клавиатуры значения x вычисляет по сх еме Г орнеразначение следую щ его многочлена. а) x10 + 2x9 + 3x8 + … +10x + 1 б) 11x10 + 10x9 + 9x8 + … +2x + 1 3.10.С оставить программудля вычисления результатапоф ормуле k−3
π n n k x k −1 + e 2 sin ∑ 1 + ln x x + 3 k =1 Д ля проверки программы задать x = 0,5, n = 20. 3.11.С оставить программудля вычисления результатапоф ормуле n π k −1 3x + ∏ sin 4 +e 3 k +1 x k =1 Д ля проверки программы задать x = 0,5, n = 20. 3.12.С оставить программудля вычисления 1 y= 1 1+ 1 3+ 1 5+ ... k
1 103 n1 n 2 nk 3.13.С оставить программудля вычисления + + ...+ при заданных це1! 2! k! лых значениях n и k. m (−1) n n! 3.14.С оставить программудля вычисления ∑ n + при заданном m. n+1 n =1 101+
π
3.15.П риближ енно вычислить интеграл ∫ ln( 2 + sin x )dx , используя ф ормулу 0
прямоугольников при n = 100: b
∫ f ( x )dx ≈ h ⋅ [ f ( x
1
a
где h=(b–a)/n, xi= a+(2i–1)h/2.
) + f ( x2 ) + ... + f ( xn )] ,
10
3.16.Н айти приблизительную длинутраектории, пройденной за 10 с телом, брош енным под углом к горизонтус заданной скоростью , путем суммирования расстояний меж дуточками траектории, относящ имся к моментам времени 0, 1, 2,..., 10 с . 3.17.Т раектория движ ения материальной точки на плоскости XOY представляет собой ломаную линию , вых одящ ую из начала координат вправо и вверх . В начале точка прох одит полуинтервал [0, 1) оси абсцисс, а в дальнейш ем при прох ож дении точек с абсциссами 1, 2, 3,..., N изменяет направление движ ения, остаю щ егося прямолинейным так, что угол меж дуэ тим направлением и осью π абсцисс увеличивается на в каж дой такой точке. Н айти путь, который 2N пройдет точка, покаее абсциссане достигнет величины N. 3.18.N ш арообразных резервуаров, внутренние радиусы которых образую т последовательность 4, 5, 6,..., N+3, заполнены ж идкостью с заданной плотностью . Н айти общ ую массуж идкости и всех резерв уаров, если они изготовлены изматериаласизвестной плотностью , атолщ инаих стенки равнаD. 3.19.Н айти силу, с которой точечный заряд q = 10-6 Кл притягивается к тонкомунепроводящ емукольцурадиусом R = 0,1 м. Заряд располож ен в плоскости кольца. Кольцо равномерно по всей длине заряж ено с плотностью заряда y = 2·10-7 Кл/м. Расстояние от зарядадо кольцаравно ℓ=0.1 м. Электрическая постоянная равнаε0 = 8.85·10-12 Ф/м. Д ля вычислений разбить кольцо на 100 равных частей и считать каж дую часть точечным зарядом. Рассмотреть проекции кулоновских сил напрямую , соединяю щ ую заряд q сцентром кольца. 3.20.С читая, что год невисокосный и его 1 января прих одится на заданный день недели, определить количество понедельников в году, прих одящ их ся на 13-е числа. П еременные, определяю щ ие день недели и месяц, долж ны принадлеж ать кперечисляемомутипу. Ц ик лы с ус ловие м 3.21.Д ля заданногонатуральногоn вычислить n!! и (–1)n+1n!!. Ук азани е: n!! о знач ает 1·3·5·… ·n длянеч ет но го n и 2·4·6·… ·n дляч ет но го n.
3.22.П риписать по единице в начало и в конец записи заданного натурального числаn. 3.23.П оменять порядокциф р заданногонатуральногочислаn наобратный. 3.24.И склю чить из записи заданного натурального числа n все чётные циф ры. 3.25.Н аписать программунах ож дения наибольш его общ его делителя (Н О Д ) дв ух заданных неотрицательных целых чисел, используя алгоритм Е вклида. Ук азани е: А лго р и т м Е вк ли да нахо ждени я Н О Д о с но ван на с ледующи х с во йс т вах эт о й вели ч и ны . П ус т ь x и y о дно вр еменно не р авны енулю ц елы е нео т р и ц ат ель ны е ч и с ла и пус т ь x ≥ y, т о гда ес ли y = 0, т о Н О Д (x,y) = x, а ес ли y ≠ 0, т о дляч и с ел x, y и r, где r – о с т ат о к о т делени яx на y, вы по лняет с яр авенс т во Н О Д (x,y) = Н О Д (y,r).
3.26.Н аписать программу нах ож дения наибольш его общ его делителя трех неотрицательных целых чисел, используя алгоритм Е вклида. Ук азани е: Н О Д (a,b,c)=Н О Д (Н О Д (a,b),c).
11
3.27.Н аписать программунах ож дения наименьш его общ его кратного (Н О К) дв ух заданных неотрицательных целых чисел. Ук азани е: Н О К(n, m) =
n⋅m . Д лянахо ждени яН О Д и с по ль зо ват ь алго р и т м Е вк ли да. Н О Д (n, m)
3.28.Н аписать программу, проверяю щ ую , являю тся ли дваданных числавзаимнопростыми. Ук азани е: Д ва ч и с ла назы вают с я взаи мно пр о с т ы ми , ес ли и х наи бо ль ш и й о бщи й дели т ель р авен 1. Д лянахо ждени я Н О Д и с по ль зо ват ь алго р и т м Е вк ли да.
3.29.Д аны натуральные числа m и n. Н айти такие натуральные p и q, не p m имею щ ие общ их делителей, что = . q n 3.30.Н айти первое число Ф ибоначчи, больш ее заданного числа m, а такж е номер n э того числаФ ибоначчи. Ук азани е к 3.30 – 3.32: Чи с ла Фи бо нач ч и f n о пр еделяют с я ф о р мулами f 0 = f1 = 1 ; f n = f n −1 + f n −2 ( n = 2, 3, … ). 3.31.В ычислить суммувсех чисел Ф ибоначчи, которые не превосх одят заданное число m. 3.32.В водится последовательность целых чисел, оканчиваю щ аяся нулем, и состоящ ая более, чем изодного ненулевого э лемента. В ычислить суммутех из них , порядковые номеракоторых – числаФ ибоначчи. 3.33.О пределите, для какого наибольш его числаn мож но вычислить n!, пользуясь типом integer. n (-2)k , 3.34.О пределите, для какого наибольш его числаn мож но вычислить ∑ 2 k =1 (k!) если для для х ранения значений слагаемых и суммы используется тип real, а для k и n – тип longint. 3.35.С оставить программудля определения «маш инного э псилон» . Ук азани е: М аш и нно е эпс и ло н – эт о т ак о е ми ни маль но е, не р авно е нулю ч и с ло , по с ле пр и бавлени як о т о р о го к еди ни ц ек о мпь ют ер вс еещевы дает р езуль т ат , о т ли ч ны й о т 1.
3.36.С оставить программудля определения числа десятичных знаков, выделяемых для представления действительного числа. 3.37.В водится последовательность символов, имею щ ая следую щ ий вид: d1±d2±… ± dn (di – циф ры, n > 1), оканчиваю щ аяся точкой. В ычислить значение э той алгебраической суммы. 3.38.С оставить программудля вычисления m x (x ≥ 0) с заданной точностью ε. Д ля получения последовательных приближ ений yi использовать следую щ ие соотнош ения: x+m −1 y1 = , 2 1 x yi = ((m − 1)yi-1 + m-1 ) , i = 2, 3,… m yi-1 где x – заданное действительное число, m – заданное натуральное число. 3.39.С оставить программунах ож дения суммы рядасзаданной точностью ε:
12
x+
x3 1 ⋅ 3 ⋅ x3 1 ⋅ 3 ⋅ 5 ⋅ x 7 1 ⋅ 3 ⋅ 5 ⋅ 7 ⋅ x9 1 ⋅ 3 ⋅ ... ⋅ (2n − 1) ⋅ x 2 n+1 + + + + ... + + ... 2 ⋅ 3 2 ⋅ 4 ⋅ 5 2 ⋅ 4 ⋅ 6 ⋅7 2 ⋅ 4 ⋅ 6 ⋅ 8 ⋅ 9 2 ⋅ 4 ⋅ ... ⋅ 2n ⋅ (2n + 1)
Д ля оценки правильности результата предусмотреть вычисление по контрольной ф ормуле: arcsinx. Ук азани е к 3.39 – 3.43: В ы ч и с лени е с уммы зак анч и вает с я, ес ли мо дуль о ч ер едно го с лагаемо го о к азы вает с я мень ш е заданно й т о ч но с т и ε. П р и ч ем для эт и х р ядо в (пр и | x | < 1) абс о лют наявели ч и на с уммы вс ех о т бр о ш енны х ч лено вр яда пр и эт о м о к азы вает с ямень ш еε.
3.40.С оставить программунах ож дения суммы рядасзаданной точностью ε: x−
2 2 2⋅5 3 2 ⋅ 5... ⋅ (3i − 4) i x + x − ... ± x m ... 6 6 ⋅9 6 ⋅ 9... ⋅ 3i
Д ля оценки правильности результата предусмотреть вычисление по контрольной ф ормуле: 3 3 1 + x − 3 . 3.41.С оставить программунах ож дения суммы рядасзаданной точностью ε: x(2 + x) x3 (4 + x) x5 (6 + x) x 2i −1 (2i + x) − + − ... ± m ... 2! 4! 6! (2i )! Д ля оценки правильности результата предусмотреть вычисление по контрольной ф ормуле: sinx – cosx + 1. 3.42.С оставить программунах ож дения суммы рядасзаданной точностью ε: 1 1 1 1 1 1 1 1 x 2 + − x 4 + + x 6 + − ... ± x 2i + m ... 1! 2! 2! 4 ! 3! 6 ! i ! (2i )! Д ля оценки правильности результата предусмотреть вычисление по контроль2 ной ф ормуле: 2 – e− x – cosx. 3.43.С оставить программунах ож дения суммы рядасзаданной точностью ε: 1 1 1 1 1 1 1 1 x − − x 2 − + x 3 − − ... ± x i − m ... ! ( )! i 2i 1! 2! 2! 4! 3! 6 !
Д ля оценки правильности результата предусмотреть вычисление по контрольной ф ормуле: cos x – e − x 3.44.С оставить программудля реш ения уравнения 1 − cos2 x x e + −x =0 10 1 + ln x
наотрезке [0,2] сточностью ε = 10-4 методом деления отрезкапополам. Ук азани е к 3.44 - 3.48: М ет о д делени я о т р езк а по по лам с о с т о и т в по с ледо ват ель но м пр и бли жени и к к о р ню за с ч ет умень ш ени я о т р езк а, на к о т о р о м нахо ди т с я к о р ень . Каждо е но во е пр и бли ж ени е x нахо ди т с я к ак с ер еди на т ек ущего о т р езк а. Ко нц ы т ек ущего о т р езк а вы би р ают с я и з ус ло ви я пр о т и во по ло жно с т и знак а f(x) на его к о нц ах. В ы ч и с лени е зак анч и вает с я, к о гда дли на о т р езк а с т анет мень ш езаданно й т о ч но с т и ε.
3.45.С оставить программудля реш ения уравнения 3
0,07 − 2x + arctg x = 0
13
наотрезке [0,2] сточностью ε = 10-4 методом деления отрезкапополам. 3.46.С оставить программудля реш ения уравнения − cos( x
0,49
5 30 x )+ + −x =0 7 x
наотрезке [0,2] сточностью ε = 10-4 методом деления отрезкапополам. 3.47.С оставить программудля реш ения уравнения 2 arccos x + 0,577 ln( x + 1) + 3 0,01 − x = 0 3 наотрезке [0,2] сточностью ε = 10-4 методом деления отрезкапополам. 3.48.С оставить программудля реш ения уравнения (e
5
x
4 − x + ln x + ) −1 − x = 0 9
наотрезке [0,2] сточностью ε = 10-4 методом деления отрезкапополам. 3.49.С оставить программудля определения локальногомаксимумаф ункции −x f(x) = 1 − e − 0,5x
Ук азани е к 3.49, 3.50: З нач ени я ар гумент а до лжны с о с т авлят ь во зр ас т ающую ар и ф мет и ч ес к ую пр о гр ес с и ю с заданны м нач аль ны м ч лено м 0,1 и р азно с т ь ю 0,1.
3.50.С оставить программудля определения локальногоминимумаф ункции f(x) =
ex − x
Влож е нны е цик лы 3.51.С оставить программу, которая реш ает следую щ ий числовой ребус: охохо + ахаха = ахахах. 3.52.С оставить программудля граф ического изображ ения делимости чисел от 1 до n (n – исх одное данное). В каж дой строке надо выводить число и столько плю сов, сколько делителей уэ того числа. Н апример, если исх одное данное – число 4, тонаэ кране долж но быть выведено: 1+ 2++ 3++ 4+++. 3.53.Д ва дв узначных числа, записанных одно за другим, образую т четырех значное число, которое делится наих произведение. Н айти такие числа. 3.54.С таринная задача. О пределить, сколько мож но купить быков, коров и телят, если платазабыка– 10 рублей, закоров у– 5 рублей, зателенка– 50 копеек, ана100 рублей надо купить 100 голов скота. 3.55.П олучить все соверш енные числа, меньш ие заданногонатуральногоп.
14
Ук азани е: Со вер ш енны м назы вает с я нат ур аль но е ч и с ло , р авно е с умме вс ех с во и х дели т елей (и с к люч аяс амо ч и с ло ). Н апр и мер : 28 = 1 + 2 + 4 + 7 + 14.
3.56.Н айти все простые несократимые дроби, меньш ие 1, знаменатели которых не превыш аю т 9 (дробь задается двумя натуральными числами – числителем и знаменателем). 3.57.С оставить программувозведения заданного числа в третью степень, используя следую щ ую закономерность: 13 = 1; 2 3 = 3 + 5; 3 3 = 7 + 9 + 11; 4 3 = 13 + 15 + 17 + 19; 5 3 = 21 + 23 + 25 + 27 + 29. 3.58.У становлено, что если дата леж ит в диапазоне от 1582 до 4902 гг., то в э том случае номер дня недели (воскресенье имеет номер 0, понедельник – 1,…, суббота – 6) равен остатку от деления на 7 значения выраж ения y c [ 2.6m − 0.2 ] + d + y + + − 2c , где d – номер дня в месяце; m – номер ме 4 4 сяца в году(нумерация начинается с марта); y – число, состоящ ее из дв ух младш их циф р года; c – число, состоящ ее издвух старш их циф р года; [ x ] означает целую часть числа x. С оставить программу, вычисляю щ ую количество пятниц, прих одящ их ся на13-е число, с2001 по 2010 гг. 3.59.В ывести наэ кран последовательность символов: AABABC…AB..YZ. 3.60.В ывести наэ кран последовательность символов: ZYYXXX…AA..AA. 3.61.В ывести наэ кран таблицусимволов следую щ его вида: ABC…Z ZBC…Z ZZC…Z ZZZ…Z 3.62.В ывести наэ кран таблицусимволов следую щ его вида: 100...00 020...00 … 000...09 3.63.В ывести наэ кран таблицусимволов следую щ его вида: 999...99 088...88 … 000...01 3.64.В ывести наэ кран таблицусимволов следую щ его вида: 0123456789 1234567890 … 9012345678
15
3.65.Н айти минимальное число, которое представляется суммой четырёх квадратов натуральных чисел не единственным образом. 3.66.Н айти все простые делители заданногонатуральногочислаn. 3.67.С оставить программу, которая представляет заданное натуральное число при помощ и римских циф р. П ри э том 1000 обозначается M; 500 обозначается D, 100 – C, 50 – L, 10 – X, 1 – I. 3.68.Н айти k-е простое число в ариф метической прогрессии 11, 21, 31, 41, 51, 61,… 3.69.Д ано натуральное число n ≥ 2. С оставить программуразлож ения э того числанапростые множ ители: а) простой множ итель p долж ен быть выведен k раз, где k – натуральное число такое, чтоn делится наp·k и не делится наp·(k+1); б) каж дый простой множ итель долж ен быть выведен ровно 1 раз. 3.70.Н айти наименьш ее натуральное число n, представимое дв умя различными способами в виде суммы кубов двух натуральных чиселх3+y3 (х ≥ у). 3.71.С оставить программунах ож дения основных троек П иф агоровых чисел a, b и c, используя следую щ ие ф ормулы u 2 − v2 u 2 + v2 b= c= a = u·v; ; , 2 2 где u и v – взаимнопростые нечетные натуральные числаи u > v. Ук азани е: П и ф аго р о вы ми ч и с лами назы вает с я т р о йк а нат ур аль ны х ч и с ел, удо влет во р яющи х р авенс т ву a2 + b2 = c2.
3.72.С оставить программу, вычисляю щ ую циф ровой корень заданного натурального числа. Ук азани е: Е с ли с ло ж и т ь вс е ц и ф р ы к ак о го -ли бо ч и с ла, зат ем вс е ц и ф р ы найденно й с уммы и т .д., ви т о гепо луч и т с яц и ф р а, к о т о р аяи назы вает с яц и ф р о вы м к о р нем данно го ч и с ла.
3.73.В данном натуральном числе переставить циф ры таким образом, чтобы образовалось наименьш ее число, записанное э тими ж е циф рами. 3.74.Д ано натуральное k. О пределить k-ю циф ру последовательности 12345678910111213… , в которой выписаны подряд все натуральные числа. 3.75.Д ано натуральное k. О пределить k-ю циф ру последовательности 149162536… , в которой выписаны подряд квадраты всех натуральных чисел. 3.76.Д ано натуральное k. О пределить k-ю циф ру последовательности 1123581321… , в которой выписаны подряд все числаФ ибоначчи. 3.77.Заданное натуральное число n представить в виде суммы различных чиселФ ибоначчи. О пределить количествослагаемых в э той сумме. 3.78.Г руппа параллельно соединенных сопротивлений, изображ енная нарис. 4а, задается неотрицательными числами r1, r2,..., ri, – значениями сопротивлений. П оследовательное соединение рядатаких групп, показанное нарис. 4б, задается так: сначала идут значения сопротивлений, вх одящ их в первую группу, затем – некоторое отрицательное число, затем – значения сопротивлений, вх одящ их во вторую группу, затем – некоторое отрицательное число и т. д. П осле значения Ри с . 4
16
последнего сопротивления последней группы идут два отрицательных числа. С оставить программурасчетасопротивления соединения. 3.79.Cоставить программурасчетасопротивления параллельного соединения последовательных групп (рис. 5), предполагая, аналогично предыдущ ей задаче, что каж дая группа задается рядом значений сопротивлений, за которым идет отрицательное число, а вслед за значением последнего сопротивления последней группы идут два отрицательных числа. Ри с . 5 3.80.П рямоугольное х оккейное поле размераaxb освещ ено n рядами ламп, по m ламп в ряду, располож енных на высоте h от поверх ности льда. Расстояние меж дурядами ламп равно а/(n–1), расстояние меж дулампами в ряду– b/(m–1). О пределить освещ енность х оккейного поля в точке, расстояния от которой до бортов соответственно равны аi, bi (аi ≤ а, bi ≤ b). М ощ ность ламп – 200 В т , к.п.д. ламп – 1 %.
4. Использование подпрограмм 4.1. С оставить программудля вычисления значения следую щ его выраж ения при заданных x, a, b, c: ((ax + b) x + c) x − ((a / x + b) / x + c ) / x t= ((a x + b) x + c) x П ри реш ении задачи определить и использовать ф ункцию . 4.2. С оставить программудля вычисления значения следую щ его выраж ения при заданных x, y, a, b: t=
sin 2 ( x 2 − a) + cos 2 ( x 2 + a)( y − b − 1) ( x + a − 1) sin 2 ( y 4 + b ) + cos 2 ( y 4 − b )
П ри реш ении задачи определить и использовать ф ункцию . 4.3. С оставить программудля вычисления значения следую щ его выраж ения при заданных x, a, b: 3 ab ( a b + b a ) − 4a 2tg (b 2 − a 2 ) t= 3 0,5 x (0,5 x + x 0,5) − tg ( x 2 − 0,25) П ри реш ении задачи определить и использовать ф ункцию . 4.4. В программе определить две переменные перечисляемого типа – одну для названия страны, другую – для названия континента. Н аписать ф ункцию , которая по заданной стране определяет континент, на котором нах одится страна. О пределить для дв ух стран, нах одятся ли они наразных континентах . 4.5. Н айти все пары друж ественных чисел, леж ащ их в заданном диапазоне. О пределить и использовать в программе ф ункцию для нах ож дения суммы делителей натурального числа. Ук азани е: Д ва нат ур аль ны х ч и с ла назы вают с я др уж ес т венны ми , ес ли к аждо е и з ни х р авно с уммевс ех дели т елей др уго го , к р о мес амо го эт о го ч и с ла.
17
4.6. Д ля заданного натурального n найти первые n автоморф ных чисел. Н аписать и использовать в программе логическую ф ункцию , определяю щ ую , является ли число автоморф ным. Ук азани е: Чи с ло назы вает с я авт о мо р ф ны м, ес ли к вадр ат эт о го ч и с ла зак анч и вает с я эт и м жеч и с ло м.
4.7. Н айти все числа – палиндромы (см. 1.19) в заданном диапазоне от n до m, которые при возведении в квадрат такж е даю т палиндром. О пределить и использовать в программе необх одимые ф ункции. 4.8. С оставить программу, вычисляю щ ую наибольш ий общ ий делитель n заданных чисел. О пределить и использовать в программе ф ункцию для нах ож дения Н О Д дв ух чисел, использую щ ую алгоритм Е вклида(см. 3.25). 4.9. С оставить программу, вычисляю щ ую наименьш ее общ ее кратное n заданных чисел. О пределить и использовать в программе ф ункцию для нах ож дения Н О Д дв ух чисел, использую щ ую алгоритм Е вклида. 4.10.Н айти и вывести в порядке возрастания все несократимые дроби, заклю чённые меж ду0 и 1. Д ля реш ения задачи определить и использовать в программе ф ункцию для нах ож дения Н О Д двух чисел, использую щ ую алгоритм Е вклида. 4.11.Д аны два целых числа a и b (b ≠ 0). О писать процедуру, приводящ ую дробь a/b кнесократимомувидуc/d и использовать ее для приведения дроби 1 + 1/2 + 1/3 + … + 1/20 кнесократимомувиду. 4.12.Н аписать и использовать в программе процедуруслож ения двух дробей, результатом которой является несократимая правильная дробь. И спользовать ф ункцию для нах ож дения Н О Д двух чисел, использую щ ую алгоритм Е вклида. 4.13.Д ано натуральное число n. В ыяснить, имею тся ли среди чисел n, n+1,..., 2n близнецы. О пределить и использовать в программе логическую ф ункцию , определяю щ ую , является ли число простым. Ук азани е: Бли знец ами назы вают с япр о с т ы еч и с ла, р азно с т ь между к о т о р ы ми р авна двум.
4.14.С оставить программу, определяю щ ую количество сверх простых чисел в натуральном рядучисел, не превыш аю щ их 1000. О пределить и использовать в программе необх одимые ф ункции. Ук азани е: Свер хпр о с т ы м назы вает с я ч и с ло , ес ли о но пр о с т о е, и ч и с ло , по луч енно е и з него запи с ь ю ц и ф р во бр ат но м по р ядк е, т о жебудет пр о с т ы м.
4.15.С реди простых чисел, не превосх одящ их заданного n, найти такое, в двоичной записи которого максимальное число единиц. Н аписать и использовать в программе логическую ф ункцию , определяю щ ую , является ли число простым, атакж е ф ункцию для определения количестваединиц в двоичной записи натуральногочисла. 4.16.Н айти натуральные числаиззаданного диапазона, укоторых количество делителей является произведением дв ух простых чисел. О пределить и использовать в программе ф ункцию , определяю щ ую количество делителей натурального числа, а такж е логическую ф ункцию , определяю щ ую , является ли число простым. 4.17.С оставить программудля вычисления значения следую щ его выраж ения при заданном a:
18
a − 6 a2 + 1 . 1+ 7 3 + a Корни у = k x вычислять с точностью ε = 0.0001 по итерационной ф ормуле, приведенной в 3.38. О пределить и использовать в программе соответствую щ ую ф ункцию . 4.18.И спользуя вспомогательную ф ункцию нах ож дения sin(x) в виде разлож ения в ряд x3 x5 x 7 x 2i +1 sin(x) = x − + − + ... ± m ... , 3! 5 ! 7 ! ( 2i + 1)! (процесс суммирования остановить, если очередное слагаемое станет меньш е 0.001), вычислить для заданного N выраж ение: 1 1 1 1 + + + ... + . sin 1 (sin 1 + sin 2) (sin 1 + sin 2 + sin 3) (sin 1 + sin 2 + ... + sin N ) 4.19.И спользуя вспомогательную ф ункцию нах ож дения cos(x) в виде разлож ения в ряд x2 x4 x6 x 2i m ... , cos(x) = 1 − + − + ... ± 2! 4 ! 6 ! (2i )! (процесс суммирования остановить, если очередное слагаемое станет меньш е 0.001), вычислить для заданного N выраж ение: cos(x)+cos(cos(x))+… +cos(cos(… cos(x)… )). (N раз) 4.20 Н а прямой нах одятся три полож ительных заряда, величины q1, q2, q3, так, как показано на рис. 6. О пределить расстояния от заряда q1 до точек, в которых равнодействую щ ая сил отталкивания зарядами q1, q2, q3 некоторого четвертого полож ительного заряда равна нулю . О преРи с . 6 делить и использовать необх одимые ф ункции и процедуры. 3
Лит ерат ура 1. Бабуш кина И .А. П рактикум по Т урбо П аскалю / И . А. Бабуш кина, Н . А. Буш мелева, С . М . О кулов, С . Ю . Черных . – М .: АБФ , 1998. – 384 с. 2. С борникзадач по базовой компью терной подготовке / В . С . Зубов [и др.]. – М .: И зд-во М ЭИ , 1998. – 178 с. 3. П рограммирование наязыке П аскаль: У чеб. пособие для студ. вузов, обуч. по направлению подгот. бакалавров и магистров "И нф орматика и вычисл. тех ника" и по направлениям подгот. дипломир. специалистов "И нф орматикаи вычисл. тех ника" и "И нф орм. системы" : Задачник / О .Ф . У скова [и др.]. – С П б.: П итер, 2002. – 333 с.: ил. 4. П ильщ иков В . Н . С борник упраж нений по языкуП аскаль / В . Н . П ильщ иков. – М .: Н аука, 1989. – 160 с. 5. Абрамов С . А. Задачи по программированию / С . А. Абрамов, Г . Г . Г нездилова, Е . Н . Капустина, М . И . С елю н. – М .: Н аука, 1988. – 224 с.
19
С оставители: Д убр о вс к и й О лег И го р еви ч Л и хач евЕ вгени й Ро бер т о ви ч Кур ганс к и й Сер гей И вано ви ч
Редактор Ти хо ми р о ва О .А .