Professional Documents
Culture Documents
Câu hỏi: Em hãy cho biết các bước giải một bài toán trên máy tính? Liệt kê
Trả lời: có 5 bước:
1 xác định bài toán
2 Lựa chọn hoặc thiết kế thuật toán
3 Viết chương trình
4 Hiệu chỉnh
5 Viết tài liệu
Khái niệm lập trình: Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn
ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán.
Câu hỏi: Có bao nhiêu loại ngôn ngữ lập trình?
Trả lời: có 3 loại: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp và thi hành ngay
Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi
hành đượ thì nó phải được chuyển sang ngôn ngữ máy => Cần phải có chương trình dịch để
chuyển chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy để có thể thi hành
được.Chương trình dịch có 2 loại: Biên dịch và thông dịch.
Biên dịch: duyệt, kiểm tra, phát hiện lỗi và kiểm tra tính đúng đắn của các câu lệnh trong
chương trình nguồn. Dịch toàn bộ chương trình nguồn thành một chương trình đích để có thể
thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần.
Thông dịch: dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy.
Lưu ý: Python là một ngôn ngữ lập trình phiên dịch (interpreter Language), tức là không cần xây
dựng thành chương trình thực thi mà chạy trực tiếp. (Pascal và C++ phải xây dựng hoàn thành
file trước khi thực thi)
Python là gì?
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van
Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh là dễ
đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện
cho người mới học lập trình và là ngôn ngữ lập trình dễ học. được dùng rộng rãi trong phát
triển trí tuệ nhân tạo hoặc AI. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với
số lần gõ phím tối thiểu. Vào tháng 7 năm 2018, Van Rossum đã từ chức lãnh đạo trong cộng
đồng ngôn ngữ Python sau 30 năm làm việc.
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự
như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ
chức phi lợi nhuận Python Software Foundation quản lý.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, Python dần mở
rộng sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều
hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân,
nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt
trong việc quyết định hướng phát triển của Python.
Python vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object -oriented) đồng
thời có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface).
Thế mạnh của Python là rất gần gũi với ngôn ngữ tự nhiên (tiếng Anh), cấu trúc rõ ràng, dễ đọc,
dễ học. Python hiện nay là ngôn ngữ lập trình phổ biến rộng rãi ở châu Âu, châu Mỹ và được coi
như ngôn ngữ lập trình trường học.
Python được dùng để phát triển các ứng dụng web, game, khoa học dữ liệu (tính toán, phân tích,
khai thác dữ liệu), máy học và trí tuệ nhân tạo hoặc AI,..
Cài Python
Cài Pyscripter: download Pyscripter..
§2. CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH
Python không cần thiết phải khai báo biến, hằng trong phần khai báo mà khi nào dùng đến
đối tượng nào thì khai báo đối tượng ấy.
Vd:
Lưu ý: Python sử dụng các ký tự trong bảng mã Unicode nên xâu ký tự có thể gõ tiếng Việt.
§4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
PYTHON Có 5 kiểu dữ liệu chuẩn gồm: Numers, String, List, Tuple, Dictionary.
Numers: Kiểu dữ liệu numbers chứa giá trị là một con số, nó được tạo ra khi ta gán các
giá trị là một con số cho biến đó.
Python hỗ trợ 4 kiểu dữ liệu numbers khác nhau: int, long, float, complex
String: Kiểu dữ liệu strings được xác định khi giá trị được gán cho nó nằm giữa cặp dấu '
' hoặc " ".
List: Lists trong Python là một kiểu dữ liệu phức hợp linh hoạt, Lists chứa những phần tử
được ngăn cách nhau bởi dấu , và nằm trong cặp dấu ngoặc vuông [ ]. Theo một vài đánh
giá thì Lists trong Python gần giống với Array trong C, sự khác biệt chính là các phần tử
của Lists có thể tồn tài nhiều kiểu dữ liệu khác nhau.
Tuple: Tuples là một kiểu dữ liệu tương tự như với Lists. Các phần tử trong Tuples cũng
được ngăn cách nhau bởi dấu ,. Tuy nhiên, không giống với Lists, Tuples mở đầu và kết
thúc với dấu ngoặc đơn ( ).
Lưu ý: Ngoài điểm khác nhau nêu trên giữa Lists và Tuples thì còn một điểm khác nhau lớn: Các
phần tử và độ lớn của Lists có thể cập nhật nhưng với Tuples thì không.
Dictionary: Lấy tư tưởng từ cuốn từ điển trong đời sống hằng ngày, kiểu dữ liệu
Dictionary trong Python gồm nhiều bộ (key, value) có key khác nhau. Key trong
Dictionary có thể là numbers, string hoặc tuple. Dictionary mặc định hỗ trợ lập trình viên
thêm, sửa, xóa các bộ (key, value) đó.
1. Kiểu nguyên
Kiểu nguyên (int) trong Python không giới hạn ký tự mà chỉ phụ thuộc vào bộ nhớ máy
tính.
Khi gán một giá trị là số nguyên cho một biến thì biến đó tự động được gán kiểu số
nguyên.
2. Kiểu thực
Kiểu thực (float) trong Python có giới hạn tối đa 15 chữ số phần thập phân.
Khi gán một giá trị là số thực cho một biến thì biến đó tự động được gán kiểu số thực.
3. Kiểu ký tự
Python không có kiểu ký tự (char) như Pascal. Một ký tự (kiểu char của Pascal) được coi
như một xâu có độ dài bằng 1 trong Python. Kiểu xâu (str) hay còn gọi là kiểu chuỗi không
giới hạn độ dài.
Tuy nhiên, Python cung cấp các hàm chr() va ord() để lấy vị trí của ký tự trong bảng mã
Unicode và ngược lại.
4. Kiểu logic
Kiểu logic (bool) trong Python có giá trị True hoặc False.
Ngoài ra, Python còn có các kiểu dữ liệu: complex, list, tuple, range, dict, set, frozenset,
bytearray, memoryview… chúng ta sẽ tìm hiểu thêm ở các phần sau.
§5. KHAI BÁO BIẾN
Cú pháp: tên biến = giá trị
Trong Python một biến không cần khai báo kiểu dữ liệu. khi ta gán giá trị thì tự động
Python sẽ tùy biến kiểu dữ liệu của biến cho phù hợp với dữ liệu được gán vào. Như vậy,
một biến có thể có nhiều kiểu dữ liệu tùy thuộc vào giá trị mà ta gán.
Ta có thể ép kiểu cho biến bằng cách khai báo kiểu cho giá trị gán cho biến.
Ngoài ra, có thể khai báo nhiều biến bằng 1 giá trị trên 1 lần khai báo.
Hay khai báo với nhiều biến với các giá trị tương ứng của nó trên 1 dòng.
§6. PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
Phép toán
Các phép toán số học:
Toán tử Ý nghĩa Ví dụ
+ Cộng x + y +2
- Trừ x–y–2
* Nhân x*y
/ Chia x/y
% Lấy phần dư của phép chia x%y
(mod)
// Lấy phần nguyên của phép chia x // y
(div)
** Lũy thừa x ** y (xy)
Lưu ý:
Hàm Biểu diễn trong Biểu diễn trong
toán học Python
Lũy thừa xy X**y
Căn bậc hai x math.sqrt(x)
Giá trị tuyệt đối x abs(x)
Loogarit tự nhiên lnx math.log(x)
Luỹ thừa của số e ex math.exp(x)
Sin Sinx math.sin(x)
cos cosx math.cos(x)
Làm tròn round round(x,y)
Ví dụ
b b 2 4ac
Biểu thức toán học 2a trong Python có thể viết dưới dạng:
(-b+math.sqrt(b*b - 4*a*c))/(2*a)
Ngoài những hàm số học chuẩn trên, còn có các hàm chuẩn khác được giới thiệu trong những
phần sau.
Nhập giá trị và nhấn Enter lần lượt cho từng biến.
2. Đưa dữ liệu ra màn hình
Python sử dụng hàm print() để hiển thị dữ liệu ra màn hình. Ta cũng có thể in thông báo nhập dữ
liệu ra màn hình ngay trong lệnh input().
Vd:
Để nhập giá trị M từ bàn phím ta có thể code như sau:
Hoặc
Vd:
Định dạng dữ liệu in ra màn hình
Vd: tính tổng 2 số nguyên nhập từ bàn phím
1. Rẽ nhánh
Thường ngày, có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được
thoả mãn.
Ví dụ, Châu và Ngọc thường cùng nhau chuẩn bị các bài thực hành môn Tin học.
Một lần Châu hẹn với Ngọc: "Chiều mai nếu trời không mưa thì Châu sẽ đến nhà Ngọc".
Một lần khác, Ngọc nói với Châu: "Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà
Châu, nếu mưa thì sẽ gọi điện cho Châu để trao đổi".
Câu nói của Châu cho ta biết một việc làm cụ thể (Châu đến nhà Ngọc) sẽ được thực hiện
nếu một điều kiện cụ thể (trời không mưa) thoả mãn. Ngoài ra không đề cập đến việc gì sẽ xảy ra
nếu điều kiện đó không thoả mãn (trời mưa).
Cách diễn đạt như vậy thuộc dạng mệnh đề thiếu:
Nếu... thì…
Câu nói của Ngọc khẳng định một trong hai việc cụ thể (Ngọc đến nhà Châu hay Ngọc gọi
điện cho Châu) chắc chắn sẽ xảy ra. Tuy nhiên, việc nào trong hai việc sẽ được thực hiện thì tuỳ
thuộc vào điều kiện cụ thể (trời không mưa) thoả mãn hay không.
Cách diễn đạt như vậy thuộc dạng mệnh đề đủ:
Nếu… thì…, nếu không thì…
Từ đó có thể thấy, trong nhiều thuật toán, các thao tác tiếp theo sẽ phụ thuộc vào kết quả
nhận được từ các bước trước đó.
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh.
Ví dụ, để giải phương trình bậc hai:
ax2 + bx + c = 0, (a ¹ 0)
trước tiên ta tính biệt số delta D = b2 – 4ac.
Nếu D không âm, ta sẽ đưa ra các nghiệm. Trong trường hợp ngược lại, ta phải thông báo
là phương trình vô nghiệm.
Như vậy, sau khi tính D, tuỳ thuộc vào giá trị của D, một trong hai thao tác sẽ được thực
hiện.
Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc rẽ nhánh.
Nhập a, b, c
Tính D b2 – 4ac
Sai Đúng
Delta 0 ?
Ví dụ:
Ví dụ:
Trong đó:
. Điều kiện: biểu thức quan hệ hoặc logic.
. Câu lệnh, khối lệnh: là câu lệnh của Python.
Đúng Sai Đúng
Điều kiện Câu lệnh Câu lệnh Điều kiện Câu lệnh
2 1
Sai
Ở dạng thiếu: điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì
câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua.
Ở dạng đủ: điều kiện cũng được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ
được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện .
3. Câu lệnh ghép
Câu lệnh ghép trong Python hay còn gọi là “khối lệnh” được thụt đầu dòng cùng một khoảng
cách như nhau (không cần dùng ngoặc hay từ khóa begin – end).
Ví dụ:
4. Một số ví dụ
Ví dụ 1
Tìm nghiệm thực của phương trình bậc hai:
ax2 + bx + c = 0 , với a ¹ 0.
Input: Các hệ số a, b, c nhập từ bàn phím.
Output: Đưa ra màn hình các nghiệm thực hoặc thông báo "Phương trình vô nghiệm".
Ví dụ 2
Tìm số ngày của năm N, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng
không chia hết cho 100. Ví dụ, các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm
1900, 1945 không phải là năm nhuận và có số ngày là 365.
Input: N nhập từ bàn phím.
Output: Đưa số ngày của năm N ra màn hình.
§10 CẤU TRÚC LẶP
1. Lặp
Với a là số nguyên và a > 2, xét các bài toán sau đây:
Bài toán 1. Tính và đưa kết quả ra màn hình tổng
1 1 1 1
S ...
a a1 a2 a 100 .
Bài toán 2. Tính và đưa kết quả ra màn hình tổng
1 1 1 1
S ... ...
a a 1 a 2 aN
1
cho đến khi a N < 0,0001.
Với cả hai bài toán, dễ thấy cách để tính tổng S có nhiều điểm tương tự:
1
Xuất phát, S được gán giá trị a ;
1
Tiếp theo, cộng vào tổng S một giá trị a N với N = 1, 2, 3, 4, 5,… Việc cộng này được
lặp lại một số lần.
Đối với bài toán 1, số lần lặp là 100 và việc cộng vào tổng S sẽ kết thúc khi đã thực hiện việc
cộng 100 lần.
Đối với bài toán 2, số lần lặp chưa biết trước nhưng việc cộng vào tổng S sẽ kết thúc khi điều
1
kiện a N < 0,0001 được thoả mãn.
Nói chung, trong một số thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số
lần. Một trong các đặc trưng của máy tính là có khả năng thực hiện hiệu quả các thao tác lặp. Cấu
trúc lặp mô tả thao tác lặp và được phân biệt hai loại là lặp với số lần biết trước và lặp với số lần
chưa biết trước.
Các ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc điều khiển lặp.
2. Lặp với số lần biết trước và câu lệnh for
Có hai thuật toán Tong_1a và Tong_1b để giải bài toán 1 như sau:
Thuật toán Tong_1a
Bước 1. S ¬ 1/a; N ¬ 0; {Khởi tạo S và N}
Bước 2. N ¬ N + 1;
Bước 3. Nếu N > 100 thì chuyển đến bước 5;
Bước 4. S ¬ S + 1/(a + N) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình, rồi kết thúc.
Thuật toán Tong_1b
Bước 1. S ¬ 1/a; N ¬ 101; {Khởi tạo S và N}
Bước 2. N ¬ N – 1;
Bước 3. Nếu N < 1 thì chuyển đến bước 5;
Bước 4. S ¬ S + 1/(a + N) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình rồi kết thúc.
Lưu ý, số lần lặp của cả hai thuật toán trên là biết trước và như nhau (100 lần).
Trong thuật toán Tong_1a, giá trị N khi bắt đầu tham gia vòng lặp là 1 và sau mỗi lần lặp N
tăng lên 1 cho đến khi N > 100 (N = 101) thì kết thúc lặp (thực hiện đủ 100 lần). Trong thuật toán
Tong_1b, giá trị N bắt đầu tham gia vòng lặp là 100 và sau mỗi lần lặp N giảm đi 1 cho đến khi N
< 1 (N = 0) thì kết thúc lặp (thực hiện đủ 100 lần). Ta nói cách lặp trong thuật toán Tong_1a là
dạng tiến và trong thuật toán Tong_1b là dạng lùi.
Để sử dụng câu lệnh for trước tiên chúng ta cùng tìm hiểu hàm range
range(<bắt đầu>, <kết thúc>, <bước nhảy>)
Ví dụ: range(10) → 0; 1; 2; 3; 4; 5; 6; 7; 8; 9
range(1, 10) → 1; 2; 3; 4; 5; 6; 7; 8; 9
range(1, 10, 2) → 1; 3; 5; 7; 9
range(10, 0, -1) → 10; 9; 8; 7; 6; 5; 4; 3; 2; 1
range(10, 0, -2) → 10; 8; 6; 4; 2
Nếu bước nhảy để trống thì mặc định bước nhảy là 1.
Câu lệnh for
for <tên biến> in range(<bắt đầu>, <kết thúc>, <bước nhảy>) :
<Câu lệnh>
Ví dụ 1: Chương trình cài đặt thuật toán Tong_1a
Giải thích: Nếu điều kiện đúng, các lệnh bên trong vòng lặp sẽ được thực hiện cho đến khi nó
nhận giá trị sai.
Lưu ý: khi sử dụng vòng lặp while cần lưu ý các điểm sau đây:
Vòng lặp phải có tính dừng. Nghĩa là điều kiện phải có trường hợp sai. Trong một số tình
huống, người ta vẫn sử dụng vòng lặp vô hạn, nhưng cần có cơ chế để thoát khỏi vòng lặp
khi cần thiết. Để thoát khỏi vòng lặp vô hạn trong Python ta sử dụng tổ hợp phím Ctrl + C
Nếu có nhiều lệnh chịu sự chi phối của while, thì chúng cần được đặt trong dấu khối
lệnh.
Ví dụ 1: Chương trình cài đặt thuật toán Tong_2
Ví dụ 2: Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N.
Có nhiều thuật toán khác nhau tìm UCLN của M và N. Sau đây là một thuật toán tìm UCLN.
Thuật toán
Bước 1: Nhập M, N;
Bước 2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5;
Bước 3: Nếu M > N thì M ← M - N rồi quay lại bước 2;
Bước 4: N ← N - M rồi quay lại bước 2;
Bước 5: Đưa ra kết quả UCLN rồi kết thúc.
Chương trình cài đặt thuật toán:
Lần lặp thứ 6 sẽ không xảy ra nên code trong lệnh else sẽ được thực hiện.
CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG
Mảng là một cấu trúc dữ liệu cơ bản của tất cả các ngôn ngữ lập trình, nó là tập hợp các
phần tử của một kiểu dữ liệu duy nhất, ví dụ mảng số nguyên, mảng xâu,…
Python không có cấu trúc dữ liệu mảng mà sử dụng kiểu “Danh sách” (List) thay cho
mảng. Tuy nhiên, trong bài giảng này chúng ta vẫn sử dụng thuật ngữ “mảng” để gần gũi với
người học.
Mảng trong python có thể lưu trữ phần tử với bất kì kiểu dữ liệu nào và làm được mọi thứ
mà kiểu mảng thông thường có thể làm.
Chúng ta có thể lưu trữ số nguyên, số thập phân, chuỗi trong cùng một mảng trong python.
1. Kiểu mảng một chiều:
Ví dụ, xét bài toán nhập nhiệt độ (trung bình) của mỗi ngày trong tuần, tính và đưa ra màn
hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung
bình của tuần.
Ta có thể dùng bảy biến thực để lưu trữ nhiệt độ các ngày trong tuần. Chương trình giải bài toán
được viết bằng Python như sau:
Khi cần giải bài toán trên với N ngày (N khá lớn) thì cách làm tương tự đòi hỏi một lượng
tính toán cũng khá dài.
Để giải quyết vấn đề đó, ta sử dụng kiểu dữ liệu mảng – list. Chương trình giải bài toán
tổng quát với N ngày trong Python như sau:
Trong chương trình này chúng ta sử dụng biến a có kiểu mảng để lưu nhiệt độ của các
ngày. Biến a không cần khai báo mà được khởi tạo bằng cách gán vào a một mảng rỗng [].
a) Khai báo và truy xuất mảng một chiều:
Mảng được khai báo trên Python bằng cặp ngoặc [], ở giữa là các phần tử của mảng, cách
nhau bằng dấu phẩy (,), như ví dụ bên dưới:
a =[]: khai báo mảng rỗng.
a = [1, 4, 5, 7]: mảng gồm 4 phần tử nguyên.
Lưu ý: Mảng trong Python không cần khai báo số lượng phần tử, không cần khai báo kiểu dữ
liệu. (biến trong Python tự nhận biết kiểu dữ liệu được gán để tự động thay đổi kiểu cho phù
hợp).
Truy xuất mảng:
Các phần tử trong mảng có chỉ số bắt đầu từ 0 và chiều ngược lại bắt đầu từ -1.
VD:
Mảng 1 4 5 7
Chỉ số 0 1 2 3
Chỉ số âm -4 -3 -2 -1
Ta có thể gọi một hay nhiều phần tử trong mảng bằng các đối số trong cặp ngoặc [].
print ( a [0]) à 1
print (a [1]) à 4
print (a[4]) à list index out of range: truy xuất vượt tầm giới hạn của mảng.
b) Nhập – In mảng
Dùng vòng lặp for để nhập mảng.
Nhập mảng gồm n phần tử (n nhập từ bàn phím)
In mảng
Print (a)
c) Một số ví dụ
Ví dụ 1: Tìm phần tử lớn nhất của dãy số nguyên.
Input: số nguyên dương N (N<=250) và dãy N số nguyên dương A1, A2, …., AN, mỗi số đều
không vượt quá 500.
Output: Chỉ số và giá trị của phần tử lớn nhất trong dãy số đã cho (nếu có nhiều phần tử lớn nhất
chỉ cần đưa ra một trong số chúng).
Bước 1: Nhập N và dãy A1, A2,…, AN;
Bước 2: Max ← A1, i ←2;
Bước 3: Nếu i>N thì đưa ra giá trị Max rồi kết thúc;
Bước 4:
Bước 4.1: Nếu Ai > Max thì Max ← Ai;
Bước 4.2: i← i+1 rồi quay lại bước 3;
Thuật toán tìm phần tử lớn nhất của dãy số.
Chương trình dưới đây thực hiện việc duyệt tuần tự các phần tử để tìm ra số lớn nhất của
dãy số nguyên.
Trong Python có thể dùng hàm sort() để sắp xếp mảng mà không cần viết chương trình sắp
xếp như trên.
Chương trình dùng hàm sort() để sắp xếp:
Ví dụ 3: Tìm kiếm nhị phân.
Input: Dãy A là dãy tăng dần gồm N (N<=250) số nguyên dương A1, A2, …, AN và số nguyên k.
Output: Chỉ số i mà Ai = k hoặc thông báo “Không tìm thấy” nếu không có số hạng nào của dãy
A có giá trị bằng k.
1 2 3
4 5 6
Ta tạo mảng manga như sau:
c) Một số ví dụ:
Ví dụ 1: Viết chương trình tính và đưa ra màn hình bảng nhân.
Ví dụ 2: Chương trình sau nhập vào từ bàn phím các phần tử của mảng 2 chiều B gồm 5 hàng, 7
cột với các phần tử là các số nguyên và một số nguyên k. Sau đó, đưa ra màn hình các phần tử
của mảng có giá trị nhỏ hơn k.
Xóa:
d) Các phương thức thường dùng với list: