Пример выполнения расчетного задания
Задание: Разработать алгоритм программы табулирования функции одной переменной , считая y параметром, значение которого задается пользователем. Выполнение: 1 Постановка задачи Для построения таблицы выбираем следующие параметры: · x0 – начальное значение аргумента; · h - наг (приращение) аргумента; · N - количество точек табуляции. Выбираем пользовательский интерфейс программы в виде командной строки. Ввод исходных данных осуществляется в диалоговом режиме. 2 Математическая модель Ограничение области определения функции накладывает значение параметра y, а именно, y . 3 Алгоритм программы Блок схема приведена на рисунке 1 4 Исходный код программы program four; uses crt; {Описание} var y, x0, x, S, h: real; n, i:integer; f: text;
begin {Начало основной программы} {Ввод заголовка программы} assign(f, 'result.txt'); rewrite(f); writeln('Программа табулирования функции'); writeln(f, 'Программа табулирования функции'); writeln('Выполнил студент гр. Э-01 Варлаков Н.О.'); writeln(f, 'Выполнил студент гр. Э-01 Варлаков Н.О.'); write('Введина начальное значение y= '); readln(y);
if y<>1 then begin
write('Введите начальное значение х0= '); readln(x0); write('Введите количество решений n= '); readln(n); write('Введите шаг изменения h= '); readln(h); writeln; writeln(' Таблица значений функции'); writeln(f,' Таблица значений функции'); writeln(' F(x)=x*(sin(x*x*x)+cos(y)*cos(y)*cos(y))/(y-1)'); writeln(f,' F(x)=x*(sin(x*x*x)+cos(y)*cos(y)*cos(y))/(y-1)'); writeln(' при у= ',y); writeln(f,' при у= ',y); write(#201); write(f,#201); for i:=1 to 15 do write (#205); for i:=1 to 15 do write(f,#205); write(#203); write(f,#203); for i:=1 to 20 do write(#205); for i:=1 to 20 do write(f,#205); writeln(#187); writeln(f,#187); writeln(#186,' x ',#186,' F(x) ',#186); writeln(f,#186,' x ',#186,' F(x) ',#186); write(#204); write(f,#204); for i:=1 to 15 do write(#205); write(#206); for i:=1 to 15 do write(f,#205); write(f,#206); for i:=1 to 20 do write(#205); writeln(#185); for i:=1 to 20 do write(f,#205); writeln(f,#185); x:=x0; for i:=1 to n do begin S:= x*(sin(x*x*x)+cos(y)*cos(y)*cos(y))/(y-1); writeln(#186,x:12:6,' ',#186,S:16:8,' ',#186); writeln(f,#186,x:12:6,' ',#186,S:16:8,' ',#186); x:=x+h; end;
write(#200); write(f,#200); for i:=1 to 15 do write(#205); for i:=1 to 15 do write(f,#205); write(#202); write(f,#202); for i:=1 to 20 do write(#205); for i:=1 to 20 do write(f,#205); write(#188); writeln(f,#188); end else begin writeln(' Функция не определенна'); writeln(f,'Функция не определенна'); end; close(f); readln; end. 5 Тест программы
Рисунок 1 Блок-схема программы
|