Задать свой вопрос   *более 50 000 пользователей получили ответ на «Решим всё»

Задача 65969 Написать программу, которая по...

Условие

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

информатика ВУЗ 1187

Решение

График нужно как-то задать компьютеру, потому что сам он линию на рисунке не видит. График состоит из прямой и двух дуг радиусом R.
Прямую можно задать через уравнение в отрезках:
x/(-6) + y/(-R) = 1
x/6 + y/R = -1
y/R = -x/6 - 1
y = -x*R/6 - R - при x ∈ [-10; 0).
Первая дуга окружности имеет центр O(0, 0) и радиус R
x^2 + y^2 = R^2
Причем x > 0, y < 0, поэтому корень берем с минусом:
y = -sqrt(R^2 - x^2) - при x ∈ [0; R)
Вторая дуга имеет центр A(2R; 0) и радиус R
(x - 2*R)^2 + y^2 = R^2
Здесь x > 0, y > 0, поэтому корень берем с плюсом:
y = sqrt(R^2 - (x - 2*R)^2) - при x ∈ [R; 2R]
Итак, мы в начале программы ввели с клавиатуры R.
Теперь вводим x и задаем график функции.
Я напишу на Бейсике, вы переводите на свой язык.
If (x>= -10) And (x < 0) Then
y = -R*x/6 - 1
Message = y
Elseif (x>= 0) And (x < R) Then
y = -Sqrt(R^2 - x^2)
Message = y
Elseif (x>= R) And (x < 2*R) Then
y = Sqrt(R^2 - (x - 2*R)^2)
Message = y
Else
Message = "Введите значение x от -10 до " & 2*R
End If
MsgBox (Message)

Последнее Else нужно для шутников, которые захотят ввести x не из заданного промежутка.
Заметьте, что параметр 2*R вычисляется при создании сообщения.
Если вы в начале зададите другой радиус, то и получите другое 2*R.
После этого If текстовая переменная Message выводится на экран.

Написать комментарий

Меню

Присоединяйся в ВК