Bài 2. Mảng hai chiều

Chủ đề Fcs : Giải quyết vấn đề với sự trợ giúp của máy tính – Kĩ thuật lập trình – Bài 2. Mảng hai chiều – sách giáo khoa trang 94 lớp 11 Khoa học máy tính – Cánh Diều, mời các em tham khảo cùng Bumbii.

Chủ đề Fcs : Giải quyết vấn đề với sự trợ giúp của máy tính – Bài 2. Mảng hai chiều

KHỞI ĐỘNG

Em có biết nếu xếp nói tiếp nhau n mảng số thực cùng độ dài m phần tử trong bộ nhớ thì đó gọi là gì không?

Lời giải:

Nếu xếp nói tiếp nhau n mảng số thực cùng độ dài m phần tử trong bộ nhớ thì đó gọi là: Mảng hai chiều.

LUYỆN TẬP

Câu 1. Vì sao có thể nói mảng hai chiều là mảng các mảng một chiều?

Lời giải:

Theo định nghĩa cấu trúc mảng và việc tổ chức lưu trữ mảng hai chiều: Trong bộ nhớ máy tính, mảng hai chiều n hàng và m cột được lưu trữ thành dãy n x m số bằng cách xếp các hàng tiếp nối nhau, bắt đầu là hàng 0, tiếp theo là hàng 1, hàng 2,… cho đến hết.

Mảng hai chiều đúng là mảng gồm các mảng một chiều.

Câu 2. Hãy cho ví dụ một bài toán thực tế cần tính toán trên một bang số hình chữ nhật.

Lời giải:

Ví dụ một bài toán thực tế cần tính toán trên một bảng số hình chữ nhật:

– Bảng thống kê doanh số bán hàng hằng ngày theo mặt hàng của một cửa hàng trong vòng một tuần, một tháng,… Cần phân tích tình hình theo từng mặt hàng và theo dòng thời gian.

– Bảng thống kê số đầu sách đã mượn – trả theo từng bạn đọc của thư viện trường, có các cột theo phân loại sách trong một học kì. Cần phân tích theo từng bạn đọc và từng loại sách.

VẬN DỤNG

Hoạt động khám phá trong bài đã minh hoạ cấu trúc máng hai chiều, đồng thời cũng chuẩn bị sẵn dữ liệu đầu vào là các dãy điểm số môn học. Hãy viết tiếp các câu lệnh thực hiện phân tích kết quả học tập:

a) Cho chỉ số i ứng với một học sinh nào đó trong danh sách tìm ra tên học sinh kèm điểm cao nhất, điểm thấp nhất, điểm trung bình các môn.

b) Cho chỉ số k ứng với một môn học nào đó trong danh sách: in ra điểm cao nhất: điểm thấp nhất, điểm trung bình môn học.

Lời giải:

from array import *
tenHS = ["An", "Hùng", "Minh", "Tú"]
bangDiem = [[7.5, 6.5, 5.0],
            [5.0, 9.0, 4.5],
            [8.5, 8.0, 8.0],
            [4.5, 5.5, 7.0]]
def ptDiem(a):
	n = len(a)
	if n > 0:
		b = sorted(a, reverse = True)
		dtb = sum(a)/n
		return (b, b[0], dtb, b[n-1])

i = 2 #gán trị bằng câu lệnh 
kq = ptDiem(bangDiem[i])
print("Phân tích điểm của bạn ", tenHS[2])
print("Điểm cao nhất: ", kq[1])
print("Điểm trung bình: ", kq[2])
print("Điểm thấp nhất: ", kq[3])
k = 1 #gán trị bằng câu lệnh 
diemMonHoc = [bangDiem[0][k], bangDiem[1][k], bangDiem[2][k], bangDiem[3][k]]
print('Điểm cao nhất môn học: ', kq[1])
print('Điểm trung bình môn học: ', kq[2])
print('Điểm thấp nhất môn học: ', kq[3])
print('Dãy điểm từ cao xuống thấp: ', kq[0])

Kết quả chương trình:

Phân tích điểm của bạn  Minh
Điểm cao nhất:  8.5
Điểm trung bình:  8.166666666666666
Điểm thấp nhất:  8.0
Điểm cao nhất môn học:  8.5
Điểm trung bình môn học:  8.166666666666666
Điểm thấp nhất môn học:  8.0
Dãy điểm từ cao xuống thấp:  [8.5, 8.0, 8.0]

CÂU HỎI

Câu 1. Trong Python, danh sách dùng làm mảng một chiều và danh sách dùng làm mảng hai chiều có gì khác nhau?

Lời giải:

Sự khác nhau:

  • Mảng một chiều là danh sách các phần tử cùng một kiểu nguyên thủy, ví dụ số nguyên, số thực, kí tự,…
  • Mảng hai chiều là danh sách các mảng một chiều cùng kích thước và cùng kiểu dữ liệu.

Câu 2. Nói “Thời gian thực hiện (là) tuyến tính” nghĩa là gì?

Lời giải:

Nói “Thời gian thực hiện (là) tuyến tính” nghĩa là: số thao tác để hoàn thành tỉ lệ thuận với kích thước dữ liệu đầu vào.

Xem các bài giải khác: Giải Bài Tập Sách Giáo Khoa Tin Học Lớp 11 Khoa Học Máy Tính – Cánh Diều

Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x