Bạn đang xem bài viết ✅ Tin học 11 Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần 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 123→126 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 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần 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 27 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 phương pháp làm mịn dần. Đồ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 27

Luyện tập 1

Thiết kế thuật toán cho nhiệm vụ 1 với ý tưởng khác như sau: Dãy A là một hoán vị của dãy các số từ 1 đến n khi và chỉ khi dãy A có độ dài n và mọi số i từ 1 đến n đều nằm trong A.

Tham khảo thêm:   Thông tư 01/2019/TT-BYT Quy định điều trị nội trú ban ngày tại cơ sở khám chữa bệnh y học cổ truyền

Gợi ý đáp án

Một ý tưởng khác để kiểm tra xem dãy n số có phải là một hoán vị của dãy số 1, 2, …, n hay không là sử dụng tính chất đặc biệt của hoán vị. Ta biết rằng một hoán vị của dãy số từ 1 đến n sẽ có các giá trị từ 1 đến n đúng một lần, tức là không có giá trị lặp lại và không có giá trị bỏ sót. Với ý tưởng này, ta có thể thiết kế thuật toán như sau:

– Đọc dãy số vào mảng a gồm n phần tử.

– Kiểm tra độ dài của dãy a có bằng n không. Nếu không bằng n, in ra “KHÔNG” và kết thúc thuật toán.

– Khởi tạo một mảng visited gồm n phần tử, với giá trị ban đầu là False. Mảng visited này sẽ được sử dụng để đánh dấu các số đã xuất hiện trong dãy a.

– Duyệt qua từng phần tử trong dãy a, đồng thời đánh dấu số đó đã xuất hiện trong dãy a bằng cách đặt giá trị True tại vị trí tương ứng trong mảng visited.

– Kiểm tra mảng visited. Nếu một trong các phần tử của visited là False, tức là có giá trị bị bỏ sót trong dãy a, in ra “KHÔNG” và kết thúc thuật toán.

– Sau khi kiểm tra xong mảng visited, in ra “CÓ” nếu không có giá trị nào bị bỏ sót, ngược lại in ra “KHÔNG”.

– Thuật toán:

function kiemTraHoanVi(a):

Tham khảo thêm:   Thông tư số 05/2012/TT-BNNPTNT Ban hành tiêu chuẩn kỹ năng nghề quốc gia đối với các nghề thuộc nhóm nghề nông nghiệp

n = len(a)

visited = [False] * n

# Kiểm tra độ dài của dãy a

if n != len(set(a)):

return “KHÔNG”

# Duyệt qua từng phần tử trong dãy a

for i in a:

# Nếu số i đã xuất hiện trong dãy a

if i < 1 or i > n or visited[i-1]:

return “KHÔNG”

visited[i-1] = True

# Kiểm tra mảng visited

if all(visited):

return “CÓ”

else:

return “KHÔNG”

Luyện tập 2

Trong Nhiệm vụ 2, nếu dãy A đã được sắp xếp theo thứ tự tăng dần thì có thể cải tiến thuật toán tốt hơn được không?

Gợi ý đáp án

Nếu dãy A đã được sắp xếp theo thứ tự tăng dần thì có thể cải tiến thuật toán tốt hơn

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

Vận dụng 1

Cho dãy số A = A[0], A[1]. …. A[n — 1]. Thiết kế và viết chương trình kiểm tra trong dãy A có hai phân tử nào trùng nhau hay không. Cần đưa ra câu trả lời là “có” hay “không”. Yêu cầu đưa ra quy trình thiết kế theo phương pháp làm mịn dần.

Vận dụng 2

Xâu kí tự được gọi là đối xứng nêu thay đổi thứ tự ngược lại các kí tự của xâu thì vẫn nhận được dãy ban đầu. Ví dụ xâu “abcdcba” là đối xứng, còn xâu “1011” không là đối xứng. Thiết kế và viết chương trình kiểm tra một xâu kí tự cho trước có là đối xứng hay không. Yêu cầu đưa ra quy trình thiết kế theo phương pháp làm mịn dần.

Cảm ơn bạn đã theo dõi bài viết Tin học 11 Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần 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.

Tham khảo thêm:   Thông tư số 109/2014/TT-BTC Chính sách tài chính đối với khu kinh tế cửa khẩu

 

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 *