1. Trang chủ
  2. » Tất cả

Giáo trình kỹ thuật lập trình 1 dành cho bậc cao đẳng ngành công nghệ thông tin

106 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH HỌC PHẦN: KỸ THUẬT LẬP TRÌNH NGÀNH: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: /QĐ-CNTĐ-CN ngày tháng năm Hiệu trưởng Trường Cao Đẳng Công Nghệ Thủ Đức TP Hồ Chí Minh, năm 2020 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI TÁC GIẢ Quyển giáo trình biên soạn dựa theo đề cương mơn học “Kỹ thuật lập trình 1” Khoa Cơng nghệ thông tin Trường Cao đẳng Công nghệ Thủ Đức Giáo trình biên soạn khơng tránh khỏi sai sót nội dung lẫn hình thức, nhóm biên soạn mong nhận g p chân thành từ qu thầy cô em sinh viên để giáo trình hồn thiện MỤC LỤC CONTENTS Chương 1.1| 1.2| 1.3| 1.4| 1.5| 1.6| 1.7| 1.8| 1.9| 1.10| Chương 2.1| 2.2| 2.3| 2.4| 2.5| 2.6| 2.7| Chương 3.1| 3.2| 3.3| 3.4| 3.5| 3.6| Chương 4.1| 4.2| 4.3| 4.4| Chương 5.1| 5.2| 5.3| 5.4| 5.5| 5.6| 5.7| 5.8| Chương 6.1| 6.2| 6.3| 6.4| TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH Giới thiệu Lịch sử phát triển Ngơn ngữ lập trình Các dạng Ngôn ngữ lập trình Các giai đoạn phát triển CHƯƠNG TRÌNH Cấu trúc chương trình C# ngôn ngữ C# .10 Visual Studio IDE .10 Quá trình biên dịch C# 16 Giải thuật đặc tả giải thuật 18 Bài tập .21 CÁC KIỂU DỮ LIỆU, HẰNG, BIẾN 23 Tập ký tự 24 Từ khóa 24 Tên qui ước đặt tên .24 Các kiểu liệu xây dựng sẵn 25 Biến 27 Hằng 29 Bài tập .31 TOÁN TỬ VÀ BIỂU THỨC 33 Các loại toán tử 34 Các toán tử khác .41 Chuyển đổi kiểu liệu .42 Biểu thức 53 Câu lệnh nhập, xuất 53 Bài tập .57 CẤU TRÚC CHỌN 59 Khái niệm 60 Cấu trúc điều kiện if 60 Cấu trúc lựa chọn switch … case… 66 Bài tập .71 CẤU TRÚC LẶP 74 Khái niệm 75 Cấu trúc for .75 Cấu trúc while 77 Cấu trúc do…while 79 Cấu trúc foreach .80 Cấu trúc lặ l ng .81 Câu lệnh break, continue 82 Bài tập .85 HÀM 88 Khái niệm 89 Cú pháp khai báo: .89 Truyền tham số .90 Kiểu trả hàm 92 Tài liệu giảng dạy Th p T nh Trang 6.5| 6.6| Chương 7.1| 7.2| 7.3| 7.4| 7.5| Cách gọi hàm 93 Bài tập .94 MẢNG MỘT CHIỀU 96 Khái niệm 97 Cú pháp khai báo 97 Truy xuất mảng 98 Sử dụng mảng chiều làm tham số cho hàm: 99 Bài tập 101 Tài liệu giảng dạy Th p T nh Trang Chương TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH - Chương nhằm giới thiệu cho sinh viên khái niệm lập trình, dạng ngơn ngữ lập trình, phương pháp lập trình có Ngồi cung cấp cho sinh viên cách thức để phân tích tốn mơ tả giải thuật cho tốn Tài liệu giảng dạy Th p T nh Trang 1.1| GIỚI THIỆU Chương nh – Programs / Applications: tập thị (instructions) xếp theo trật tự định trước nhằm hướng dẫn máy tính thực thao tác, hành động cần thiết để đáp ứng mục tiêu định trước người truy xuất liệu, tìm kiếm, giải tốn, Các thị viết nhiều ngơn ngữ lập trình khác Ngơn ngữ l p trình - Programming languages: tập từ ngữ ký hiệu cho phép lập trình viên (programmers) người dùng giao tiếp với máy tính Cũng giống ngơn ngữ tự nhiên ngơn ngữ lập trình có luật gọi cú pháp (syntax) để đảm bảo ngơn ngữ vận dụng cách xác Một số ngơn ngữ lập trình thơng dụng C++, Visual Basic, C#, Java, Python L p trình viên – Programmers: người thiết kế, xây dựng bảo trì chương máy tính phần mềm Bằng cách thao tác đoạn mã ngôn ngữ cơng cụ lập trình Cơng cụ l p trình - Programming tools / Developer tools: cơng cụ lập trình hay cơng cụ phát triển phần mềm chương trình máy tính mà nhà phát triển phần mềm sử dụng để tạo (create), gỡ rối (debug), trì (maintain), thực hỗ trợ khác cho chương trình ứng dụng 1.2| LỊCH SỬ PHÁT TRIỂN NGƠN NGỮ LẬP TRÌNH Ngơn ngữ l p trình (programming language) tập ngơn ngữ máy tính Đây dạng ngơn ngữ thiết kế chuẩn hóa (đối lập với ngơn ngữ tự nhiên) để truyền thị cho máy tính (hoặc máy khác có xử lí) Ngơn ngữ lập trình dùng để tạo chương trình nhằm mục đích điều khiển máy tính mơ tả thuật toán để người khác đọc hiểu Các lĩnh vực ứng dụng ngơn ngữ lập trình: - Nghiên cứu khoa học: Fortran, C, Matlab, … - Lập trình hệ thống: C, C++, … - Tính tốn kinh doanh: Java, C#, … - Trí tuệ nhântạo: LISP, … - Xử lý văn bản: Perl, Python, … - Mục đích đặc biệt cho NNLT: make, sh-shell, … Tài liệu giảng dạy Th p T nh Trang Sơ lược lịch sử phát triển ngơn ngữ lập trình Autocode (viết năm 1952 Alick Glennie ): Đây tập hợp loạt hệ thống ngơn ngữ lập trình đơn giản phát triển vào năm 50 cho hệ thống máy tính kỹ thuật số đại học Manchester, Cambridge London coi ngôn ngữ lập trình thức Pascal (viết năm 1970 Niklaus Wirth): ngôn ngữ đặt theo tên nhà tốn học người Pháp Blaise Pascal Ngơn ngữ cho phép người dùng tự xác định dạng liệu theo kiểu danh sách, sơ đồ hay đồ thị C (viết năm 1972 Brian W.Kernighan Dennis Ritchie): Đây ngơn ngữ lập trình sử dụng nhiều thời đại C kế để lập trình theo cấu trúc C nguồn gốc nhiều ngôn ngữ dẫn xuất bao gồm C#, Java, JavaScript, Perl, PHP Python Ngôn ngữ C dùng phổ biến lập trình tảng (platform), lập trình hệ thống, lập trình UNIX, phát triển ứng dụng trò chơi điện tử Các ứng dụng www hệ thống máy chủ (server) máy khách (client) đời đầu viết ngôn ngữ C C++ (viết năm1980 Bjarne Stroustrup): C++ ngơn ngữ mà đảm nhiệm nhiều vai trị lập trình: từ lập trình ứng dụng, lập trình nhúng, ứng dụng client/server, trị chơi đồ họa việc lập trình cho hệ thống lớn lớn C++ cho phép lập trình viên sử dụng kĩ thuật cao cấp lập trình hướng đối tượng, template … mà linh động cho phép can thiệp vào sâu vào nhớ bên Một số ứng dụng tiếng viết C++ Adobe, Google, Chrome, Mozilla, Firefox, Internet Explorer, MySQL, Apple OS X, Symbian OS, Winamp Media Player, … Chính vậy, ngơn ngữ C++ có "tuổi" cao đóng vai trị quan trọng giới máy tính.Perl (1987): thuộc nhóm ngơn ngữ lập trình bậc cao Ngơn ngữ vay mượn khơng tính từ ngôn ngữ khác C, AWK sad Ban đầu thơ sơ đến mức hướng dẫn sử dụng có trang Thế đến có thêm nhiều phiên nhiều thay đổi so với ban đầu Python (viết năm 1991 Guido van Rossum): ngôn ngữ thiết kế đơn giản, chí có khả đọc bảng chữ Triết lý nhà phát triển ngơn ngữ làm cho mã nguồn ngắn hơn, không dài phức tạp C++ hay Java Java (viết năm 1995 James Gosling bạn đồng nghiệp Sun Microsystems): ngôn ngữ phát triển với mục tiêu phụ thuộc vào khả vận Tài liệu giảng dạy Th p T nh Trang hành thực tế thiết bị tốt Nói cách khác cần viết lần máy, chạy máy khác Chính mà đến nay, từ máy tính để bàn đến điện thoại di động Symbian S40 ta gặp chương trình Java PHP (viết năm 1995 Rasmus Lerdorf): ngôn ngữ sử dụng thực thi máy chủ dùng cho việc phát triển web Nó thực yêu cầu người dùng sau trả kết lên trình duyệt qua việc kết hợp với HTML tạo giao diện trang web Khi xuất hiện, PHP không định nghĩa ngơn ngữ lập trình, nhiên qua thời gian, ngơn ngữ có lượng người dùng đông đảo lựa chọn nhiều nhà phát triển web ngày C# (viết năm 2001 Microsoft chủ yếu Anders Hejlsberg): Visual Basic NET (2001): Đây ngôn ngữ phát triển Visual Basic thực tảng NET framwork Đây lý cài đặt số chương trình có u cầu cài đặt thêm NET framwork Swift (viết năm 2014 Apple): Đây ngôn ngữ phát triển cho nhà phát triển iOS OSX (hệ điều hành Mac) Ngôn ngữ “trẻ nhất” hãng giới thiệu kiện WWDC 2014 Ngơn ngữ có ưu điểm mã nguồn ngắn dễ đọc Sau viết, chương trình kiểm tra nhanh kiểm tra cấp độ cao Ngồi đồ hoạ chương trình dùng ngôn ngữ đẹp yêu cầu phần cứng thấp 1.3| CÁC DẠNG NGÔN NGỮ LẬP TRÌNH Có nhiều loại ngơn ngữ lập trình, thơng thường phân loại ta thường dựa vào yếu ba tố sau: 1.3.1| THEO TIẾN TRÌNH LỊCH SỬ PHÁT TRIỂN Ngơn ngữ máy – Machine language: Chương trình viết ngơn ngữ máy gồm nên dễ sai sót, cồng kềnh khó đọc, khó hiểu Chương trình viết thực không cần qua bước trung gian Hợp ngữ - Assembly language: Các câu lệnh bao gồm hai phần: phần mã lệnh (viết tựa tiếng Anh) phép toán cần thực phần tên biến địa chứa tốn hạng phép tốn Ðể máy thực chương trình viết hợp ngữ chương trình phải dịch sang ngơn ngữ máy Cơng cụ thực việc dịch gọi Assembler Ngôn ngữ cấp cao – High level language: Các lệnh mã hóa ngơn ngữ gần với ngơn ngữ Tiếng Anh Chương trình viết ngôn ngữ bậc cao phải Tài liệu giảng dạy Th p T nh Trang chuyển đổi thành chương trình ngơn ngữ máy chương trình dịch thực 1.3.2| THEO PHƯƠNG PHÁP LẬP TRÌNH (PROGRAMMING PARADIGMS) L p trình tuyến tính: Đặc trưng Lập trình tuyến tính tư theo lối Chỉ có luồng công việc công việc thực luồng Chương trình thực theo thứ tự từ đầu đến cuối, lệnh lệnh kết thúc chương trình Nhược điểm lập trình tuyến tính với ứng dụng phức tạp, người ta dùng lập trình tuyến tính để giải Nên phương pháp Lập trình tuyến tính ngày sử dụng phạm vi module nhỏ phương pháp Lập trình khác L p nh hướng cấu trúc: Trong Lập trình hướng cấu trúc, chương trình chia nhỏ thành chương trình thực công việc xác định Đặc trưng Lập trình hướng cấu trúc thể mối quan hệ: Chương trình = Cấu trúc liệu + Giải thuật Cấu trúc liệu cách tổ chức liệu cho việc xử lý hay nhiều chương trình Giải thuật quy trình để thực công việc xác định Các ngôn ngữ lập trình cấu trúc cung cấp số cấu trúc lệnh điều khiển chương trình Nên có ưu điểm chương trình dể hiểu, dể theo dõi, tư giải thuật rõ ràng Nhược điểm lập trình cấu trúc không hỗ trợ tốt cho việc sử dụng lại mã nguồn Bởi giải thuật phụ thuộc chặt chẽ vào cấu trúc liệu Dẫn đến thay đổi cấu trúc liệu phải thay đổi giải thuật chương trình.Với dự án phần mềm lớn, Lập trình cấu trúc tỏ khơng hiệu việc giải mối quan hệ vĩ mô Module L p nh hướng đối ượng : Trong lập trình hướng đối tượng, người ta quy ước thực thể chương trình thành đối tượng Và trừu tượng hóa đối tượng thành lớp đối tượng Dữ liệu tổ chức thành Lớp đối tượng Từ việc quản lý bảo mật liệu đảm bảo Hai đặc trưng tính đóng gói liệu tính sử dụng lại mã nguồn Nên ưu điểm lập trình hướng đối tượng bảo mật liệu chương trình, giảm phụ thuộc Cấu trúc liệu vào Thuật tốn, sử dụng lại mã nguồn L p trình trực quan: Lập trình trực quan kết hợp đồ họa máy tính , ngơn ngữ lập trình tương tác người máy So với ngơn ngữ lập trình chế Tài liệu giảng dạy Th p T nh Trang 6.1| KHÁI NIỆM Một phương thức hay gọi hàm khối mã chứa loạt câu lệnh, thực công việc cụ thể Các ưu điểm sử dụng hàm chương trình: - Chương trình trở nên dễ đọc - Tránh trùng lặp code - Chương trình dễ chỉnh sửa bảo trì Một hàm thực số tác vụ cụ thể trả kết Một hàm thực số nhiệm vụ cụ thể mà khơng trả lại 6.2| CÚ PHÁP KHAI BÁO: [] static ([]){ // statements [return statement] } Trong đó: Access modifier: từ khoá định thành phần chương trình truy cập phương thức C# có ba từ khố Public, Protected Private Nếu người dùng bỏ trống phạm vi truy cập phạm vi mặc định Private Các từ khố có ý nghĩa sau: Public: không giới hạn phạm vi sử dụng phương thức Protected: phạm vi truy cập phương thức lớp mà định nghĩa lớp có quan hệ Private: phạm vi truy cập phương thức bên class mà định nghĩa Static: từ khố để xác định phương thức chung class, tồn từ lúc bắt đầu kết thúc chương trình Name of the Method : tên phương thức mà người dùng định nghĩa Ví dụ : TimMax(), GetName(), Tên hàm nên đặt theo quy tắc sau: Tài liệu giảng dạy Th p T nh Trang 89 - Viết hoa đầu từ - Tên phải mô tả nội dung hàm - Phần tên nên bắt đầu động từ tương ứng với hành động mà phương thức thực - Nếu hai hàm trùng tên phải khác kiểu trả số lượng tham số kiểu tham số Return type: định kiểu liệu trả sau phương thức thực Kiểu liệu trả tuỳ thuộc vào người dùng trả void khơng có liệu trả Body of the Method : khối lệnh bên phương thức Được bao bọc cặp dấu {} Parameter list : Danh sách tham số Các tham số đầu vào định nghĩa cách dấu phẩy Nếu phương thức không cần tham số thi để trống Hàm có kiểu trả bắt buộc phải có câu lệnh return để trả giá trị có kiểu tương ứng với kiểu khai báo Nếu khơng có giá trị trả khơng có câu lệnh return Ví dụ: public static int Main(){ return 0; } 6.3| TRUYỀN THAM SỐ Một biến khai báo chương trình gán giá trị cấp phát vùng nhớ cho biến Có hai cách truyền đối số cho hàm truyền giá trị (Truyền tham trị) truyền địa (Truyền tham biến) 1.3.1| TRUYỀN THAM TRỊ Tham trị giá trị biến Mọi xử lý tính tốn phương thức không làm thay đổi giá trị biến tham số truyền vào phương thức thực xong Ví dụ 1: Viết hàm tính chu vi hình chữ nhật class Ch6_VD1 { static void Main(string[] args) { double cDai = 5.5; double cRong = 7.5; Tài liệu giảng dạy Th p T nh Trang 90 double chuVi = TinhChuVi(cDai, cRong); Console.WriteLine("Chu vi = " + chuVi); } //Ham tinh chu vi hinh chu nhat public static double TinhChuVi(double chieuDai, double chieuRong) { double chuVi = (chieuDai + chieuRong) * 2; return chuVi; } } Kết quả: Chu vi = 26 1.3.2| TRUYỀN THAM BIẾN Truyền tham biến truyền vào trực tiếp địa nhớ biến Vì tính tốn phương thức làm thay đổi giá trị biến kết thúc hàm Trong C# ta sử dụng từ khoá ref out để truyền tham biến ref: dùng biến truyền vào có giá trị trước truyền vào phương thức out: dùng biến truyền vào lúc đầu chưa có giá trị khởi tạo mà câu lệnh hởi tạo gán giá trị cho biến nằm bên phương thức Khi gọi khai báo phương thức bắt buộc phải có từ khoá ref out trước tên biến muốn truyền tham biến Ví dụ 2: Viết hàm thực hốn vị hai số nguyên class Program { static void Main(string[] args) { int a = 5; int b = 10; HoanVi(ref a, ref b); Console.WriteLine("a = {0}, b = {1}", a, b); } //Ham chuyen doi gia tri giua hai so public static void HoanVi(ref int num1, ref int num2) { int tam = num1; num1 = num2; num2 = tam; } } Kết quả: a = 10 , b = Ví dụ 3: Viết hàm cho phép nhập số nguyên khoảng từ đến 10 class Ch6_VD3 { Tài liệu giảng dạy Th p T nh Trang 91 static void Main(string[] args) { int numInput; //numInput chua duoc khoi tao NhapSoNguyen(out numInput); Console.WriteLine("So vua nhap: " + numInput); } //Ham nhap so nguyen khoang den 10 public static void NhapSoNguyen(out int num) { { Console.Write("Nhap mot so: "); int.TryParse(Console.ReadLine(), out num); } while (num < || num > 10); } } Kết quả: Nhap mot so: -1 Nhap mot so: 11 Nhap mot so: So vua nhap:0 6.4| KIỂU TRẢ VỀ CỦA HÀM Trong ví dụ 1, hàm TinhChuVi() hàm có kiểu trả Vì bắt buộc phải có câu lệnh return cuối hàm Dữ liệu trả cuối hàm phải kiểu liệu trả hàm Trong ví dụ 3, hàm NhapSoNguyen(out int num) khai báo kiểu void nên không cần câu lệnh return cuối hàm Thơng thường dùng kỹ thuật đặt biến cờ (flag) để giữ giá trị trả hàm Người dùng taọ biến có kiểu trả hàm, sau tuỳ theo trường hợp trả hàm mà gán cho biến cờ giá trị thích hợp tương ứng Cuối hàm sử dụng câu lệnh return để trả giá trị cho hàm Ví dụ 4: Viết hàm kiểm tra số nguyên có phải số chẵn hay không Nếu số chẵn hàm trả giá trị true, ngược lại trả giá trị false class Ch6_VD4 { static void Main(string[] args) { int numInput = 0; Console.Write("Nhap mot so nguyen: "); int.TryParse(Console.ReadLine(), out numInput); bool ketQua = kiemTra(numInput); if (ketQua == true) { Console.WriteLine("La so chan"); Tài liệu giảng dạy Th p T nh Trang 92 } else { Console.WriteLine("La so le"); } } //Ham kiem tra so chan public static bool KiemTra(int num) { bool flag = false; if (num % == 0) { flag = true; } return flag; } } Kết quả: Nhap mot so nguyen: La so le 6.5| CÁCH GỌI HÀM Câu lệnh gọi hàm gọi chương trình hàm khác Cú pháp câu lệnh gọi hàm: Method_Name (parameter l, parameter 2, …); Trong ví dụ 6, hàm NhapSoNguyen() khơng có kiểu trả nên gọi hàm để thực thi chương trình ta cần gọi tên hàm tham số truyền vào câu lệnh riêng le: NhapSoNguyen(num); Trong ví dụ 7, hàm KiemTraSoChan() có kiểu trả bool nên gọi hàm để thực thi chương trình ta phải gọi hàm lệnh gán: bool ketQua = KiemTraSoChan(num); Nghĩa để lưu kết trả hàm ta phải tạo biến có kiểu liệu với kiểu trả hàm gán lời gọi hàm cho biến Tài liệu giảng dạy Th p T nh Trang 93 6.6| BÀI TẬP I     II BÀI TẬP THỰC HÀNH SỐ Thông tin chung: Mã số tập : BT-KTLT1-06 Hình thức nộp : Nộp qua Moodle môn học Thời hạn nộp : … / … / …… Nội dung : Chương 6: Hàm Chuẩn đầu cần đạt: L.O.4 Sử dụng hàm để tổ chức chương trình L.O.5 Ln viết code theo chuẩn L.O.6 Sử dụng IDE để viết, Debug chạy chương trình C# L.O.8 Thường xuyên tìm hiểu vấn đề, chủ động làm tập nhà theo yêu cầu, nộp qui định CÂU HỎI ƠN TẬP Trình bày cấu trúc hàm người dùng xây dựng? Phân biệt loại tham số? Phân biệt loại biến? BÀI TẬP Ở LỚP Yêu cầu: - Sinh viên đọc Tài liệu tham khảo - Chương trước thực tập - Sử dụng internet để tra cứu Tổ chức chương nh theo dạng hàm với yêu cầu sau: Viết hàm nhập vào số nguyên dương n Kiểm tra điều kiện n = b gán a = a % b , ngược lại gán b = b % a Lặp a b USCLN (a+b)  BSCNN(a,b) = ( a* b) / USCLN(a,b) - Trong hàm main, cho phép nhập vào hai số nguyên a, b, gọi thực thi hàm để in USCLN BSCNN hai số a b BÀI TẬP VỀ NHÀ 10 Viết chương trình đếm số hồn hảo nhỏ N, với N số nguyên dương nhập vào từ bàn phím 11 Viết chương trình in N số phương đầu tiên, với N số nguyên dương nhập vào từ bàn phím 12 Viết chương trình in dãy Fibonacci nêu phương pháp dùng hàm Fibonacci F có tính đệ quy F0 = 1, F1 =1; Fn=Fn-1 +Fn-2 - Hết - Tài liệu giảng dạy Th p T nh Trang 95 Chương MẢNG MỘT CHIỀU - Chương nhằm giúp sinh viên kiến thức để có thể: - Trình bày khái niệm mảng, thành phần mảng - Trình bày vận dụng cách khai báo mảng khởi tạo mảng - Sử dụng thao tác truy xuất phần tử mảng - Truyền mảng cho hàm Tài liệu giảng dạy Th p T nh Trang 96 7.1| KHÁI NIỆM Một mảng (Array) tập hợp phần tử liệu có kiểu liệu tên Mỗi phần tử lưu trữ vị trí nhớ Những phần tử gọi phần tử mảng Mỗi phần tử mảng định danh mục số gán cho Chiều mảng xác định số số cần thiết để định danh phần tử Một số số nguyên dương bao dấu ngoặc vuông [ ] đặt sau tên mảng, khơng có khoảng trắng Một số chứa giá trị nguyên bắ đầu Array C# hoạt động không giống C/ C++ Một số đặc điểm Array C# sau: - Mảng C# cấp phát vùng nhớ động - Mảng C# đối tượng thuộc System.Array - Số phần tử mảng quản lý tự động thơng qua thuộc tính Length - Chỉ số mảng tính từ đến n-1, với n số phần tử mảng - Giá trị mặc định phần tử mảng tham chiếu mảng null - Kiểu phần tử mảng kiểu bất kỳ, kể phần tử mảng 10 7.2| CÚ PHÁP KHAI BÁO Cách 1: Datatype[] arrayName [= {value1, value2, …}]; Ví dụ: int[] danhSach; // tạo mảng kiểu số nguyên có tên danhSach Khi sử dụng câu lệnh khai báo trên, phần tử mảng có giá trị null nên người dùng khơng truy cập không khởi tạo giá trị cho mảng Vì ta nên khai báo tường minh sau: int[] danhSach = {0}; //Các phần tử khởi tạo giá trị Tài liệu giảng dạy Th p T nh Trang 97 int[] danhSach = {1,2,3,4}; //Mảng có phần tử khởi tạo giá trị 1, 2, 3, Cách 2: arrayName = new datatype[length]; Ví dụ: double heSo = new double[3] // mảng heSo có kiểu tham chiếu cấp phát nhớ cho phần tử kiểu double giá trị khởi đầu Hoặc: double heSo = new double[3]; 7.3| TRUY XUẤT TRÊN MẢNG Cách 1: Sử dụng vòng lặp for while để truy xuất phần tử class Ch7_VD1 { static void Main(string[] args) { int[] danhSach = { 1, 2, 3, }; int i = 0; while (i < danhSach.Length) { Console.Write(danhSach[i] + "\t"); i++; } } } Kết quả: Giải thích: biến i có giá trị từ đến số phần tử -1 Thuộc tính Length trả số phần tử mảng Tài liệu giảng dạy Th p T nh Trang 98 Cách 2: Dùng câu lệnh foreach để duyệt phần tử mảng class Ch7_Vd2 { static void Main(string[] args) { int[] danhSach = { 1, 2, 3, }; foreach (int i in danhSach) { Console.Write(i + "\t"); } } } 7.4| SỬ DỤNG MẢNG MỘT CHIỀU LÀM THAM SỐ CHO HÀM: Mảng dùng để làm đối số cho hàm Ví dụ: using System; namespace Ch7_VD3 { class Program { static void Main(string[] args) { int soPT = 0; Console.WriteLine("Nhap so phan tu mang:"); int.TryParse(Console.ReadLine(), out soPT); int[] danhSach = new int[soPT]; nhapMang(danhSach); XuatMang(danhSach); Console.WriteLine("Max= " + TimMax(danhSach)); } //nhap mang static void nhapMang(int[] arrM) { for (int i = 0; i < arrM.Length; i++) { Console.WriteLine("Nhap PT thu {0} :", i); int.TryParse(Console.ReadLine(), out arrM[i]); } } //xuat mang static void XuatMang(int[] arrM) { foreach (int i in arrM) { Console.Write(i + "\t"); } } //Tim phan tu cos gia tri lon nhat cua mang Tài liệu giảng dạy Th p T nh Trang 99 static int TimMax(int[] arrM) { int max = arrM[0]; foreach (int i in arrM) { if (max < i) { max = i; } } return max; } } } Kết quả: Nhap so phan tu mang: Nhap gia tri cho mang Nhap gia tri cho mang Nhap gia tri cho mang 6 Max = Tài liệu giảng dạy Th p T nh Trang 100 7.5| BÀI TẬP I     II BÀI TẬP THỰC HÀNH SỐ Thông tin chung: Mã số tập : BT-KTLT1-07 Hình thức nộp : Nộp qua Moodle môn học Thời hạn nộp : … / … / …… Nội dung : Chương 7: Mảng Chuẩn đầu cần đạt: L.O.5 Sử dụng kiểu liệu mảng chiều để giải tốn bản; L.O.8 Thường xun tìm hiểu vấn đề, chủ động làm tập nhà theo yêu cầu, nộp qui định CÂU HỎI ƠN TẬP Trình bày khái niệm: mảng, phần tử mảng, mục Trình bày cách khai báo mảng Nêu ví dụ Trình bày cách truy xuất mảng BÀI TẬP Ở LỚP Yêu cầu: - Sinh viên đọc Tài liệu tham khảo – Chương , tài liệu chuẩn code trước thực tập - Sử dụng internet để tra cứu - Trình bày code chuẩn - Tổ chức chương trình dạng hàm Viết chương trình nhập vào số nguyên n với 1

Ngày đăng: 18/03/2023, 08:15

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN