Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Алгоритм. Должен содержать следующие шаги:
Должен содержать следующие шаги: 1. Задание исходных данных в разделе констант (для A и B); 2. Ввод исходных данных (Dx и EPS); 3. Определение длины внешнего (по X) цикла; 4. Печать заголовка таблицы; 5. Внешний цикл (for) по X; 1) вычисление X; 2) задание начальных значений J, С и S; 3) внутренний цикл вычисления S; a) расчет С; б) расчет S; в) расчет J; г) проверка условия окончания цикла; 4) печать строки таблицы с результатами; 6. Завершение программы (печать нижней рамки таблицы, задержка). Текст программы.
program Tabl_Of_Fx; { Программа Лабораторной работы N 6 Вариант N 31. Использование рекуррентных формул в итеративных циклах. А.Я.Умненькая, ст. гр. Я-007 } CONST {при описании переменным зададим исходные значения } A: real = -0.05; B: real = 0.04; VAR X, Dx, S, C, EPS: real; Nx, J, K, i: integer; {I – для счетчика цикла по X } fout: text; { для выходного файла } LABEL Vvod_Dx, Vvod_EPS; BEGIN assign(fout, 'Umnik6.res'); rewrite(fout); { Ввод исходных данных (Dx и EPS) } Vvod_Dx: writeln ('Для X на отрезке[-0.05, 0.04]введите шаг счета'); readln(Dx); if (Dx < 0.002) or (Dx > 0.04) then begin writeln('Недопустимое значение! '); goto Vvod_Dx; end; Vvod_EPS: writeln('введите минимальный размер слагаемого); readln(EPS); if (EPS < 1e-9) or (EPS > 1e-2) then begin writeln('Недопустимое значение! '); goto Vvod_EPS; end; { Определение длины внешнего (по X) цикла } Nx: = Trunc((B-A)/Dx) + 1; { печать исходных данных } writeln(fout, ' Исходные данные'); writeln(fout, ' Интервал X: [', A: 5: 2, B: 5: 2, ']); writeln(fout, Шаг X: ', Dx: 5: 3, ', шагов: ', Nx: 3, ', точность: ', EPS: 1); { Печать заголовка таблицы } writeln(fout, ' Результаты расчетов': 30); writeln(fout, '| X | F(x) | S ', ' |Слагаемых|'); writeln(fout, '|-------|-----------|-----------|', '---------|'); { Внешний цикл (for) по X } for i: =1 to Nx do begin { вычисление X } X: = A + Dx*(i-1); if X > B then X: = B; { уточнение на конце интервала} { задание начальных значений J, C, S и числа слагаемых K} J: = 1; C: = 1; S: = C; K: = 1; Repeat { внутренний цикл вычисления S } C: = -C * X*J/(J+1); S: = S + C; K: = K + 1; J: = J + 2; until (abs(C) < EPS) or (K > 100); { печать строки таблицы с результатами } write(fout, '| ', X: 5: 2, ' |', 1.0/Sqr(1.0+X): 10: 7, ' |'); writeln(fout, S: 10: 7, ' |', K: 6, ' |'); end; { Завершение программы (печать нижней рамки таблицы, закрытие файлов, задержка) } writeln(fout, '|---------------------------------', '--------|'); close(fout); readln; END. Результаты расчета Файл UMNIK6.RES будет в этом случае содержать: Исходные данные Интервал X: [-0.05 0.04], Шаг X: 0.010, шагов: 9, точность: 1.0E-0006 Результаты расчетов | X | F(x) | S |Слагаемых| |-------|-----------|-----------|---------| | -0.05 | 1.1080332 | 1.0259783 | 6 | | -0.04 | 1.0850694 | 1.0206207 | 5 | | -0.03 | 1.0628122 | 1.0153462 | 5 | | -0.02 | 1.0412328 | 1.0101525 | 5 | | -0.01 | 1.0203041 | 1.0050378 | 4 | | 0.00 | 1.0000000 | 1.0000000 | 2 | | 0.01 | 0.9802960 | 0.9950372 | 4 | | 0.02 | 0.9611688 | 0.9901475 | 5 | | 0.03 | 0.9425959 | 0.9853293 | 5 | |-----------------------------------------| Варианты заданий Таблица 22. Варианты заданий лабораторной работы N6
Таблица 23. Виды представления функций
|