Slide bài giảng Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 1: Kiểu mảng và cấu trúc mảng
Slide điện tử Chủ đề F(CS) Bài 1: Kiểu mảng và cấu trúc mản. Trình bày với các hiệu ứng hiện đại, hấp dẫn. Giúp học sinh hứng thú học bài. Học nhanh, nhớ lâu. Có tài liệu này, hiệu quả học tập của học môn Khoa học máy tính 11 Cánh diều sẽ khác biệt
Bạn chưa đủ điều kiện để xem được slide bài này. => Xem slide bài mẫu
Tóm lược nội dung
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 1. KIỂU MẢNG VÀ CẤU TRÚC MẢNG
HOẠT ĐỘNG KHỞI ĐỘNG
GV đặt câu hỏi: Khi lập trình Python, nếu cần xử lý một dãy số, em sẽ sử dụng kiểu dữ liệu nào?
NỘI DUNG BÀI HỌC GỒM
- Biến mảng và cấu trúc mảng
- Mảng một chiều trong Python
- Một số hàm gộp và hàm phân tích thống kê
- Luyện tập
- Vận dụng
HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
Hoạt động 1: Biến mảng và cấu trúc mảng
“Mảng” là gì ?
Nội dung gợi ý:
Mảng là một cấu trúc dữ liệu gồm các phần tử có cùng kiểu dữ liệu, được lưu trữ thành một khối nhiều liền kề trong bộ nhớ.
a) Khai báo mảng một chiều
Thế nào là khai báo tức ?
Nội dung gợi ý:
- Khai báo tức là cung cấp đủ các thông tin: tên biến mảng, kiểu dữ liệu, kích thước.
→ Câu lệnh khai báo kiểu mảng có mục đích để máy tính có đủ thông tin tổ chức lưu trữ dữ liệu của mảng trong bộ nhớ.
- Nêu tường minh kiểu dữ liệu của các phần tử mảng. Câu lệnh khai báo kiểu array dùng một kí tự đại diện.
- Cho máy tính biết độ dài mảng. Python yêu cầu liệt kê danh sách cụ thể các phần tử khi khai báo.
b) Tổ chức mảng một chiều
Nêu các nội dung chính về tổ chức mảng một chiều
Nội dung gợi ý:
- Trong bộ nhớ, mảng một chiều được lưu trữ thành một khối các ô nhớ liền kề liên tục, có dung lượng bằng tích kích thước × độ dài kiểu dữ liệu.
- Mảng có kích thước n thì các phần tử mảng được đánh chỉ số tuần tự từ 0 đến n – 1.
- Bộ nhớ RAM là một dãy bit rất dài, chia thành nhiều ô nhớ liên nhau, mỗi ô nhớ được đánh số gọi là địa chỉ truy cập (có thể dài 1 byte, 2 byte hay 4 byte).
- Một số nguyên (integer) có thể chiếm 1 byte hoặc 2 byte.
- Một số thực (float hay double) có thể chiếm 4 byte hoặc 8 byte.
c) Truy cập ngẫu nhiên
Các thông tin có trong khai báo mảng được sử dụng để làm gì? Tại sao mảng lại được sử dụng phổ biến?
Nội dung gợi ý:
- Các thông tin có trong khai báo mảng dược dùng để
+ Xác định độ lớn phần bộ nhớ dành cho một biến mảng.
+ Cho phép tìm vị trí chính xác của từng phần tử trong mảng khi biết chỉ số tương ứng.
- Mảng được sử dụng nhiều vì thời gian thực hiện là hằng số.
Hoạt động 2: Mảng một chiều trong Python
HS thảo luận trả lời câu hỏi:
Hãy khám phá các phép toán cơ bản với mảng trong Python, sao chép và chạy thử các câu lệnh ở Hình 3 và Hình 4; thêm từng dòng lệnh một, sau đó thực hiện các công việc sau:
- Đoán trước kết quả và chạy chương trình để kiểm tra.
- Xem kết quả và cho biết có sự tương đồng nào giữa mảng và danh sách hay không.
Nội dung gợi ý:
- Cú pháp khai báo mảng một chiều:
+ Khai báo sử dụng mô đun array ở đầu chương trình.
+ Khai báo biến kiểu mảng theo mẫu dưới đây:
mảng_1 = array('i',[...])
mảng_2 = array('f',[...])
Trong đó:
+ Kí tự 'i' là viết tắt của integer; kí tự 'f' là viết tắt của float.
+ Thay cho dấu "..." ở dòng thứ nhất là một danh sách các số nguyên trong mảng_1.
+ Thay cho dấu "..." ở dòng thứ hai là một danh sách các số thực trong mảng_2.
- Có thể dùng kiểu mảng hay kiểu danh sách của Python để biểu diễn mảng một chiều.
Hoạt động 3: Một số hàm gộp và hàm phân tích thống kê
GV đặt câu hỏi hướng dẫn học sinh tìm hiểu: Hãy khám phá các hàm gộp và hàm phân tích thống kê.
Nội dung gợi ý:
- Các hàm gộp max, min, sum có thể sử dụng cho kiểu mảng cũng như kiểu danh sách.
- Python có một số hàm phân tích thống kê áp dụng cho kiểu mảng và kiểu danh sách các số: mean, median, mode…
Tên hàm | Chức năng |
mean | Trả về trung bình cộng các phần tử |
median | Trả về trung vị |
mode | Trả về giá trị xuất hiện nhiều lần nhất trong dãy số |
- Để sử dụng các hàm trong mô đun này, cần khai báo mô đun statistics ở đầu chương trình theo cú pháp:
from statistics import *
HOẠT ĐỘNG LUYỆN TẬP
Câu 1: Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
A. Là một tập hợp các số nguyên
B. Độ dài tối đa của mảng là 255
C. Là một dãy hữu hạn các phần tử cùng kiểu
D. Mảng không thể chứa kí tự
Câu 2: Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:
A. khai báo một hằng số là số phần tử của mảng
B. khai báo chỉ số bắt đầu và kết thúc của mảng
C. khai báo chỉ số kết thúc của mảng
D. không cần khai báo gì, hệ thống sẽ tự xác định
Câu 3: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
A. Dùng để truy cập đến một phần tử bất kì trong mảng
B. Dùng để quản lí kích thước của mảng
C. Dùng trong vòng lặp với mảng
D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng
Câu 4: Phát biểu nào sau đây về mảng là không chính xác?
A. Chỉ số của mảng không nhất thiết bắt đầu từ 1
B. Có thể xây dựng mảng nhiều chiều
C. Xâu kí tự cũng có thể xem như là một loại mảng
D. Độ dài tối đa của mảng là 255
Câu 5: Thế nào là khai báo biến mảng gián tiếp?
A. Khai báo mảng của các bản ghi
B. Khai báo mảng xâu kí tự
C. Khai báo mảng hai chiều
D. Khai báo thông qua kiểu mảng đã có
Đáp án gợi ý:
Câu 1 | Câu 2 | Câu 3 | Câu 4 | Câu 5 |
C | B | A | D | D |
HOẠT ĐỘNG VẬN DỤNG
GV yêu cầu HS hoàn thành Vận dụng SGK trang 93: Cho dãy điểm tổng kết môn Tin học của lớp 11A là diemTin. Hãy lập trình và in ra các phân tích thống kê bao gồm điểm cao nhất, điểm thấp nhất, điểm trung bình, trung vị, và dãy điểm được sắp xếp theo thứ tự từ cao xuống thấp.
Gợi ý: Sử dụng hàm sorted với tham số để sắp xếp theo thứ tự giảm dần. Cú pháp:
sorted (biến_mảng,reverse = True)