Trắc nghiệm tin học 10 cánh diều CĐF - Bài 17 - Thực hành lập trình giải bài toán trên máy tính
Bộ câu hỏi trắc nghiệm tin học 10 cánh diều. Câu hỏi và bài tập trắc nghiệm CĐF - Bài 17 - Thực hành lập trình giải bài toán trên máy tính. Bộ trắc nghiệm có 4 mức độ: Thông hiểu, nhận biết, vận dụng và vận dụng cao. Hi vọng, tài liệu này sẽ giúp thầy cô nhẹ nhàng hơn trong việc ôn tập. Theo thời gian, chúng tôi sẽ tiếp bổ sung thêm các câu hỏi.
Xem: => Giáo án tin học 10 cánh diều (bản word)
CHỦ ĐỀ F: GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH
BÀI 17: THỰC HÀNH LẬP TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNH
A. TRẮC NGHIỆM
1. NHẬN BIẾT (10 câu)
Câu 1: Bước kiểm thử, chạy và hiệu chỉnh chương trình là
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Câu 2: Có bao nhiêu chế độ dịch chương trình viết trên ngôn ngữ lập trình bậc cao sang ngôn ngữ máy
A. 1
B. 2
C. 3
D. 4
Câu 3: Khẳng định nào sau đây là đúng khi nói về chế độ biên dịch?
A. Chương trình không còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy. Chương trình trên ngôn ngữ máy này sẽ được gọi ra ở mỗi lần cần thực hiện.
B. Khi thực hiện chương trình, gặp đến câu lệnh nào thì câu lệnh đó sẽ được dịch sang ngôn ngữ máy để thực hiện. Trong quá trình thực hiện chương trình, nếu một câu lệnh được thực hiện bao nhiêu lần thì nó sẽ được dịch lại bấy nhiêu lần.
C. Chương trình còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy.
D. Khi thực hiện chương trình, các câu lệnh sẽ được dịch đồng thời sang ngôn ngữ máy để thực hiện.
Câu 4: Mục đích của việc kiểm thử chương trình là
A. Xác định lại bài toán.
B. Phát hiện và sửa lỗi.
C. Mô tả chi tiết bài toán.
D. Để tạo ra một chương trình mới
Câu 5: Bước quan trọng nhất để giải một bài toán trên máy tính là
A. Tìm thuật toán giải bài toán và cách tổ chức dữ liệu thiết kế thuật toán.
B. Viết chương trình.
C. Xác định bài toán.
D. Kiểm thử chương trình.
Câu 6: Quá trình giải toán bằng lập trình trên máy tính có bao nhiêu bước?
A. 2
B. 3
C. 4
D. 5
Câu 7: Bước xác định bài toán là
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Câu 8: Các bước giải bài toán trên máy tính
A. Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Kiểm thử, chạy và hiệu chỉnh chương trình → Viết chương trình.
B. Viết chương trình → Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Kiểm thử, chạy và hiệu chỉnh chương trình.
C. Xác định bài toán → Kiểm thử, chạy và hiệu chỉnh chương trình → Viết chương trình → Tìm thuật toán của bài toán và cách tổ chức dữ liệu.
D. Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Viết chương trình → Kiểm thử, chạy và hiệu chỉnh chương trình.
Câu 9: Bước tìm thuật toán của bài toán và cách tổ chức dữ liệu là
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
Câu 10: Bước viết chương trình là
A. Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
B. Xác định những giá trị đã cho và mối quan hệ giữa chúng.
C. Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.
D. Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.
2. THÔNG HIỂU (6 câu)
Câu 1: Khẳng định nào sau đây là đúng khi nói về chế độ thông dịch?
A. Chương trình không còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy. Chương trình trên ngôn ngữ máy này sẽ được gọi ra ở mỗi lần cần thực hiện.
B. Khi thực hiện chương trình, gặp đến câu lệnh nào thì câu lệnh đó sẽ được dịch sang ngôn ngữ máy để thực hiện. Trong quá trình thực hiện chương trình, nếu một câu lệnh được thực hiện bao nhiêu lần thì nó sẽ được dịch lại bấy nhiêu lần.
C. Chương trình còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy.
D. Khi thực hiện chương trình, các câu lệnh sẽ được dịch đồng thời sang ngôn ngữ máy để thực hiện.
Câu 2: Khẳng định nào sau đây là sai?
A. Chương trình viết bằng ngôn ngữ lập trình bậc cao sẽ được dịch sang ngôn ngữ máy để thực hiện.
B. Có hai chương trình dịch là biên dịch và thông dịch.
C. Quá trình giải toán bằng lập trình trên máy tính có 4 bước.
D. Không cần viết chương trình ta vẫn có thể giải một toán trên máy tính.
Câu 3: Giải phương trình ax2+bx+c=0. Ở bước xác định bài toán ta xác định được những gì?
A. Dữ liệu bài toán cho là 3 số a,b,c. Cần tìm giá trị x thỏa mãn ax2+bx+c=0.
B. Cần sử dụng ngôn ngữ Python để viết chương trình.
C. Sử dụng bộ dữ liệu nhỏ để kiểm thử.
D. Thuật toán để giải bài toán.
Câu 4: Tiêu chí lựa chọn hoặc thiết kế thuật toán là gì?
A. Hiệu quả về thời gian.
B. Hiệu quả về không gian.
C. Khả thi khi cài đặt.
D. Tất cả đều đúng.
Câu 5: Thuật toán tối ưu là
A. Sử dụng ít thời gian, ít bộ nhớ...
B. Sử dụng ít thời gian, nhiều bộ nhớ, ít phép toán...
C. Sử dụng nhiều thời gian, nhiều bộ nhớ, ít phép toán...D. Tất cả các đáp án trên đều đúng.
D. Sử dụng nhiều thời gian, ít bộ nhớ, ít phép toán...
Câu 6: Để viết được chương trình của một ngôn ngữ lập trình bậc cao cần sử dụng được
A. Các lệnh nhập dữ liệu vào và đưa kết quả ra.
B. Các kiểu dữ liệu như số nguyên, số thực, xâu kí tự, danh sách, … và cách dùng chúng.
C. Các câu lệnh tương ứng thể hiện cấu trúc rẽ nhánh, cấu trúc lặp của thuật toán.
D. Cả A, B, C
3. VẬN DỤNG (5 câu)
Câu 1: Mỗi ngôn ngữ lập trình bậc cao đều được xây dựng trên những yếu tố cơ bản nào sau đây?
(1) Bảng chữ cái của ngôn ngữ
(2) Quy định về cách viết các thành tố như: tên, câu lệnh, biểu thức
(3) Các phép tính và loại câu lệnh có thể thực hiện
(4) Các kiểu dữ liệu có cấu trúc
(5) Thư viện chương trình con cung cấp sẵn cho người lập trình
A.(3)(4)(5)
B. (1)(2)(3)
C. (1)(2)(3)(4)(5)
D. (2)(3)(4)
Câu 2: Xét bài toán
Đội Trúc Xanh gồm 3 bạn An, Thuỳ và Minh đứng đầu trong cuộc thi về ca dao, tục ngữ Việt Nam. Cách trao giải của Ban tổ chức cũng khá độc đáo. Trên bàn bày một dãy n túi kẹo, trên túi kẹo thứ i có ghi số nguyên ai, là số lượng kẹo trong túi (ai ≥ 0). Đội thắng cuộc được phép chọn các túi kẹo có số lượng chia hết cho 3. Đội Trúc Xanh quyết định sẽ chọn hết tất cả các túi có kẹo và được phép lấy. Sau đó từ mỗi túi, mỗi người ăn một chiếc kẹo. Phần kẹo còn lại được tập trung và chia đều để mỗi bạn mang về cho em ở nhà. Hãy xác định, mỗi bạn đã ăn bao nhiêu cái kẹo và mang về nhà bao nhiêu cái.
Em hãy xác định thuật toán và cách tổ chức dữ liệu trong bài toán trên.
(1) Đưa ra k và (s - 3k)/3.
(2) Nhập dữ liệu vào (dùng kiểu danh sách cho dãy n số nguyên).
(3) Chuẩn bị tích luỹ số lượng và tổng: k = 0, s = 0.
(4) Duyệt với mọi i: Nếu ai > 0 và ai chia hết cho 3 thì tăng k và tích luỹ ai vào s.
A. (1)(2)(3)(4)
B. (2)(3)(4)(1)
C. (3)(4)(2)(1)
D. (4)(2)(1)(3)
Câu 3: Xét bài toán
Các điểm dừng đón, trả khách của xe buýt cách đều nhau một đoạn k mét. Điểm dừng đầu tiên ở đầu phố. Như vậy tính từ đầu phố, xe buýt dừng ở các điểm 0, k, 2k, 3k, ... (mét). Nhà của Tâm ở ngay đầu phố. Để kết hợp rèn luyện thể lực, Tâm thường đi bộ tới trường. Hôm nay, khi đi bộ được n mét, Tâm chợt nhớ cần phải tới sớm theo lời hẹn với một người bạn nên quyết định sẽ bắt xe buýt ở trạm tiếp theo gần nhất. Hãy xác định Tâm còn phải đi thêm bao nhiêu mét nữa.
Em hãy xác định thuật toán và cách tổ chức dữ liệu trong bài toán trên.
(1) Đưa ra kết quả.
(2) Nhập số nguyên k và n.
(3) Tính d là khoảng cách từ x tới điểm bên trái của x.
(4) Tìm min của khoảng cách từ x tới điểm bên trái x và bên phải của x.
A. (1)(2)(3)(4)
B. (2)(3)(4)(1)
C. (3)(4)(2)(1)
D. (4)(2)(1)(3)
Câu 4: Xét bài toán
Cho dãy số nguyên A = (a1, a2, …, an). Phần tử x của dãy được gọi là phần tử trung vị nếu nó lớn hơn hoặc bằng [n2] phần tử của dãy và nhỏ hơn hoặc bằng các phần tử còn lại trong dãy. Ví dụ, với A = (8, 1, 6, 3, 9, 2, 3, l, 7) trung vị là phần tử có giá trị là 5. Tìm và đưa ra giá trị của phần tử trung vị của dãy A bất kì.
Em hãy xác định thuật toán và cách tổ chức dữ liệu trong bài toán trên.
(1) Sắp xếp danh sách A.
(2) Nhập số nguyên n, nhập danh sách A chứa n số nguyên.
(3) Đưa ra phần tử A [len (A) //2].
A. (1)(2)(3)
B. (2)(1)(3)
C. (2)(3)(1)
D. (3)(2)(1)
Câu 5: Các nhà thiên văn phân loại đối tượng trên vùng trời đang nghiên cứu theo cường độ bức xạ Gamma của chúng. Đối tượng thứ i có cường độ bức xạ gi, (gi là số thực và lớn hơn 0, i= 1,2, ..., n). Các đối tượng được phân thành từng lớp: lớp I gồm các đối tượng có cùng cường độ bức xạ Gamma lớn nhất; lớp II gồm các đối tượng có cùng cường độ bức xạ Gamma lớn thứ hai, ...Xác định số lượng đối tượng lớp II và cường độ bức xạ Gamma của đối tượng thuộc lớp này.
Em hãy xác định thuật toán và cách tổ chức dữ liệu trong bài toán trên.
(1) Đếm số phần tử có giá trị đạt gk
(2) Sắp xếp dãy số theo thứ tự giảm dần.
(3) Đếm số phần tử đạt max → k.
(4) Đưa ra các giá trị tìm được.
(5) Nhập dữ liệu, lưu theo chỉ số bắt đầu từ 0 (dùng kiểu danh sách để chứa dãy số).
A. (5)(2)(3)(1)(4)
B. (5)(3)(2)(1)(4)
C. (1)(2)(3)(4)(5)
D. (2)(3)(4)(5)(1)
4. VẬN DỤNG CAO (3 câu)
Câu 1: Em hãy mô tả thuật toán cho bài toán Cứu nạn sau đây bằng cách liệt kê các bước.
Một tàu đánh cá có ngư dân bị tai nạn cần cấp cứu đã gọi điện về cơ sở y tế ở đảo gần nhất cách đó d (hải lí). Để người bị tai nạn được sơ cứu sớm hơn, tàu đánh cá đổi hướng, đi thẳng về phía đảo với vận tốc v1 (hải lí/giờ), đồng thời từ đảo người ta cũng cho một tàu cứu nạn có thiết bị y tế sơ cứu đi theo đường đó tới hướng tàu cá với vận tốc v2 (hải lí/giờ). Em hãy xác định sau bao lâu hai tàu gặp nhau, khi biết dữ liệu d, v1, v2.
(1) Vì mỗi giờ, khoảng cách giữa hai tàu giảm đi (v1 + v2) hải lí, vì vậy để hai tàu gặp nhau sẽ cần giờ
(2) Khoảng thời gian cần tính là giờ
(3) Nhập dữ liệu cho v1, v2 và d
A. (1)(3)(2)
B. (1)
C. (1) (3)
D. (2)(3)
Câu 2: Để sẵn sàng triển khai tiêm vacxin cho địa phương có nguy cơ bùng dịch cao, người ta cần dự trữ không ít hơn n liều vacxin. Hiện nay trong kho đang có m liều vacxin. Trong nước có hai cơ sở A và B sản xuất vacxin. Nếu làm hết công suất cơ sở A mỗi ngày sản xuất được pa liều, còn cơ sở B sản xuất đc pb liều. Em hãy chọn một chương trình phù hợp dưới đây để xác định sớm nhất sau bao nhiêu ngày sẽ có đủ n liều vacxin.
Chương trình số 1:
n = int(input("Nhập số liều vacxin cần dự trữ "))
m = int(input("Nhập số liều vacxin đang có trong kho "))
pa = int(input("nhập số liều cơ sở A sản xuất được mỗi ngày "))
pb = int(input("nhập số liều cơ sở B sản xuất được mỗi ngày "))
t = 0
while m + (pa + pb) * t < n:
t = t + 1
print("Số ngày cần thiết là ", t)
Chương trình số 2:
n = int(input("Nhập số liều vacxin cần dự trữ "))
m = int(input("Nhập số liều vacxin đang có trong kho "))
pa = int(input("nhập số liều cơ sở A sản xuất được mỗi ngày "))
pb = int(input("nhập số liều cơ sở B sản xuất được mỗi ngày "))
t = 0
while m + (pa + pb) * t < n:
t = t + 2
print("Số ngày cần thiết là ", t)
Chương trình số 3:
n = int(input("Nhập số liều vacxin cần dự trữ "))
m = int(input("Nhập số liều vacxin đang có trong kho "))
pa = int(input("nhập số liều cơ sở A sản xuất được mỗi ngày "))
pb = int(input("nhập số liều cơ sở B sản xuất được mỗi ngày "))
t = 0
while m + (pa + pb) * t >= n:
t = t + 2
print("Số ngày cần thiết là ", t)
A. Chương trình số 1
B. Chương trình số 2
C. Chương trình số 3
D. Không có chương trình nào
Câu 3: Trong một hoạt động ngoại khóa của lớp, giáo viên chủ nhiệm đã chụp được n bức ảnh, các bức ảnh được lưu trên máy tính có kích thước tương ứng là d1 , d2 , ..., dn , (đơn vị Kb).
Giáo viên dự định ghi một số đĩa CD làm phần thưởng cho học sinh. Đĩa CD mà giáo viên dùng chỉ có thể ghi tối đa W (đơn vị Kb). Vì tất cả các bức ảnh đều rất đẹp và thú vị nên giáo viên muốn lựa chọn các bức ảnh để ghi vào đĩa CD với tiêu chí càng nhiều bức ảnh được ghi vào địa CD càng tốt. Giáo viên băn khoăn và muốn biết số lượng tối đa các bức ảnh có thể ghi vào đĩa CD là bao nhiêu.
Em hãy sắp xếp các bước sau để có được chương trình nhận dữ liệu vào là các số nguyên W, d1 , d2 , ..., dn à trả về số lượng tối đa các bức ảnh có thể ghi vào đĩa CD.
(1) Tạo điều kiện lặp s <= W, thoả mãn điều kiện sẽ cộng dồn s bằng kích thước từng ảnh và tăng biến đếm c lên 1
(2) Tạo biến s = 0 là tổng dung lượng ảnh chọn, biến c = 0 là số ảnh được chọn
(3) Nhập dữ liệu W, và dữ liệu list d có độ dài n
(4) Kết thúc vòng lặp, in số ảnh c được chọn.
A. (1)(3)(4)(2)
B. (1)(2)(3)(4)
C. (3)(2)(1)(4)
D. (2)(1)(4)(3)
=> Giáo án tin học 10 cánh diều bài 17: Thực hành lập trình giải bài toán trên máy tính (2 tiết)