Tải bản đầy đủ (.ppt) (48 trang)

7 Mang trong C

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.68 MB, 48 trang )

<span class='text_page_counter'>(1)</span>C# 1. Giới thiệu về ngôn ngữ lập trình C# 2. Biến kiểu dữ liệu và toán tử trong C# 3. Cấu trúc chương trình C# 4. Lớp và đối tượng trong C# 5. Tính kế thừa và đa hình trong C# 6. Các lớp trừu tượng và giao diện trong C# 7. Mảng trong C#. Đại học Hòa Bình. 1/46.

<span class='text_page_counter'>(2)</span> C# 8. Windows Forms 9. Thao tác với chuỗi 10. Các điều khiển và hộp hội thoại 11. ADO.Net trong C# 12. Thao tác với các file và luồng dữ liệu 13. Đa tuyến 14. Kiểm thử Đại học Hòa Bình. 2/46.

<span class='text_page_counter'>(3)</span> 7. Mảng trong C# Mảng là một tập hợp hữu hạn các phần tử có cùng kiểu dữ liệu .. Khai báo mảng. <kiểu dữ liệu>[] <tên mảng> int[] so; float[] diem; string[] tenlop;. Tạo thể hiện của mảng bằng cách sử dụng từ khóa new. int[] so = new int[10]; float[] diem = new float[3]; Đại học Hòa Bình. 3/46.

<span class='text_page_counter'>(4)</span> 7. Mảng trong C# Giá trị mặc định. tạo một mảng có kiểu dữ liệu giá trị, mỗi thành phần sẽ chứa giá trị mặc định của kiểu dữ liệu. int[] so = new int[5]; tạo ra một mảng năm số nguyên, và mỗi thành phần được thiết lập giá trị mặc định là 0. Đại học Hòa Bình. 4/46.

<span class='text_page_counter'>(5)</span> 7. Mảng trong C# Khởi tạo thành phần của mảng Khởi tạo nội dung của một mảng ngay lúc tạo thể hiện của mảng bằng cách đặt những giá trị bên trong dấu ngoặc ({}). C# cung cấp hai cú pháp để khởi tạo các thành phần của mảng, một cú pháp dài và một cú pháp ngắn:. Đại học Hòa Bình. 5/46.

<span class='text_page_counter'>(6)</span> 7. Mảng trong C# Truy cập các thành phần trong mảng Để truy cập vào thành phần trong mảng ta có thể sử dụng toán tử chỉ mục ([]). Mảng dùng cơ sở 0, do đó chỉ mục của thành phần đầu tiên trong mảng luôn luôn là 0. Đại học Hòa Bình. 6/46.

<span class='text_page_counter'>(7)</span> 7. Mảng trong C# Khai báo một mảng số nguyên gồm 5 phần tử, nhập giá trị của các phần tử từ bàn phím và hiện kết quả lên màn hình. Đại học Hòa Bình. 7/46.

<span class='text_page_counter'>(8)</span> 7. Mảng trong C# Sử dụng thuộc tính Length để lấy tổng số phần tử của mảng. Đại học Hòa Bình. 8/46.

<span class='text_page_counter'>(9)</span> 7. Mảng trong C# Sử dụng thuật toán sắp xếp để sắp xếp các phần tử của mảng theo chiều tăng dần. Đại học Hòa Bình. 9/46.

<span class='text_page_counter'>(10)</span> 7. Mảng trong C# Sử dụng phương thức sort của mảng để sắp xếp các phần tử của mảng. Đại học Hòa Bình. 10/46.

<span class='text_page_counter'>(11)</span> 7. Mảng trong C# Từng bước sắp xếp các phần tử của mảng theo chiều tăng dần. Đại học Hòa Bình. 11/46.

<span class='text_page_counter'>(12)</span> 7. Mảng trong C# Ngôn ngữ C# cung cấp cú pháp chuẩn cho việc khai báo những đối tượng Array  đối tượng của kiểu System.Array Một số các thuộc tính và phương thức của lớp System.Array. Đại học Hòa Bình. 12/46.

<span class='text_page_counter'>(13)</span> 7. Mảng trong C#. Đại học Hòa Bình. 13/46.

<span class='text_page_counter'>(14)</span> 7. Mảng trong C# Sử dụng phương thức Array.Reverse() để đảo ngược mảng đã được sắp xếp. Đại học Hòa Bình. 14/46.

<span class='text_page_counter'>(15)</span> 7. Mảng trong C# Tìm 1 giá trị trong mảng  trả về vị trí của phần tử nếu tìm thấy (trả về -1 nếu không tìm thấy). Đại học Hòa Bình. 15/46.

<span class='text_page_counter'>(16)</span> 7. Mảng trong C# Thêm một phần tử vào cuối mảng Sử dụng phương thức Resize của lớp Array để tăng thêm kích thước của mảng và gán giá trị cho phần tử cần thêm vào. Đại học Hòa Bình. 16/46.

<span class='text_page_counter'>(17)</span> 7. Mảng trong C# Thêm một phần tử vào vị trí bất kỳ trong mảng B1. Xác định vị trí k cần chèn thêm 1 phần tử B2. Sử dụng phương thức Resize của lớp Array để tăng thêm kích thước của mảng một phần tử B3. Dịch chuyển giá trị của phần tử tại vị trí có chỉ số k đến phần tử kế cuối có chỉ số n-1 sang phải 1 phần tử B4.Gán giá trị cho phần tử ở vị trí thứ k vd minh họa như sau:. Đại học Hòa Bình. 17/46.

<span class='text_page_counter'>(18)</span> 7. Mảng trong C#. Đại học Hòa Bình. 18/46.

<span class='text_page_counter'>(19)</span> 7. Mảng trong C# Xóa một phần tử ở cuối mảng Sử dụng phương thức Resize của lớp Array để giảm kích thước của mảng. Đại học Hòa Bình. 19/46.

<span class='text_page_counter'>(20)</span> 7. Mảng trong C# Xóa một phần tử ở vị trí bất kỳ trong mảng. Đại học Hòa Bình. 20/46.

<span class='text_page_counter'>(21)</span> 7. Mảng trong C#. Đại học Hòa Bình. 21/46.

<span class='text_page_counter'>(22)</span> 7. Mảng trong C# Mảng đa chiều Mảng hai chiều được tổ chức thành các dòng và cột, trong đó các dòng là được tính theo hàng ngang của mảng, và các cột được tính theo hàng dọc của mảng. int[,] A = new int[100,100]; Ngôn ngữ C# hỗ trợ hai kiểu mảng đa chiều là: Mảng đa chiều cùng kích thước: trong mảng này mỗi dòng trong mảng có cùng kích thước với nhau. Mảng này có thể là hai hay nhiều hơn hai chiều. Mảng đa chiều không cùng kích thước: trong mảng này các dòng có thể không cùng kích thước với nhau.. Đại học Hòa Bình. 22/46.

<span class='text_page_counter'>(23)</span> 7. Mảng trong C# Mảng đa chiều cùng kích thước Mảng đa chiều cùng kích thước còn gọi là mảng hình chữ nhật (rectanguler array). Vd: Viết chương trình – nhập giá trị cho 2 ma trận từ bàn phím – tính tổng 2 ma trận, tính tổng từng hàng, tính tổng từng cột , tìm giá trị lớn nhất và nhỏ nhất cho từng hàng, từng cột– hiện kết quả lên màn hình. Đại học Hòa Bình. 23/46.

<span class='text_page_counter'>(24)</span> 7. Mảng trong C#. Đại học Hòa Bình. 24/46.

<span class='text_page_counter'>(25)</span> 7. Mảng trong C#. Đại học Hòa Bình. 25/46.

<span class='text_page_counter'>(26)</span> 7. Mảng trong C# Sử dụng từ khóa new để khởi tạo tổng số phần tử của hàng và cột trong mảng. Đại học Hòa Bình. 26/46.

<span class='text_page_counter'>(27)</span> 7. Mảng trong C# Khởi tạo giá trị cho các thành phần của mảng 2 chiều. Đại học Hòa Bình. 27/46.

<span class='text_page_counter'>(28)</span> 7. Mảng trong C# Mảng đa chiều có kích khác nhau Kích thước của các chiều có thể không bằng nhau Khi tạo một mảng đa chiều kích thước khác nhau thì khai báo số dòng trong mảng trước. Sau đó mỗi dòng sẽ giữ một mảng có kích thước bất kỳ. Những mảng này được khai báo riêng. Sau đó khởi tạo giá trị các thành phần trong từng mảng. Trong mảng này, mỗi chiều là một mảng một chiều. Đại học Hòa Bình. 28/46.

<span class='text_page_counter'>(29)</span> 7. Mảng trong C#. Đại học Hòa Bình. 29/46.

<span class='text_page_counter'>(30)</span> 7. Mảng trong C# Danh sách mảng Lớp ArrayList là một kiểu dữ liệu mảng mà kích thước của nó được gia tăng một cách động theo yêu cầu. ArrayList cung cấp một số phương thức và những thuộc tính cho các thao tác liên quan đến mảng.. Đại học Hòa Bình. 30/46.

<span class='text_page_counter'>(31)</span> 7. Mảng trong C#. Đại học Hòa Bình. 31/46.

<span class='text_page_counter'>(32)</span> 7. Mảng trong C#. Đại học Hòa Bình. 32/46.

<span class='text_page_counter'>(33)</span> 7. Mảng trong C#. Đại học Hòa Bình. 33/46.

<span class='text_page_counter'>(34)</span> 7. Mảng trong C# Sử dụng đối tượng Arraylist để tạo ra một danh sách mảng các phần tử. Đại học Hòa Bình. 34/46.

<span class='text_page_counter'>(35)</span> 7. Mảng trong C# Stack. Đại học Hòa Bình. 35/46.

<span class='text_page_counter'>(36)</span> 7. Mảng trong C# Queue. Đại học Hòa Bình. 36/46.

<span class='text_page_counter'>(37)</span> 7. Mảng trong C# Kiểu từ điển Từ điển là kiểu tập hợp trong đó có hai thành phần chính liên hệ với nhau là khóa và giá trị. Thuộc tính quan trọng của một từ điển tốt là dễ thêm giá trị mới vào, và nhanh chóng truy cập đến giá trị. Một vài từ điển thì nhanh hơn về thời gian thêm một giá trị mới vào, một số khác thì tối ưu cho việc truy cập. Một trong minh họa cho kiểu từ điển là kiểu dữ liệu hashtable hay còn gọi là bảng băm. Hashtable là một kiểu từ điển được tối ưu cho việc truy cập được nhanh. Một số các phương thức chính và các thuộc tính của kiểu dữ liệu Hashtable Đại học Hòa Bình. 37/46.

<span class='text_page_counter'>(38)</span> 7. Mảng trong C#. Đại học Hòa Bình. 38/46.

<span class='text_page_counter'>(39)</span> 7. Mảng trong C# Trong một Hashtable, mỗi giá trị được lưu trữ trong một vùng. Mỗi vùng được đánh số tương tự như là từng offset trong mảng. Do khóa có thể không phải là số nguyên, nên phải chuyển các khóa thành các khóa số để ánh xạ đến vùng giá trị được đánh số. Mỗi khóa phải cung cấp phương thức GetHashCode() để nhận giá trị mã hóa thành số của nó Thêm giá trị vào Hashtable thì Hashtable sẽ gọi phương thức GetHashCode() cho mỗi giá trị mà chúng ta cung cấp. Phương thức này trả về một số nguyên, xác định vùng mà giá trị được lưu trữ trong hashtable Đại học Hòa Bình. 39/46.

<span class='text_page_counter'>(40)</span> 7. Mảng trong C# Giao diện IDictionary Hashtable là một từ điển vì nó thực thi giao diện IDictionary. IDictionary cung cấp một thuộc tính public là Item. Thuộc tính Item truy cập một giá trị thông qua một khóa xác định. Thuộc tính Item được khai báo như sau. Thuộc tính Item được thực thi trong ngôn ngữ C# với toán tử chỉ mục ([]). Do vậy chúng ta có thể truy cập những item trong bất cứ đối tượng từ điển bằng cú pháp giống như truy cập mảng. Đại học Hòa Bình. 40/46.

<span class='text_page_counter'>(41)</span> 7. Mảng trong C# vd: Thêm một item vào trong bảng Hashtable và sau đó truy cập lại chúng thông qua thuộc tính Item.. Đại học Hòa Bình. 41/46.

<span class='text_page_counter'>(42)</span> 7. Mảng trong C# Tập khóa và tập giá trị Hai thuộc tính là thuộc tính Keys, và thuộc tính Values. Trong đó Keys truy cập đối tượng ICollection với tất cả những khóa trong Hashtable, và Values truy cập đối tượng ICollection với tất cả giá trị.. Đại học Hòa Bình. 42/46.

<span class='text_page_counter'>(43)</span> 7. Mảng trong C# Sử dụng phương thức Remove và thuộc tính Count của Hashtable. Đại học Hòa Bình. 43/46.

<span class='text_page_counter'>(44)</span> 7. Mảng trong C#. Đại học Hòa Bình. 44/46.

<span class='text_page_counter'>(45)</span> 7. Mảng trong C# Câu hỏi 1. Viết một chương trình tạo ra một mảng một chiều nguyên chứa giá trị của các phần tử được nhập vào từ bàn phím. Sắp xếp các thành phần của mảng theo thứ tự tăng dần và hiện kết quả. Làm tương tự với trường hợp sắp xếp mảng theo thứ tự giảm dần. 2. Viết một chương trình tìm số lớn nhất và nhỏ nhất trong mảng 2 chiều có kích thước cố định. Các thành phần trong mảng được nhập vào từ bàn phím. 3. Viết chương trình sử dụng ArrayList để tạo một mảng. Sử dụng thuộc tính Count và Capacity Đại học Hòa Bình. 45/46.

<span class='text_page_counter'>(46)</span> 7. Mảng trong C# 4. Viết chương trình cho phép người dùng nhập vào một ma trận n x m, sau đó tìm kiếm một giá trị bất kỳ và hiện kết quả là thứ tự của giá trị cần tìm trong ma trận. 5. Viết chương trình tạo ra đối tượng Queue tên là myQueue. Khởi tạo myQueue với 5 giá trị ngẫu nhiên. Hãy thực hiện các bước sau:. Đại học Hòa Bình. 46/46.

<span class='text_page_counter'>(47)</span> 7. Mảng trong C# 6. Viết chương trình tạo ra đối tượng Stack tên là myStack. Khởi tạo myStack với 5 giá trị ngẫu nhiên. Hãy thực hiện các bước sau:. 7. Viết chương sử dụng kiểu dữ liệu từ điển để quản lý thông tin của một lớp học. Trong đó khóa là chuỗi mã số sinh viên, giá trị là chuỗi tên của học viên. Đại học Hòa Bình. 47/46.

<span class='text_page_counter'>(48)</span> Đại học Hòa Bình. 48/46.

<span class='text_page_counter'>(49)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×