Giáo trình Lập trình cơ bản (Phần 1)

Tổng quan về .NET Framework

Microsoft .NET Framework là một thành phần có thể được cài thêm hoặc đã có

sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp đã được lập trình

sẵn cho những yêu cầu thông thường của chương trình quản lý việc thực thi các

chương trình viết trên framework, cần phải cài framework để có thể chạy các chương

trình được phát triển bằng các ngôn ngữ trong họ .NET. .NET Framework do

Microsoft đưa ra và được sử dụng trong hầu hết các ứng dụng viết trên nền Windows.

Những giải pháp được lập trình sẵn hình thành nên một thư viện các lớp của

Framework, được sử dụng trong nhiều lĩnh vực của lập trình như: giao diện người

dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, mã hoá, phát triển những ứng dụng

website, các giải thuật số học và giao tiếp mạng. Thư viện lớp của Framework được

lập trình viên sử dụng, kết hợp với chương trình của chính mình để tạo nên các ứng

dụng.

Kiến trúc của .NET Framework

Microsoft tổ chức .NET Framework thành nhiều tầng, quá trình biên dịch và

thực thi một chương trình viết trên nền .NET Framework được thực hiện từng bước từ

phần mã nguồn đến phần mã máy. Mã nguồn của chương trình sau khi biên dịch sẽ

thành ngôn ngữ trung gian (Common Intermediate Language - CIL). Ngôn ngữ này

biên dịch phần lớn các thư viện được viết trên nền .NET thành các thư viện liên kết

động (Dynamic Linked Library - DLL). Với giải pháp này, các ngôn ngữ được .NET

Framework hỗ trợ sẽ dễ dàng sử dụng lại lẫn nhau. Một chương trình được viết bằng

ngôn ngữ C# có thể sử dụng các lớp, các thuộc tính đã được viết trước đó bằng ngôn

ngữ VB.NET hoặc J#. Tầng dưới cùng của cấu trúc phân tầng của .NET Framework là

Common Language Runtime – còn được gọi là CLR. Đây là thành phần quan trọng

nhất của .NET Framework. Tầng này thực hiện biên dịch mã của CIL thành mã máy

và thực thi.

 

Giáo trình Lập trình cơ bản (Phần 1) trang 1

Trang 1

Giáo trình Lập trình cơ bản (Phần 1) trang 2

Trang 2

Giáo trình Lập trình cơ bản (Phần 1) trang 3

Trang 3

Giáo trình Lập trình cơ bản (Phần 1) trang 4

Trang 4

Giáo trình Lập trình cơ bản (Phần 1) trang 5

Trang 5

Giáo trình Lập trình cơ bản (Phần 1) trang 6

Trang 6

Giáo trình Lập trình cơ bản (Phần 1) trang 7

Trang 7

Giáo trình Lập trình cơ bản (Phần 1) trang 8

Trang 8

Giáo trình Lập trình cơ bản (Phần 1) trang 9

Trang 9

Giáo trình Lập trình cơ bản (Phần 1) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 125 trang duykhanh 8500
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Lập trình cơ bản (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Lập trình cơ bản (Phần 1)

Giáo trình Lập trình cơ bản (Phần 1)
uble min = Khoangcach(a[0],diem); 
 for (i = 1; i < n; i++) 
 if(min>Khoangcach(a[i],diem))min = Khoangcach(a[i],diem); 
 Console.Write("Cac diem gan diem (1,2) la: "); 
 102 
Tập bài giảng Lập trình cơ bản 
 for(i = 0; i < n; i++) 
 if(min==Khoangcach(a[i],diem))Console.Write(a[i].ToString()); 
 Console.ReadLine(); 
 } 
 } 
 } 
 Kết quả chƣơng trình: 
 Hình 3.20: Kết quả chương trình ví dụ 3.20. 
 Tạo một thể hiện của cấu trúc bằng cách sử dụng từ khóa new trong câu lệnh 
gán, nhƣ khi tạo một đối tƣợng của lớp. Nhƣ trong ví dụ 3.20, lớp Program tạo một thể 
hiện của Diem nhƣ sau: 
 Diemdiem = new Diem(1, 2); 
 Ở đây một thể hiện mới tên là diem và nó đƣợc truyền hai giá trị là 1 và 2. Các 
thức truy nhập vào thuộc tính hay phƣơng thức cũng tƣơng tự nhƣ với lớp. 
 Bài tập 
 Bài 3.1 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập và hiển thị mảng số thực gồm n phần tử (n nguyên dƣơng nhập từ bàn 
phím) 
 2. Hiển thị mảng theo thứ tự đã sắp xếp tăng dần. 
 3. Nhập số nguyên x từ bàn phím. Kiểm tra xem trong mảng có phần tử nào 
bằng x không? 
 4. Tìm phần tử có giá trị nhỏ nhất trong mảng. 
 5. Tính trung bình cộng các phần tử dƣơng trong mảng. 
 Hƣớng dẫn thực hiện 
 Bƣớc 1: Tạo ứng dung Console và đặt tên là Bai3_1 
 Bƣớc 2: Viết hàm nhập và hiển thị mảng 
 static void Nhapmang(ref float[] a, ref int n) 
 { 
 bool kt; 
 103 
Tập bài giảng Lập trình cơ bản 
 do 
 { 
 Console.Write("Nhap kich thuoc mang n = "); 
 kt = int.TryParse(Console.ReadLine(), out n); 
 if (!kt || n <= 0) Console.WriteLine("Nhap n nguyen duong!"); 
 } 
 while (!kt || n <= 0); 
 a = new float[n]; 
 // Nhập mảng 
 Console.WriteLine("Nhap gia tri cac phan tu trong mang:"); 
 for (int i = 0; i < n; i++) 
 { 
 Console.Write("a[{0}] = ", i); 
 a[i] = float.Parse(Console.ReadLine()); 
 } 
 } 
 static void Hienthi(float[] a, int n) 
 { 
 for (int i = 0; i < a.Length; i++) 
 { 
 Console.Write("{0} ", a[i]); 
 } 
 } 
 Bƣớc 3: Viết hàm tìm min và tính trung bình cộng 
 static float Timmin(float[] a, int n) 
 { 
 float min = a[0]; 
 for (int i = 1; i < a.Length; i++) 
 if (a[i] < min) min = a[i]; 
 return min; 
 } 
 static float Trungbinhcongduong(float[] a, int n) 
 { 
 float td =0; int d = 0; 
 for (int i = 0; i < a.Length; i++) 
 if (a[i] > 0) { td += a[i]; d++;} 
 if (d == 0) return 0; 
 else return td / d; 
 } 
 Bƣớc 4: Mã lệnh trong hàm Main() 
 static void Main(string[] args) 
 { 
 float[] a = null; 
 int n = 0; 
 104 
Tập bài giảng Lập trình cơ bản 
 Nhapmang(ref a, ref n); 
 Console.Write("Day sau khi sap xep: "); 
 Hienthi(a, n); 
 Console.WriteLine(); 
 Array.Sort(a); 
 Console.Write("Day sau khi sap xep: "); 
 Hienthi(a, n); 
 Console.WriteLine(); 
 Console.Write("x = "); 
 float x = float.Parse(Console.ReadLine()); 
 if (a.Contains(x)) Console.WriteLine("co x trong day"); 
 else Console.WriteLine("khong co x trong day"); 
 Console.WriteLine("Phan tư nho nhat trong day: {0} ", 
 Timmin(a,n)); 
 //Console.WriteLine("Phan tư nho nhat trong day: {0} ", 
 a.Min()); 
 Console.Write("Trung binh cong cac phan tu duong trong day: {0} 
 ", Trungbinhcongduong(a, n)); 
 Console.ReadLine(); 
 } 
 Kết quả chƣơng trình: 
 Hình 3.21: Kết quả chương trình bài 3.1 
 Bài 3.2 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập, hiển thị dãy A gồm n số nguyên (n nguyên dƣơng bất kỳ nhập vào từ 
bàn phím); 
 2. Tính trung bình cộng các số lẻ trong dãy; 
 3. Đƣa ra chỉ số của các phần tử có giá trị nhỏ nhất của dãy A. 
 4. Tính tổng các số dƣơng có trong dãy. 
 5. Cho biết dãy A có bao nhiêu số nguyên tố. 
 6. Xóa phần tử có giá trị dƣơng cuối cùng trong dãy nếu có, nếu không có thì 
thông báo. 
 7. Nhập số nguyên dƣơng k và số thực x, thực hiện bổ sung phần tử mới có giá 
trị là x vào vị trí thứ k trong dãy nếu có, nếu không có thì thông báo. 
 105 
Tập bài giảng Lập trình cơ bản 
 8. Bổ sung số nguyên x vào vị trí thứ k trong mảng (với x, k là các số nguyên 
nhập từ bàn phím) 
 9. Cho biết dãy A có tạo thành một cấp số cộng hay không? 
 Bài 3.3 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập và hiển thị ma trận số nguyên gồm n hàng, m cột (n, m nguyên dƣơng 
nhập từ bàn phím) 
 2. Tìm phần tử lớn nhất trên mỗi hàng của ma trận 
 3. Đếm số phần tử lẻ trong ma trận 
 Hƣớng dẫn thực hiện: 
 Bƣớc 1: Tạo ứng dụng Console và đặt tên là Bai3_3 
 Bƣớc 2: Viết các hàm nhập và hiển thị ma trận 
 static void Nhapmatran(ref int[,] a, ref int n, ref int m) 
 { 
 Console.WriteLine("Nhap kich thuoc mang"); 
 Console.Write("n = "); n = int.Parse(Console.ReadLine()); 
 Console.Write("m = "); 
 m = int.Parse(Console.ReadLine()); 
 a = new int[n, m]; 
 int i, j; 
 for (i = 0; i < n; i++) 
 for (j = 0; j < m; j++) 
 { 
 Console.Write("a[{0}{1}] = ", i, j); 
 a[i, j] = int.Parse(Console.ReadLine()); 
 } 
 } 
 static void Hienthimatran(int[,] a, int n, int m) 
 { 
 int i, j; 
 for (i = 0; i < n; i++) 
 { 
 Console.WriteLine("\n"); 
 for (j = 0; j < m; j++) Console.Write("{0} ", a[i, j]); 
 } 
 Console.WriteLine("\n"); 
 } 
 Bƣớc 3: Viết các hàm tìm số lớn nhất trên hàng và đếm số phần tử lẻ trong ma 
 trận. 
 static void Phantulonnhattrenhang(int[,] a, int n, int m) 
 { 
 for (int i = 0; i < n; i++) 
 106 
Tập bài giảng Lập trình cơ bản 
 { 
 int min = a[i, 0]; 
 for (int j = 1; j < m; j++) 
 if (a[i, j] < min) min = a[i, j]; 
 Console.WriteLine("Phan tu nho nhat tren hang {0} la: {1} 
 ", i, min); 
 } 
 } 
 static int Demle(int[,] a, int n, int m) 
 { 
 int d = 0; 
 for (int i = 0; i < n; i++) 
 for (int j = 0; j < m; j++) 
 if (a[i, j] % 2 != 0) { d++; } 
 return d; 
 } 
 Bƣớc 4: Viết mã lệnh trong hàm Main(). 
 static void Main(string[] args) 
 { 
 int n = 0, m = 0; 
 int[,] a = null; 
 Nhapmatran(ref a, ref n, ref m); 
 Console.WriteLine("Ma tran: "); 
 Hienthimatran(a, n, m); 
 Phantulonnhattrenhang(a, n, m); 
 Console.WriteLine("So phan tu le trong ma tran la: {0} ", 
 Demle(a,n,m)); 
 Console.ReadLine(); 
 } 
 Kết quả chƣơng trình 
 Hình 3.22: Kết quả chương trình bài 3.3 
 Bài 3.4 
 107 
Tập bài giảng Lập trình cơ bản 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập và hiển thị ma trận vuông cấp n các phần tử là số nguyên (n nguyên 
dƣơng nhập từ bàn phím) 
 2. Hiển thị các phần tử chẵn trên đƣờng chéo chính của ma trận. 
 3. Tính tổng các phần tử dƣơng trong ma trận. 
 Hƣớng dẫn thực hiện: 
 Bƣớc 1: Tạo ứng dụng Console và đặt tên là Bai3_4 
 Bƣớc 2: Viết các hàm nhập và hiển thị ma trận 
 static void Nhapmatran(ref int[,] a, ref int n) 
 { 
 Console.WriteLine("Nhap kich thuoc mang"); 
 Console.Write("n = "); n = int.Parse(Console.ReadLine()); 
 a = new int[n, n]; 
 int i, j; 
 for (i = 0; i < n; i++) 
 for (j = 0; j < n; j++) 
 { 
 Console.Write("a[{0}{1}] = ", i, j); 
 a[i, j] = int.Parse(Console.ReadLine()); 
 } 
 } 
 static void Hienthimatran(int[,] a, int n) 
 { 
 int i, j; 
 for (i = 0; i < n; i++) 
 { 
 Console.WriteLine("\n"); 
 for (j = 0; j < n; j++) Console.Write("{0} ", a[i, j]); 
 } 
 Console.WriteLine("\n"); 
 } 
 Bƣớc 3: Viết các hàm hiển thị phần tử trên đƣờng chéo chính và tính tổng các 
phần tử dƣơng trong ma trận 
 static void Phantuchantrencheochinh(int[,] a, int n) 
 { 
 Console.Write("Phan tu chan tren cheo chinh: "); 
 int d = 0; 
 for (int i = 0; i < n; i++) 
 { 
 if (a[i, i] % 2 == 0) { d++; Console.Write("{0} ", a[i, 
 i]); } 
 } 
 108 
Tập bài giảng Lập trình cơ bản 
 if (d == 0) Console.WriteLine("khong co phan tu nao"); 
 } 
 static int Tongduong(int[,] a, int n) 
 { 
 int t = 0; 
 for (int i = 0; i < n; i++) 
 for (int j = 0; j < n; j++) 
 if (a[i, j] > 0) { t += a[i, j]; } 
 return t; 
 } 
 Bƣớc 4: Viết hàm Main() 
 static void Main(string[] args) 
 { 
 int n = 0, m = 0; 
 int[,] a = null; 
 Nhapmatran(ref a, ref n); 
 Console.WriteLine("Ma tran: "); 
 Hienthimatran(a, n); 
 Phantuchantrencheochinh(a, n); 
 Console.WriteLine("\nTong cac phan tu duong trong ma tran la: {0} 
 ", Tongduong(a, n)); 
 Console.ReadLine(); 
 } 
 Kết quả chƣơng trình: 
 Hình 3.23: Kết quả chương trình bài 3.4 
 Bài 3.5 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập một ma trận số thực gồm n hàng, m cột (với n và m là hai số nguyên 
dƣơng). 
 2. Hiển thị ma trận. 
 3. Tìm số âm lớn nhất của ma trận. 
 109 
Tập bài giảng Lập trình cơ bản 
 4. Sắp xếp từng hàng của ma trận theo thứ tự tăng dần. 
 5. Nhập số nguyên dƣơng k, xóa hàng thứ k của ma trận nếu có. 
 6. Tính trung bình cộng các phần tử có giá trị âm trong ma trận 
 Bài 3.6 
 Tạo một ứng dụng Windows Form thực hiện các công việc sau: 
 1. Nhập một ma trận số thực vuông cấp n (với n là số nguyên dƣơng). 
 2. Hiển thị ma trận. 
 3. Tính tổng các phần tử nằm trên đƣờng chéo phụ của ma trận. 
 4. Tìm số dƣơng nhỏ nhất trên đƣờng chéo chính của ma trận 
 5. Đếm các phần tử của ma trận có giá trị chia hết cho 3 và 7. 
 Bài 3.7 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Khai báo kiểu cấu trúc Diem có hai thuộc tính là hoành độ và tung độ của 
một điểm trong không gian hai chiều, các hàm getter, setter và hàm tạo. 
 2. Nhập một mảng cấu trúc Diem gồm n phần tử (với n là số nguyên dƣơng 
nhập từ bàn phím). 
 3. Sắp xếp danh sách các điểm theo thứ tự hoành độ tăng dần. 
 Hƣớng dẫn thực hiện: 
 Bƣớc 1: Tạo ứng dụng Console và đặt tên là Bai3_7 
 Bƣớc 2: Tạo cấu trúc diem 
 struct diem 
 { 
 private int _x; 
 private int _y; 
 public int X 
 { 
 get { return _x; } 
 set { _x = value; } 
 } 
 public int Y 
 { 
 get { return _y; } 
 set { _y = value; } 
 } 
 public diem(int hd, int td) 
 { 
 _x = hd; 
 _y = td; 
 } 
 } 
 110 
Tập bài giảng Lập trình cơ bản 
 Bƣớc 3: Viết các hàm nhập mảng điểm, hiển thị mảng điểm và sắp xếp mảng 
điểm tăng dần theo hoành độ các điểm 
 static void Nhapmang(ref diem[] a, ref int n) 
 { 
 bool kt; 
 do 
 { 
 Console.Write("Nhap kich thuoc mang n = "); 
 kt = int.TryParse(Console.ReadLine(), out n); 
 if (!kt || n <= 0) Console.WriteLine("Nhap n nguyen duong!"); 
 } 
 while (!kt || n <= 0); 
 a = new diem[n]; 
 // Nhập mảng 
 Console.WriteLine("Nhap gia tri cac phan tu trong mang:"); 
 for (int i = 0; i < n; i++) 
 { 
 Console.WriteLine("Nhap điêm thu {0} ", i); 
 Console.Write("Nhap hoanh do: "); 
 a[i].X = int.Parse(Console.ReadLine()); 
 Console.Write("Nhap tung do: "); 
 a[i].Y = int.Parse(Console.ReadLine()); 
 } 
 } 
 static void Hienthi(diem[] a, int n) 
 { 
 for (int i = 0; i < a.Length; i++) 
 { 
 Console.WriteLine("({0}, {1})", a[i].X,a[i].Y); 
 } 
 } 
 static void Sapxeptheohoanhdo(ref diem[] a, int n) 
 { 
 diem tg; 
 for(int i =0;i<a.Length-1;i++) 
 for (int j = i + 1; j < a.Length; j++) 
 if(a[i].X>a[j].X) 
 { 
 tg = a[i]; 
 a[i] = a[j]; 
 a[j] = tg; 
 } 
 } 
 Bƣớc 4: Viết hàm Main() 
 static void Main(string[] args) 
 111 
Tập bài giảng Lập trình cơ bản 
 { 
 diem[] a = null; 
 int n = 0; 
 Nhapmang(ref a, ref n); 
 Console.Write("Day diem: \n"); 
 Hienthi(a, n); 
 Console.WriteLine(); 
 Sapxeptheohoanhdo(ref a, n); 
 Console.Write("Day sau khi sap xep: \n"); 
 Hienthi(a, n); 
 Console.ReadLine(); 
 } 
 Kết quả chƣơng trình: 
 Hình 3.24: Kết quả chương trình bài 3.7 
 Bài 3.8 
 Giả sử với mỗi thí sinh cần lƣu trữ các thông tin: Số báo danh, họ và tên, hộ 
khẩu thƣờng trú, điểm toán, điểm lý, điểm hóa. Lập chƣơng trình cho phép thực hiện 
các công việc sau: 
 1. Tạo danh sách thí sinh 
 2. Hiển thị danh sách thí sinh ra màn hình 
 3. Sửa thông tin của một thí sinh. 
 4. Xóa thông tin về một thí sinh khỏi danh sách. 
 5. Hiển thị thông tin về thí sinh khi biết số báo danh của thí sinh đó. 
 112 
Tập bài giảng Lập trình cơ bản 
 6. Sắp xếp danh thí sinh theo tổng 3 môn tăng dần. Hiển thị lên màn hình danh 
sách vừa sắp xếp 
 7. Nhập vào điểm chuẩn, đƣa ra những thí sinh trƣợt (những thí sinh có tổng 3 
môn nhỏ hơn điểm chuẩn). 
 Bài 3.9 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập một xâu ký tự dƣới dạng họ tên của một ngƣời 
 2. Chuẩn hóa xâu vừa nhập. 
 3. Hiển thị ra màn hình tên, họ, đệm vừa nhập. 
 4. Hiển thị lại họ tên vừa nhập ra màn hình sao cho các ký tự đầu của mỗi từ 
đều viết hoa (ví dụ: nhập vào nguyễn văn an thì in ra Nguyễn Văn An) 
 5. Đếm số từ trong xâu. 
 6. Đếm trong xâu có bao nhiêu ký tự ‗n‘. 
 Hƣớng dẫn thực hiện: 
 Bƣớc 1: Tạo ứng dụng Console và đặt tên là Bai3_9 
 Bƣớc 2: Viết các hàm chuẩn hóa, hiển thị tên, họ đệm 
 static void Chuanhoaxau(ref string st) 
 { 
 st = st.Trim();//loại bỏ khoảng cách ở đầu và cuối xâu 
 int i = 1, j; 
 while (i < st.Length) 
 { 
 if (st[i] == ' ')//Hai ký tự gần nhau đều là khoảng trắng thì 
 sẽ xóa đi 1 
 { 
 j = i + 1; 
 while (j < st.Length && st[j] == ' ') st = st.Remove(j, 1); 
 i = j + 1; 
 } 
 else i++; 
 } 
 } 
 static void Hienthitenhodem(string hoten) 
 { 
 // trích tên 
 string ten = hoten.Remove(0, hoten.LastIndexOf(' ') + 1); 
 Console.WriteLine("\n Chao ban: " + ten); 
 // trích họ đệm 
 string ho = hoten.Substring(0, hoten.LastIndexOf(' ')); 
 Console.WriteLine("\n Ho cua ban la: " + ho); 
 } 
 113 
Tập bài giảng Lập trình cơ bản 
 Bƣớc 3: Viết các hàm đếm từ, đếm ký tự ‗n‘, chuyển hoa các ký tự đầu từ. 
 static void Chuyenchuhoadautu(ref string hoten) 
 { 
 char[] s = hoten.ToCharArray(); 
 s[0] = char.ToUpper(s[0]); 
 hoten = s[0].ToString(); 
 for (int i = 1; i < s.Length; i++) 
 { 
 if (s[i] == ' ') s[i + 1] = char.ToUpper(s[i + 1]); 
 hoten+=s[i]; 
 } 
 } 
 static int demtu(string hoten) 
 { 
 int d = 0; 
 for (int i = 0; i < hoten.Length; i++) 
 if (hoten[i] == ' ') d++; 
 return d + 1; 
 } 
 static int demkytu(string hoten) 
 { 
 int d = 0; 
 for (int i = 0; i < hoten.Length; i++) 
 if (hoten[i] == 'n') d++; 
 return d; 
 } 
 Bƣớc 4: Viết hàm Main() 
 static void Main(string[] args) 
 { 
 string hoten; 
 Console.Write("Nhap ho ten: "); 
 hoten = Console.ReadLine(); 
 Chuanhoaxau(ref hoten); 
 Console.WriteLine("Xau sau khi chuan hoa {0}", hoten); 
 Hienthitenhodem(hoten); 
 Chuyenchuhoadautu(ref hoten); 
 Console.WriteLine("Xau sau khi chuyen thanh hoa {0}", hoten); 
 Console.WriteLine("So tu trong xau {0}", demtu(hoten)); 
 Console.WriteLine("So ky tu n trong xau {0}", demkytu(hoten)); 
 Console.ReadLine(); 
 } 
 Kết quả chƣơng trình: 
 114 
Tập bài giảng Lập trình cơ bản 
 Hình 3.25: Kết quả chương trình bài 3.9 
 Bài 3.10 
 Lập chƣơng trình thực hiện các công việc sau: 
 1. Nhập một xâu ký tự 
 2. Đếm xem trong xâu có bao nhiêu ký tự là chữ số 
 3. Kiểm tra xâu vừa nhập có phải là xâu đối xứng hay không (xâu ―abcdcba‖ là 
xâu đối xứng) 
 4. Thay các ký tự ‗a‘ có trong xâu bằng ký tự ‗b‘. 
 5. Đƣa ra từ có độ dài lớn nhất trong xâu. 
 115 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_co_ban_phan_1.pdf