Вычислить и вывести на экран в виде таблицы значения функции, заданной графически - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д