Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13

Расчет значений тригонометрической функции на заданном интервале

25.02.2017, 12:31. Показов 3683. Ответов 4
Метки нет (Все метки)

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

Функция F(x) = 3sin(x) + cos(x), интервал [0, 2π], шаг 2π/36.

Вывести график функции y(F(x)):

https://www.cyberforum.ru/cgi-bin/latex.cgi?y = \begin{cases}F(x) & \text{ , } x \in [0, 2\pi ] \\-1 & \text{ , } F(x) \lt 0\:in\:[\pi , 1.5\pi ]\end{cases}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2017, 12:31
Ответы с готовыми решениями:

Расчет значений тригонометрической функции на заданном интервале
Помогите в написание Функция F(x) = Cos(2x) + cos(0.5x), интервал , шаг 2π/36. Вывести график...

Расчет значений тригонометрической функции в заданных точках интервала
требуется составить программу в на языке Паскаль, которая реализует: - Расчет значений...

Расчет значений тригонометрической ф-и и построение графика
Помогите, нужно: 1)расчитать значение тригонометрической функции в заданных точках интервала;...

4
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
26.02.2017, 18:25
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
function F(x: real): real;
begin
  F := 3 * sin(x) + cos(x);
end;
 
function y(x: real): real;
begin
  if (x >= 0) and (x <= 2 * pi) then
    y := f(x)
  else
  if f(x) < 0 then
    if (x >= pi) and (x <= 1.5 * pi) then
      y := -1;
end;
 
var
  x: real;
  g: text;
 
begin
  assign(g, 'data.txt');
  rewrite(g);
  x := 0;
  while x <= 2 * pi do
  begin
    writeln(g, x:12:3, f(x):12:3);
    x := x + 2 * pi / 36;
  end;
  close(g);
end.
Цитата Сообщение от SW Developer Посмотреть сообщение
Вывести график функции y(F(x)):
Можно взять отсюда:
Получить таблицу значений функции и ее график на заданном отрезке
1
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13
26.02.2017, 18:35  [ТС]
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

ZX Spectrum-128, спасибо!
Но, к своей радости разобрался сам!
Вот код:
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
uses GraphABC;
 
const dx = 2*pi/36;     // шаг вычислений
      // граница вычислений по оси Х
      xmin = 0;
      xmax = 2*pi;
 
var x1, x2, y1, y2 : real;  // переменные для построения графика
 
//------ Функция вычисления F(x)-------------//
 function Solution(x: real): real;
  begin
   result:=3*sin(x) + cos(x);
  end;
 
//---- Записываем вычисления в файл ------//
 procedure WriteDataToFile;
  var
   f: text;
   x: real;
  begin
   x:=xmin;
   Assign(f,'c:\d.txt');
   Rewrite(f);
   writeln(f,'----------------------');
   writeln(f,'|    x     |    y      |');
   writeln(f,'----------------------');
   while x <= xmax do
    begin
     writeln(f,'|  ', x:4:2,'  | ',Solution(x):6:2, '  |');
     x:=x+dx;
    end;
   writeln(f,'----------------------');
   Close(f);
  end;
 
 
BEGIN
      WriteDataToFile;
      
      setwindowsize(220, 280);         //устанавливаем размер графического окна
      line(10, 0, 10, 280);            //ось ордината
      line(0, 140, 220, 140);          //ось абсцисс
 
// Отмечаем точками интервал [п, 1.5*п]
      Circle(110,140,3);               //Пи
      Circle(160,140,3);               //1.5*Пи
 
{-----------------------------------------------------------------------------
Для построения графика воспользуемся ф-цией:
Line(X1,Y1,X2,Y2 : integer) - рисует линию от точки (X1,Y1) до точки (X2,Y2);
-----------------------------------------------------------------------------}
      x1:=xmin;
      x2:=xmin;
      while x2 <= xmax do
      begin
           y1:=-Solution(x1);
           x2:=x1+dx;
           while ((x2>=pi) and (x2 <= 1.5*pi)) do
           begin
                 if y1 >= 0 then y2:=1;
                 Line(10+round(x1*100/pi),140+round(y1*100/3),10+round(x2*100/pi),140+round(y2*100/3));
                 x1:=x2;
                 x2:=x1+dx;
           end;
           y2:=-Solution(x2);
           Line(10+round(x1*100/pi),140+round(y1*100/3),10+round(x2*100/pi),140+round(y2*100/3));
           x1:=x2;
      end;
END.
0
0 / 0 / 0
Регистрация: 08.12.2021
Сообщений: 2
08.12.2021, 20:00
SW Developer, Если задание такое же но у = 0, if F(x)<0 на инт-ле [π, 1.5π] а не как у вас -1, что нужно изменить?
0
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13
08.12.2021, 20:31  [ТС]
Anna858, давно на Pascal не программировал. Обратите внимание на:
Pascal
1
xmin = 0;
...
Pascal
1
2
3
4
function Solution(x: real): real;
  begin
   result:=3*sin(x) + cos(x);
  end;
...
Pascal
1
x1:=xmin;
...
Pascal
1
y1:=-Solution(x1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2021, 20:31
Помогаю со студенческими работами здесь

Вывести на экран первые 10 значений функции для значений аргумента в заданном интервале
Вывести на экран первые 10 значений функции y=2lxl-4, для значений x, начиная с N с шагом h. N и...

Найти корни функции на заданном интервале методом дихотомии (деления отрезка пополам). функция Sin(x)/Ln(x) на интервале [-10,-9.2]
Найти корни функции на заданном интервале методом дихотомии (деления отрезка пополам). функция...

Вычисление значений функции у=х*х-6*х+4 на заданном интервале
написать с использованием итерационного цикла программу, в которой производиться вычисление...

Составить программу расчета таблицы значений функции на заданном интервале
Структура циклы Задание: Составить программу расчета таблицы значений функции f(x) на...

Найти произведение всех отрицательных значений функции f(x) на заданном интервале
Задание: Составить программу расчета таблицы значений функции f(x) на интервале a&lt;=x&lt;=b в n...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru