Вычислить и вывести на экран в виде таблицы значения функции, заданной графически - Free Pascal (886)
Формулировка задачи:
Здравствуйте!!!
Помогите пожалуйста вычислить и вывести на экран в виде таблицы значения функции, заданной
графически , на интервале от хнач до хкон с шагом dx. Интервал и шаг вводить
с клавиатуры. Таблицу снабдить заголовком и шапкой. Вариант 25
Фото задания тут
ps//Зарание благодарю!Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, заданной графически»
textual
Листинг программы
- uses crt;
- var r,xn,xk,dx,x,y:real;
- begin
- clrscr;
- repeat
- write('R>0 R=');
- readln(r);
- until r>0;
- write('Начало интервала xn=');
- readln(xn);
- repeat
- write('Введите конец интервала xk>',xn:0:1,' xk=');
- readln(xk);
- until xk>xn;
- repeat
- write('Введите шаг табуляции, положительное число меньше ',xk-xn:0:2,' dx=');
- readln(dx);
- until (dx<xk-xn)and(dx>0);
- writeln('Таблица табулирования функции заданной графически');
- writeln(' на интервале ',xn:0:2,' ',xk:0:2,' с шагом ',dx:0:2);
- writeln('--------------------');
- writeln('| x | y |');
- writeln('--------------------');
- x:=xn;
- while x<=xk+dx/2 do
- begin
- if x<=-2*r then y:=-0.5*x-r
- else if x<=-4*r/3 then y:=x+2*r
- else if x<=0 then y:=-0.5*x
- else if x<=r then y:=-sqrt(r*r-x*x)
- else if x<=2*r then y:=sqrt(r*r-sqr(x-2*r));
- if x>2*r then writeln('|',x:6:2,' | y не опр.|')
- else writeln('|',x:6:2,' |',y:9:4,' |');
- x:=x+dx;
- end;
- writeln('--------------------');
- readln
- end.
Объяснение кода листинга программы
- Объявлены переменные: r, xn, xk, dx, x, y (реальные числа).
- Цикл repeat-until считывает значение переменной r (повторяется до тех пор, пока r больше нуля).
- Цикл repeat-until считывает начальное значение переменной xn.
- Цикл repeat-until считывает конечное значение переменной xk.
- Цикл repeat-until считывает шаг табуляции dx (повторяется до тех пор, пока dx меньше xk-xn и больше нуля).
- Выводится заголовок таблицы.
- Выводится шаблон таблицы (две колонки: x и y).
- Вычисляется значение переменной x (используется цикл while).
- В зависимости от значения x вычисляется значение переменной y (используется условный оператор if).
- Если x больше 2*r, то выводится сообщение
y не опр.
вместо значения y. - Выводится значение x и y (используется цикл while).
- Значение x увеличивается на шаг dx.
- Цикл while повторяется до тех пор, пока x меньше или равно 2*r.
- Выводится нижняя строка таблицы.
- Запрос на чтение (readln).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д