Bạn đang xem bài viết ✅ Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun Giải Tin học 11 Định hướng Khoa học máy tính Kết nối tri thức ✅ tại website Wikihoc.com có thể kéo xuống dưới để đọc từng phần hoặc nhấn nhanh vào phần mục lục để truy cập thông tin bạn cần nhanh chóng nhất nhé.

Giải bài tập SGK Tin học 11 trang 127→131 sách Kết nối tri thức với cuộc sống giúp các em học sinh lớp 11 xem gợi ý giải các câu hỏi Bài 29: Thực hành thiết kế chương trình theo mô đun thuộc Chủ đề 6: Kỹ thuật lập trình.

Soạn Tin học 11 Kết nối tri thức Bài 29 giúp các bạn học sinh nắm được kiến thức biết cách thực hành thiết kế chương trình theo mô đun. Đồng thời qua tài liệu này giúp giáo viên nhanh chóng xây dựng hoàn thiện giáo án dạy học của mình.

Giải Luyện tập Tin học 11 Bài 29

Luyện tập 1

Hãy chỉnh sửa lại chương trình trên nêu bổ sung thêm điều kiện sau vào nhiệm vụ: Trong tệp kết quả đầu ra, thứ tự các vận động viên được ghi theo thứ tự giảm dần của điểm đánh giá.

Gợi ý đáp án

def nhapDL(finp):

Tham khảo thêm:   Viết đoạn văn miêu tả chiến công thần tốc đại phá quân Thanh (4 mẫu) Hoàng Lê nhất thống chí - Hồi thứ mười bốn (trích)

f = open(finp)

A = []

B = []

for line in f:

s = line.split()

A.append(s[0])

temp = s[1:len(s)]

temp = [float(x) for x in temp]

B.append(temp)

f.close()

return A, B

def diem_gk(d):

diem = sum(d) + d[0] + d[len(d) – 1]

diem = diem / (len(d) + 2)

return round(diem, 2)

def xuly(B):

kq = []

for i in range(len(B)):

diem = diem_gk(B[i])

kq.append(diem)

return kq

def ghiDL(fout, A, B):

f = open(fout, “w”)

A, B = zip(*sorted(zip(A, B), key=lambda x: x[1], reverse=True))

for i in range(len(A)):

print(A[i], B[i], file=f)

f.close()

finp = “seagames.inp”

fout = “ketqua.out”

DS, Diem = nhapDL(finp)

Kq = xuly(Diem)

ghiDL(fout, DS, Kq)

Luyện tập 2

Trong nhiệm vụ trên, nếu công thức tính điểm tổng hợp của Sea Games thay đổi thì chúng ta có phải sửa lại toàn bộ chương trình hay không? Nếu cần thì chỉ phải sửa mô đun nào? Hàm nào?

Gợi ý đáp án

Nếu công thức tính điểm tổng hợp của Sea Games thay đổi, thì chỉ cần sửa lại hàm diem_gk(d) trong chương trình trên. Hàm diem_gk(d) là hàm tính điểm tổng hợp dựa trên công thức hiện tại đã được định nghĩa trong đoạn mã.

Nếu công thức tính điểm tổng hợp thay đổi, bạn chỉ cần thay đổi logic tính toán trong hàm diem_gk(d) để phản ánh công thức mới. Các phần khác của chương trình không thay đổi, vì chúng sử dụng hàm diem_gk(d) để tính điểm tổng hợp, do đó khi hàm này được sửa, kết quả đầu ra cũng sẽ được cập nhật theo công thức mới.

Giải Vận dụng Tin học 11 Bài 29

Vận dụng 1

Cho trước số tự nhiên n, cần in ra trên màn hình dãy n số nguyên tố đầu tiên. Ví dụ nếu n = 5 thì dãy cần in ra sẽ là 2, 3, 5, 7, 11.

Tham khảo thêm:   Đề cương ôn tập giữa học kì 2 môn Tiếng Anh 7 i-Learn Smart World Đề cương giữa kì 2 tiếng Anh 7 Smart World (Có đáp án)

Gợi ý đáp án

def is_prime(num):

“””Kiểm tra xem một số có phải là số nguyên tố hay không.”””

if num <= 1:

return False

for i in range(2, int(num**0.5) + 1):

if num % i == 0:

return False

return True

def print_prime_numbers(n):

“””In ra n số nguyên tố đầu tiên.”””

count = 0

num = 2

while count < n:

if is_prime(num):

print(num)

count += 1

num += 1

# Số nguyên n cần in ra dãy số nguyên tố đầu tiên

n = int(input())

# Gọi hàm in ra dãy số nguyên tố

print_prime_numbers(n)

Vận dụng 2

Trong một kì thi Tin học trẻ, mỗi học sinh sẽ phải làm 3 bài thi. Với mỗi bài, nêu học sinh làm sẽ được ban giám khảo chấm và cho điểm, nếu không làm thì sẽ không tính điểm. Sau khi thi, dữ liệu điểm thi của học sinh sẽ được lưu trong một tệp văn bản và gửi về ban tổ chức. Mẫu một tệp điểm thi có dạng sau:

Quy định ghi trong tệp trên như sau:

– Mỗi dòng sẽ bắt đầu bằng số báo danh của thí sinh, tiếp theo là ba giá trị điểm tương ứng với ba bài thì.

– Điểm thi sẽ là một số tự nhiên từ 0 đến 20.

– Nếu học sinh không làm thì bài đó ghi -1.

Em có nhiệm vụ tính toán tổng só điểm thi của các bạn học sinh và đưa dữ liệu ra tệp ketqua.out là danh sách ba bạn có tổng điểm cao nhất được sắp xếp giảm dần từ trên xuống đưới. Khuôn dạng dữ liệu đưa ra bao gồm: số báo danh, các điểm thi từng bài và cuối cùng là tổng điểm cả ba bài.

Tham khảo thêm:   Thông tư hướng dẫn tiêu chuẩn bàn ghế học sinh trường Tiểu học, trường Trung học cơ sở

Ví dụ với dữ liệu trên thì kết quả như sau:

Gợi ý đáp án

# Đọc dữ liệu từ tệp điểm thi

with open(“diemthi.inp”, “r”) as file:

data = file.readlines()

# Tạo danh sách lưu thông tin điểm thi của các thí sinh

scores = []

for line in data:

line = line.strip().split()# Tách dữ liệu trên mỗi dòng thành các từ

sbd = line[0]# Lấy số báo danh của thí sinh

diem1 = int(line[1])# Lấy điểm bài 1

diem2 = int(line[2])# Lấy điểm bài 2

diem3 = int(line[3])# Lấy điểm bài 3

tong_diem = diem1 + diem2 + diem3# Tính tổng điểm

scores.append((sbd, diem1, diem2, diem3, tong_diem))# Thêm thông tin vào danh sách

# Sắp xếp danh sách giảm dần theo tổng điểm

scores.sort(key=lambda x: x[4], reverse=True)

# Ghi kết quả vào tệp ketqua.out

with open(“ketqua.out”, “w”) as file:

for score in scores:

sbd = score[0]

diem1 = score[1]

diem2 = score[2]

diem3 = score[3]

tong_diem = score[4]

file.write(f”{sbd}t{diem1}t{diem2}t{diem3}t{tong_diem}n”)

Cảm ơn bạn đã theo dõi bài viết Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun Giải Tin học 11 Định hướng Khoa học máy tính Kết nối tri thức của Wikihoc.com nếu thấy bài viết này hữu ích đừng quên để lại bình luận và đánh giá giới thiệu website với mọi người nhé. Chân thành cảm ơn.

 

About The Author

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *