AQA A Level · Computer Science 7517

Lists in functional programming: แบบฝึกหัด

ข้อปรนัย 5 ข้อ ตรวจให้ทันทีที่ตอบ และข้อเขียน 5 ข้อ พร้อมวิธีทำละเอียด ทั้งหมดจากเรื่อง Lists in functional programming

10 ข้อ23 คะแนนฟรี ไม่ต้องสมัคร
ข้อ 1
1 คะแนน

In functional programming, a list can be defined as a concatenation of two specific components. What are these two components called?
Example: in Haskell, the list \([4, 3, 5]\) can be written as \(4:[3, 5]\).

ข้อ 2
1 คะแนน

Given the list \(L = [10, 20, 30, 40]\), what would be the result of the operation prepend \(5\) to \(L\)?

ข้อ 3
1 คะแนน

Let \(L = [5, 12, 18, 21]\). Consider a recursive function f:
\(f([]) = 0\)
\(f(head:tail) = 1 + f(tail)\)

What is the result of applying \(f(L)\)?

ข้อ 4
1 คะแนน

If a list \(L\) is defined as \(7:[2, 9, 1]\), what is the result of the operation that returns the tail of the list?

ข้อ 5
1 คะแนน

In functional list processing, how is the list \([1, 2, 3, 4]\) represented using recursive construction with the empty list symbol \([]\)?

ข้อ 6
2 คะแนน

What is the resulting list when you prepend the item \( 5 \) to the list \( [12, 15] \)?

ลองเขียนคำตอบด้วยตัวเองก่อน แล้วค่อยเทียบกับวิธีทำ

ข้อ 7
3 คะแนน

A programmer uses a function to test for an empty list. If the input is \( head:tail \), what is the Boolean result of this test?

ลองเขียนคำตอบด้วยตัวเองก่อน แล้วค่อยเทียบกับวิธีทำ

ข้อ 8
5 คะแนน

A programmer is using Lists in functional programming. If a list is constructed as \( L = x:xs \), describe the result of the operation head(tail(tail([1, 2, 3, 4]))).

ลองเขียนคำตอบด้วยตัวเองก่อน แล้วค่อยเทียบกับวิธีทำ

ข้อ 9
3 คะแนน

A list in a functional language is often represented as a head and a tail.

(a) Define what is meant by the 'head' and 'tail' of a list.
(b) Given the list \( L = [10, 20, 30, 40] \), show how this list would be represented using the construction operator (often denoted as a colon \( : \) in Haskell) and the empty list symbol \( [] \).

ลองเขียนคำตอบด้วยตัวเองก่อน แล้วค่อยเทียบกับวิธีทำ

ข้อ 10
5 คะแนน

A programmer is writing a functional program to process a list of integers.

(a) Write a recursive definition for a function length(L) that returns the number of elements in a list \( L \). You should use the concepts of head, tail, and empty list.
(b) Trace your function with the list \( [7, 3] \), showing each recursive call.

ลองเขียนคำตอบด้วยตัวเองก่อน แล้วค่อยเทียบกับวิธีทำ

* เนื้อหาของ thinka สร้างโดย AI อาจไม่ถูกต้องสมบูรณ์ในทุกกรณี กรุณาใช้เป็นสื่อเสริมและตรวจสอบกับเอกสารอ้างอิงอย่างเป็นทางการ

คุณเห็นเฉลยแล้ว ทีนี้มาตรวจคำตอบของคุณบ้าง

หน้านี้บอกได้ว่าคำตอบที่ดีเป็นอย่างไร แต่บอกไม่ได้ว่าคำตอบของคุณขาดอะไร thinka ตรวจข้อเขียนของคุณตามเกณฑ์ให้คะแนนจริงในราว 15 วินาที

อยากฝึกโจทย์แบบนี้เพิ่มไหม เริ่มฝึกหัวข้อนี้ได้เลย ตรวจให้ทันทีทุกข้อ

เริ่มฝึกเลย