белорусский ордена трудового красного зналаени политехнический институт Минисгерстю высшего и ередкегв специального образования БССР Кафедра кибернетики и вычислительной техники ЗА Д АН И Я И МЕТОДИЧЕСКИЕ УКАЗАНИ Я по вылсднению контрольных работ по курсу пВынислительяая математика н программирзвзннз на 38М° для студентов специальностей 0502, 0503 заочной формы обучения Л'* и и с к 19 87 БЕЛ0РУССШ4П ОРйША ТРУДОВОГО КРАСНОГО ЗНАтИ ПОЖТЕХНИЧЕСгаИ ШСТИТУТ Шиистерство высшего и среднего специального образовз!Шя БССР Кафедра кибернетики и вычислительной техники ЗАДАНИЯ И МЕТ0ДИЧЕС1{ИЕ УКАЗАНИЯ по вьшолненшо контрольных работ по к^ грсу "Вычислительная математика и програгашрование на ЭВМ" для студентов специальностей 0502, 0503 заочной формы обучения М и н с к 1 9 8 7 В работе изложены вопросы использования числениых методов ре­ шения прикладных задач, разработки алгоритмов и нашюания прох’рамм для ЭШ на алгоритмическом языке программирования Фортран. Приведе­ ны варианты контрольных заданий и методические указания по их вы­ полнению. Изложение сопровождается примерами решения конкретных задач. УДК-ввЗтв Составили: Ф.Ы.Бабушкин, 0 .В.Бугай, В.В.ВыговскяЙ, Н.Н.Еурский, А.П.Михадевич Рецензенты: А.А.Петровский, С.Н.Фурсенко (с)Белорусский политехнический институт, 1987. 1. КОНТРОЛЬШЕ РАБОТЫ По курсу необходимо выполнить три контрольные работы. Первая охватывает численные методы, вопросы разработка алгоритмов и схем алгоритмов решения задач. Вторая работа посвя1дена програм-шрованию на языке Фортран, написанию разветвляющихся и циклических программ, разработке подпрограм?л. В третьей работе рассматриваются вопросы использования пакета научных поддрюграьсл решения прикладшгх задач. Каждый студент выполняет тот вариант задачи, который соответ­ ствует последней цифре его шифра. При решении задач необходиью строт’о ооблвдать требования за­ даний. Для изучения курса и выполнения контрольных работ рекомен­ дуется пользоваться литературой, список которой приведен ниже. В каждом конкретном задании имеются ссылки на разделы настоящего пособия, содехскгщие методические указания по способагл ргшешы конк­ ретных задач, подробно рассматриваются пршлеры решения аналогич­ ных задач. Предварительная проработка этих разделов существенно облехчшт выполнение задания. Литература 1. Вычислительная техника в инженерных и экономических рас­ четах /А.В.Петров, В.Е.Алексеев и др.; Под ред. А.В.Петрова. - М.: Высш.школе, 1Э84. - 320 с. 2. Алексеев В.Е., Ваулин А.С., Петрова Г.Б. Вычислительная техника в инженерных и экономических расчетах. Сборник задач и упражнений. - М,: Высш.школа, 1084. 126 с . 3. Фурунжиев Р.И, Вычислительная техника и ее применение. - Мн.: Вышэкшая школа, 1984. - 364 с. 4. Фурунжиев Р.И. Вычислительная техника. Практикум. - Мн.: Бышайшая школа, 1985. - 254 с. 5. Брич З.С. и др. Фортран ЕС ЭВ?.!. - М.: Статистика, 1978. - 264 с. 6. Ьородич Л.И. И др. Справочное пособие по приближенным методам решения задач высшей математики. - Мл.; Вышэйшая школа, 1986. - 190 с. 7. Сборник задач по методам вычислений/ А.й.Азаров, В.А.Басия, И.Н.Мелешко и др.; Под ред. П.И.Монастырного. - {«н.: Изд-во Бе­ лорус, ун-та, 1983. - 288 с. 3 8. Гусак А.А. Элементы методов внчаслегшй. -- Мы.: Изд-во Белорус.ун-та, 1982. - 166 о. 9. Коотёыова Н.В., Ыарон И.А. Вычислительная математика в пошлевах к задачах. - М.: Наука, 1972. - 368 с. К о н т р о л ь н а я р а й о т а № I Решить члслешидл методом задачу, условие которой приведено в тай.ч.1. В процессе решения вшолнить следутоцд1е этапы: 1. Описать алгоритм решения задачи. 2. Начертить алх'Оритма. 3. Получить численное х^еиекие задачи. Все вы^шсления производить о четырьш десятичными знака.\ш после запятой. Описание наиболее употребляемых блоков схем алгоритмов, чио- лешшх методов решешш задач и :»5етодические рекомевдации по ха реадизащш приведены в разделах 2,1-2.3. Т а б л и ц а I Вариант ! Условие задачи 1 1 2 0 Используя метод последовательного исюючения неизвест­ ных (.метод Гаусса), ххешить систему лшхе&хых алгебраи­ ческих уравнений: , , ! 3 ~3^с ^ 3 с^'^ / Р, X , - 5-Тг -■ 3.3ЛГа - 2 0 х » ~ - [ 2,5x^-■ ‘^ X ^*2Х ъ ~ -20, 29. ^ По формуле левых прЯ!'Лоугодьшп<ов вычислить интех’рал » !,е г о.е задаваясь шагом интегрирования ^ = 0 ,1. Найти анали­ тическое решение и определить относительную погрешность вычислений. Найти корень уравнения /('X) = 0,25X -/,25 -О на интервале [О; 2 ] , исполь.чуя метод хорд. Начальным Продолжеше таС5л.1 прVлС^ шже^ шем задаться самостоятельно, процесс вычисления корня закончить при выполнении условия 10С.„- Х п ч 1 -0 ,0 0 / . По фортлуле пшзых лряхлоутюльников вычислить интеграл / ' ^ _____ _ ^ ;(Х ) Ых =^'x: ^ ]/^ -X ^с/х , а е задаваясь шагом интегрировения я = 0 ,2 . Найти анали­ тическое решение и определить относительна'^ погреш­ ность вычислений. Найти корень уравнения /(X ) - З х - '^ б ^ х -З'^О на интервале [2 ;4 ] , используя .метод Ньютона. Началь­ ным присОшкением задаться са}лостоятельно, про­ цесс вычисления корня зшюнчить при выполнении усло­ вия \ х „ - Х п - 1 \ х о ,о о / . По формуле трапеций вычислить интеграл Г ^ у/ (х }о1х - ^ ( x - г *б {п ^ '^ Ы х , задаваясь шагом интегрирования Л = 0 ,1 . Найти аналити- чеокое решение и определить относительную погрешность вычислений. Используя интерполяционный шогочлен Лагранжа найти приближенное значение функции , заданной таблично 60 1 ! 1 0,48 { 0,55 ! ! 1 0,62 1 1 0,70 [ \ 0,75 1 1 1.64 1 1,73 I 1,88 1 2.03 1 2,23 1 2,36 в точке X = 0.50. Иродсх!^ «ешш та|1.я. 1 Иопользуя метод Яйлера, составить тайаицу прис1^ ^'^ ■женныx значевий Ш1теграла д®$фереи1 лального уравнения на отрезке [ О; I ]о шагом интегрирования /г = 0,1 ш кана.Д’Л;!ш условном = 0. ____________ __ Найти корень уравнения ^ п х -10 X = 0 на интер>наче [З ; 4 ] , исдользун метод итераций. На-~ чальшм нриближением Хо задаться сат1юотоятел1,но, процесс внчислешщ корня закои'хить при ныполненш! условия __________ I Х п - Х '„:,! X 0,001.____________________ До фор'муле Сикшоона вычислить интеграл ^ 7 I [Х{х)а1х - -------- , задаваясь шагом интегрирования Л = 0 ,1 . Найти анали­ тическое решение и определить относительнужо погреш­ ность вычислений. К о н т р о л ь н а я р а б о т а И 2 Задаше I . Составить на Фортране программу вынислешш иначе- шй функции, приведенной в табл.2. При разработке программы вшюд- 1шть следующие этапы; 1. Начертить ох&щ алх'оритьа решения задачи. 2. Присвоить Имена переменным. 3. Выбрать спецификации вводшлых исходных данных. 4. Выбрать фюрыу печати на ас!4|авитяо-Цифровом печатающем устройстве исходных данных и результатов счета. При этом предусмотреть печать фамилии, и,о.студента я его ишфра. 5. Написать текст Программы. В конце програ1л.ш зшшсать иоходные данные. Методические рекомендаций по решению задачи оодертатся з разделе 2.4 настоящего пособия. Т а б л и ц а 2 " ■" ""I .................... ■" ........ Вари- I Условие задачи ант : I Исходные ДсПпше к ■ задаче 1‘де а если а. >8 М'гг X - ( т а ! а 4 ^ а=-. гои-е если Со л = 1/|а^| ^ П6Т0 ■3,48, В = 5,31 п = ^ ^ ] = -18,6*10^; = 1,34-Ю^; = о ,325-10^; = 286-10"^, + 2,56, если где ^^3,7-10^ ^'?^3,7-103 Д = 3,84; Р = 7,7*10^; ^ О Х;^ - = 0.3*10^; ^ ' - - Г У Г х . 1-/ Т / П X УО %2 = -1,5-10^5 Хд = 22,5.10"^ " а х ^ * 1 , если г и: 0,2 а = 10,2} X = 1,357; 2В,5*со5х . если У х * 2 5 ' , если г = 0,2 Л > 0,2 « = 6} в^ = 0,15*10"2; Во = -1,13*10*^; Продолжение табл.2 I 2 ! .3 гае Вз = 0,58*Ю'^; П X ^оо В4 = 2.8*10°; Бд = 0,48*10^; Вз = 0.451*10^. а^тЪ^Зх если Всо$х*^пах’ 1 ^ и 0.5 а = 2,38; в = Х.Зб.б-Ю-*- •э 3 ^ = ^ 2.5^5* г. / г / > 0 .5 . X = 2,5*10°; к = 4; бУ,= 12.8 -15,3 гае г ~ П 4 1 <=/ . /а/о с/^ = -16,5: 0.5 \ \ / 1 а - В если а л 2 а = 1,38; в = 0,51*10^; 4 ^ 1 1 2 -^ 1 , если а X = -1,345в; п = 10 гае п I ГС6С^“ Л , ес«ш 2 Л 0.6 а = 12,5.10' 5. ^ ~ \ / а если г > о , б Х1= 1,3458; Х2= -43,8; гае г ~ ~ Т 1 Х ^ ^ /1/ , П4.^5 Хз= 346,1; Х4= 1,3 « = 4 где п Т111^ 1 - I если X =. 0,17*10^ ; В п *: 5если ч = 12,5*10^ ч = 0,3*10^ ^ , п 4, Ю ъ = -3,7*10“ ^ ч = -328*10° »5 = 1,1*10^ продолжение тас5л.2 I ! 2 ! 3 , если , если Сп'У.Х'-а/'/, если ^ = х - 3 . у х - 8 . а = -18,6 ; в=0.85-,Ш-*; п = 5 с^= -0,125*10^ С2= 12,8-10® где 4 г 2,Л п , X - Сс, 114. Ю с.з==1,6-10"^ о^.=~7,5-10^ С;-= 0,361-10-^ [а <■ 8 - 1 , ВСЛХ1 7- (X <■ 8 , а =~18,6; в=1,26-ГО^; 4; Х^= -2,56; 8 где а * & (а^'6) ’ п X 20 Х2= 62,3; Хд= -13,67; х^= 5,1 9 , если о/~ - со$д ^ если 4 ^ , у .6 , = -1.2-Ю ^; к=8; /г = 5 с^= 0,135; где п<^10) С2= -1,27; 00= 8,366; с^= 0; с^— 3,5. Задача 2. Решить задачу, сфогл1улированную в табл.З. При ра­ боте над задачей в1Д1рлкйть следуюицге этаян: 1. Присвоить шля шдпрогргшме, 2. Начертить схемы ачгоритьюв Задач, решаемых подпрограглюй и го­ ловной прох’раьшой. 3, Присвоить имена переменным. 4, Задать численные значения исходных данных и выбрать специфинадии по кх вводу. 5. Виб1)ать фор1.1у печати результатов вшюлпения ирог ’^акаш на ал4а.йит- но-цифроБом печатаючем устройстве. Предусмотреть при этом печать фамшши, и.о.студента и его Ш1фра. 6. Написать текст подпрограммы и привести фюрглу обра]дения к пей, дав ОЕиошше паршлатров. 7. Ышшсать текст головной гфогрш.зш. В конце програмз.ш записать И0“ ходные дшшые. Методические рекомендации по решению задачи содех«катся в раз­ деле 2.5. Т а б л и ц а 3 Вариант Постановка задачи 2 О.рормить Бкчислеше сут.г.1Ы и количества отрицательицх эле­ ментов вектора (х , ] (I = /77] ) как подпрограглиу Ъи&йОит1А/Е . Используя эту под,програь2.1у,вычт.слить суьму п количество отрицательных элементов вектора Оформлть вычисление кшшчеотва и сушы ноложитедышх эле­ ментов в нижнем левом треугольнике матршшт ^/~п)^ включая диагональные элементы, как подпрогра1;алу' Зиы^отгл/Е. Используя эту подарограмиу,вычислить косшчество и сумму положительных элементов в ниж{ем левом треугольнике матрицы - Ь 5 ). для йорми- НОВОЙ Составить подпхх>гра1Ж1у ВивйОитшЕ рованйя из последовательности (а ,) = 1, п } пос./1едоватедьнооти ^ -Гп) ^ где (]■= йТл] • Используя эту подпро1’рагл,1у.^сформировать из пооледовательнооги С и ) (и = /7/т; вательнооть = 1М) ( у - и п ) . новую пооледо- . где Офоршгаь нахождение коордшшт центра тяжести материаль­ ных точек 10 ПродолаеЕие табл.З — г ; >п I и т г 1= / как гюдпрограгл»5у ЗУдйООПА/Е • Используя эту под- щюграг.йту5 найти координаты центра тжести трех мате- т>лальяит: точек. ______________________________________ Офорг-щть Еахождешге с^ ншы тех строк катрнца ( ) ( Е п ) , у которых на главной диагонали расположе­ ны нулевые элементы юш подирограьвд' ЬивиОипл'Е Используя эту поддрогра1.г.5у,кайти оутллу тех строк ьштрицы ( ) (^■, ^= . У которых на главкой диагона- ли гасполоненн нулевне э л е м е н т ы .____________________ 0фор.'.и1ть определение максшального по числежоыу значе­ нию элемента пооледовательности { ) { I - ЛТг) и его порилкозого номера как нодпрограг.Е»^ Ы’ЬЙОитЦ\/е Используя эту подцрогрз:а1у, определить 1лаксшлальный по чиоленноь;у значению элемент последозательнооти ( ) _( .4 = .4 ДО)» __________________________________________ Оформить определение ?лннд:'.:ального По численно:15у значению элемента последовательности ( с=Тхь ) а его по- рядасового номера как поддрогра;.й1у ЗиВЙОитСА/Е Используя эту подпрогра!л,]у5определить мишвлальшй! по чиолешюму значению элемент последовательности ( ) ( I. = 1.20) и его пооядкозый номер.______________________ Орормить вычисление су.ш столбцов матрицы размера пг чг как подпрограгллу Ьи&йОиТ1/'УЕ . Испояьзуя эту по,1щрогоа;диу-вычислить суммы столбцов матрицы 5x3. Оформить подсчет количества нулевых элементов в каждой строке матрицы размером тг »п. как подпрогра\плу Зи&ЙОитТА/Е . Используя эту подпрограчслу., вы­ числить количество нулевых элементов в ка;здой строке матрищ размером 4x5. 0фор?,1йть вычисление суглл элементов четных строк матрицы размера как подпрогрщзд 5и&яоиТ1ЫЕ - Используя ее.решить такую задачу для матрицы 5 x 3 II Контрольная работа Ш 3 Составить на Фортране с копользовшитеы пакета иаучнш т д ~ аро1’1>амм програт?у решешк задачи* условие которой приведено в табл.4. При разработке прюграммн вшюднить следующие этапы: I . Начертить схеглу алгорктш решентш задачи. Для реадизгирш чис- лешюго метода решения ислатьзовать указанн^ !^ в услоьши иодпрог- рамму. 2. Присвоить тлена пе,ремеш!ш. 3. Вы0|1с1ть специфхшадии вводтлшс исходных данных. 4. Шбрать форму печати результатов вылоднения ирогршя^ы на алфа­ витно-цифровом печатающем устропотае. Предусмотреть ирн этой пе­ чать фагльиш!, и .о, студента и его шифра. 5. Написать текст программы, В конце прогршллн записать исходцше данные. Методические рекомевдапди по использованию пакета цаучнш: шд- ирограмм Б програгллах решения лриклаидых эщгач соде;ршчтоя в разде­ ле 2 . 6. Т а б л II п а 4 _ Г Вариант Условие задачи ■Г Решить методогл Гаусса (подпрограьала лине,йних апгебраичеоких уравнений: 51М{1 ) оиотему 1+Х2+Х3+Х4 10 2х^-т ГЗХт+2х2+Хз-0х ^ = 2 4х1+2з^ ~5Хз+2х4 = 1 Решать о тошюстью 6 = 10”^ на 1штех)Бал.е[0;6 ] методом делеаия тиолт (подщюгрш,аи к'Ти.1 ) нелинейное уравнение 1гг (0,914бх)-1.038х+2,5 Макою^шьное количество задшших итершдай - 20. Для Еычяоления значеняй функади ^ ( х ) разработать внеш­ нюю подарогршялу типа 1~О А/СП'О А/ с шдаием нСТ . Продолаеш'.е табл.4 Бычиолить значение опреде^аенного интеграла а о методом Сишсона (подпрограмма Д6'/~ ) с шаго;л А = 0,1, В программе преду '^смотреть форшроватше масоива входных зна­ чений функции у к Х , а 2с1д.Х\ . А й л--/, . /г . \/Т^' Вцесь х - г ^ а - О , Решить с точностью 6 = 10” ^ иа шлервале [-2 ;2 3 методом деления пополам (подпрограмма /?ТI^I ) иелшшйное урав­ нение //'Х)= 1,2755x3 _ 3,601х^ - 1,37х + 6,76, 1'ааксшмальное катичестБО заданных итераций - 20. Для вычисле­ ния значений футшвш / {х ) разработать внешнюю подн о^гра^лму типа РиА/СПО/^ с игменем РСт . Лровести интерполирование функции ^ г / ( х ) методом Лагранжа (по,дпрогрси:иьа А и ! ) . фучжцкя представлена таб­ лицей эксперШV1ентальныx значений: 1 ? Г 1 » 1 ! 0 ! 1 5 1 3 0 ! 4 5 ! 6 0 ! 7 5 « • • » » » 9 0 1 1 1 0 5 / ( Х ) \ в 0 0 1 7 1 6 | б 6 5 1 6 2 1 I 5 8 6 | 5 5 6 5 3 2 I 5 1 0 Интерполирование провести для значения аргумента х=68. Верх- Н.ЯЯ гпамиа абсол;1'тяой ошибки 6 = 10"" .^_______________ _ Решить на интервале 1_1; 20] методом Рунге-Кутта Сподпрог- ршл/я РК2. ) дифференциальное уравнение С начальныЕйШ условиями х ^ = I , у^ = I и шагом интегрирования А = 0,1 . Количество шагов между двумя сохраняемыг«ш в пш.шти величиыагии К = 10. Для вычисления значений функции Продолжение табл.4 2 разработать внешшю подпрогрш.й!у типа риыСТ10/\/ о ишнем РО/\/С ,______________ ____________ __________________ Решить с точ н остью 8 = 10” ^ методом последовательнкю приб­ лижений (подпрограг,1ма Й Т^1 ) нелинейное уравнение 3 ‘ Зит5.630 Начальное приближение корня = 0,51. Макоикальное коли­ чество заданншс итеращ-й - 20. Для вычисления значений функ- 11Д1И с/’(ос) разработать внешнюю подпрограмму типа о именем Рил/С . Найти значение определенного интеггала е ж .3 2 = ^ / (x )о / x - [ (1 о 'х + Ыт. а К ) с шагом ^ =методом трапеций (подпрограмма й Т Р Е В программе предусмотреть формирование массива жодных значений футпсции . а ч. адесь Д415Э27..Г.Г.Г, ^ , - а =$■ , Х г6 Провести интерполирование функции у - Л х ) методом Ньютона (подпрограмь»а //Д -'Т 'Х ) . Функция представлена таблицей экспериментальных значений: -------- г X ! ---------- 1 -2 !! 3 1 ! 4.5 т----- ------- 1 Г 12 ! 15 -1--- -------1-------- ! 18.5 ! 20 / Ш ! -17 !: -3 ! 1.2 ! 1.8 1 3 ! 4.5 ! 7 Интерполирование провести для значешш аргумента х = 9,8- Решить на интервале [З ; 10] методом Рунх’е-Кутта (нод- програ’жа ^ К2) дифференциальное То'нвнеше с начальными условиями х^ = I , у ^ = 2, 23 и шагом интегри­ рования /г = 0 ,1 . Количество шагов между двз'мя сохраняемыми 3 палята величиналк К=5. Для вычисления значений фуншщи 14 Продолжение табл.4 разработать внешнюю подпрограгллу типа Рил/СГ10/\/ с дменем Р . ________________________________ Вычислить значение определенного интеграла г ^ =Глг V /? /}о/х л Г) - /методом Сигшсона (подпрогршма ) с шагом ^ =0,1. В програглле предусмотреть форгдировакке массива входных значений функции = Зйесь Л. х и п ( х \ - 1 ) , I ! г , X , - х - 0 , х „ - 3 - 2 .п - Решить с точностью 6 = 10~“ методом поатедователь- ных црибл1Ьйений (подпрограмма ЙТ\ы1 ) налинейное у|)авнение Ср(х)^0,2 Начальное приближение корня = 0 ,8 . Максимальное ко­ личество заданных итераций -30. Для вычисления значе­ ний функции 1р(Х) разработать внешнюю подпрограьилу типа РОА/С 770/\/_________ с именем Р1 ___________ Провести интерполирование функции у - / (х ) ме­ тодом Лагранжа (подпрограглма А ^ I ) . Функция предс­ тавлена таблицей экспериментальных значений: ! - 2 . 3 ! ! 0 ! ' ! 1 . 1 ! 4 . 8 Г ! ! 7 , 3 ! 9 , 2 1 1 . 4 Л Х ) | - ^ 2 . 5 ! 8 , 6 ! 1 3 , 4 ! 1 5 , 1 ! ! ! 2 1 , 4 ! 2 4 , 2 ! ! 2 8 , 3 Интерполирование провести для значения аргутлента х=1,5. Верхняя гранща абсолютной отис^ а^ 6 = 10“ ' .^ Решить на интервале [О; 5] методом Рунге-Кутта (подпрограмма Я К2) дифференциальное уравнение У ‘ ^ :^ ( х , у } 3 1 П 2 х - у 1 у х с начальны1>ш услоБияьи х^ = О, у ^ = - I и шагом интегри- ПродолженЕв табл.4 ровшшя~? = СД. Количество шагов мея14у двут^ сохраня­ емыми в пшляти вел1гщп1ша1 Для вычисления значений фушс1{он /ДС'- /^) разработать внешнюю додцрох'ршлму типа РиА/СТ[0^\/ о ткнем /- Ро1Еить на интервале [ОДОд методом Рунге-Кутта (под- програша ЯК2) ди(|ферен1щалыюе уравнение ^ = //'Л-, -У //2 Л: - о начальншдз условия:*® х.=0, у =2 и шагом интегрированяяр ^ к.) п. =0Д. КашчесхБо шагов межд5' двумя сохраняеыыш в пачшти величинами К=10. Д.тя вычисления значений фуикщш 1 ( х , у ) разработать внешнюю подцр>эгра:я,5г типа 'РОЖТГОА/ с именам ПУА/С Провести интерполирование фучшдш У -К ос) ме- тодо.м Ньютона (подлрогрш*г.1а ^1/\/ТХ ) . Ф5'таауш прод- отавлена таблицей экснершланталышх значений: ! 2,34! 5.16! 7.03!, 8,42! 9.61!10.12!! 11.35! 12Л2 >ед.Ч5,16125.03!32Д 8!37,Ш 44,82151,62 ! 50,13! 73,16 Интерпол !^ровашIе провести для значешш аргумента х= 5,5. Решть с точнсстью 6 = 10“ ^ методогл последовательных приблЕкений (подпрограьша ЙТ^1 ) нелинейное уравне­ ние Эс- у’(х ) ' 2 - 51П Начальное приближение корня =* 1,3077. Максимальное ко.шчество задашшх итераций - 20. Для вычисления значе­ ний функции 0>{х-) разработать внешиою подпрограмму типа Ри/УСТТОА/ с ш,!енем Р Реишхь методом Гаусса (ыоддрогршф.'а &ТМ‘Х ) ояотвщ линейных алгебраичесхшх уравнений 1,84Х| + 2,25X2 * ' = -6,09 2,32x2 ^ * ьОХ2 Ч" 2,62х ^ — —6,98 50 Продолжеш1в а‘абл.4 1,83х^ + 2,06X2 + 2,24Хз = -5,52 ^ Вы'шслить значение определенного интеграяа I ^ _______ _ 2 -^ Цх)с1х~ о1х а у методом трапеций (подлрогра>лаа О.ТРЕ ) о шагом ,4=0,1. В програяле предусмотреть форьшрование массива входных значений фушщии . 1 / ^ орв Л', ^ = ^— , /г . Здесь п - 8~а— •* -/, л , = а = / , ж » = 6 - 2 . Решить с точностью 6 = 10“ ^ на интервале [О ; 1] методом деления пополам (подпрогрш,5ма ) нели­ нейное уравнение § ( х ) - ] / / - х - 1 ^ х ~ о . 1'Дакси1лальное количество заданных итераций - 50. Для вычис­ ления значений фушщии ^■(x) програмлу типа РиА/СТЮл/ разработать внешнюю под- с именем Р с т . 17 2. .‘.ЕТ0ДЯЕС1'1ИЕ УКАЗМП4Я !Ю ВЫПОЛНЕНИЮ КОНТРОЛЫЫХ РАБОТ 2.1. Числешше методы Подробное изложение методов решения различных задач содержитоя в учебных пособиях [бЗ - [в ] . В дшшом разделе приведены вычислитель­ ные схеш , реализующие методы решения задач контрольноЁ работы й I . 2 .1 .1 . Решение систем линейных алгебраических уравнений Одаим из распространенных методов х>ешения систем уравнений яв­ ляется метод последовательного исключения неизвестных (метод Гаусса). В!гшслительная схема метода для систеш четырех уршшеяий с четырь­ мя неизвестныгя! + ®12^ -2 + = ^15 ^ 2 Л + ®22^ ®23^ + ^24^4 = ®25 ®31^1 ®32^2 ^33^ + ^34^4 ~ ^35 ®41^1 ^42^2 + ^43^ + ^44^4 = ®45 приведена в табл.5,6. Т а б л и ц а Г Коэффициенты при неизвестных 1Свободны3;Контроль- ;ш е суммы 1% ! ^3 ! Х4 Г члеш \! 4 1 «12 «13 «14 «15 «I ®21 «22 «23 «24 «25 «2 «31 «32 «33 «34 «35 °3 «41 ^42 «43 «44 «45 ........° 4 ____ I Ы-а Л г «22 « Ь « к «25 «2 «32 «!зз «34 «35 «3 «42 « Ь «44 «45 «4 I Л г «33 « к « к % «Ъ «44 «45 ч 18 Продоллсениз табл. 5 I ! 2 ! 3 ! 4 ! 5 ! 6 I •4* ^44 <•> ^45 °4 I оС V6■ ■> 1 ^4 ^4 I ^3 ’^ З I I Расчетные соотношення для получения элементов табл.5 содеркатся в табл.6. Т а б л и ц а 6 Вычислительные йормулы ! Контрольные соотношения Л - ‘Г : а = 1 ,2 ,3 ,4 ) п , . В л йуг (^■=2,3,4,5) 1 42 * ^ V ~ ^ 14 * ^ ^ ^ ^ 2 » ^ ) (4 =2.3,4) С/ = -а й л - , . (У =2.3 .4 .5 ) / . <ЯгУ а Л (/= 3 .4 ,5 ) 1*<^гз <^^ 344 '* с^23 -у^а // / / й у = 0.1^ - и ^ 2 -а'^гтЗ (^ =3.4) (/=3 .4 ,5 ) 3 *й!'с 44 ^Л-'у = с " ( г =3,4) • а*5. (^ = 4.5) аСз‘4 19 Продолжение гайд-6 _________' 2 ■й, - а у - - а - л V - т т ^/Ч а ч ч (^ Ч3~ ~Сч с\ = ^ 4 5 - 1 *<Х 43 ~0^ 11 /3 ^А ' ^ Х ч - 5 I + Х^= Х;^ Х 1 - с^ з5-'<А--5^Х-Ч I + Хз= Хз ~{Х25 - 0^ .2^ / X 3 X + ОС { ~ аС ^ /V ОС4/ а -2^ 3 '' (/-п ^ ^ I + Х|= х^ - Х ч - Х з ~ < ^ з ч X ч ^ 2 —Лл. ^ 24 X Ч ~о2.23-^3 X Л1 /Ч Х ч ~ 13 X 3 ~ <Х 12Х2 2 .1 .2 . Решение нелшюйных уравнений Вычисление корней (решений) алгебраических и трансцендентных нелинейных уравнений вида . / {Х ) = 0 с заданной наперед точностью обычно осуществляют путем применения какой-либо итерационной процедуры, состоящей в построении числовых последовательностей ОС;^ , сходцшщхся к искомому корню х* уравнения. Ниже приводятся формулы итерационных процедур различных методов отыскания корней уравнения //'ас)=0 на отрезке I . Метод хорд. Метод хорд требует исследования изменения знака второй произ­ водной / "(X ) на отрезке ца,в] и принятия соответствующего 20 решения о выборе начального приближе^шя и рекуррентной (формулы. Если ^ (ё ) [" (о с ) :;^ 0 на [а,в] , то = а и ОСп^, = ^ п - Если §(6}'~ ^ (^п) ^ (а )^ "(ос) > о на [а,в] М м . ТО = В И -Л? п* ^ О- (Хг^-а)- , 1 (Х п ) -т ) 2. Метод льютона (метод касательных) Л -„.у - Х а - нричем Хд = Га, если }(а )^ ''(х) у О 1в* / № п ) (Хп) на [а,в] ; если К е ) Г ' ( Х ) > 0 на [а ,в ]. Метод Ньютона эйективен в случае, если значение ^^Уx)^ близ корня 3? достаточно велико, т .е . имеет место большая крутизна функции у = н окрестности корня. 3. Метод итераций. Уравнение }(Х ')~ 0 приводится к виду Х = С/(Х), либо непосредственншл выделением х из уравнения ^ ( х ) - о , либо с помощью преобразования А х) ~ 1 Г ■(^{х) - X - Ватачину й. следует выбирать таким образом, чтобы 1^1 у > й - т ах1< '{х)1 на отрезке [а ,в ]. Итерационный процесс определения корня уравнения 1^(х) сходит­ ся при выполнении условия на [а.в] • Рекуррентная формула для этого метода имеет вид Хгх*( — (Хтх) ^ /2 = 0 ,1 ,2 , , . . Начальное приближение х^ задается из промежутка [а .в ]. 2 .1 .3 . Интерполирование функций В общем слу'чае задача отыскания интерполирующего глногочлена решается таким образом. Пусть функция ^ ( х ) определена на от­ резке [а;в] и известны значения фушодш в точках отрезка х^.х^, 22^ . . . ,х » г . Значения функции обозначшл У(^ ,у^ -,У2 . ..,у ,г ; т .е . 21 '■ о^-((<Х1с.} , Точки , . . . . - '^/г назынавтоя узлмж интерполяюш. Ставится задание найти такой много­ член, значения которого в узлах интерполяции совпадают о осответот- вущилга значештп! футации, Интерполяцпоннстя форедда Лагранлл = у, * *= л и ■ . ( х - о с к - - Хкч)---1х-Хп) ^ ~X>:){Xк ''X . {Хл. 'Xк - (Х^ - X/м/У' '(Х/^ - Х)-^ '^ позволяет найти интерполяционный шогочлен п-ож степени. При вычислена коэффициентов Лагранжа разности удобно распо­ лагать следуквиш ооразом; ! X - Х о \ Х с - Х , Х с -X, , . . . х ^ • , Х , - Х с . \ х - х , \ X , - Х г „Х * ^ - X п Х г - Х о Х г -X/ . . . Х г - а с , ■ - ■ - - - - - - . - . - - - п " Ос о Х п - Х , ■Ос п - - - 1 а - Л ' / , 1 2 .1 .4 . >1ор;)улы поиб-таженною вычисления шггогралов Пусть требуется вычислить интеграл //{х)С '/х , где И х ) - даш1ая функция, непрерывная на отрезке . Разделил отре­ зок \лИ] н ал равных частей, т .е . п. частггшых отрезков. •Илташ калсцого отрезка (шаг интегрирования) /г - 7 :^— . Точки де­ ления будут .лгу Х г - а <-/1 , Хг =й.-*-2 Л , . . . , :Т„., - а * { п ч )11 ,х,^ = ^ Эти числа называют уз.’шли. Значения ф^ чшции в узжос обоаначгол . . . , , т .е . ^x--}И^),у,=^7т,),. .,^/п--^{Ю • погрешности вводится паршлетр ля (|() остаточны15 член фсрлул гштегри- рования, который определяет разность нсжтху тощшм значением интег­ рала и его приближеняы1>1 значеякем. I . Формула левых прямоугольников [ И х ) И х л:- А / 7 :х) , тае - а - 1 А и /.2, . 2. Фордула пртвых пржлоугольников ] А ( х ) И х ^ к а ^- < где X , - а * ^ к (1 = С\ 1,2. ИТ-) 3. Фор-чг-яа средних прщлоугольшжов ^//х)0/л> - /г / (х , , ^ Х.1 = Ск * I (ь А = / 2 , , . , _ /г ^. 4. '5орг/ч'ла Т1)анеций К - И х . ) А - 0 , 1 г . . . . , п ) , ос, = а -* 1 (г . 5. Фор.ц'ла Слмпюна (число п - обязательно четное) \^(х)а'х = I ^^с. -у/7 - У ^л . . ' ] , а где ос, = а *1 А . (с --о, г, 2 ....... п ) , = ^ ( х , ) . Из всех приведенных форлул наиболее точной является формула Сш.:п(она. Так, для по,дучения точности в 2-3 значадше 1П1фры при при­ менении формулы Симиона достаточно 4-6 ординат, при пр:д.!ено1ши фо]7- одлы трапеции - 8-12 ординат, при применении формулы пряглоугольни-- ков - до 24 ординат. 2 .1 .5 . Приближенные методы решения обыкновенных дифференциальных уравнений Обыкновенным .дифференциальным уравнением называетоя выражсение где л? - независимая переменная, у - искомая функция (от Л )', производные / -го порядка. Уравнение называется разрешенным относительно старшей производ­ ной, если оно имеет вид Задача отыскания решения уравнения этого вица ^(ос) прл начальных условиях назы­ вается задачей Коши для обыкновенного дифференгиального У)ивн0ния Метод Эйлера (для дифферешщальных уравнений первого порядка) Пусть .дано уравнение ^ с начальным условием • - Тогда решение на отрезке [а,й^ будем искать по рекуррентной форг.1уле 23 аде ( к - 0 , / , 2 -------Г>-у), У к = У ( Х ! , ) , оск - Х о А- к , к ^ ( 3~ а ) ] п . 2.2. Изобракеняе схем алгоритмов Алгоритм - это последовательность предписаний (правил), о.цно- знанЕО опрвдетаодюс процесс преобразованш исходных данных в резуль­ тат решения задачи. Основой для разработки алгоритма решения задачи является ее математическая формулировка. Наиболее наглядный способ представления алгоритмов - их. изобра- кеиие в виде схем - последовательности блоков, прс.щгасавжщих вшол- нение определенных функций, и связей между ниш. Внутри блоков ука­ зывается поясняющая шгфорглацяя, характеризующая выпо.пняеще ими дей­ ствия. Блоки охеш обычно т5вют сквозную нумерацию. Конфигуращш и размер блоков, а также порядок построения схем опреде;мют ГОСТы 19002-80 и 19003-80. В табл.7 приведешь некоторые наиболее часто употребляеше блоки и даны пояснения к шал. Т а б л и ц а 7 хЧазвалие ошлвола ( ______________ ! Сжглвол Прголечание Процесс Соответствует оцно.му или нвсколъкач опера- торал приовакваяпя Решение Модификация Проверта уоловшй; соответствует опера­ тору /Р | ; С ^ . Начало цикла; соответ­ ствует оператору ВО Предопределенный продеоо Вычисление по подпро- граэде Перфокарта С Ввод дшш^ x^ с перфокарт или вывод дашшх на перфокарты; соответству­ ет опертатору ЯЕ/\Т) Продолжение табл. I ! 2 ! 3 при вводе шш при выводе - «;'Й1ГЕ Документ Вывод датшх, печать ре­ зультатов; соответствует оператору и/>?/ Го Пуоя, останов С 3 Начало, конец,останов, вход и выход в ПОЩ11ЮГЩМ- мах. Этжл блоком всегда начинается и заканчивает­ ся схема алгорктш Блоки на схема алторитш совдшиштся линиями оьязи, указываю­ щими очередность вшолгнешш пролрисаний алгоритма. Еош! эти лш1’ли налразлены сверху' вниз или слева направо, то стрелки па них могут не проставляться; при обратном надраалешщ лгагай связи, т.е, снизу вверх и оправа налево, стрелки проставлязотся обязательно. Большшство блоков схв.ш алгоритма юлоют один вход (верхняя лин:ия) и один выход (нижняя лпшия). Блок "решение" имеет два или более выходов (гпшнш и боковые линии) в зависиглооти от количества проверяемых условий. Назначвш1в лшшй связи блока "модификация" следующее: I - вход в пшсл, начало цикла; 2 - корлаяьный выход аз тлела, когда цикл выполняется количество раз, определенное оца|а- тором БО ; 3 - переход к операторам внутри цикла; 4 ~ возрат к началу цикла после каждого очередного выполнения операторов цикла. 2.3. Пример решения задачи численным методом Процедуру выполнения контрольной работы I поясним на следую­ щем прш,!вра. По формуле средних прямоугольников вычислить шзгеграл ]/('т)а>х о/х , а г ’ задав-аясь шагом зштегрирования к = 0,2. Вычнолетш проводить о че- тырьш цеоятичзшш значениями. I. Описание алгоритма решения задачи. 25 Воопользуемоя описанием алгоритш, нриввденного в разделе 2.1.4 / п , I , - / - ^ 1 2 /{ли - » где /г г / а х , ~ (с -О , - ,^2 , . . . . п ] . Введем новое обозначение XV, - X,- + {I -0.^,г,. , п ). Тоща форлула орезших прямоугольников затшшетоя в виде {, ~ о ^ 2, Соотавяенив схе;,ш ачгоритзла резлеюш задачзи. Пртвеззем формулы разработанного рхшее алгоритзла (I - 0 , 2 , 2 , . . п) На рис.I.^приведена одна из возможннх схем алгоритма решения задачи в-о.А? - -~Ж~ X,- ~ а ■*^ 1 А 1 XV, - л\ а • 1 = в «- у ” 2Г /(ЛСп) ( в\ Пйропегр^о-.В,к ) I П=(е-а)1А с : 1-0 □ ^ гХ— '— тл л\=а*1п. __1Расчет2(х,2 __ у. Р -Л , ',-------- -^------ - ------ -^----- 1 Л -Л 7Л-, иег Свак. /^ йлгс//^.Га/>г;о^х.) В схеме принято обозначение 3 -Т 1 / (Х и ) , Тогда 1 = / г '3 - 26 3. Чйоленное решение задачи Опредэотм количество отрезков Ш1тьгоп|ховааия о.ч~^ Опрвдв^ ш^ л х\ по форлуле :Г, - а ^1к - 2*0.21 Опрбделшд по фор.1уле X и' Результаты вычиолений приведены в *ас5л.8. Т а б л I! ц в (22 'р 1 ■х\-ан!п Д" /, ■уД2- и 4 { 0 2 2,1 4,41 9,261 10,261 о,4;йз I 2.2 2,3 5,29 12,167 13,167 0,4010 2 2,4 2,5 6,25 15,625 16.625 0,3759 3 2.6 2.7 7,29 19,683 20,683 0,3524 4 2,8 2,9 8,41 24,509 25, Ш9 0,3',Ю9 5 3,0 3,1 9,61 29,791 30,791 0,3121 На!!дем значение кнтег|ила 5 '~ Т : - 72 /[-Хп) -- ((>Л29 ^-^ 0,^0/Л ^аЗ?й 9^а 5^ 2^ / * *0.Ы09)~-1^%90$ А з =0/2 '/,Е908:^0,37&2. Найдем аналитическое значетш для шггеграяа. Вшолним эал1вну переменной тогда а/^=9хЧ'7х и [ - (-Х 2 . с/т - - / У ^ , Д а . . Здесь а , 8! - новые пределы Д' -2 /В, Х -'Ъ 6 ? 5"= ^2 ио ле довате лыю, 27 Оценшл погрешность прюленешш формулы средних пртлоуголыгаков , т .е . 0>0^ 52 .. ^ ^ , 7. ~ 0.3(И0 - 0,5931/2 а 939 ногрешность составила 3,86^. 2.4. Програмлированке разветвляющихся и циклических вычислительных процессов Методику программирования названных процессов на языке ФОРТРАН рассмотри на конкретном приглере. Постановка задачи Составить программу по вычислению ^ п *в при г г .о .5 В, где 2 г = -13,62 а,--: - 12,6 0,2461 /=/■ П +х У 16- ЗС! при 2 :^ 0 ,3 В, п предусмотрев расчет при д:= 0,3 . 10^ а^= -1,83 0,3 /г = 5 а^= 175,1 Решение п б с - ^ и р-Па1 1-/1. Введем промежуточные переменные Тогда исходная форг,1ула перепишется в виде [б В при 2 ^ 0 ,3 в , + Л: при 2 '7/ О.ъ В . 2. В програглме предусмотрим: - ввод исходных данных и вывод их для контроля на печать; - вычисление 2 , 3 > Р и у ; - вывод результата счета на печать. В соответствии с этим алгоритм решения задачи может быть пред­ ставлен в виде следующей схемы: В сулмировании участвуют положительные, а в перемножении — отрица­ тельные элементы массива. 28 3. Присваиваем имена переменным. Переменная в алгоритма а.' ё О-с Р 2 У П 4. Выбираем спвци|)икашт вводиг.шх дашшх. Имя на Фортране X В АН) 5 Р ?- У N Переменная В X Ы АН). Пробивка на перфокарта - /362 3*2 - 12.Ьф(^ф и^^^0.6ффф 1 7 3 . 1ффф Спеии||1икаиия Р5.2 ЕЗ. / 12 ЕЪ.Ч 29 с с с Выбигаеы форму пе^тн иоходашх данных и результата счета — ...- И ПАНОВ ^ А. . . , С. 1л 21.— ШИФР ^ . 7 5 - 2 Ш Тлр.1..... * И С X ОД ныв ^ ДАННЫ В I ^ X - ~ /3 . ^2 л_| 5 — /-/ (0. 3^ 1^ Ф2 и Л/ ' 3 Л П В 1__________ ^ А (П Ипоъ Л '1 2 .в ф ф ф ^ и ф , 2^261 ^ и т.д. ^ _______РЕЗ Х/Ъ ТА Г __ ^ У - Р.О. ииив о иц 6, Записываем возможный вариант текста програмш 56 КОНТРОЛЬНАЯ РАБОТА N ^ ЗАДАЧА 1 НВАНРВи А.._,С. Т5. Г0. (9Я5. б ПИ Ш М ЕЛ/ЗЮ А/ и А (10) РЕ А В (1.1) 6 Л ./V , { А П ) , 1 - 1,/У) НОРМА Т СГ5. 2 , ЕЗ. / . 1 2 К П . Ч)) РР1А/Т2, Х .& .Л /, (А (1 ) ,1 ~ Л А/) РОЙ МАТ (9 Х , *И5АН08и А. ^ С .'/Л Х , ' ШИФР^^ С ^ 75-2Т2Л '/ 7ХИСХОДНЫЕ^ААННЬ\е '/2Х, 'У - ', Н б .г ,2Х ,'& - ', Е В .1 ,2 х , 'л /= ',1 2 /а х , 'А (Ц '/ (Н Х .Р Ь .Ч ) ) 2-5айТ(АВ5(В~%] )1л/ 2 ~ ф . Р - 1. О о ^ З ^ 1 - 1 , А/ 30 1Р (АП).&Т. Ф. )3- -5*АЦ) 1Р(А Ц) . 1Т. Ф)Й = Р * А П ) СОЛ/ПА/иь 1 Р( 2 ~ ф 5 * 3 ) » . 9 , 9 С^О^РГО ^ ^ф 9 У - А - Х 1ф РЙ1А/Т.а/5,У 15 РОЙИМТ ( 1фу., ‘ РЕ59МЬТМТ'/9Х, 'у= ', В1ф. 5.) ЬТОР Ел/В 7. Запигшваем исходные данные - 1ЬВЕ5 *2 ^ 5 -12-ЬФФФ 1^ и ф .1 4 6 / и - Р $5фф Ф-.ЗФФФ 1 7 5 . 1 ФФФ Такую поолецоштельноогь модао рекомендовать при решении за­ дачи I контрольной работы 3. 2,5, Прогрш.мгоойание поцпр<Л’ра),«,1 2 ,5 .1 . Общие сведения Рассмотрим основные правила написанда поцпрограли на Фортране, из которых наиболее часто применяются подпрограммы типа рил/СТЮЫ и 5иВЙООТ1А/Е. Для того, чтобы определить вычисления, которые будет произво­ дить п о д п р о г р ш л д а - ( | | у н к ц и я , следует написать участок 31 щюг!®!*!»;, содеркащий необходи:лив оператор!, перец эти^ л участком 11рогрвн?лп ^Расположить ватоловок, а в конце участка записать опера­ тор ЕЛ/П. Нач?лльная строка (заголовок) подпрограммы РОА'СЛО^ иглеет вид: тш Ри/^с тюы ( а г, . . ■, Л п). Здесь: №1Я. - ю.м подлрог|х1.мш Рик/сТЮл/, присвоенное по обычнш правилам. Оно состоит только вз букв и цифр, па'шнается с буч^ вы и содержит не более гаеоти символов; - ТЩ - оператор описания типа подпрограгямы - IА/ТРОФЕЯ (целый) или ЯЕА1 (веществеюшй). Если этот оператор отсутствует, то тип пошфОгра!Лмы опредодается по первой букве имени; - 0^^........ а ,1 - шена формальных шараметров, разделяегмые внутри скобок запятыми. Нормальные параметры являются фиктивнш.ж перемешшмя п служат только для указания типа, количества и порядка записи аргутмеитов фушгщш. В качестве формальных пара!летров могут выступать имена переменных, маосшзоз, подпрограмм. I1VМ подпрограммы РО'Л/СТЮЛА Л.ОЛШО быть использовано в под - программе в качестве имеш переменной в операторе присваиванш. Если в качестве форильного параметра выступает шля массива, то оно должно быть описано внутри пош1рогра»жнм в операторе ШМЕА/ЕЮА/ . Подпрогра-ма Рил/стюл должна содержать оператор ЕА/Вж не менее одного оператора ЕЕ Та я А/ . Оператол ЕЛО указывает физиче­ ский конец проградамы. Оператор ЯЕТийл означает логическое за­ вершение вычислений и передает вычисленное значение фуккщш в ос­ новную программу - ту програглму, которая обращается к подпрограм­ ме. Перед выполнением оператора ЯЕТОЕА/ имени функции должно быть присвоено вычисленное значение. Обращение к подпрогралле РОа/стюа/ производится путем указа­ ния в арифметическом выражении основной програю.ш имени подпро - граммы и следующего за ним списка фактических параметров, который заключается в круглые скобки. Параметры внутри списка разделяются запятыми. Формальные и фактические параметры должны соответство­ вать друг другу по типу, количеству и порядку следования. Выполне­ ние обращения к податрограмгле Роа/стеш приводит к тогму, что значе­ ние функфш вычисляется с использованием конкретных фактических 32 параметров, значения которых заменяют фо|1мальны0 паршлетри. В ка­ честве фш?ткчеоких паршлатров могут использоваться константы, пе- ремояные, массивы;, злементы массивов, арифметические выражения, щена пояирогпз>лм» Пб|шрогг.»аш,1а .^'/А/<Г'/'/(7Л''юлв8т сзпдеотвеннов отграничение, соото- адее в том, что она всегда дает один я е ш й результат. Этого недо­ статка лишена подпрограмма5о ' к о т о р а я может передавт'ть в основную нрог'ршлгду насколько результатов. Заголовок потщрогратлш5'УЯ;?т?(У//Л'^ г шлеет вдд: 5ибяо1/т1А'е ш я (^1/..........о.п ) . Здесь; КШ - Ы.1Я подпрограглмы, присвоенное по ос&тчным правилам. Сднш;о оно не онрецеяяется но типу, так как при выполнении подпро­ граммы может быть получено несколько результатов. В отжчие от пощ1рогр8.*«.ш Л>:4^ '^ //Л1/пм8гш гю.дпрограшлн ВУ&ЯОит!л/В не приовак- Ш8ТСЯ числовое значение; - а у. . . . . Лл - имена фордальных параметров, о^|малъ!Шв паршлетрг к юс соотношение с |фактич8ски«1а опрвде- •дяютоя так же, как и для подпроггв»,»® Рид/еТЮ А/ . Для об|)ащ8Нпя к подпрограмме из сснонноЛ програадды использует.., оя оператор СА^^ , записываешй в форде: СА1Р ИДЯ { ) . Здесь: уП ОРМ ИРОВА ИНЫЙ У(и1}^-Ф. 2, У(и2)= -3 .6 ' и г д- 6. Запгюнваем текст подпрограш.ш ^ ^ ПОДПРОГРАММА ы ОГР\мЕК кОИТРОЛЬНАЯ ^ РАдОТА N 2 з а д а н а ^ 2 ИВАНОВ и. А. ^ С. Г5 . ГФ. Г936 . и 5 П И ЪивРоит ш в ы О Тр\А /ЕК г а , а/ , & , к ) тМЕГ/АЮЛ/ Й(Л/), Ь(л/) к ~ ф в о ^ I - ^,N 1Р (А (I) .& Е .ф .)& 0 и Т О и 7 к =К* г СОЛ' П А /и в Р г ТОРА/ [: А/ П 35 О(5{ВД0НИ0 к подарог1а(Л10 \ 0 А 1 Е ОТЯМ^ЕК (А , А/, В . Я ) , т ,0 А - входной векхор размерности А/ ; 5 - ВНХ0ЦН011 вектор размериоотл А/ ; /V - размерность векторов Л и в ; К - внхотщое значение 1,1аксгалального порядкового номера отря- цательнод'о элемента в векторе 6 7. Еадшснваем текст головной прогргел-.ш 6 6 С. С С с КОНТРОЛЬНАЯ РАбОТА,^ N 2 5 А Д А Н И Е о 2 ИВАНОВ ^ А. О. /5 . -НР. 19$6. ЬПР\ 0ГА.АЛ09НМ9 ^ П РРГРАМ Г/А К п о д п р о гР А М А /е с., о г я и / Е к ШЫЕА/ЗЮ Л/ ^ X (10). У(1ф) РЕАО а-. 1) )Х (1 ), 7 - /, )ф) РОЙ М АТ (5РЙ . /у РЙ1А/Г.^ 2 > (Г . А П ) . I - /. 1ф) РОЙ М А Т 1 Р к И а А Н О Б и А .._ ,с '. / З а , 'ш и ф р и С ^^ ?ь -2 1 ?^ 7 2 Х, ' ИСЖОАНЫЙ и М А РС И В '/, Т Х . 'Х Г ; 12 \ АЧ. 1)) СА1Е ОТРШЕК (X, 1ф, й) РЙТМ Т и.% ,{ 1 , У т .1 ^ 1 , К ) РОйМАТ ( I X , 'СФОРМИРОВАННЫЙ и м А о си ь / Т ч х , 'УС, 1 2 , ' ) = ' , РЧ .Т)} ВТОР ЕЛ/в ЗБ Походные .щшшй к этой прог|аммв должш быть й?шнпаш1 на бланка слецуоднм обраэом !. Л - Ф . & ~ 3 . 6 и.6 , 9 - 2 . ? ^ 6.3 - О. 3 -9 . / о 7. 9..5 Такую иоследонательностъ можно ргжомендоваг'Ь прк? решении аада- тл 7 контрольной работы 2, 2 .6 . Иопользованае вакзта научных но1шрог]тм д;ш рвшеши пр1шлащшх задач 2.6,1. Общие свецакид В щкакткка нау^ шых и инженерных раочетов часто возникает необ-- ход1шооть 3 Р6Ш0Н1Ш таких задач, как шшЯ'рнрохшпиа ф.ункци!!, ревш- 1ше линойных и нелашеЯянх алгебраических, циМервкциалышх уравне- шй и их систем 1! Т.Н.. Чиоленныа методы ретенид таких задач раз- работгиш мате.матш:а;.;и, заисюгратшровапы и включены в со<;;'гав про- грам.шох-’о обеспечения Эй.'. Прогрш.д.ш, реа/шзуадие эти метода, офор­ млена как псдарограммы. Для реиен’.ог конкретной задачи на ЭШ доста­ точно воспользоваться одной из этих пощдиоьрйгАч, обращение к кото­ рым ооущботвляев'оя отапдартним образом. Исполъзовапив таких под- арогргьш, иазванш»х надчяыг.ш подщрогриг.еаадп, обвопечшаег возмож­ ность решения на ЭйЛ задач кз различннх облаотеЛ науки и техншси, ‘ш т х как физика, энерге-тика, экономика, хньшя, биололш и яр.при М'лнэиалькых затратах 1фемош1 на прюграмглих-юванио. Научные иодвцюгхтм решения пуяислатишх задач, пшгаоанныв на Форт]ане, схрортллыш как повшхкя'рзьйш ^иЛ'СТ/ОА' ш биййОЫПА/Е^ При вх исяользова1ПП! необходамо шдоряиватъ приввиен1ше выгае пха- аита работы о прог]тйла'м. 2 .6 .2 . Решение спотем линейных алгебхаических ухеннений Рассмотрим систему /г линейшьх алгебршчеоккх уравнений о п- неизвестны.га а и X , * а Х'г - . . . ^ О- ,п X п - 6 , 1 а , , X , ^ иггХХ г * . . ■ " XI 'X п - 6 ^ , а . п Г ^ л Ф " ( X п п 37 или в векто1)ноч.!атричной фо{1Ме А х ~ & , 411(3 О. а а ц . . , (X их Х У г ( Х и (X гг . ■‘ О, йп , ёг. : 61: = -2’ р и п / Л п г ■ - О, п /, Х п - соотвотптвенно глятртща коэффишептов, вектор-отода^еп овобоцнл^ х членов и вектор-чзтолбец неизвестных. Для решения таких систем уравнений на лхтактпке ШП1КЖО нрш^ !аня- ется метод Гаусса с внб'ором главного элемента. В пакете научных тп'Д прогрчглл этот метод реатазован поцпрог1хд«ой 31 МО. , обдащгашо к которой осуществляется так: С А Н 6 1Ма ( А , в , /V, 1ЕА). Входные параметры: - количество уравнений систем линей­ ных алгебраических уравнештй; А -- матр!шл коэГхфш'иептов сиотеда размером (А/'Л^), раополокенная по столбцам. В холе вычислений я.я меняется; В ~ вектор свободных членов сксгеш, ссщернащий Ау эле­ ментов. На выходе ашиеняется вектором решения X . Выходгазо параметры: д - массив изХ/ действительных чисел, содерлашяй решение системы; [ЕА - признак результата, пргопплающий следуккще значения. Н Е = О - для иорлальнозхз решения, Н Е - I _ для особеююй систеш уравнений (определитель системы равен нулю). 2 .6.3. Решение нелинейных уравнений В практике паучгшх и инженерных расчетов часто возникает необ ходимость в решении уравнензй вида Л х ) = с \ где функция : {^Х) оцрецелена и иеп1)ерывна на некотором копеодом или бесконечном интервале а. Численные метода решения таких урав­ нений позволяют определить приб.лижепные значения корней с заданной степенью точности. На практике находят применение метода деления по- полазл и последовательных прпближвшп!. Для метода деления пополам су1цествекно, чтобы функция ^ ( x ) была непрерывна и ограничена в заданном интервале , внутри 38 которого ищется корень. Предполагается таклй, что значения фуикцш! на концах (штервала и имеют з^азные знаки, т .е . випол- ияется ус ловка } ( ё ) с О . 3 пакета научных подпрограьш метод целения попола>л обеспв'шьа- ет подпрогршщла ЙТI^I . Обрш(0ние к данной подпрограмл.ш: СА^^ ЙТЦ[ ( х , Р , РСТ, X^ , х Р , Е Р 8 , м Ш Е Р ) . Бходние параметры: К1Т - имя внешней подпрогрзаммы-функцин, Бта аодпро1'рамча состаь/шется пользователем к должна обеспечить вычис­ ление значения фу!шщш } {э с ) по заданному значению ’Х . Параметр ЮТ онисывается 01:ератором ЕXТ^Р/VА^ в головной прогрж.ме; х/. , х ё ~ соответственно значения левой и прй.вой Гранин; Ю!тервала ; БР5 - ногрешость вы'шолешш корня; Ы1 - максимальное чйоло зацашшх итераций. Выхов.ные пархпадтры; X - вычисленный кор/ень уравнения Р - значение функции //.г>в корке X ; [ЕР - признак резулн тата, пркшшающил одно из следующих значений. 1ЕР= О - нет ошибки. ТЕР =1 - нет оходшлости за М1 нтврап,кй, ЕРР -2 - но ьыполлшетоя условие 1^риме^ шмост^ ! метода деления попождл ЕСГ[кЕ] >РСРТлР)р(], В методе последовательных приближений ураБиенпе } ( Р ) =0 пред­ ставляют в виде Х - 1г’(ос) , что всепщ можно сделать и нрл1Том многи­ ми способами. Например, мошо выделить X из урьЕнапия О, а остальное перенести в пр^ авую часть. Можно также выполнить следую щее преобразование: X =:Х‘- 'С / {х ; , где С ~ произвольная постошшая. В <зтои случае 1/{х): X Еацаются па'илышц приближением Л’ [О / , а последр'хяцие прибли-зе- Ш1Я определяют итерационной процедурой вида; Х [ к * ! ] - (/{ХТк]), к - О , . . . Метод последовательных приближений реализует подацтограмгла Х'Пу / . Обращение к шцщрогра;ш0: РА1.Е РГ\л/1 (Х,Р. РСТ. ХЗГ, ЕРЗ,МЕ. 1ЕР). Вхоя.1ше пара1,1етры: Л Т - ш.ш внеш!шй по,дпрог1К1Мьш-фуш<Щ1и. Она составляется пользователем и должна обеспечить Еычиелвнив значения фуикп,ик 1/(х} по заданному значению х . ПаргН.гетр ЕС/' в головной прогргшме описывается оператором Ех ТЕРЫ/М ; ХУГ - начальное при- бслижиние корня.; РРЗ- верхняя граница погрешности вычисления корня; 39 М.1 ~ максимальное число йте{«Д1й!. /.'нхоЕные парамет1'4(: X - вачисленный корень уравпешш Х'-://1' х ) ; / - значение функции и корне Д? ; 1Е/? -при­ знак результата, принимающий одно из слетдаиих з н а ч е н и й . - О - нет ошибки. 7 '^/:=1 - нет охоцшлости за 1М1 итерапий. ГСП Г'. - на не­ котором И(1Те знаменатель итерационной форглулн равен нулю. 2.6.4. Интерполирование функтетй На практике в результате экспериментальных исолодовапий чхгото получают таблицу зиач9Н!тй некоторой фун'щии при фикоировангоп; значениях аргумента д? , г .е . /1 - о, с, , /г} . Аналити­ ческая взаимоеиязь меиду и неизвестна, что ке позвол.чет янчкслить значения фугьщии /7 я ^ в пром0г^ '^то^ а^ ыx точтсах, отлича­ ющихся от эксперимзпталькнх точек X, (с =с\-{, п ) , Ддя оппоа- нил этих значений строят аняроксииирувцуп (пркблилгш:дую) фужцию ‘Г (х ! , расчеты по которой, .либо сошада^зт, либо в некотором смысле цриблилаютоя к экспериментально иаблюдаемта зпаче}1ия.м. По- отровпия функции чорх'У называется гштерполпрованием. К шгтерполи- роваито прибег’ают и в случае, когда аналитический вид функции/Сх/ известен, но для подучеши ее значений необходимо провести большой объем вычислений. Зш.гена фушсцйи /С.т] прибдикенной формулой (С/х'У позволяет упростить вычислени-Я, Наиболее часто в качестве шторполкрувдих футгкций при­ меняют алгебраические многочлены. Пнтерполянда в тш?ом случае ка- зч'-аетоя алгебраической. На практике для интерполирования функщй находят применение методы Лагракна и Ньютона. В пакете научных пощтрограг.гм метод Дагранка осуишствляет поц- програг.йла МС 7 . Обращение к по.дпрогршлис с/ис л и (X, / и , л / , У , / 1/, ЕР.9, ГЕ^) . Вхощше параметры; X - значение аргумента, для которого вк- числяется приближенное значение функшш; /IX - вектор значеки!! ар­ гумента Хг,..., Хп разномерности /V ; АУ ~ вектор эксперименталь­ ных значений функпии размерности А/ ; N - размер­ ность векторов Лх и / 1У ; ЕРЗ- верхняя гратп1а абсолютной ошибки. Выходные параг4етры: У - шнерполлрованное значение функции; ТЕР- признак результата. Этот параметр принимает одно из четырех значений. 1ЕЯ= О - требуемая точность достигается. В данном случае разность меязду двугля пооледовательныгли интерполированными значени- 40 ями функции по модулю меньше заданного значения ВРЗ (проверка начинается с третьего шага). 1ЕР = I - требуемая точность не до­ стигается вследствие округленля./^^А’ = 2 - Л/^3. 1ЕЙ = 3 - обнару­ жено два одинаковых значения арх’умента в векторе АХ. Линейная татерполяция по методу Ньютона реализована в подпро­ грамме ^ 1Л/ТХ. Обращение к подпрограьеле: С й и ^^Л/^X ( Х,У.АХ,АУ. А/,1Е'Й). Вхощше пара1летры: X - значение аргуглента, для которого вы­ числяется приближенное значение функщш; АХ - массив значений а])- гут.1внта Д ? / , А У - массив экспершонтальных значений функции ^ ~ размерность массивов АХ, АУ. Выхо.щше параглетры: У - ш!терполирова1Шое значение футщии; 1ЕЙ - признак результата, пршюлающиЯ одно из следующих значений. ШЙ = О - значение X находится в пределах табмщн [аХ(1), А1(/уЦ ^ решение получено,//?/?=! - значение аргумента X выходит за пределы таблицы [ах {1),АХ(Л/)!, вычисление У не производится. 2 .6 .5 . Численное интегрирование На практике для зычислешья значений определенных интегралов находят пржлененио метода трапеции и Оштсона, д’. Вычиоленке вектора значений интегралов У, = ^ (Х')с1 X для таб­ лицы значений функщш , заданной в равностоящих точках : 0.^ {с - А (с ^1,2,- , п ) • по правилу трапеций осуществляет подпрограгиа ОТРЕ . Начиная со значения 2 '/= О, вычисляются пооледователыше значения интегралов. 2 ,^ 1 , 4 ^ -/Л Обращение к поплрогра'лме с д и йтРЕ 1 и . у , г , А / } . Вхотнше пара1летрн: А/ - приращение значен1й аргумента, V - вектор оначенш! функции, /V - размерность векторов У, 2 . Выходной параметр: Ъ - вектор значений интегралов. Вычисление вектора значений интегралов для табличной функции о (мвноотстояцгаш значениягли аргугиепта по форг^ (уле Скшсона реализо­ вано в по.дпроггаше б? 5'У. Обращение к подпрогра1лме С д и а з р ( А /,у , 41 Вхолдне иа|нмот|«д: Н ~ прирщение значений 8.ргу1лента, У - иекхор значений фуш<цта, /V - размерность векторов V , 2 . Если А/< Л . то нычиоленкя не производятся. Выходной партмйтр: -2 - вектор значений Ш1тег|влов. 2 .6 .6 . Ретвкие обыкновенных Дйффереш1,иальш1х уравнений На практике для решения диффарешщальинх уравнений первого норядка ■.) начальными условиями С^о) широкое применение находят ме­ тоды Рунге-Кутта, Один из этих методов реализован в пакете на^ '■ЧIП1X лохщрограмм в подпрогрш.вде !^К2, Эй«1 выдает табличнуа зависимость значений у от значений Д? . Обращение к цоплрогршдглв гаиевт вид н . X /, У у к, л/. \/е с } . Входные паршлвтрп: РУА/~ таш подпрограмг.ш РЫА/СТЮа/лш вычи­ сления значений , составляемой пользователем. Парш^ аетр Рб'Л' описывается оператором ЕXТЕЕX/А^ ; Н - шаг хштегрироваяия; Х'<, У1 - соответственно начальные значения Хр , ; К - количество шап5в между двумя сохраняемыми в пагляти величинал®; /У~ число на- кашшваешх значений. Выходные параметры: У ЕС - результпрухици}': вектор длины N , в котором накапливаются вычиолв1шые значенют У . В подпрогра^яле вычисляются значения У для значений X, рас­ стояние между которхпяи равно шагу аУ , но в па?ляти сохраняется каждое К-е значение У (для значений X, расстояние мелщу которыми составляет ХН) , Количество накапливаешх в массиве 1/'Л’значений У равно N - Хк - X н кН Здесь Хц , Хк ~ соответственно начальное и конечное значение ин­ тервала, на котором решается уравнение. 2 ,6 .7 . Пример решения задачи о использованием научных подпрограглм При выполнента контрольной работы № 3 необходшо учесть сле- 42 дующее оботоетелдотво. В каждом на вариштов шлоютоя две зад11чя. В одной из них г'реОуетоя написать основную программу о об^ ищениеы к позщрогрш.ме, реализувдей соответствующий метод 1>ешвиия конкрвт ной задачи. В другой необходимо написать основную прог^ишу о об­ ращением к по.га1рограм.ме, реапиауущей конкрекшй мето]1 р.зшения за­ дачи, и, кроме того, ногозрограьнду тина/-б'Л' ’^/7ал‘-.ь п =50. Для внчполбшш а1гачений функщш }{х-) разработаем Енв1янгда гнхдор >грчмму А‘Ь'ЛГ7/('лД,/о именем ГОЛ'. I. Вычерчиваем схему алгоритм:! рмшения задачи. С-г ЛГ , _ 3 — (I .. У- ,1^__п^ гаг.[ Р«-^ !/льгага \ 4,:> 2. Присваиваем имена перемв1шым. Переменная №ля на Фортране СС 0 а А 8 п. А/ 3. Выбираем опецпфикшщи ввощашх иахганх, ВйлииЕш В, Ск в общем случае являются веществешшми, поэто­ му выбираем для них спецификацию РЪЛ. Дяч числа п используем спецйфикацшо 1.2. Все числа введем о одной перфокарты. 4. Выбираем форг.1у печати результатов. 50 ПОЗИЦ11Й Левый край бумаги ЛШЮВ.^А.С. ШИОР.^ С ^75-2128 ДШП4А ^ КРИВОЙ.. 5 = Ф . Ф г Ф 44 Для печати результата используем спецификашш Е12.5. 5. Записываем текст црогра^ плы. КОНГРОЛЬНМ^ РАБОТА^ N 5 Е-ЛТЕ\(ЫА1 РОА/ РЕАО (АА1а ,&.Л/ РОЙ МАГ ( 2 Р З . 1у12) СААР РОА/е- (РОА/,А,В,/У,5) \МЙ1ТЕ ( 3 . 2 ) 5 РОЙ М А Г (ЗфХ, б А НОВ с. А.С /ЗфХ, АРИШИФРи. Си 75 - 212&1з Фа , ЗИДЛИНА , ^X, 9 Н КРИВОЙ и 3 = , Р / 2 . 5 ) 5ТОР ЕЫВ РОА/СТГОА/ РОА/ГХ) РО А / -В О Й Т (Х *( 2 Ф . - X)) ЙВТОЙА/ ЕА/О 30 С О Д Е Р Ж А Н И Е 1. Контрольные шботы............................................................... ... 3 2. Методические указания по вшолнении контрольных работ,. 1Г) 2.1, Чиолешше методы,................................................................. Г8 2.1 .1 . Решение систем л>шейных алгебраичеоких уравнегай............................ 1Ь 2 .1 .2 . Решение нелинейных уравнений........................... 2Г, 2 .1 .3 . Инторполцрование функций.................... 21 2.1 .4 . Формулы приближенного вычисления интегралов 22 2.1 .5 . Приближенные методы решеши обыкновенных .щйреренциалышх уравнешй............................... 23 2.2. Изоб1)ажение схем алгоритмов,................................ 24 2.3. Пример рваюния задачи 'шолеяшм методом................... 25 2.4, Программирование разветвляющихся и дик^ш^вскиx вычиолителышх процессов........................................ 28 2.5. Програгд-мнрованио подпрогра.М1.1....................................... 31 2.5 .1 . Общие сведения...................... 31 2.5 .2 . Пример раз^нботки поднрограмлы....................... 33 2.6, Использовш1ив пшсета научных подпрог]а,м1.1 для реаш- ння нр!шлад!тах задач.............................. 3? 2 .6 .1 . Общие сведения........ ................................. 37 2.6 .2 . Репшние систем линейных алгебраических уравнений...................... 37 2.6 .3 . Решение нелинейных уравнений................. ЗР 2.6 .4 . Пнтерполирочание фуюнщй.................................. 4С 2.6 .5 . Численное интегрирование............. 41 2.6 .6 . Решение обыкновенных диф|)врвншшльгшх уравнений.................................. 42 2.6 .7 . Пример решения зада’-ш о использованием , кау ч:иых лодпрогра1,1м....................................... 42 4еликс Михайлович БАБУ1ШИ Осип Викентьевич БЛ'АЙ Блэдигар Владю/лрович ВЫГОЗСШй! и др;. ЗАДМгаЯ И ?№ТОЛГ-1ЕСКИЕ УКАЗА1Ш по выполнению контрольных работ по курсу "Вычислительная математика и програг-.мрованне на ЭВМ" для студентов специальностей 0502, 0503 заочной х^орглы обучения Редактор Н.Я.Псонинз Подписано в печать 26.01.87. Формат 6Сх84-‘-/16. Бугиага т.Ж . Офс.печать. Усл.печ.л.2,56. Уч.-изд.л.2.00^ Тир.800. Зак.58. Бесплатно. Отпечатано на ротапринте БПИ. 220027, Минск, Ленинский пр., 65.