SlideShare a Scribd company logo
1 of 27
BÀI 5:
KIỂU MẢNG (ARRAY)
2
Nội dung:
1. Khai báo và tạo mảng 1 chiều
2. Truy xuất các phần tử trong mảng 1 chiều
3. Nhập DL vào mảng và xuất DL từ mảng
4. Xử lý mảng 1 chiều dùng for và foreach
5. Mảng 2 chiều và mảng nhiều chiều
6. Sao chép mảng
Khai báo và tạo mảng
1 chiều
4
Mảng là gì?
 Mảng là dãy các phần tử có cùng tên, cùng
kiểu.
 Thứ tự của các phần tử là cố định
 Kích thước/số phần tử của mảng là cố định.
0 1 2 3 4
mảng có
5 phần
tử
Chỉ số
Phần tử
… … … … …
5
Khai báo mảng 1 chiều
<kiểu DL> [ ] <tên mảng>;
 Ngoặc vuông [] nghĩa là mảng
 Ví dụ:
 Khai báo mảng số nguyên:
 Khai báo mảng chuỗi:
 Khai báo mảng số thực:
int [] A;
string [] ten;
float [] luong;
6
Tạo mảng
<tên mảng> = new <kiểu DL> [số p.tử]
 Ví dụ tạo mảng A có 5 phần tử nguyên:
A = new int[5];
A
0 1 2 3 4
… … … … …
7
Tạo và gán giá trị cho mảng
 Tạo và gán giá trị cho mảng có thể làm đồng
thời:
 Toán tử new không cần thiết khi sử dụng dấu
ngoặc nhọn khởi tạo mảng.
A = {2, 4, 6, 8, 10};
A
0 1 2 3 4
2 4 6 8 10
8
Ví dụ: Tạo mảng
 Tạo mảng chứa tên của các thứ trong
tuần
string[] daysOfWeek =
{"Monday","Tuesday","Wednesday","Thursday",
"Friday","Saturday","Sunday"};
Truy xuất các phần tử
của mảng
10
Làm thế nào để truy xuất phần tử mảng?
 Các phần tử trong mảng được truy xuất thông
qua các chỉ số được đặt trong cặp dấu ngoặc
vuông [] (indexer)
 Mảng A có n phần tử thì khi truy xuất ta có thể viết
A[i] với i = 0 --> n-1
 Chiều dài/số phần tử của mảng A là A.Length
 Phần tử đầu tiên có chỉ số là 0
 Phần tử cuối cùng có chỉ số A.Length-1
11
Ví dụ
 Tạo mảng b là đảo ngược nội dung mảng a
int[] a = new int[] {1,2,3,4,5,6,7,8,9,10};
int n = a.Length; //n là chiều dài của mảng a
// Khai báo mảng b
int[] b = new int[n];
// Gán giá trị cho mảng b và in ra
for (int i = 0; i < n; i++)
{
b[i] = a[n-i-1];
Console.Write(b[i]+ " ");
}
Mảng: Nhập và xuất dữ liệu
13
Đọc dữ liệu từ bàn phím vào mảng
 Đầu tiên nhập từ bàn phím chiều dài của mảng
 Kế tiếp, khai báo mảng có kích thước đã nhập và
nhập số liệu cho các phần tử của mảng
Console.Write("Nhap so phan tu cua mang: ");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
for (int i=0; i<n; i++)
{
a[i] = int.Parse(Console.ReadLine());
}
14
Ví dụ:
 Đọc mảng nguyên có n phần tử từ bàn phím và
kiểm tra nó có đối xứng không?
bool dx = true;
for (int i=0; i<(a.Length+1)/2; i++)
{ if (a[i] != a[n-i-1])
{
dx = false;
}
}
1 2 3 2 1
1 2 2 1 1 2 3 3 2 1
15
In mảng ra màn hình
 Xử lý các phần tử của mảng
 In các phần tử ra màn hình
 Tách các phần tử bằng khoảng trắng
hoặc in xuống dòng
string[] a = {"one", "two", "three", "four", "five"};
for (int i = 0; i < a.Length; i++)
{
// In mỗi phần tử mảng a trên mỗi dòng riêng biệt
Console.WriteLine("a[{0}] = {1}", i, a[i]);
}
Truy xuất các phần tử
của mảng dùng
for và foreach
17
Xử lý mảng: lệnh for
 Dùng vòng lặp for để xử lý mảng khi:
 Cần theo dõi các chỉ số
 Xử lý không nhất thiết theo trình tự từ phần đầu đến
phần cuối
 Trong thân vòng sử dụng phần tử của mảng thông
qua chỉ số vòng lặp (<tên mảng>[<chỉ số>]):
for (int i = 0; i < a.Length; i++)
{
b[i] = a[i] * a[i];
}
18
Ví dụ:
 In mảng số nguyên đảo ngược thứ tự
 Tạo các phần tử của mảng bằng các chỉ số nhân với 5.
Console.WriteLine("Mang dao nguoc: ");
for (int i = a.Length-1; i >= 0; i--)
{
Console.Write(a[i] + " ");
}
// Kết quả: 10 9 8 7 6 5 4 3 2 1
for (int i = 0; i < a.Length-1; i++)
{
a[i] = i * 5;
}
19
Xử lý mảng: lệnh foreach
 Cú pháp:
 Sử dụng khi không dùng chỉ mục
 Tất cả các phần tử được truy xuất cùng một cách
 Các phần tử không thể được cập nhật (read only)
foreach (<kiểu DL> <tên biến> in <tên mảng>)
{
<lệnh>;
}
20
Ví dụ:
 In tất cả các phần tử của mảng chuỗi:
string[] thudo =
{
"Ha Noi",
"Washington",
"London",
"Paris",
"Moscow"
};
foreach (string td in thudo)
{
Console.WriteLine(td);
}
21
Ví dụ:
 In các hàng dấu * tương ứng với các giá trị của
mảng:
22
Tóm tắt
 Mảng là một dãy các phần tử cùng kiểu, có độ
dài cố định.
 Các phần tử của mảng có thể được truy xuất
thông qua chỉ số
 Có thể đọc và cập nhật
 Việc xử lý các phần tử trong mảng có thể được
thực hiện với các vòng lặp for và foreach
23
Bài tập ở lớp (1)
1. Viết một chương khai báo mảng gồm 20 số
nguyên và khởi tạo mỗi phần tử bằng chỉ số
của nó nhân với 10. In mảng ra màn hình
2. Viết chương trình tìm số lớn nhất, nhỏ nhất
trong mảng
24
Bài tập ở lớp (2)
3. Viết chương trình sắp xếp một mảng các số
nguyên sử dụng thuật toán merge sort
(Wikipedia).
4. Viết một chương trình tìm tất cả các số nguyên
tố trong khoảng [1 ... 10 000 000]. Sử dụng
thuật toán sàng Eratosthenes (tìm trong
Wikipedia).
25
Bài tập ở lớp (3)
5. Viết chương trình đọc hai số N và K và tạo ra tất
cả các kết hợp của các phần tử K từ tập [1..N].
Ví dụ: N = 3, K = 2  {1, 1}, {1, 2}, {1, 3}, {2, 1},
{2, 2}, {2, 3}, {3, 1}, {3, 2}, {3, 3}
6. Viết chương trình đọc hai số N và K và tạo ra tất
cả các kết hợp của các phần tử K khác biệt từ tập
[1..N]. Ví dụ:
N = 5, K = 2  {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 3},
{2, 4}, {2, 5}, {3, 4}, {3, 5}, {4, 5}
26
Bài tập về nhà
 Làm các bài tập trong file BaiTapMang.docx
trừ các bài đã sửa trên lớp
CSLT_Bai 5A_2018.pptx

More Related Content

Similar to CSLT_Bai 5A_2018.pptx

Java exercises part 2
Java exercises part 2Java exercises part 2
Java exercises part 2NguynMinh294
 
Kiểu Mảng 1 chiều
Kiểu Mảng 1 chiềuKiểu Mảng 1 chiều
Kiểu Mảng 1 chiềuHoaCat1
 
5 Array
5 Array5 Array
5 ArrayCuong
 
Nmlt C07 Mang1 Chieu
Nmlt C07 Mang1 ChieuNmlt C07 Mang1 Chieu
Nmlt C07 Mang1 ChieuCuong
 
Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT
Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPTBài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT
Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPTMasterCode.vn
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Hồ Lợi
 
Chapter04_Array_chinhsua
Chapter04_Array_chinhsuaChapter04_Array_chinhsua
Chapter04_Array_chinhsuaThnhNguynHong5
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfHngTrn365275
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfnguyenkaka2
 
Bai tapep ctunglop
Bai tapep ctunglopBai tapep ctunglop
Bai tapep ctunglopHồ Lợi
 
Fortran cơ sở
Fortran cơ sởFortran cơ sở
Fortran cơ sởHajunior9x
 
Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)Kieu Anh Nguyen
 
Cac van de co so kh may tinh
Cac van de co so kh may tinhCac van de co so kh may tinh
Cac van de co so kh may tinhTunAnh346
 
Chapter08aarray string
Chapter08aarray stringChapter08aarray string
Chapter08aarray stringNhung Nguyen
 

Similar to CSLT_Bai 5A_2018.pptx (20)

Java exercises part 2
Java exercises part 2Java exercises part 2
Java exercises part 2
 
Kiểu Mảng 1 chiều
Kiểu Mảng 1 chiềuKiểu Mảng 1 chiều
Kiểu Mảng 1 chiều
 
Bai11
Bai11Bai11
Bai11
 
Kieumang
KieumangKieumang
Kieumang
 
5 Array
5 Array5 Array
5 Array
 
Chuong 05 mang, con tro, tham chieu
Chuong 05 mang, con tro, tham chieuChuong 05 mang, con tro, tham chieu
Chuong 05 mang, con tro, tham chieu
 
Bài 11 Kiểu Mảng
Bài 11 Kiểu MảngBài 11 Kiểu Mảng
Bài 11 Kiểu Mảng
 
Nmlt C07 Mang1 Chieu
Nmlt C07 Mang1 ChieuNmlt C07 Mang1 Chieu
Nmlt C07 Mang1 Chieu
 
Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT
Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPTBài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT
Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
 
Lesson05
Lesson05Lesson05
Lesson05
 
Chapter04_Array_chinhsua
Chapter04_Array_chinhsuaChapter04_Array_chinhsua
Chapter04_Array_chinhsua
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
Bai tapep ctunglop
Bai tapep ctunglopBai tapep ctunglop
Bai tapep ctunglop
 
Fortran cơ sở
Fortran cơ sởFortran cơ sở
Fortran cơ sở
 
Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)
 
Cac van de co so kh may tinh
Cac van de co so kh may tinhCac van de co so kh may tinh
Cac van de co so kh may tinh
 
Chapter08aarray string
Chapter08aarray stringChapter08aarray string
Chapter08aarray string
 
Lect05 array
Lect05 arrayLect05 array
Lect05 array
 

Recently uploaded

Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (19)

Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

CSLT_Bai 5A_2018.pptx

  • 2. 2 Nội dung: 1. Khai báo và tạo mảng 1 chiều 2. Truy xuất các phần tử trong mảng 1 chiều 3. Nhập DL vào mảng và xuất DL từ mảng 4. Xử lý mảng 1 chiều dùng for và foreach 5. Mảng 2 chiều và mảng nhiều chiều 6. Sao chép mảng
  • 3. Khai báo và tạo mảng 1 chiều
  • 4. 4 Mảng là gì?  Mảng là dãy các phần tử có cùng tên, cùng kiểu.  Thứ tự của các phần tử là cố định  Kích thước/số phần tử của mảng là cố định. 0 1 2 3 4 mảng có 5 phần tử Chỉ số Phần tử … … … … …
  • 5. 5 Khai báo mảng 1 chiều <kiểu DL> [ ] <tên mảng>;  Ngoặc vuông [] nghĩa là mảng  Ví dụ:  Khai báo mảng số nguyên:  Khai báo mảng chuỗi:  Khai báo mảng số thực: int [] A; string [] ten; float [] luong;
  • 6. 6 Tạo mảng <tên mảng> = new <kiểu DL> [số p.tử]  Ví dụ tạo mảng A có 5 phần tử nguyên: A = new int[5]; A 0 1 2 3 4 … … … … …
  • 7. 7 Tạo và gán giá trị cho mảng  Tạo và gán giá trị cho mảng có thể làm đồng thời:  Toán tử new không cần thiết khi sử dụng dấu ngoặc nhọn khởi tạo mảng. A = {2, 4, 6, 8, 10}; A 0 1 2 3 4 2 4 6 8 10
  • 8. 8 Ví dụ: Tạo mảng  Tạo mảng chứa tên của các thứ trong tuần string[] daysOfWeek = {"Monday","Tuesday","Wednesday","Thursday", "Friday","Saturday","Sunday"};
  • 9. Truy xuất các phần tử của mảng
  • 10. 10 Làm thế nào để truy xuất phần tử mảng?  Các phần tử trong mảng được truy xuất thông qua các chỉ số được đặt trong cặp dấu ngoặc vuông [] (indexer)  Mảng A có n phần tử thì khi truy xuất ta có thể viết A[i] với i = 0 --> n-1  Chiều dài/số phần tử của mảng A là A.Length  Phần tử đầu tiên có chỉ số là 0  Phần tử cuối cùng có chỉ số A.Length-1
  • 11. 11 Ví dụ  Tạo mảng b là đảo ngược nội dung mảng a int[] a = new int[] {1,2,3,4,5,6,7,8,9,10}; int n = a.Length; //n là chiều dài của mảng a // Khai báo mảng b int[] b = new int[n]; // Gán giá trị cho mảng b và in ra for (int i = 0; i < n; i++) { b[i] = a[n-i-1]; Console.Write(b[i]+ " "); }
  • 12. Mảng: Nhập và xuất dữ liệu
  • 13. 13 Đọc dữ liệu từ bàn phím vào mảng  Đầu tiên nhập từ bàn phím chiều dài của mảng  Kế tiếp, khai báo mảng có kích thước đã nhập và nhập số liệu cho các phần tử của mảng Console.Write("Nhap so phan tu cua mang: "); int n = int.Parse(Console.ReadLine()); int[] a = new int[n]; for (int i=0; i<n; i++) { a[i] = int.Parse(Console.ReadLine()); }
  • 14. 14 Ví dụ:  Đọc mảng nguyên có n phần tử từ bàn phím và kiểm tra nó có đối xứng không? bool dx = true; for (int i=0; i<(a.Length+1)/2; i++) { if (a[i] != a[n-i-1]) { dx = false; } } 1 2 3 2 1 1 2 2 1 1 2 3 3 2 1
  • 15. 15 In mảng ra màn hình  Xử lý các phần tử của mảng  In các phần tử ra màn hình  Tách các phần tử bằng khoảng trắng hoặc in xuống dòng string[] a = {"one", "two", "three", "four", "five"}; for (int i = 0; i < a.Length; i++) { // In mỗi phần tử mảng a trên mỗi dòng riêng biệt Console.WriteLine("a[{0}] = {1}", i, a[i]); }
  • 16. Truy xuất các phần tử của mảng dùng for và foreach
  • 17. 17 Xử lý mảng: lệnh for  Dùng vòng lặp for để xử lý mảng khi:  Cần theo dõi các chỉ số  Xử lý không nhất thiết theo trình tự từ phần đầu đến phần cuối  Trong thân vòng sử dụng phần tử của mảng thông qua chỉ số vòng lặp (<tên mảng>[<chỉ số>]): for (int i = 0; i < a.Length; i++) { b[i] = a[i] * a[i]; }
  • 18. 18 Ví dụ:  In mảng số nguyên đảo ngược thứ tự  Tạo các phần tử của mảng bằng các chỉ số nhân với 5. Console.WriteLine("Mang dao nguoc: "); for (int i = a.Length-1; i >= 0; i--) { Console.Write(a[i] + " "); } // Kết quả: 10 9 8 7 6 5 4 3 2 1 for (int i = 0; i < a.Length-1; i++) { a[i] = i * 5; }
  • 19. 19 Xử lý mảng: lệnh foreach  Cú pháp:  Sử dụng khi không dùng chỉ mục  Tất cả các phần tử được truy xuất cùng một cách  Các phần tử không thể được cập nhật (read only) foreach (<kiểu DL> <tên biến> in <tên mảng>) { <lệnh>; }
  • 20. 20 Ví dụ:  In tất cả các phần tử của mảng chuỗi: string[] thudo = { "Ha Noi", "Washington", "London", "Paris", "Moscow" }; foreach (string td in thudo) { Console.WriteLine(td); }
  • 21. 21 Ví dụ:  In các hàng dấu * tương ứng với các giá trị của mảng:
  • 22. 22 Tóm tắt  Mảng là một dãy các phần tử cùng kiểu, có độ dài cố định.  Các phần tử của mảng có thể được truy xuất thông qua chỉ số  Có thể đọc và cập nhật  Việc xử lý các phần tử trong mảng có thể được thực hiện với các vòng lặp for và foreach
  • 23. 23 Bài tập ở lớp (1) 1. Viết một chương khai báo mảng gồm 20 số nguyên và khởi tạo mỗi phần tử bằng chỉ số của nó nhân với 10. In mảng ra màn hình 2. Viết chương trình tìm số lớn nhất, nhỏ nhất trong mảng
  • 24. 24 Bài tập ở lớp (2) 3. Viết chương trình sắp xếp một mảng các số nguyên sử dụng thuật toán merge sort (Wikipedia). 4. Viết một chương trình tìm tất cả các số nguyên tố trong khoảng [1 ... 10 000 000]. Sử dụng thuật toán sàng Eratosthenes (tìm trong Wikipedia).
  • 25. 25 Bài tập ở lớp (3) 5. Viết chương trình đọc hai số N và K và tạo ra tất cả các kết hợp của các phần tử K từ tập [1..N]. Ví dụ: N = 3, K = 2  {1, 1}, {1, 2}, {1, 3}, {2, 1}, {2, 2}, {2, 3}, {3, 1}, {3, 2}, {3, 3} 6. Viết chương trình đọc hai số N và K và tạo ra tất cả các kết hợp của các phần tử K khác biệt từ tập [1..N]. Ví dụ: N = 5, K = 2  {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {3, 5}, {4, 5}
  • 26. 26 Bài tập về nhà  Làm các bài tập trong file BaiTapMang.docx trừ các bài đã sửa trên lớp

Editor's Notes

  1. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  2. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  3. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  4. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  5. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  6. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  7. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  8. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*
  9. (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*