📝 【APCS 程式識讀題課程教材】CH3 函式
請先填寫您的資料
進度:1 / 10
總分:100 分
題目 1:題目 1 / 10
單選題 - 10分下列有 f(), g() 兩個函式,若在主程式中呼叫 f(1),請問以下敘述何者正確?
def f(x):
if x>5:
print(x)
return
else:
print(x)
g(x+2)
print(x)
def g(y):
if y>3:
print(y)
return
else:
print(y)
f(y-1)
print(y)
f() 被呼叫兩次、g() 被呼叫三次
印出最大的數字是 5
數字 2 一共被印出兩次
數字 3 一共被印出四次
題目 2:題目 2 / 10
單選題 - 10分當執行 left(6) 的時候,請問輸出結果何者正確?
def right(m):
if m%3==0:
return
left(m+1)
print(m)
def left(n):
print(n)
right(n+1)
6 7 8
7 8 9
7 8 6
6 8 7
題目 3:題目 3 / 10
單選題 - 10分執行下列程式碼後,請問4個print()輸出,哪一個選項正確?
def op2(g, h):
return g*h*h
def op1(e, f):
return op2(e, f)
a=1
b=2
c=1
print(op1(op2(a, b), a))
print(op1(b, op2(a, c)))
print(op2(c, op1(a, b)))
print(op2(op1(a, b), c))
2, 4, 16, 4
4, 32, 2, 16
4, 2, 16, 4
2, 16, 4, 32
題目 4:題目 4 / 10
單選題 - 10分給定下列兩個函式 f(), g(),請問呼叫 g(5) 執行後
def f(n):
if n>4:
return 1
elif n==2:
return 3+f(n+1)
else:
return 2+f(n+1)
def g(n):
x=0
for i in range(1, n):
x = x+f(i)
return x
18
22
26
32
題目 5:題目 5 / 10
單選題 - 10分下列有兩個函式 f1(), f2(),當 f2(5) 的時候,請問輸出結果為何?
def f1(x):
if x<5:
f2(x-1)
print(x, end=' ')
def f2(x):
if x>0:
print(x, end=' ')
f1(x//2)
5 1 0 2
5 0 1 2
5 0 2 3
5 0 0 0
題目 6:題目 6 / 10
單選題 - 10分給定下列兩個函式 f1(), f2(),當 f1(0) 的時候,請問以下何者有誤?
def f1(m):
if m>4:
print(m)
return
else:
f2(m+2)
print(m)
def f2(n):
if n>3:
print(n)
return
else:
f1(n-1)
print(n)
印出來的最大數字是4
f1一共被呼叫三次
數字3被印出一次
f2一共被呼叫兩次
題目 7:題目 7 / 10
單選題 - 10分觀察下方程式碼,請問當此程式執行完畢後,最終的輸出值依序為何? 依順序應為「iTWD, iJPD, d」
rU2T = 30
rT2J = 5
def U2T(x):
rU2T = 40
return x*rU2T
def T2J(x):
rT2J = 4
return x*rT2J
iUSD = 10
iTWD = U2T(iUSD)
print(iTWD)
iJPD = T2J(iTWD)
print(iJPD)
d = U2T(iUSD)+T2J(iTWD)//rT2J
print(d)
300 1500 675
400 2000 900
300 1200 540
400 1600 720
題目 8:題目 8 / 10
單選題 - 10分閱讀以下程式碼,請問最後的輸出結果為何?
a=5
b=3
def f(x):
a = 10
c = a+b+x
return c
def g(y):
c = 5
b = a+c+y
return a
r = g(f(3))
print(r)
26
5
18
9
題目 9:題目 9 / 10
單選題 - 10分請問執行下列程式碼,哪個是正確的輸出結果?
a=8
def p():
a = a+1
a=10
p()
print(a)
8
9
10
程式有誤,無法執行
題目 10:題目 10 / 10
單選題 - 10分請問執行下列程式碼,有關 r1, r2, r3, r4 的輸出結果,何者有誤?
def f(x):
return 2*x+1
def g(y, z):
return y+z%4
def h(i, j):
return i+j
a=3
b=2
c=1
r1 = f(h(b, c))
r2 = g(f(a), h(b, c))
r3 = h(g(a, b), f(a))
r4 = h(g(f(b), f(a)), c)
r1=7
r2=10
r3=11
r4=9
🎉 測驗完成!
--
計算中...