Tập hợp của các kiểu dữ liệu đã có dưới 01 cái
tên chung.
VD: Sinh viên có mã (chuỗi), họ tên (chuỗi),
ngày sinh (ngày tháng), điểm trung bình (số
thực), xếp loại (chuỗi).
18 trang |
Chia sẻ: Mr Hưng | Lượt xem: 896 | Lượt tải: 0
Nội dung tài liệu Công nghệ thông tin - Hàm – mảng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
HÀM – MẢNG
Lương Trần Hy Hiến - hyhien@gmail.com
Kiểu cấu trúc
Tập hợp của các kiểu dữ liệu đã có dưới 01 cái
tên chung.
VD: Sinh viên có mã (chuỗi), họ tên (chuỗi),
ngày sinh (ngày tháng), điểm trung bình (số
thực), xếp loại (chuỗi).
struct SinhVien
{
string MaSV;
string HoTen;
DateTime NgayThang;
doube DiemTrungBinh;
string XepLoai;
}
Kiểu cấu trúc (tt)
Sử dụng:
SinhVien sv;
sv.MaSV = “K29.103.010”;
sv.HoTen = “Nguyen Van Teo”;
sv.NgayThang = new DateTime(1999, 5, 19);
sv.DiemTrungBinh = 7.81;
sv.XepLoai = “Kha”;
Phương thức/Hàm
Khai báo phương thức (hàm)
Truyền tham số dạng in (ø)
Truyền tham số dạng out
Truyền tham số dạng ref
Khai báo phương thức
[modifiers] return_type MethodName([parameters])
{
// Thân phương thức
}
Ví dụ:
public static void Xuat(SinhVien sv)
{
Console.Write("Ma so: {0}. Ho ten: {1}", sv.MaSV, sv.HoTen);
//Cau lenh xuat Sinh vien
}
Phương thức dạng “in”
Thân phương thức chỉ tham khảo giá trị của tham số không
thay đổi giá trị của tham số
Ví dụ:
public static void Xuat(SinhVien sv)
{
Console.Write("Ma so: {0}. Ho ten: {1}", sv.MaSV, sv.HoTen);
//Cau lenh xuat Sinh vien
}
Gọi hàm trong hàm Main:
Xuat(sv1);
Phương thức dạng “out”
Thân phương thức cấp phát (khởi tạo) giá trị của tham số
trước khi sử dụng. Ra khỏi hàm giá trị của tham số thay đổi.
Ví dụ:
public static void Nhap(out SinhVien sv)
{
sv = new SinhVien();
//Cau lenh nhap sinh vien
}
Gọi trong hàm Main:
Nhap(out sv2);
Phương thức dạng “ref”
Ra khỏi hàm giá trị của tham số sẽ thay đổi
Ví dụ:
public static void TinhDiemTrungBinh(ref StrHocSinh hs)
{
hs.DTB = (hs.Toan+ hs.Van)/2;
}
Gọi trong hàm Main:
TinhDiemTrungBinh(ref hs);
MẢNG - ARRAY
Lương Trần Hy Hiến
Mảng
Mảng (array) là tập hợp các phần tử có cùng
tên và cùng kiểu dữ liệu.
Các loại mảng:
Mảng 1 chiều
Mảng 2 chiều
Mảng nhiều chiều
Mảng Jagged Array
Mảng 1 chiều
Cú pháp:
[ ] ;
Ví dụ:
int[] integers; // mảng kiểu số nguyên
integers = new int[32];
integers[0] = 35;// phần tử đầu tiên có giá trị 35
integers[31] = 432;// phần tử 32 có giá trị 432
string[] myArray = {"first element", "second
element", "third element"};
Làm việc với mảng 1 chiều
Lấy kích thước mảng:
int arrayLength = myIntegers.Length;
Sắp xếp mảng số nguyên:
Array.Sort(myIntegers);
Đảo ngược mảng:
Array.Reverse(myArray);
Duyệt mảng: dùng vòng lặp for/foreach
Bài tập 1
Viết hàm nhập mảng 1 chiều các số nguyên
Viết hàm xuất mảng 1 chiều các số nguyên
Viết hàm tính tổng các phần tử trong mảng
Viết hàm tìm số lớn nhất trong mảng 1 chiều
Viết hàm đếm số lượng số nguyên dương chẵn có trong
mảng
Viết hàm main thực hiện:
Khai báo mảng
Gọi hàm nhập
Gọi hàm xuất
In kết quả tổng
In số lớn nhất
In số lượng số nguyên dương chẵn
Slide 13
Mảng 2 chiều
Cú pháp:
[,] ;
Ví dụ:
int[,] myRectArray = new int[2,3];
int[,] myRectArray = new int[,]{
{1,2},{3,4},{5,6},{7,8}}; //mảng 4 hàng 2 cột
string[,] beatleName = { {"Lennon","John"},
{"McCartney","Paul"}, {"Harrison","George"},
{"Starkey","Richard"} };
Làm việc với mảng 2 chiều
Duyệt mảng:
double [, ] matrix = new double[10, 10];
for (int i = 0; i < 10; i++)
{
for (int j=0; j < 10; j++)
matrix[i, j] = 4;
}
Mảng nhiều chiều
Ví dụ:
string[,,] my3DArray;
Một số lưu ý khi sử dụng mảng
- Sử dụng thuộc tính Length của mảng thay vì
phải nắm số phần tử trong mảng
- Cấu trúc lặp foreach hữu hiệu hơn là dùng for
!!!
- Lấy số chiều 1 mảng : sử dụng thuộc tính rank
Bài tập 2
Khai báo mảng số nguyên 2 chiều 4 dòng 5 cột.
Viết chương trình:
Nhập vào các phần tử của mảng (giá trị = số
thứ tự dòng + số thứ tự cột)
In các giá trị của mảng
In giá trị nhỏ nhất/lớn nhất trong mảng
In tổng số các giá trị, giá trị trung bình
Slide 18
Các file đính kèm theo tài liệu này:
- asp_net_day02_function_037.pdf