f <- function(x) { -x^2/3 + 3 }

u <- 2
N <- c(-3, 0)
P <- c(u, 0)
Q <- c(u, f(u))

# Plotbereich
xs <- seq(-3.2, 3.2, length.out = 400)

plot(xs, f(xs), type="l", lwd=2, col="steelblue",
     xlab="x", ylab="y", main=expression(f(x)==-1/3*x^2+3))
abline(h=0, col="gray60")

# Dreieck einzeichnen
segments(N[1], N[2], P[1], P[2], lwd=2, col="black")  # NP
segments(P[1], P[2], Q[1], Q[2], lwd=2, col="black")  # PQ
segments(N[1], N[2], Q[1], Q[2], lwd=2, col="black")  # NQ

points(rbind(N,P,Q), pch=19, col=c("red","red","red"))
text(N[1], N[2], "N(-3,0)", pos=4)
text(P[1], P[2], paste0("P(",u,",0)"), pos=4)
text(Q[1], Q[2], paste0("Q(",u,",", round(Q[2],3),")"), pos=4)

A <- function(u) { 0.5*(u+3)*f(u) }
A(u)
## [1] 4.166667
u_star <- 1
Q_star <- c(u_star, f(u_star))
A(u_star)
## [1] 5.333333
Q_star
## [1] 1.000000 2.666667
us <- seq(-2.99, 2.99, length.out = 800)
plot(us, A(us), type="l", lwd=2, col="darkgreen",
     xlab="u", ylab="A(u)", main="Flächeninhalt A(u)")
abline(v=u_star, col="red", lty=2)
points(u_star, A(u_star), pch=19, col="red")
text(u_star, A(u_star), labels="Maximum bei u=1", pos=4)

S <- function(u) { (u+3) + f(u) }
u_star2 <- 3/2
Q_star2 <- c(u_star2, f(u_star2))
S(u_star2)
## [1] 6.75
Q_star2
## [1] 1.50 2.25
plot(us, S(us), type="l", lwd=2, col="purple",
     xlab="u", ylab="S(u)", main="Kathetensumme S(u)")
abline(v=u_star2, col="red", lty=2)
points(u_star2, S(u_star2), pch=19, col="red")
text(u_star2, S(u_star2), labels=expression(Maximum~bei~u==3/2), pos=4)

S <- function(u) { (u+3) + f(u) }
u_star2 <- 3/2
Q_star2 <- c(u_star2, f(u_star2))
S(u_star2)
## [1] 6.75
Q_star2
## [1] 1.50 2.25
## Plot: Parabel und Dreieck mit maximaler Kathetensumme (Teil c)

f <- function(x) { -x^2/3 + 3 }

# u für maximale Kathetensumme:
u_max_sum <- 3/2

# Punkte
N <- c(-3, 0)
P <- c(u_max_sum, 0)
Q <- c(u_max_sum, f(u_max_sum))

# Plotbereich
xs <- seq(-3.2, 3.2, length.out = 400)

plot(xs, f(xs), type="l", lwd=2, col="steelblue",
     xlab="x", ylab="y",
     main=expression(paste("Parabel und Dreieck mit maximaler Kathetensumme (u == 3/2)")))
abline(h=0, col="gray60")

# Dreieck einzeichnen
segments(N[1], N[2], P[1], P[2], lwd=2, col="black")  # NP
segments(P[1], P[2], Q[1], Q[2], lwd=2, col="black")  # PQ
segments(N[1], N[2], Q[1], Q[2], lwd=2, col="black")  # NQ

points(rbind(N,P,Q), pch=19, col="red")
text(N[1], N[2], "N(-3,0)", pos=4)
text(P[1], P[2], expression(P(3/2,0)), pos=4)
text(Q[1], Q[2],
     labels = expression(Q(3/2, 9/4)),
     pos = 4)