X

SBT Tin học 10 Cánh diều

Giải SBT Tin học 10 trang 51 Cánh diều


Haylamdo biên soạn và sưu tầm lời giải SBT Tin học 10 trang 51 trong Bài 17, 18: Thực hành lập trình giải bài toán trên máy tính sách Cánh diều. Với lời giải ngắn gọn nhưng đủ ý hy vọng sẽ giúp các học sinh dễ dàng nắm được cách làm bài tập Tin học 10.

Giải SBT Tin học 10 trang 51 Cánh diều

Câu F88 trang 51 SBT Tin học 10: Số bị thiếu

Tâm nhờ một người bạn tạo dãy số nguyên dương a1, a2, …, an với , i = 1, 2, …, n và các số khác nhau từng đôi một để làm dữ liệu đầu vào kiểm thử một chương trình mới viết. Khi nhận được kết quả, Tâm phát hiện ra bạn mình chỉ gửi có n - 1 số, các số nhận được thoả mãn những yêu cầu đã nêu. Tâm cần xác định số bị thiếu để có dữ liệu cần thiết.

Em hãy lập trình giải bài toán trên. Trước khi lập trình cần tóm tắt bài toán, xác định thuật toán và cách tổ chức dữ liệu.

Dữ liệu: Nhập vào từ thiết bị vào chuẩn, dòng đầu tiên chứa số nguyên n,

( ), dòng thứ 2 chứa n - 1 số nguyên dương a1, a2, …, an thoả mãn các ràng buộc đã nêu, các số cách nhau một dấu cách.

Kết quả: Đưa ra thiết bị ra chuẩn số nguyên còn thiếu.

Ví dụ:

Input

Output

5

2 5 1 4

3

Lời giải:

Tóm tắt bài toán (Mô hình toán học)

Cho: nn - 1 số nguyên a1, a2, …, an-1 . Trong đó aiaj, với i j, với mọi i.

Yêu cầu: Tìm số bị thiếu không vượt quá n.

Thuật toán và cách tổ chức dữ liệu

- Nếu có đầy đủ n số thì tổng các số sẽ là n×(n+1)2

- Vậy số còn thiếu là: n×(n+1)2i=0n2ai

- Không cần phải dùng dãy để lưu các số nhập vào.

- Các bước của thuật toán:

+ Bước 1. Nhập n.

+ Bước 2. Nhập và tính tổng các ai

+ Bước 3. Đưa ra kết quả.

Tham khảo chương trình sau:

Số bị thiếu Tâm nhờ một người bạn tạo dãy số nguyên dương a1, a2, …, an

Câu F89 trang 51 SBT Tin học 10: Trung vị

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 lập trình giải bài toán trên. Trước khi lập trình cần tóm tắt bài toán, xác định thuật toán và cách tổ chức dữ liệu. Khi viết xong chương trình thì đề xuất ít nhất thêm hai bộ dữ liệu để kiểm thử chương trình.

Dữ liệu: Nhập vào từ thiết bị vào chuẩn một dòng chứa các phần tử của dãy, các số cách nhau một dấu cách.

Kết quả: Đưa ra thiết bị ra chuẩn giá trị của phần tử trung vị của dãy.

Ví dụ:

Input

Output

8 1 6 5 9 2 3 1 7

5

Lời giải:

Tóm tắt bài toán (Mô hình toán học)

Cho: Dãy A gồm n số nguyên.

Yêu cầu: Đưa ra phân tử trung vị (phần tử nằm ở giữa dãy đã sắp xếp).

Thuật toán và chọn kiểu dữ liệu cho các biến

- Bước 1. Nhập số nguyên n, nhập danh sách A chứa n số nguyên.

- Bước 2. Sắp xếp danh sách A.

- Bước 3. Đưa ra phần tử A [len (A) //2].

Tham khảo chương trình sau:

Trung vị Xét bài toán: Cho dãy số nguyên A = (a1, a2, …, an)

Ví dụ một số bộ dữ liệu để kiểm thử chương trình:

Trung vị Xét bài toán: Cho dãy số nguyên A = (a1, a2, …, an)

Lời giải sách bài tập Tin học lớp 10 Bài 17, 18: Thực hành lập trình giải bài toán trên máy tính Cánh diều hay khác:

Xem thêm lời giải Sách bài tập Tin học 10 Cánh diều hay, ngắn gọn khác: