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.

NỘI DUNG BÀI HỌC GỒM

- 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:

  1. Đoán trước kết quả và chạy chương trình để kiểm tra.
  2. 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 BÀI HỌC GỒM

NỘI DUNG BÀI HỌC GỒM

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.

NỘI DUNG BÀI HỌC GỒM

- 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)