108 年 國立中央大學機械工程學系碩士班丁組《工程數學(含程式設計)》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1. 題25 分

  1. Solutions for ordinary differential equations (ODEs) (25%)
    (a) Find the solution for the following ordinary differential equations (ODEs):
    (1) yy′′=3y′2y y'' = 3y'^2. (5%)
    (2) x2y′′−xy′+y=0x^2 y'' - xy' + y = 0, y(1)=1.5y(1) = 1.5, y′(1)=0.25y'(1) = 0.25 (5%)
    (3) Solve the following integration equation by the Laplace transform, y(t)+4∫0ty(τ)(t−τ)dτ=2ty(t) + 4 \int_0^t y(\tau)(t-\tau)d\tau = 2t (5%)
    (b) Referring to the following figure, find the steady-state current in the RLC-circuit when R=50 ΩR = 50 \, \Omega, L=30 HL = 30 \, H, C=0.025 FC = 0.025 \, F, and E=200sin⁡4t VE = 200 \sin 4t \, V. (10%)

🖼️【此處有附圖,請對照原卷】

登入後即可作答並保存紀錄。

這一題的完整詳解

題目 (a)(1) 詳解:yy′′=3y′2y y'' = 3y'^2

核心觀念

本題考查**二階非線性常微分方程(Second-order Nonlinear ODE)**的降階法。當二階微分方程中不顯含自變數 xx(即形式為 F(y,y′,y′′)=0F(y, y', y'') = 0)時,可利用變數代換:
令 v=y′=dydxv = y' = \frac{dy}{dx},則二階導函數可利用連鎖律(Chain Rule)改寫為:
y′′=dvdx=dvdy⋅dydx=vdvdyy'' = \frac{dv}{dx} = \frac{dv}{dy} \cdot \frac{dy}{dx} = v \frac{dv}{dy}
藉此將原二階 ODE 降階為關於 vv 與 yy 的一階可分離變數微分方程。

解題方法

  1. 變數代換降階:
    將 y′=vy' = v 及 y′′=vdvdyy'' = v \frac{dv}{dy} 代入原式 yy′′=3y′2y y'' = 3y'^2:
    y(vdvdy)=3v2y \left(v \frac{dv}{dy}\right) = 3 v^2

  2. 分離變數與積分:

    • 若 v=0v = 0,得 y′=0  ⟹  y=Cy' = 0 \implies y = C(常數解)。
    • 若 v≠0v \neq 0,將方程進行變數分離:
      dvv=3dyy\frac{dv}{v} = 3 \frac{dy}{y}
      兩邊對各自變數積分:
      ∫1v dv=3∫1y dy\int \frac{1}{v} \, dv = 3 \int \frac{1}{y} \, dy
      ln⁡∣v∣=3ln⁡∣y∣+c1=ln⁡∣y∣3+c1\ln|v| = 3 \ln|y| + c_1 = \ln|y|^3 + c_1
      取指數並去絕對值,得:
      v=k1y3(其中 k1=±ec1,且包含 k1=0 之解)v = k_1 y^3 \quad (\text{其中 } k_1 = \pm e^{c_1} \text{,且包含 } k_1=0 \text{ 之解})
  3. 第二次分離變數與求解 y(x)y(x):
    因 v=dydxv = \frac{dy}{dx},故:
    dydx=k1y3\frac{dy}{dx} = k_1 y^3
    再次分離變數:
    y−3 dy=k1 dxy^{-3} \, dy = k_1 \, dx
    兩邊積分:
    ∫y−3 dy=∫k1 dx\int y^{-3} \, dy = \int k_1 \, dx
    −12y−2=k1x+k2-\frac{1}{2} y^{-2} = k_1 x + k_2
    兩邊同乘以 −2-2 並重新整理常數(令 C1=−2k1C_1 = -2k_1, C2=−2k2C_2 = -2k_2):
    y−2=C1x+C2  ⟹  1y2=C1x+C2y^{-2} = C_1 x + C_2 \implies \frac{1}{y^2} = C_1 x + C_2
    亦可表示為:
    y(x)=±1C1x+C2y(x) = \pm \frac{1}{\sqrt{C_1 x + C_2}}

選項分析

本題為計算題,對解的結構進行深度解析:

  • 一般解(General Solution):包含兩個獨立任意常數 C1C_1 與 C2C_2,完全符合二階微分方程階數為 2 之通解特徵。
  • 常數解與特解討論:常數解 y(x)=Cy(x) = C 對應於 C1=0C_1 = 0 的情況(此時 y=±C2−1/2=常數y = \pm C_2^{-1/2} = \text{常數}),故非獨立特異解,已包含於通解之常數表示式中。

解題技巧

  • 降階選擇:若方程缺自變數 xx,令 y′=v,y′′=vdvdyy'=v, y''=v\frac{dv}{dy};若缺因變數 yy,則直接令 y′=v,y′′=dvdxy'=v, y''=\frac{dv}{dx}。
  • 快速代入驗算:
    若 y=(C1x+C2)−1/2y = (C_1 x + C_2)^{-1/2},則 y′=−12C1(C1x+C2)−3/2y' = -\frac{1}{2} C_1 (C_1 x + C_2)^{-3/2},
    y′′=34C12(C1x+C2)−5/2y'' = \frac{3}{4} C_1^2 (C_1 x + C_2)^{-5/2}。
    左式 yy′′=(C1x+C2)−1/2⋅34C12(C1x+C2)−5/2=34C12(C1x+C2)−3y y'' = (C_1 x + C_2)^{-1/2} \cdot \frac{3}{4} C_1^2 (C_1 x + C_2)^{-5/2} = \frac{3}{4} C_1^2 (C_1 x + C_2)^{-3};
    右式 3y′2=3(−12C1(C1x+C2)−3/2)2=34C12(C1x+C2)−33 y'^2 = 3 \left(-\frac{1}{2} C_1 (C_1 x + C_2)^{-3/2}\right)^2 = \frac{3}{4} C_1^2 (C_1 x + C_2)^{-3},兩式完全相等,確認無誤。

【答案】
1y2=C1x+C2\frac{1}{y^2} = C_1 x + C_2 或 y(x)=±1C1x+C2y(x) = \pm \frac{1}{\sqrt{C_1 x + C_2}} (C1,C2C_1, C_2 為任意實數常數)


題目 (a)(2) 詳解:x2y′′−xy′+y=0x^2 y'' - xy' + y = 0, y(1)=1.5y(1) = 1.5, y′(1)=0.25y'(1) = 0.25

核心觀念

本題考查**歐拉-柯西方程(Euler-Cauchy Equation)**初值問題(IVP)的求解。標準二階歐拉-柯西方程型態為:
x2y′′+axy′+by=0x^2 y'' + a x y' + b y = 0
特徵方程式(Auxiliary/Characteristic Equation)為:
m(m−1)+am+b=0  ⟹  m2+(a−1)m+b=0m(m-1) + a m + b = 0 \implies m^2 + (a-1)m + b = 0
當特徵根為重根 m1=m2=mm_1 = m_2 = m 時,其通解形式為:
y(x)=c1xm+c2xmln⁡xy(x) = c_1 x^m + c_2 x^m \ln x

解題方法

  1. 求解特徵根:
    將 y=xmy = x^m 代入方程 x2y′′−xy′+y=0x^2 y'' - x y' + y = 0,得:
    m(m−1)−m+1=0m(m-1) - m + 1 = 0
    m2−2m+1=0  ⟹  (m−1)2=0m^2 - 2m + 1 = 0 \implies (m-1)^2 = 0
    解得重根 m1=m2=1m_1 = m_2 = 1。

  2. 寫出微分方程通解:
    根據重根公式,通解為:
    y(x)=c1x+c2xln⁡xy(x) = c_1 x + c_2 x \ln x

  3. 求一階導函數:
    對 y(x)y(x) 對 xx 微分:
    y′(x)=c1+c2(1⋅ln⁡x+x⋅1x)=c1+c2(ln⁡x+1)y'(x) = c_1 + c_2 \left(1 \cdot \ln x + x \cdot \frac{1}{x}\right) = c_1 + c_2 (\ln x + 1)

  4. 帶入初始條件求解常數:

    • 由 y(1)=1.5y(1) = 1.5:
      y(1)=c1(1)+c2(1)ln⁡(1)=c1=1.5=32y(1) = c_1 (1) + c_2 (1) \ln(1) = c_1 = 1.5 = \frac{3}{2}
    • 由 y′(1)=0.25y'(1) = 0.25:
      y′(1)=c1+c2(ln⁡(1)+1)=c1+c2=0.25=14y'(1) = c_1 + c_2 (\ln(1) + 1) = c_1 + c_2 = 0.25 = \frac{1}{4}
      將 c1=1.5c_1 = 1.5 代入求 c2c_2:
      1.5+c2=0.25  ⟹  c2=0.25−1.5=−1.25=−541.5 + c_2 = 0.25 \implies c_2 = 0.25 - 1.5 = -1.25 = -\frac{5}{4}
  5. 寫出特解:
    y(x)=1.5x−1.25xln⁡x=32x−54xln⁡xy(x) = 1.5 x - 1.25 x \ln x = \frac{3}{2} x - \frac{5}{4} x \ln x

選項分析

本題為初值問題計算題,針對求解過程中特徵根型態進行解析:

  • 單根型態 (m1≠m2m_1 \neq m_2):通解為 c1xm1+c2xm2c_1 x^{m_1} + c_2 x^{m_2},本題不適用。
  • 重根型態 (m1=m2m_1 = m_2):需補乘 ln⁡x\ln x 項以保持兩個解的線性獨立(Wronskian ≠0\neq 0),本題精確對應此型態。
  • 複數根型態 (m=α±iβm = \alpha \pm i\beta):通解包含 xαcos⁡(βln⁡x)x^\alpha \cos(\beta \ln x) 與 xαsin⁡(βln⁡x)x^\alpha \sin(\beta \ln x),本題不適用。

解題技巧

  • 變數代換記憶法:亦可令 x=etx = e^t (t=ln⁡xt = \ln x),將歐拉-柯西方程轉化為常係數微分方程:
    d2ydt2−2dydt+y=0\frac{d^2 y}{dt^2} - 2 \frac{dy}{dt} + y = 0
    特徵根為 r=1,1r = 1, 1(重根),故 y(t)=(c1+c2t)ety(t) = (c_1 + c_2 t) e^t,換回 xx 變數即得 y(x)=c1x+c2xln⁡xy(x) = c_1 x + c_2 x \ln x。
  • 代入驗算:
    驗算 y(1)=1.5(1)−0=1.5y(1) = 1.5(1) - 0 = 1.5;y′(1)=1.5−1.25(1)=0.25y'(1) = 1.5 - 1.25(1) = 0.25。數值完全吻合。

【答案】
y(x)=1.5x−1.25xln⁡xy(x) = 1.5 x - 1.25 x \ln x (或 y(x)=32x−54xln⁡xy(x) = \frac{3}{2} x - \frac{5}{4} x \ln x)


題目 (a)(3) 詳解:y(t)+4∫0ty(τ)(t−τ)dτ=2ty(t) + 4 \int_0^t y(\tau)(t-\tau)d\tau = 2t

核心觀念

本題考查拉普拉斯變換(Laplace Transform)求解沃爾泰拉積分方程(Volterra Integral Equation of the Second Kind)。
關鍵在於識別卷積積分(Convolution Integral):
(f∗g)(t)=∫0tf(τ)g(t−τ) dτ(f * g)(t) = \int_0^t f(\tau) g(t-\tau) \, d\tau
根據卷積定理(Convolution Theorem):
L{(f∗g)(t)}=F(s)⋅G(s)\mathcal{L}\{(f * g)(t)\} = F(s) \cdot G(s)
其中 F(s)=L{f(t)},G(s)=L{g(t)}F(s) = \mathcal{L}\{f(t)\}, G(s) = \mathcal{L}\{g(t)\}。

解題方法

  1. 方程轉化為卷積形式:
    原式可改寫為:
    y(t)+4(y(t)∗t)=2ty(t) + 4 (y(t) * t) = 2t

  2. 取拉普拉斯變換:
    令 Y(s)=L{y(t)}Y(s) = \mathcal{L}\{y(t)\}。已知 L{t}=1s2\mathcal{L}\{t\} = \frac{1}{s^2}。
    對方程兩邊取拉普拉斯變換:
    L{y(t)}+4L{y(t)∗t}=2L{t}\mathcal{L}\{y(t)\} + 4 \mathcal{L}\{y(t) * t\} = 2 \mathcal{L}\{t\}
    Y(s)+4⋅Y(s)⋅1s2=2⋅1s2Y(s) + 4 \cdot Y(s) \cdot \frac{1}{s^2} = 2 \cdot \frac{1}{s^2}

  3. 求解代數方程 Y(s)Y(s):
    提出 Y(s)Y(s):
    Y(s)(1+4s2)=2s2Y(s) \left(1 + \frac{4}{s^2}\right) = \frac{2}{s^2}
    Y(s)(s2+4s2)=2s2Y(s) \left(\frac{s^2 + 4}{s^2}\right) = \frac{2}{s^2}
    兩邊同乘以 s2s^2:
    Y(s)(s2+4)=2  ⟹  Y(s)=2s2+4Y(s) (s^2 + 4) = 2 \implies Y(s) = \frac{2}{s^2 + 4}

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2. 題25 分

  1. Vector analysis and Linear algebra (25%)
    (a) The temperature in a rectangular box can be approximated by T(x,y,z)=xyz(1−x)(2−y)(3−z)T(x, y, z) = xyz(1 - x)(2 - y)(3-z), 0≤x≤10 \le x \le 1, 0≤y≤20 \le y \le 2, 0≤z≤30 \le z \le 3. If a mosquito is located at (1/2,1,1)(1/2, 1, 1), in which direction should it fly to cool off as rapidly as possible? Hint: evaluate the gradient of T(x,y,z)T(x, y, z) (10%)
    (b) Please diagonalize the matrix, A=[11011000−4]A = \begin{bmatrix} 1 & 1 & 0 \\ 1 & 1 & 0 \\ 0 & 0 & -4 \end{bmatrix} by evaluating both eigenvalues and eigenvectors (8%); Please also evaluate A10A^{10} (7%)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題分為兩部分:

  • 向量分析:利用溫度函數的梯度 ∇T\nabla T 判斷溫度增加最快與降低最快的方向。
  • 線性代數:利用特徵值與特徵向量將矩陣對角化,再由
    A=PDP−1A=PDP^{-1}
    計算矩陣高次方。

(a)溫度下降最快的方向

核心觀念

對純量函數 T(x,y,z)T(x,y,z) 而言,梯度定義為

∇T=(∂T∂x,∂T∂y,∂T∂z).\nabla T= \left( \frac{\partial T}{\partial x}, \frac{\partial T}{\partial y}, \frac{\partial T}{\partial z} \right).

梯度方向是溫度增加最快的方向,因此溫度下降最快的方向為負梯度方向:

−∇T.-\nabla T.

題目給定

T(x,y,z)=xyz(1−x)(2−y)(3−z).T(x,y,z)=xyz(1-x)(2-y)(3-z).

計算梯度

對 xx 微分:

∂T∂x=yz(2−y)(3−z)(1−2x).\frac{\partial T}{\partial x} =yz(2-y)(3-z)(1-2x).

對 yy 微分:

∂T∂y=xz(1−x)(3−z)(2−2y).\frac{\partial T}{\partial y} =xz(1-x)(3-z)(2-2y).

對 zz 微分:

∂T∂z=xy(1−x)(2−y)(3−2z).\frac{\partial T}{\partial z} =xy(1-x)(2-y)(3-2z).

在位置

(12,1,1)\left(\frac12,1,1\right)

代入:

∂T∂x=1⋅1⋅(2−1)⋅(3−1)(1−2⋅12)=0,\frac{\partial T}{\partial x} =1\cdot1\cdot(2-1)\cdot(3-1) \left(1-2\cdot\frac12\right)=0, ∂T∂y=12⋅1⋅12⋅(3−1)(2−2⋅1)=0,\frac{\partial T}{\partial y} =\frac12\cdot1\cdot\frac12\cdot(3-1)(2-2\cdot1)=0, ∂T∂z=12⋅1⋅12⋅(2−1)(3−2⋅1)=14.\frac{\partial T}{\partial z} =\frac12\cdot1\cdot\frac12\cdot(2-1)(3-2\cdot1) =\frac14.

因此

∇T(12,1,1)=(0,0,14).\nabla T\left(\frac12,1,1\right) =\left(0,0,\frac14\right).

溫度下降最快的方向為

−∇T=(0,0,−14).-\nabla T=\left(0,0,-\frac14\right).

若要求方向單位向量,則

−∇T∥−∇T∥=(0,0,−1).\frac{-\nabla T}{\left\|-\nabla T\right\|} =(0,0,-1).

解題技巧

只要先判斷梯度方向即可:

  • ∇T\nabla T:升溫最快方向;
  • −∇T-\nabla T:降溫最快方向;
  • 梯度為零時,無法由一階梯度判斷最快變化方向。

本題梯度只有 zz 分量為正,因此沿著負 zz 軸飛行即可最快降溫。


(b)矩陣對角化與 A10A^{10}

給定

A=[11011000−4].A= \begin{bmatrix} 1&1&0\\ 1&1&0\\ 0&0&-4 \end{bmatrix}.

核心觀念

若矩陣 AA 有足夠多個線性獨立的特徵向量,便可寫成

A=PDP−1,A=PDP^{-1},

其中 DD 為特徵值組成的對角矩陣,PP 的各欄為對應的特徵向量。

此外,

A10=PD10P−1,A^{10}=PD^{10}P^{-1},

而對角矩陣的次方只需將每個對角元素分別取十次方。

求特徵值

特徵方程為

det⁡(A−λI)=0.\det(A-\lambda I)=0.

由於 AA 可分成左上角的 2×22\times2 區塊及右下角元素,因此

det⁡(A−λI)=det⁡[1−λ111−λ](−4−λ).\det(A-\lambda I) = \det \begin{bmatrix} 1-\lambda&1\\ 1&1-\lambda \end{bmatrix} (-4-\lambda).

計算左上角區塊:

det⁡[1−λ111−λ]=(1−λ)2−1=λ(λ−2).\det \begin{bmatrix} 1-\lambda&1\\ 1&1-\lambda \end{bmatrix} =(1-\lambda)^2-1 =\lambda(\lambda-2).

因此

det⁡(A−λI)=λ(λ−2)(−4−λ).\det(A-\lambda I) =\lambda(\lambda-2)(-4-\lambda).
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 3. 題25 分

  1. Laplace transform / Fourier analysis (25%)
    A function f(t)f(t) is defined as: f(t)={0,t<01,0≤t≤30,3<tf(t) = \begin{cases} 0, & t < 0 \\ 1, & 0 \le t \le 3 \\ 0, & 3 < t \end{cases}
    (a) Please write the Laplace transformation form of f(t)f(t) as F(s)F(s). (10%)
    (b) If g(t)=2e−2tg(t) = 2e^{-2t}, for t≥0t \ge 0, please find h(t)h(t) for t≥0t \ge 0, where
    h(t)=∫0∞g(t−τ)f(τ)dτh(t) = \int_0^\infty g(t-\tau)f(\tau)d\tau (15%)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

  1. Laplace 轉換定義與單位階梯函數(Unit Step Function):
    • 分段函數 f(t)f(t) 的 Laplace 轉換可直接由定義式 F(s)=L{f(t)}=∫0∞f(t)e−stdtF(s) = \mathcal{L}\{f(t)\} = \int_0^\infty f(t) e^{-st} dt 求得。
    • 亦可將 f(t)f(t) 表示為單位階梯函數之差 f(t)=u(t)−u(t−3)f(t) = u(t) - u(t-3),利用第二位移定理(Second Shifting Theorem)求解:L{u(t−a)}=e−ass\mathcal{L}\{u(t-a)\} = \frac{e^{-as}}{s}。
  2. 摺積定理(Convolution Theorem)與時域分區積分:
    • 函數 g(t)g(t) 與 f(t)f(t) 的摺積定義為 h(t)=(g∗f)(t)=∫0∞g(t−τ)f(τ)dτh(t) = (g * f)(t) = \int_0^\infty g(t-\tau)f(\tau)d\tau。
    • 頻域法:利用摺積定理 L{(g∗f)(t)}=G(s)F(s)\mathcal{L}\{(g*f)(t)\} = G(s)F(s),求出 H(s)H(s) 後進行部分分式拆解(Partial Fraction Expansion),再經由逆 Laplace 轉換 L−1\mathcal{L}^{-1} 求得 h(t)h(t)。
    • 時域法:考慮 g(t−τ)g(t-\tau) 與 f(τ)f(\tau) 的非零範圍,將時間區分為 0≤t≤30 \le t \le 3 與 t>3t > 3 兩段直接進行定積分。

解題方法

(a) 求 f(t)f(t) 的 Laplace 轉換 F(s)F(s)

【方法一:定義積分法】
將 f(t)={1,0≤t≤30,其他f(t) = \begin{cases} 1, & 0 \le t \le 3 \\ 0, & \text{其他} \end{cases} 代入 Laplace 轉換定義:
F(s)=∫0∞f(t)e−stdt=∫031⋅e−stdtF(s) = \int_0^\infty f(t) e^{-st} dt = \int_0^3 1 \cdot e^{-st} dt

當 s≠0s \neq 0 時:
F(s)=[e−st−s]03=e−3s−1−s=1−e−3ssF(s) = \left[ \frac{e^{-st}}{-s} \right]_0^3 = \frac{e^{-3s} - 1}{-s} = \frac{1 - e^{-3s}}{s}

(註:當 s=0s = 0 時,由極限或直接積分可知 F(0)=∫031dt=3F(0) = \int_0^3 1 dt = 3)

【方法二:單位階梯函數法】
將 f(t)f(t) 表示為單位階梯函數之組合:
f(t)=u(t)−u(t−3)f(t) = u(t) - u(t-3)

利用 Laplace 轉換之線性性質與位移公式:
F(s)=L{u(t)}−L{u(t−3)}=1s−e−3ss=1−e−3ssF(s) = \mathcal{L}\{u(t)\} - \mathcal{L}\{u(t-3)\} = \frac{1}{s} - \frac{e^{-3s}}{s} = \frac{1 - e^{-3s}}{s}


(b) 求 h(t)=∫0∞g(t−τ)f(τ)dτh(t) = \int_0^\infty g(t-\tau)f(\tau)d\tau(t≥0t \ge 0)

已知 g(t)=2e−2tg(t) = 2e^{-2t}(對於 t≥0t \ge 0),即 g(t)=2e−2tu(t)g(t) = 2e^{-2t}u(t),其 Laplace 轉換為:
G(s)=L{2e−2tu(t)}=2s+2G(s) = \mathcal{L}\{2e^{-2t}u(t)\} = \frac{2}{s+2}

【方法一:頻域摺積定理法(推薦)】
根據摺積定理 H(s)=G(s)⋅F(s)H(s) = G(s) \cdot F(s):
H(s)=2s+2⋅1−e−3ss=2(1−e−3s)s(s+2)H(s) = \frac{2}{s+2} \cdot \frac{1 - e^{-3s}}{s} = \frac{2(1 - e^{-3s})}{s(s+2)}

將無指數項部分進行部分分式拆解:
2s(s+2)=1s−1s+2\frac{2}{s(s+2)} = \frac{1}{s} - \frac{1}{s+2}

代回 H(s)H(s) 可得:
H(s)=(1s−1s+2)−e−3s(1s−1s+2)H(s) = \left( \frac{1}{s} - \frac{1}{s+2} \right) - e^{-3s} \left( \frac{1}{s} - \frac{1}{s+2} \right)

對兩端取逆 Laplace 轉換 L−1\mathcal{L}^{-1}:

  • L−1{1s−1s+2}=(1−e−2t)u(t)\mathcal{L}^{-1} \left\{ \frac{1}{s} - \frac{1}{s+2} \right\} = (1 - e^{-2t})u(t)
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 4. 題25 分

  1. Programming (25%)
    (a) 某大賣場欣逢周年慶,推出促銷折扣方案,消費者購物滿1,000元,即可享有95折,5,0009,999元92折,10,00049,999元9折,50,000元以上85折。請根據上述準則,試撰寫一程式,計算任意大於0的消費額,所應支付的金額。程式碼限定以C、C++、Visual Basic 或 Fortran 撰寫,所有變數均以實數宣告,並請註明使用的程式語言(10%)。
    (b) 試寫函數 integerPower (base, exponent),它可以傳回 base^exponent。舉例來說,integerPower(7,3) = 7 * 7 * 7。假設 exponent 是非零的正整數,而 base 是個整數。函式應使用迴圈來計算,不可以呼叫任何其他函數。程式碼限定以C、C++、Visual Basic 或 Fortran 撰寫,函數定義請遵照程式語言的定義,並請註明使用何種語言(15%)。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

  1. 多分枝條件控制敘述(Conditional Ladder Statements):在程式設計中,面對連續且互斥的數值區間判定時,應使用 if - else if - else 結構進行條件判斷。
  2. 實數變數宣告(Floating-Point Variable Declaration):題目強調「所有變數均以實數宣告」,在 C/C++ 語言中應使用單精度浮點數 float 或雙精度浮點數 double 型別。
  3. 自訂函數與迴圈累加/累乘邏輯(Loop Accumulation Algorithm):次方的數學定義為底數的連乘,即 bn=b×b×⋯×b⏟n 個b^n = \underbrace{b \times b \times \dots \times b}_{n \text{ 個}}。透過 for 或 while 迴圈控制執行次數,即可在不呼叫外部庫函數(如 pow())的前提下完成次方計算。

解題方法

(a) 促銷折扣金額計算程式

給定輸入之購物消費額 X>0X > 0(實數),對應之折扣函數 f(X)f(X) 定義如下:

f(X)={X×0.85,X≥50000X×0.90,10000≤X<50000X×0.92,5000≤X<10000X×0.95,1000≤X<5000X×1.00,0<X<1000f(X) = \begin{cases} X \times 0.85, & X \ge 50000 \\ X \times 0.90, & 10000 \le X < 50000 \\ X \times 0.92, & 5000 \le X < 10000 \\ X \times 0.95, & 1000 \le X < 5000 \\ X \times 1.00, & 0 < X < 1000 \end{cases}

由最高金額門檻向低金額門檻依序判定,可免除在 else if 中撰寫複合區間條件(如 X >= 10000 && X < 50000)。程式選擇以 C++ 語言 撰寫,所有變數皆宣告為 double。

(b) 次方函數 integerPower(base, exponent)

數學定義:當 exponent=n∈N+\text{exponent} = n \in \mathbb{N}^+,且 base=b∈Z\text{base} = b \in \mathbb{Z} 時:

result=∏i=1nb=bn\text{result} = \prod_{i=1}^{n} b = b^n

自訂函數時,傳入參數 base 為整數 int,exponent 為正整數 int,傳回值定為 long long(以防次方結果溢位)。函數內部初始化 result = 1,並利用迴圈進行 nn 次連乘。程式選擇以 C++ 語言 撰寫。


選項分析與邊界邏輯

(a) 折扣條件區間與邊界分析

  • X<1000X < 1000:未達折扣門檻,折扣率為 1.001.00,應付金額即為原消費額 XX。
  • 1000≤X≤49991000 \le X \le 4999(滿 1,000 元):滿足第一個折扣條件,享有 95 折(即乘以 0.950.95)。
  • 5000≤X≤99995000 \le X \le 9999(5,000~9,999 元):滿足第二個折扣條件,享有 92 折(即乘以 0.920.92)。
  • 10000≤X≤4999910000 \le X \le 49999(10,000~49,999 元):滿足第三個折扣條件,享有 9 折(即乘以 0.900.90)。
  • X≥50000X \ge 50000(50,000 元以上):滿足最高折扣門檻,享有 85 折(即乘以 0.850.85)。

(b) 函數參數與極值邊界分析

  • exponent=1\text{exponent} = 1:迴圈執行 11 次,結果為 base×1=base\text{base} \times 1 = \text{base},符合數學定義 b1=bb^1 = b。
  • exponent>1\text{exponent} > 1:迴圈精確執行 exponent\text{exponent} 次,連乘累積結果為 bnb^n。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

其他考古題