Giải SBT Tin học 11 định hướng KHMT Cánh diều Bài 10, 11, 12, 13, 14: Thiết kế chương trình từ trên xuống và phương pháp mô đun hóa. Thực hành thiết kế và lập trình theo mô đun. Thực hành về thư viện các hàm tự định nghĩa. (Phần 1)
Giải chi tiết sách bài tập SBT Tin học 11 định hướng khoa học máy tính Cánh diều Bài 10, 11, 12, 13, 14: Thiết kế chương trình từ trên xuống và phương pháp mô đun hóa. Thực hành thiết kế và lập trình theo mô đun. Thực hành về thư viện các hàm tự định nghĩa. (Phần 1). Tech12h sẽ hướng dẫn giải tất cả câu hỏi và bài tập với cách giải nhanh và dễ hiểu nhất. Hi vọng, thông qua đó học sinh được củng cố kiến thức và nắm bài học tốt hơn.
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
Fcs41 (DA1). Thực hiện bài tập lớn về lập trình Python xử lí “Tam giác” với các yêu cầu sau:
Dữ liệu đầu vào: Nhập từ tệp văn bản tamgiac.txt chứa số liệu độ dài của các tam giác, mỗi dòng trong tệp văn bản chứa ba số a, b, c là số liệu về một tam giác. Độ dài các cạnh của mỗi tam giác là số nguyên hoặc số thực.
Kết quả đầu ra:
KQ1 — Phân loại tam giác: Kiểm tra ba số a, b, c có phải là độ dài ba cạnh của một tam giác hay không? Nếu ba số a, b, c là độ dài ba cạnh của một tam giác thì phân loại tam giác đó và đếm số lượng từng loại (tam giác đều, tam giác vuông cân, tam giác vuông, tam giác cân, tam giác thường). Kết quả đưa vào tệp phanloaiTG.txt.
KQ2 – Đưa vào tệp cvdtTG.txt:
a) Chu vi, diện tích các hình tam giác hợp lệ
b) Cho biết hình tam giác nào có chu vi lớn nhất, hình tam giác nào có diện tích lớn nhất.
c) Sắp xếp tăng dần theo diện tích của từng loại tam giác
Yêu cầu kết quả:
Với mục đích luyện kỹ năng lập trình, mỗi nhóm cần hoàn thành hai sản phẩm chương trình SP#1 và SP#2 với yêu cầu như sau:
SP#1: Tự viết các hàm (mô đun) chương trình, kế thừa những kết quả lập trình đã có được đến nay.
SP#2: Sử dụng tối đa các hàm đã có sẵn trong Python để hoàn thành nhiệm vụ.
Trả lời:
Đọc dữ liệu từ tệp:
Kiểm tra tam giác:
Phân loại tam giác:
Thực hiện theo yêu cầu KQ1
Tính chu vi, diện tích tam giác:
Thực hiện theo yêu cầu KQ2:
Hàm thực hiện đoạn code trên:
Input:
Output:
FC 42 (DA2). Lưu trữ dữ liệu cổ vật
Viện Sử học vừa khai quật một di tích lịch sử và thu về n cổ vật hữu cơ. Để xác định tuổi của n cổ vật này, chúng ta sử dụng phương pháp định tuổi bằng đồng vị phóng xạ Carbon-14.
Viện đã hoàn thành việc tính toán số liệu và tổ chức triển lãm cũng như công bố những nghiên cứu mới về n cổ vật. Tuy nhiên, để thúc đẩy niềm yêu thích sử học nói chung và khảo có học nói riêng, cũng như cho học sinh một cái nhìn khác về nghiên cứu lịch sử, Viện đã mời các bạn học sinh tham quan triển lãm, đồng thời hướng dẫn các bạn cách định tuổi các cổ vật nêu trên.
Để dễ dàng tính toán, các bạn đã được cho biết trước:
Chu kì bán rã của đồng vị 614C là 5 730 năm, tức sau 5 730 năm thì lượng nguyên tử 614C sẽ giảm đi một nửa.
Lượng Carbon trong cơ thể của bất ki sinh vật nào khi còn sống đầu bằng nhau và bằng x nguyên tử/g
Sau đó, Viện đã cho các bạn sử dụng thiết bị để đo thể tích cũng như đếm số lượng nguyên tử 614C của toàn bộ n cổ vật. Bây giờ, bạn sẽ tiến hành xác định niên đại của các đồ vật
Dữ liệu đầu vào: Nhập từ tệp covat.inp.
Dòng đầu tiên chứa hai số: số nguyên dương n và số thực x
n dòng tiếp theo tương ứng với n cổ vật, dòng thứ i gồm hai số thực vi và mi lần lượt chứa khối lượng (đơn vị tính: g) và số lượng nguyên tử 614C mà bạn đo được tại thời điểm hiện tại của cổ vật thứ i.
Dữ liệu đầu ra:
KQ1 — Kết luận sơ bộ:
In ra tệp sobo.txt gồm n dòng là danh sách các cổ vật theo tuổi tăng dần.
Dòng thứ i in ra:
Số thứ nhất là chỉ số của cổ vật có niên đại nhỏ thứ i.
Số thứ hai là tuổi của cổ vật đó, làm tròn xuống năm gần nhất (ví dụ, 19.7 năm làm tròn thành 19 năm).
KQ2 – Kiểm tra độ tin cậy của cổ vật
Biết rằng, phương pháp định tuổi bằng đồng vị phóng xạ 614C chỉ cho ra kết quả tin cậy đối với các cổ vật không quá 50 000 tuổi, với các kết quả trên 50 000 tuổi phải dùng các đồng vị khác, hoặc phương pháp khác.
Em hãy in ra tệp tincay.txt gồm n dòng, dòng thứ i in ra “tin cay” nếu như kết quả của cổ vật thứ i là đáng tin cậy, hoặc nếu không thì in ra “không tin cậy”.
Trả lời:
1. Liệt kê các việc lớn
– Nhập vào danh sách các cổ vật và tham chiếu x.
– Lập công thức tính tuổi của từng cổ vật.
– Sắp xếp các cổ vật theo thứ tự tăng dần về tuổi để trả lời KQ1. – Từ tuổi của mỗi cổ vật ta xác định độ tin cậy để trả lời KQ2.
2. Thiết kế các hàm
a. Nhập vào từ tệp
Có thể viết hàm nhapTuTep ( ) để đọc dữ liệu đầu vào từ tệp covat.txt. Hàm trả về hai số n và x; cũng như hai danh sách v và m – khối lượng và số nguyên tử C của cổ vật, với v[i] và m[i] là số liệu của cổ vật thứ i.
b. Lập công thức tính tuổi của cổ vật
Ta viết hàm tinhtuoi(x, v, m),với x là mật độ nguyên tử C trong một cơ thể sống, v và m lần lượt là khối lượng và số nguyên tử C đo được của một cổ vật. Hàm sẽ trả về tuổi của cổ vật đó.
" Đồng vị $_{6}^{14}\textrm{C}$ có chu kì bán rã 5730. Nếu ban đầu ta có $m_{0}$ phần tử, thì sau T năm, số phần tử còn lại là $m_{T}=m_{0}$ x $(\frac{1}{2})^{\frac{T}{5730}}$. Vì vậy, nếu đã có $m_{0}$ và $m_{T}$ thì ta dễ dàng tìm được tuổi: $T=log_{2}\frac{m_{0}}{m_{T}}$"
Ta thấy, $m_{T}$ trong trường hợp này chính là tham số m của hàm, còn m sẽ được tính bằng tích mật độ x nhân với khối lượng v. Từ đấy ta xác định tuổi của cổ vật rồi trả về kết quả.
c. Sắp xếp danh sách các cổ vật các theo thứ tự niên đại
Ta viết hàm sapxep(n,v, m), với n là số lượng cổ vật và v, m là hai mảng chứa thông tin về khối lượng và số nguyên tử C đo được của các cổ vật. Ta khai báo một mảng ds hai chiều gồm 2 cột – chỉ số trong mảng gốc và tuổi của cổ vật. Để tính tuổi, ta dùng hàm tinhtuoi.
Sau đó, ta sắp xếp ds theo cột thứ hai – niên đại. Nếu dùng phương thức sort của list, có thể dùng cú pháp:
d. Kiểm tra độ tin cậy
Để không phải tính lại niên đại của cổ vật, ta sử dụng luôn mảng ds thu về từ hàm sapxep.
Vì vậy, ta có thể viết hàm danhsachtincay(ds) và trả về một mảng tincay gồm n phần tử kiểu boolean với True có nghĩa là tin cậy và False là không tin cậy.
Với mỗi cổ vật trong danh sách, ta có hai thông tin: chỉ số i của cổ vật nằm ở cột thứ nhất và tuổi niendai nằm ở cột thứ hai. Ta xem niendai có giá trị không dưới 50 000 năm hay không, nếu thoả mãn thì ta gán tincay[i] bằng True, ngược lại sẽ bằng False.
Cuối cùng, ta trả về mảng tincay để sau đó in ra câu trả lời của KQ2.
Tổng kết lại, ta có đoạn code như sau:
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
Nội dung quan tâm khác
Thêm kiến thức môn học
Giải bài tập những môn khác
Giải sgk lớp 11 KNTT
Giải sgk lớp 11 CTST
Giải sgk lớp 11 cánh diều
Giải SBT lớp 11 kết nối tri thức
Giải SBT lớp 11 chân trời sáng tạo
Giải SBT lớp 11 cánh diều
Giải chuyên đề học tập lớp 11 kết nối tri thức
Giải chuyên đề toán 11 kết nối tri thức
Giải chuyên đề ngữ văn 11 kết nối tri thức
Giải chuyên đề vật lí 11 kết nối tri thức
Giải chuyên đề hóa học 11 kết nối tri thức
Giải chuyên đề sinh học 11 kết nối tri thức
Giải chuyên đề kinh tế pháp luật 11 kết nối tri thức
Giải chuyên đề lịch sử 11 kết nối tri thức
Giải chuyên đề địa lí 11 kết nối tri thức
Giải chuyên đề mĩ thuật 11 kết nối tri thức
Giải chuyên đề âm nhạc 11 kết nối tri thức
Giải chuyên đề công nghệ chăn nuôi 11 kết nối tri thức
Giải chuyên đề công nghệ cơ khí 11 kết nối tri thức
Giải chuyên đề tin học 11 định hướng Khoa học máy tính kết nối tri thức
Giải chuyên đề tin học 11 định hướng Tin học ứng dụng kết nối tri thức
Giải chuyên đề quốc phòng an ninh 11 kết nối tri thức
Giải chuyên đề hoạt động trải nghiệm hướng nghiệp 11 kết nối tri thức
Giải chuyên đề học tập lớp 11 chân trời sáng tạo
Giải chuyên đề học tập lớp 11 cánh diều
Trắc nghiệm 11 Kết nối tri thức
Trắc nghiệm 11 Chân trời sáng tạo
Trắc nghiệm 11 Cánh diều
Bộ đề thi, đề kiểm tra lớp 11 kết nối tri thức
Đề thi Toán 11 Kết nối tri thức
Đề thi ngữ văn 11 Kết nối tri thức
Đề thi vật lí 11 Kết nối tri thức
Đề thi sinh học 11 Kết nối tri thức
Đề thi hóa học 11 Kết nối tri thức
Đề thi lịch sử 11 Kết nối tri thức
Đề thi địa lí 11 Kết nối tri thức
Đề thi kinh tế pháp luật 11 Kết nối tri thức
Đề thi công nghệ cơ khí 11 Kết nối tri thức
Đề thi công nghệ chăn nuôi 11 Kết nối tri thức
Đề thi tin học ứng dụng 11 Kết nối tri thức
Đề thi khoa học máy tính 11 Kết nối tri thức
Bộ đề thi, đề kiểm tra lớp 11 chân trời sáng tạo
Bộ đề thi, đề kiểm tra lớp 11 cánh diều
Đề thi Toán 11 Cánh diều
Đề thi ngữ văn 11 Cánh diều
Đề thi vật lí 11 Cánh diều
Đề thi sinh học 11 Cánh diều
Đề thi hóa học 11 Cánh diều
Đề thi lịch sử 11 Cánh diều
Đề thi địa lí 11 Cánh diều
Đề thi kinh tế pháp luật 11 Cánh diều
Đề thi công nghệ cơ khí 11 Cánh diều
Đề thi công nghệ chăn nuôi 11 Cánh diều
Đề thi tin học ứng dụng 11 Cánh diều
Đề thi khoa học máy tính 11 Cánh diều
Bình luận