Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
1

Для заданной функции вывести на экран значения функции

05.01.2018, 21:45. Показов 1709. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите решить пожалуйста 29 задание
Отчет должен содержать:
1. Название работы.
2. Задание.
3. Постановку.
4. Блок-схему.
5. Программу
6. Результаты работы программы.
7. График функции на заданном отрезке.
Миниатюры
Для заданной функции  вывести на экран значения  функции  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2018, 21:45
Ответы с готовыми решениями:

Для заданной функции K=sin(r^3)+tg(r-2,4) вывести на экран значения функции, которые больше 0,2 и соответствующие им значения аргумента на отрезке
Для заданной функции K=sin(r^3)+tg(r-2,4) вывести на экран значения функции, которые больше 0,2 и...

Для заданной функции f=Sin(2.8*x^2)+sqrt(1.2*x) вывести на экран значения функции
Для заданной функции f=Sin(2.8*x^2)+sqrt(1.2*x) вывести на экран значения функции,которые лежат в...

Для заданной функции вывести на экран значения функции
Для заданной функции вывести на экран положительные значения функции и соответствующие им значения...

Для заданной функции вывести значения функции которые лежат в пределах и соответствующие им значения аргумента
Для заданной функции t=cos(m²)+sin(m+m/2.4)-√m-(1.2) вывести на экран значения функции которые...

13
ZX Spectrum-128
06.01.2018, 10:01
  #2
 Комментарий модератора 
annavianta, в дальнейшем, пожалуйста, текст задания набирайте вручную, формулы - в редакторе формул.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.01.2018, 11:09 3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Программа с графиком и блок-схема, остальное увольте. Для такого есть платный раздел
https://www.cyberforum.ru/order-diploma/
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
program functia;
uses crt,graph;
function D(f:real):real;
begin
D:=0.6*sqrt(f*f-2*f+3)+3-1.1*sin(2*f/(f+1))/cos(2*f/(f+1))
end;
var a,c,f,x,h,mx,my:real;
    x0,y0,n,i:integer;
    s:string;
begin
clrscr;
a:=-0.8; {начало интервала}
repeat
write('Введите конец интервала -0.8<c<=2 c=');
readln(c); {конец интервала}
until(c>-0.8)and(c<=2);
h:=0.2;{шаг}
{вычисляем и выводим значения функции на интервале [-0.8;c] с шагом 0.2}
f:=a;
repeat
if cos(2*f/(f+1))=0 then writeln('f=',f:4:1,' функция не определена')
else writeln('f=',f:4:1,' D(f)=',D(f):7:3);
f:=f+h;
until f>c;
writeln;
write('Нажмите Enter для просмотра графика');
readln;
initgraph(x0,y0,''); {переходим в графический режим}
{определим положение начала координат на экране
и масштабы по осям для перевода реальных координат в экранные}
if c<=0 then {если все значения <=0}
 begin
  x0:=getmaxX-50;{ось Y справа}
  n:=trunc(abs(a*10));{удвоенное количество засечек по оси Х}
  mx:=(x0-40)/abs(a);{масштаб по Х}
 end
else {если c>0}
 begin
  x0:=round(-a*(getmaxX-30)/(c-a));{ось Y пропорционально отрицательной и
                                    положительной частям интервала}
  if abs(a)>abs(c) then{если отрицательная часть больше}
   begin
    n:=trunc(abs(a*10));
    mx:=(x0-10)/abs(a);
   end
  else {если положительная часть больше}
   begin
    n:=trunc(abs(c*10));
    mx:=(getmaxX-x0-40)/abs(c);
   end;
 end;
y0:=getmaxY div 2;{положение оси Х}
my:=(y0-20)/50;{масштаб по оси Y,
                достаточно поскольку значения функции не ограничены}
{проведем оси}
line(0,y0,getmaxX,y0);
line(x0,0,x0,getmaxY);
{нарисуем на них засечки и подпишем}
for i:=1 to n do
if i mod 2=0 then{шаг 0.2}
 begin
  line(x0+round(i*mx/10),y0-3,x0+round(i*mx/10),y0+3);
  str(i/10:0:1,s);
  outtextXY(x0+round(i*mx/10),y0+10,s);
  line(x0-round(i*mx/10),y0-3,x0-round(i*mx/10),y0+3);
  outtextXY(x0-round(i*mx/10),y0+10,'-'+s);
 end;
for i:=1 to 5 do
 begin
  line(x0-3,y0-round(i*my*10),x0+3,y0-round(i*my*10));
  str(i*10,s);
  if c<=0 then outtextXY(x0+10,y0-round(i*my*10),s)
  else outtextXY(x0-25,y0-round(i*my*10),s);
  line(x0-3,y0+round(i*my*10),x0+3,y0+round(i*my*10));
  if c<=0 then outtextXY(x0+10,y0+round(i*my*10),'-'+s)
  else outtextXY(x0-30,y0+round(i*my*10),'-'+s);
 end;
outtextXY(x0+5,y0+10,'0');
outtextXY(x0+5,10,'Y');
outtextXY(getmaxX-30,y0-20,'X');
{график точками, поскольку есть разрывы}
f:=a;
repeat
if cos(2*f/(1+f))<>0 then putpixel(x0+round(f*mx),y0-round(D(f)*my),12);
f:=f+0.0001;
until f>c;
readln
end.
Вложения
Тип файла: doc Блок-схема.doc (32.0 Кб, 6 просмотров)
1
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
06.01.2018, 11:26  [ТС] 4
Спасибо огромное!!!!!!
0
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
06.01.2018, 13:45  [ТС] 5
А вот такое еще можно решить подружке??? Пожалуйста, и я отстану)))

Для заданной функции

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
y=2.1\cos \frac{x^2-4}{x+3.4}+\frac{x}{\sqrt{|x|}}<br />

вывести на экран положительные значения функции и соответствующие им значения аргумента на отрезке x https://www.cyberforum.ru/cgi-bin/latex.cgi?\small \in [-3; b] с шагом h.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.01.2018, 15:44 6
Лучший ответ Сообщение было отмечено annavianta как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
program grafik;
uses crt,graph;
function Y(x:real):real;
begin
Y:=2.1*cos((x*x-4)/(x+3.4))+x/sqrt(abs(x))
end;
var a,b,x,h,maxy,mx,my:real;
    x0,y0,n,i:integer;
    s:string;
begin
clrscr;
a:=-3; {начало интервала}
repeat
write('Введите конец интервала -3<c<=6 b=');
readln(b); {конец интервала}
until(b>-3)and(b<=6);
h:=0.2;{шаг}
{вычисляем и выводим положительные значения функции на интервале [-3;c] с шагом 0.2}
x:=a;
n:=0;
maxy:=abs(Y(x));
repeat
if abs(Y(x))>maxY then maxY:=abs(Y(x));
if Y(x)>0 then
 begin
  writeln('x=',x:4:1,' Y(x)=',Y(x):7:3);
  n:=n+1;
 end;
if n mod 20=0 then
 begin
  write('Press Enter');
  readln;
 end;
x:=x+h;
until x>b;
writeln;
write('Нажмите Enter для просмотра графика');
readln;
initgraph(x0,y0,''); {переходим в графический режим}
{определим положение начала координат на экране
и масштабы по осям для перевоа реальных координат в экранные}
if b<=0 then {если все значения <=0}
 begin
  x0:=getmaxX-50;{ось Y справа}
  n:=trunc(abs(a*2));{удвоенное количество засечек по оси Х}
  mx:=(x0-40)/abs(a);{масштаб по Х}
 end
else {если c>0}
 begin
  x0:=round(-a*(getmaxX-30)/(b-a));{ось Y пропорционально отрицательной и
                                    положительной частям интервала}
  if abs(a)>abs(b) then{если отрицательная чать больше}
   begin
    n:=trunc(abs(a*2));
    mx:=(x0-10)/abs(a);
   end
  else {если положительная чать больше}
   begin
    n:=trunc(abs(b*2));
    mx:=(getmaxX-x0-40)/abs(b);
   end;
 end;
y0:=getmaxY div 2;{положение оси Х}
my:=(y0-40)/maxy;{масштаб по оси Y}
{проведем оси}
line(0,y0,getmaxX,y0);
line(x0,0,x0,getmaxY);
{нарисуем на них засечки и подпишем}
for i:=1 to n do
 begin
  line(x0+round(i*mx/2),y0-3,x0+round(i*mx/2),y0+3);
 // str(i/2:0:1,s);
  outtextXY(x0+round(i*mx/2),y0+10,s);
  line(x0-round(i*mx/2),y0-3,x0-round(i*mx/2),y0+3);
  outtextXY(x0-round(i*mx/2),y0+10,'-'+s);
 end;
for i:=1 to 2*(trunc(maxy)+1) do
 begin
  line(x0-3,y0-round(i*my/2),x0+3,y0-round(i*my/2));
 // str(i/2:0:1,s);
  outtextXY(x0-30,y0-round(i*my/2),s);
  line(x0-3,y0+round(i*my/2),x0+3,y0+round(i*my/2));
  outtextXY(x0-35,y0+round(i*my/2),'-'+s);
 end;
outtextXY(x0+5,y0+10,'0');
outtextXY(x0+10,10,'Y');
outtextXY(getmaxX-20,y0-20,'X');
{график}
setcolor(12);
x:=a;
repeat
if x=a then moveto(x0+round(x*mx),y0-round(Y(x)*my))
else lineto(x0+round(x*mx),y0-round(Y(x)*my));
x:=x+0.01;
until x>b;
readln
end.
Вложения
Тип файла: doc Блок-схема (2).doc (36.5 Кб, 4 просмотров)
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.01.2018, 16:31 7
Лучший ответ Сообщение было отмечено annavianta как решение

Решение

Вот еще оба файла программ.
Вложения
Тип файла: rar 1.rar (1.2 Кб, 7 просмотров)
Тип файла: rar 2.rar (1.2 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
06.01.2018, 18:37  [ТС] 8
Спасибо огромное!!!!!!!!!!!!!!!!!! Здоровья ВАМ!!!!!!!!!!!!!!!!!!!А на последок не подскажите как графики то получить????Мне их надо распечатать и приложить к контрольной.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.01.2018, 18:41 9
Стандартными средствами Турбо Паскаля никак. Также нельзя сделать скрин. Я знаю 2 способа, 1-запустить программу в Free Pascal и сделать скрин графического окна, 2-использовать самописный модуль для получения bmp файла графического окна ТП.
0
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
06.01.2018, 19:01  [ТС] 10
я извиняюсь за назойливость, а у Вас случаем нет этого Free Паскаля, чтобы сделать этот скрин?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.01.2018, 19:13 11
Посмотрел Ваше задание. Может зря я писал построение графика в Паскале?
В задании
Отчет должен содержать
5.Программу
7.График функции...
Может в программе должно быть только
--вывести на экран значения функции...
А график делать в чем-то другом, например в Экселе?
0
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
06.01.2018, 19:18  [ТС] 12
возможно, скорее всего вы правы, и как теперь быть?? получается программа неправильная и надо писать новую?может черт уже с ним с этим графиком??!!!помогите программу исправить пожалуйста)
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.01.2018, 19:57 13
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Программа 1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
function D(f:real):real;
begin
D:=0.6*sqrt(f*f-2*f+3)+3-1.1*sin(2*f/(f+1))/cos(2*f/(f+1))
end;
var a,c,f,x,h:real;
begin
clrscr;
a:=-0.8; {начало интервала}
repeat
write('Введите конец интервала -0.8<c<=2 c=');
readln(c); {конец интервала}
until(c>-0.8)and(c<=2);
h:=0.2;{шаг}
{вычисляем и выводим значения функции на интервале [-0.8;c] с шагом 0.2}
f:=a;
repeat
if cos(2*f/(f+1))=0 then writeln('f=',f:4:1,' функция не определена')
else writeln('f=',f:4:1,' D(f)=',D(f):7:3);
f:=f+h;
until f>c;
readln
end.
Программа 2.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses crt;
function Y(x:real):real;
begin
Y:=2.1*cos((x*x-4)/(x+3.4))+x/sqrt(abs(x))
end;
var a,b,x,h:real;
    n:integer;
begin
clrscr;
a:=-3; {начало интервала}
repeat
write('Введите конец интервала -3<c<=6 b=');
readln(b); {конец интервала}
until(b>-3)and(b<=6);
h:=0.2;{шаг}
{вычисляем и выводим положительные значения функции на интервале [-3;c] с шагом 0.2}
x:=a;
n:=0;
writeln('Положительные значения функции');
repeat
if Y(x)>0 then
 begin
  writeln('x=',x:4:1,' Y(x)=',Y(x):7:3);
  n:=n+1;
 end;
if n mod 20=0 then
 begin
  write('Press Enter');
  readln;
 end;
x:=x+h;
until x>b+h/2;
readln
end.
Блок-схемы к 1 и 2 программам.
Вложения
Тип файла: doc Блок-схема к программе 1.doc (22.0 Кб, 9 просмотров)
Тип файла: doc Блок-схема к программе 2.doc (22.5 Кб, 4 просмотров)
1
0 / 0 / 0
Регистрация: 05.01.2018
Сообщений: 14
06.01.2018, 21:04  [ТС] 14
спасибо Вам еще раз!!!! Безумно рада, что еще не перевелись такие отзывчивые люди, как ВЫ!!!!!!!!
0
06.01.2018, 21:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2018, 21:04
Помогаю со студенческими работами здесь

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
Добрый вечер. Прошу помочь с написанием программы, мне кажется, я где-то ошибься. Само задание:...

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически
Вычислить и вывести на экран в виде таблицы значения функции ,заданной графически,на интервале от...

Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на...

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда, на интервале...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru