Hãy cùng khám phá bài học thú vị của chúng ta Bài 1: Kiểu mảng và cấu trúc mảng. Trong bài này, các em sẽ trình bày được cấu trúc dữ liệu mảng một chiều; biết và sử dụng được một số hàm có sẵn trong Python để thao tác với biến kiểu mảng. HOC247 cam kết đem đến cho các em những kiến thức bổ ích qua các bài học và bài tập của chương trình Khoa học máy tính. Chúng tôi hy vọng rằng các em sẽ học tốt và tích lũy những kiến thức cần thiết để vươn tới thành công.
Tóm tắt lý thuyết
1.1. Biến mảng và cấu trúc mảng
Đề bài: Xét bài toán phân tích kết quả học tập cuối năm của lớp 11A gồm 45 học sinh dựa trên bảng điểm tổng kết gồm các cột Họ và tên, Điểm Toán, Điểm Ngữ văn, Điểm Tin học,... Cần viết chương trình máy tính để tính điểm trung bình, điểm cao nhất từng môn học và họ tên học sinh đạt được điểm cao nhất.
- Dữ liệu: Mỗi cột điểm môn học là một mảng chứa 45 số thực.
- Giải pháp: Sử dụng ngôn ngữ lập trình bậc cao có kiểu dữ liệu mảng để tính toán các kết quả.
a) Khai báo mảng một chiều
- 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.
Ví dụ:
+ Tên biến mảng: diemTin.
+ Kiểu dữ liệu của mảng: Số thực.
+ Kích thước: 45.
b) Tổ chức mảng một chiều
- Mảng một chiều trong bộ nhớ là khối các ô nhớ liền kề liên tục, có dung lượng bằng tích kích thước x độ dài kiểu dữ liệu.
Ví dụ: mảng A gồm 10 phần tử kiểu số thực chiếm 40 byte trong bộ nhớ.
- Các phần tử mảng được đánh chỉ số tuần tự từ 0 đến n-1.
Phần đầu của mảng diemTin (5 phần tử) trong bộ nhớ
- Bộ nhớ RAM là một dãy bit được chia thành nhiều ô nhớ liền nhau, mỗi ô có địa chỉ truy cập riêng.
- Mỗi ô nhớ có thể có độ dài 1 byte, 2 byte hay 4 byte, tùy theo cách tổ chức bộ nhớ.
- Một số nguyên có thể chiếm 1 byte hoặc 2 byte, một số thực có thể chiếm 4 byte hoặc 8 byte.
- Một ô nhớ được coi là chứa đúng một số thực trong mảng số thực.
c) Truy cập ngẫu nhiên
- Các thông tin trong khai báo mảng xác định độ lớn phần bộ nhớ dành cho một biến mảng và tạo thuận lợi cho phép tìm vị trí của từng phần tử trong mảng.
- Một phần tử mảng có chỉ số i được lưu trữ tại ô nhớ cách vị trí bắt đầu của mảng đúng 1 ô nhớ, ví dụ diemTin[3] được lưu trữ tại địa chỉ A+3.
- Mảng được sử dụng nhiều do thời gian truy cập giá trị của phần tử bất kì là hằng số.
1.2. Mảng một chiều trong Python
- Cú pháp khai báo mảng một chiều trong Python như sau:
+ 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:
mang_1 = array('i', [...])
mang_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.
- Hình 2 là một ví dụ khai báo mảng trong Python kèm giải thích câu lệnh.
Ví dụ khai báo mảng trong Python
- Kiểu danh sách của Python có thể dùng làm mảng một chiều. Nó linh hoạt hơn và có thêm nhiều phương thức mà kiểu mảng không có.
- Để sử dụng danh sách làm mảng, ta khai báo và sử dụng nó như một danh sách Python thông thường.
Ví dụ xử lí mảng một chiều
Minh họa về hàm không áp dụng được cho mảng
1.3. Một số hàm gộp và hàm phân tích thống kê
- Các hàm gộp max, min, sum đã có sẵn và có thể sử dụng ngay 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ố.
- Để 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 như sau:
from statistics import *
Bài tập minh họa
Hãy cho biết khai báo mảng là cung cấp những thông tin gì?
Hướng dẫn giải
- Khai báo mảng trong lập trình là cách để cung cấp cho chương trình thông tin về một tập hợp các giá trị có cùng kiểu dữ liệu.
- Thông qua khai báo mảng, chương trình có thể sử dụng các giá trị trong tập hợp này để thực hiện các tính toán và xử lý dữ liệu.
- Mảng được sắp xếp theo một trật tự nhất định và các phần tử trong mảng có thể được truy cập thông qua các chỉ số tương ứng.
- Các thông tin cơ bản mà khai báo mảng cung cấp bao gồm kích thước của mảng và kiểu dữ liệu của các phần tử trong mảng.
3. Luyện tập Bài 1 Chủ đề FCS SGK Tin học 11 Cánh diều
Học xong bài này, em sẽ:
- Trình bày được cấu trúc dữ liệu mảng một chiều.
- Biết và sử dụng được một số hàm có sẵn trong Python để thao tác với biến kiểu mảng.
3.1. Trắc nghiệm Bài 1 Chủ đề FCS SGK Tin học 11 Cánh diều
Như vậy là các em đã xem qua bài giảng Bài 1 Chủ đề FCS SGK Tin học 11 Cánh diều Khoa học máy tính. Để củng cố kiến thức bài học mời các em tham gia bài tập trắc nghiệm Trắc nghiệm Tin học 11 Cánh Diều Chủ đề A Bài 1.
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
3.2. Bài tập Bài 1 Chủ đề FCS SGK Tin học 11 Cánh diều
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 11 Cánh Diều Chủ đề A Bài 1 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Khởi động trang 89 SGK Tin học 11 Cánh diều - CD
Hoạt động 1 trang 91 SGK Tin học 11 Cánh diều - CD
Hoạt động 2 trang 93 SGK Tin học 11 Cánh diều - CD
Luyện tập 1 trang 93 SGK Tin học 11 Cánh diều - CD
Luyện tập 2 trang 93 SGK Tin học 11 Cánh diều - CD
Vận dụng trang 93 SGK Tin học 11 Cánh diều - CD
Câu hỏi 1 trang 93 SGK Tin học 11 Cánh diều - CD
Câu hỏi 2 trang 93 SGK Tin học 11 Cánh diều - CD
4. Hỏi đáp Bài 1 Chủ đề FCS SGK Tin học 11 Cánh diều
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học của HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 HỌC247