Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
Із яких є тентів • ■ « т тДата добавления: 2015-10-19; просмотров: 1665
Тема: вычисление суммы ряда сходящейся последовательности, программирование рекуррентных соотношений. Разработать программу вычисления c заданной точностью Е суммы ряда S = X2/4! – X4/6! + X6/8! – X8/10! + … - + X2i /(2i+2)!+ -… Вычисление суммы заканчивается, если модуль очередного слагаемого оказывается меньше заданного значения точности Е, вводимого с клавиатуры. Для оценки правильности результата предусмотреть вычисление по контрольной формуле: S = (cos(X) - 1)/(X**2) + 0.5. Примечание. Вычисление очередного члена ряда ai , i=2,3,… следует проводить по формуле ai = a (i-1) *d на основе значения предыдущего члена ряда ai-1 , умноженного на дополнение d. Дополнение d следует определить из отношения d = ai /ai-1 , где выражения для вычисления двух соседних членов ряда записываются в общем виде. Тогда для приведенного выше ряда дополнение получается в виде: d = (- (X2i /(2i+2)!) )/ (X2(i-1) /(2(i-1)+2)!) = - X2 / ((2i+1)(2i+2)), и первый член ряда а1 = X2/4! Лабораторная работа №5. Тема: Применение функций и процедур. 1. Разработать программу вычисления числа сочетаний из N по M по формуле С = N! / ((N-M)! * M!) , используя в качестве функции программу вычисления факториала, рассмотренную (см.ЛР №2). В программе предусмотреть ввод исходных данных с клавиатуры и контроль корректности задания данных: N>0, M >0, N>M. Расширение диапазона значений С до 1 млн. выполнение программы произвольное число раз с новыми значениями N,M, не выходя в режим редактирования (вставить в программу оператор цикла REPEAT … UNTIL povtor = (‘N’) or povtor=‘n’); выдачу на монитор, кроме значения С, также и промежуточных результатов расчета N!, M!, (N-M)!. Задается матрица A размерности 2xN произвольных чисел. Пара чисел А[1,i], A[2,i] определяет координаты точки i на плоскости, i=1..N. Точки попарно соединены между собой отрезками. Разработать программу, которая находит отрезок максимальной длины. В программе предусмотреть ввод числа N с клавиатуры, а задание элементов матрицы - по желанию пользователя: либо с клавиатуры, либо с помощью встроенного генератора случайных чисел (функция random(…)). Длина отрезка Rij между точками i, j вычисляется по формуле Rij = (( A[1,i] – A[1,j])2 + ( A[2,i] – A[2,j])2)1/2. Вычисление значений Rij в программе предусмотреть с помощью специально заданной функции FRij. Program Line_max; Var N,i,j:byte; L,max_L:real A:array[1..15] of real; povtor,rg:char; Function FRij(x1,y1,x2,y2:real) of real; Begin FRij: = sqrt(sqr(x2 – x1) + sqr(y2 – y1)) End; Begin repeat Write(‘Задай значение N>0: ’);readln(N); Writeln(‘Задай режим ввода элементов массива: writeln (‘ к – с клавиатуры’); writeln (‘ г – с помощью генератора случайных чисел’);read(rg); case rg of ‘к’,’К’: begin for i:=1 to 2 do for j:=1 to N do begin write(‘Элемент ’,i,’,’,j,’= ‘);readln(A[i,j]); end; ‘г’,’Г’: max_L:=0; For i:=1 to N-1 do For j:=i+1 to N do Begin L:=Rij(A[1,i],A[1,j],A[2,i],A[2,j]); If L>max_L then Begin max_L:=L;z1:=i;z2:=j End; End; writeln(‘Максимальную длину L= ‘,max_L, ’ имеет отрезок между точками’,i,’ и ‘,j,‘ имеющими координаты ’, A[1,i],’, ‘,A[1,j],’ и ‘,A[2,i],’, ‘,A[2,j]); Writeln(‘Повторить ввод ? – Y/N: ’);readln(povtor) Until (povtor=’n’) or (povtor=”N”) Writeln(‘Press enter’);readln End.
Требования к оформлению лабораторных работ. Результаты всех лабораторных работ оформляются в виде отчетов, содержащих титульный лист, оглавление, задание, тексты программ с комментариями, результаты по всем пунктам заданий с пояснением результатов. 2. Подготовка к каждой лабораторной работе обязательна и состоит в предварительной (домашней) разработке текста программы (а еще лучше – и ее отладке: тогда программу целесообразно принести в виде файла на дискете со всеми вариантами работы программы согласно пунктам задания).
ЛИТЕРАТУРА 1. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. М.:Изд. Нолидж, 1998. 2. Марченко А.И., МарченкоЛ.А. Программирование в среде Turbo Pascal 7.0. Базовый курс. К.:ВЕК, 1999. 3. Немнюгин С.А. Turbo Pascal: Практикум. СПб.:Питер, 2001. 4. Минаева Н.И. и др. Методы программирования. М.:Вузовская книга, 2000. 5. Абрамов В.Г., Трифонов И.П., Трифонова Г.И. Введение в язык Паскаль. М.:Наука, ГРФМЛ, 1988. 6. Семашко Г.Л.Салтыков А.И. Программирование на языке Паскаль. М.:Наука, ГРФМЛ, 1988. 7. Кнут Дональд Е. Искусство программирования. Том 1. Основные алгоритмы. 3-е издание. Киев: Изд-во «Вильямс, Addison Wesley Longman». 2000.
|