Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.10.2023
Сообщений: 4

По введенному значению аргумента вычислить значение функции, заданной в виде графика

09.10.2023, 05:42. Показов 2106. Ответов 5

Студворк — интернет-сервис помощи студентам
Добрый день, не особо разбираюсь в пайтоне (и математике), я больше по сайтам скажем так.
В общем, нужно написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Буду благодарен всем кто поможет, было бы очень хорошо если кто то сможет мне помочь разобраться. Заранее благодарю. Сам график оставлю во вложении. Вот условия задания.

Задание:
1) Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры.
Требования:
1 Вычисления должны быть оформлены в виде подпрограмм(ы).
2 Форма должна включать кнопки «Вычислить», «Очистить».
(последняя присва¬ивает всем входным переменным нулевые значения).
3 В форме предусмотреть обработку возможных ошибок (деление на 0, ввод недопусти¬мых символов, ввод недопустимых значений).

Выполнение работы:

Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры.

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

Осталось лишь подставить в каждый блок оператора if полученные выражения и вычислить "Y" по соответствующей формуле.
Миниатюры
По введенному значению аргумента вычислить значение функции, заданной в виде графика  
Вложения
Тип файла: docx ЛР_3_Разветвляющиеся_вычислительные_процессы (1).docx (258.1 Кб, 16 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2023, 05:42
Ответы с готовыми решениями:

По введенному значению аргумента вычислить значение функции, заданной в виде графика
Добрый день,помогите пожалуйста с заданием. Буду очень благодарен. Нужно написать программу, которая по введённому значению аргумента...

По введенному значению аргумента вычислить значение функции, заданной в виде графика
Всем добрый вечер! Помогите пожалуйста. Буду очень благодарен. Заранее спасибо! Написать программу, которая по введенному значению...

Программа которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика
надо выполнить через условные операторы

5
0 / 0 / 0
Регистрация: 09.10.2023
Сообщений: 4
15.10.2023, 09:55  [ТС]
Очень жаль что никто не может помочь
0
0 / 0 / 0
Регистрация: 09.10.2023
Сообщений: 4
16.10.2023, 06:33  [ТС]
Может быть кто то может объяснить как это решать?

Добавлено через 1 час 20 минут
Вроде ответ я нашёл, он был на языке паскаль, но я перевёл в Пайтон. Ну и + тут не совсем всё, надо сделать из него оконное приложение я так понимаю. но если что вот:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import math
 
def foo(R):
    if -9 <= R <= -5:
        return 2 - math.sqrt(4 - (R + 7) ** 2)
    elif -5 <= R <= -4:
        return 2
    elif -4 <= R <= 0:
        return -(1 / 2) * R
    elif 0 <= R <= math.pi:
        return math.sin(R)
    elif R >= math.pi:
        return R - math.pi
 
R = float(input('R = '))
if R < -9:
    print('функция не определена в этой области')
else:
    print('y =', foo(R))
Добавлено через 32 минуты
Вот нейросеть помогла написать. Возможно оно, я не знаю точно, я в основном с сайтами работал, но по учебной программе у нас и то и то
Python
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
import math
import tkinter as tk
from tkinter import messagebox
 
def foo(R):
    if -9 <= R <= -5:
        return 2 - math.sqrt(4 - (R + 7) ** 2)
    elif -5 <= R <= -4:
        return 2
    elif -4 <= R < 0:
        return -(1 / 2) * R
    elif 0 <= R <= math.pi:
        return math.sin(R)
    elif R >= math.pi:
        return R - math.pi
 
def calculate():
    try:
        R = float(entry_R.get())
        if R < -9:
            result_label.config(text='Функция не определена в этой области')
        else:
            result = foo(R)
            if R == 0:
                result_label.config(text='Результат: 0 (деление на 0 избегнуто)')
            else:
                result_label.config(text=f'Результат: {result}')
    except ValueError:
        messagebox.showerror("Ошибка", "Введите корректное число для R")
 
def clear():
    entry_R.delete(0, tk.END)
    result_label.config(text='')
 
# Создание окна приложения
root = tk.Tk()
root.title("Вычисление функции")
 
# Создание и настройка элементов интерфейса
frame = tk.Frame(root)
frame.pack(padx=20, pady=20)
 
label_R = tk.Label(frame, text="R:")
label_R.grid(row=0, column=0)
 
entry_R = tk.Entry(frame)
entry_R.grid(row=0, column=1)
 
calculate_button = tk.Button(frame, text="Вычислить", command=calculate)
calculate_button.grid(row=1, column=0)
 
clear_button = tk.Button(frame, text="Очистить", command=clear)
clear_button.grid(row=1, column=1)
 
result_label = tk.Label(frame, text='')
result_label.grid(row=2, column=0, columnspan=2)
 
# Запуск цикла обработки событий
root.mainloop()
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
16.10.2023, 11:09
Цитата Сообщение от Tytper Посмотреть сообщение
Вроде ответ я нашёл
Это неверный ответ... R - это не тот аргумент, по которому вычисляется значение функции.
Здесь система математических функций (окружность, линейные функции и парабола), которые необходимо записать в виде функции питона. Параметр R - всего лишь радиус окружности, сектор которой используется в одной из математической функции системы.
Аргументом для функции будет служить x - абсцисса точки на графике функций, а ординату у необходимо получить, вычислив значение функции. Т.о. аргументами функции питона, должны быть два числа x и R, чтобы получить y.
Это первое.

Второе же:
Это то, что не позволит однозначно составить правильное решение, т.к. не хватает вводных условий и это критическая ошибка составителей задачи.
а) Если параметр R вводится с клавиатуры и если принять за константу центр окружности [-7;2], то этот параметр необходимо ограничить каким-то значением, а этого в условиях нет.
б) Т.к. остальные функции связаны с окружностью, то нет однозначности в координатах отрезков линейных функций и части параболы, ибо отрезок оси абсцисс, точек сектора окружности, может попросту перекрыть значения остальных мат. функций, отображенных на графике. А если они их перекроют, то необходимо будет либо пропорционально пересчитывать опорные точки перекрытых функций, либо игнорировать их и использовать, в качестве значения функции питона, только сектор окружности...
В общем, уточняйте условия задачи.
1
0 / 0 / 0
Регистрация: 09.10.2023
Сообщений: 4
16.10.2023, 15:14  [ТС]
То есть выходит что само задание составлено неверно? Ну к сожалению у нас такой препод что дописаться до него в целом невозможно, попробую. Хотя к сожалению задание я уже отправил на проверку
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
16.10.2023, 19:34
Цитата Сообщение от Tytper Посмотреть сообщение
То есть выходит что само задание составлено неверно?
Не то, чтобы неверно, просто условия неполные...

Цитата Сообщение от Tytper Посмотреть сообщение
Хотя к сожалению задание я уже отправил на проверку
Ну, проверку оно не пройдет...
вот вариант с пересчетом опорных точек функций:
Python
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
from math import sqrt,pi
 
def F(x, R):
    global cen
    i,j = cen[0]-R, cen[0]+R
    k = R - 2
    m,n,x1,y1 = pi/2,1,pi,0
    a = (y1-n) / ((x1-m) * (x1-m))
    c = 1
 
    if i <= x < j:
        return cen[1] - sqrt(R*R - (x-cen[0])*(x-cen[0]))
    elif j <= x <= j+1:
        return 2
    elif j+1 < x <= j+5:
        return (-.5*x - 1 + R/2)
    elif j+5 < x < j+5+pi:
        return a*(x-m-k)*(x-m-k) + c
    elif j+5+pi <= x:
        if (y := x - pi - k) <= 2:
            return y
        else:
            return 'Ошибка входных данных, значение функции не определено'
 
R = float(input('R = '))
x = float(input('x = '))
cen = [-7,2]
if x < cen[0]-R or R < 0:
    print('Ошибка входных данных, значение функции не определено')
else:
    print (F(x, R))
Вариант с перекрытием одной функцией остальных, думаю менее вероятен...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2023, 19:34
Помогаю со студенческими работами здесь

Напишите программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика
Параметр R вводится с клавиатуры

Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика
Параметр R вводится с клавиатуры.

Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика
Написать программу, которая по введенному значению аргумента вычисляет зна¬чение функции, заданной в виде графика. График выводится на...

Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика
Задание 1Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. ...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
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),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru