Составить программу для вычисления значений функции F(x) на отрезке [a;b] с шагом h. Результат
представить в виде таблицы, первый столбец которой – значения аргумента, второй –
соответствующие значения функции.
1. F(x)=sin 2 x
Другие языки программирования и технологии
Паскаль Задание по программированию
вот образец
{arcsin(x+y) x [-1 ;1] y[-1; 1 ] дельта х=дельта у =0.1 h=0.1}
program pr_1;
uses crt;
var z:Real;
x,y,h:integer;
Begin
clrscr;
writeln(' x y z');
writeln('-------------------------');
x:=-10; y:=-10; h:=1;
While x<=10 do begin
//if (x<0) then writeln(x+y);
if (x=-5) and (y=-5) then writeln(x*0.1:5:2,y*0.1:8:2,' -1.57') else
if abs(x+y)>10 then writeln(x*0.1:5:2,y*0.1:8:2,' ******') else
if (x=5) and (y=5) then writeln(x*0.1:5:2,y*0.1:8:2,' 1.57') else
begin
z:= arctan((x+y)*0.1/sqrt(1-sqr((x+y)*0.1))); writeln(x*0.1:5:2,y*0.1:8:2,z:8:2) end;
x:=x+h;
y:=y+h;
end;
writeln('-------------------------');
readkey;
end.
{arcsin(x+y) x [-1 ;1] y[-1; 1 ] дельта х=дельта у =0.1 h=0.1}
program pr_1;
uses crt;
var z:Real;
x,y,h:integer;
Begin
clrscr;
writeln(' x y z');
writeln('-------------------------');
x:=-10; y:=-10; h:=1;
While x<=10 do begin
//if (x<0) then writeln(x+y);
if (x=-5) and (y=-5) then writeln(x*0.1:5:2,y*0.1:8:2,' -1.57') else
if abs(x+y)>10 then writeln(x*0.1:5:2,y*0.1:8:2,' ******') else
if (x=5) and (y=5) then writeln(x*0.1:5:2,y*0.1:8:2,' 1.57') else
begin
z:= arctan((x+y)*0.1/sqrt(1-sqr((x+y)*0.1))); writeln(x*0.1:5:2,y*0.1:8:2,z:8:2) end;
x:=x+h;
y:=y+h;
end;
writeln('-------------------------');
readkey;
end.
Значения a, b и h откуда берутся? Если вводятся с экрана в консольном сеансе, то лучше так:
uses crt, math;
var a, b, h, x: real; i: longint;
function F(x: real): real;
begin
F := sin(2 * x)
end;
begin
clrscr();
write('a b h » ');
readln(a, b, h);
for i:= 0 to round(floor((b - a) / h)) do
begin
x := a + i * h;
writeln(x: 10: 4, ' ', F(x): 20: 15)
end
end.
Параметрический цикл с for для табуляции одномерных функций лучше чем итерационный с while или repeat, в которых к предыдущему значению аргумента x на каждом шаге цикла прибавляется шаг аргумента h, потому что в цикле for текущее значение аргумента точнее позиционируется, хотя значительный "дрейф" аргумента чувствуется лишь в очень длинных циклах, когда и аргументы и значения функции "съезжают" куда-то не туда.
По стилю оформления: вот я сейчас код выложила "портянкой" (или ещё говорят "простынёй") - ну и как? Стал он более читаемым, понятным, прозрачным и рефакторизуемым? Не думаю! В небольших консольных приложениях лучше придерживаться более компактного стиля чем когда каждый новый оператор идёт с новой строки (•‿•)

uses crt, math;
var a, b, h, x: real; i: longint;
function F(x: real): real;
begin
F := sin(2 * x)
end;
begin
clrscr();
write('a b h » ');
readln(a, b, h);
for i:= 0 to round(floor((b - a) / h)) do
begin
x := a + i * h;
writeln(x: 10: 4, ' ', F(x): 20: 15)
end
end.
Параметрический цикл с for для табуляции одномерных функций лучше чем итерационный с while или repeat, в которых к предыдущему значению аргумента x на каждом шаге цикла прибавляется шаг аргумента h, потому что в цикле for текущее значение аргумента точнее позиционируется, хотя значительный "дрейф" аргумента чувствуется лишь в очень длинных циклах, когда и аргументы и значения функции "съезжают" куда-то не туда.
По стилю оформления: вот я сейчас код выложила "портянкой" (или ещё говорят "простынёй") - ну и как? Стал он более читаемым, понятным, прозрачным и рефакторизуемым? Не думаю! В небольших консольных приложениях лучше придерживаться более компактного стиля чем когда каждый новый оператор идёт с новой строки (•‿•)

Похожие вопросы
- помогите кто дружит с паскалем! задание : напишите на языке программирования . Дано ...
- Объясните зачем учить ЯП Паскаль для обучения программированию?
- Почему почти все задания по программированию на ответах требуют решения на PascalABC?
- Здравствуйте! помогите пожалуйста выполнить зачётные задания по программированию на Pascal
- Помогите решить задачу в паскале. Задание: Заменить в строке все вхождения "да" на "нет".
- паскаль задание
- Помогите сделать задания по программированию!!!Пожалуйста!! срочно
- Задание по программированию.
- дайте задания по программированию только не в стили "Маша взяла два яблока"
- Срочно помогите решить задание по программированию