Giáo Trình Kỹ Thuật Lập Trình 2 Cho Sinh Viên Cao Đẳng Ngành Công Nghệ Thông Tin

Giáo trình kỹ thuật lập trình 2 cung cấp kiến thức chuyên sâu cho sinh viên cao đẳng ngành công nghệ thông tin, nâng cao kỹ năng lập trình.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Giáo Trình

2020

91
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. CHƯƠNG 1: MẢNG HAI CHIỀU

1.1. Khái niệm mảng nhiều chiều

1.2. Khai báo, khởi tạo mảng hai chiều

1.3. Khai báo, khởi tạo mảng chữ nhật

1.4. Khai báo, khởi tạo mảng răng cưa (Jagged Array)

1.5. Truy xuất mảng hai chiều

1.6. Đọc metadata của mảng

1.7. Truy xuất trực tiếp đến phần tử mảng

1.8. Truy xuất tuần tự các phần tử mảng

1.9. Sử dụng mảng hai chiều làm đối số cho hàm

1.10. Một số ứng dụng mảng hai chiều

1.11. Bài tập

2. CHƯƠNG 2: MỘT SỐ KIỂU DỮ LIỆU XÂY DỰNG SẴN TRONG C#

2.1. Khái niệm

Tóm tắt

I. Tổng quan về Giáo Trình Kỹ Thuật Lập Trình 2 Dành Cho Cao Đẳng Ngành CNTT

Giáo trình Kỹ thuật lập trình 2 là tài liệu quan trọng dành cho sinh viên ngành Công nghệ thông tin tại các trường cao đẳng. Tài liệu này cung cấp kiến thức cơ bản và nâng cao về lập trình máy tính, giúp sinh viên nắm vững các khái niệm và kỹ năng cần thiết để phát triển ứng dụng. Nội dung giáo trình được biên soạn dựa trên đề cương môn học, đảm bảo tính khoa học và thực tiễn.

1.1. Mục tiêu của Giáo Trình Kỹ Thuật Lập Trình 2

Giáo trình nhằm trang bị cho sinh viên kiến thức về các cấu trúc dữ liệu, thuật toán và kỹ thuật lập trình cơ bản. Sinh viên sẽ học cách áp dụng các kiến thức này vào thực tiễn thông qua các bài tập và dự án.

1.2. Đối tượng sử dụng giáo trình

Giáo trình này được thiết kế dành cho sinh viên cao đẳng ngành Công nghệ thông tin, những người mới bắt đầu học lập trình và cần một tài liệu tham khảo đầy đủ và chi tiết.

II. Những Thách Thức Trong Việc Học Kỹ Thuật Lập Trình 2

Học kỹ thuật lập trình 2 không chỉ đơn thuần là việc nắm vững lý thuyết mà còn bao gồm việc thực hành và áp dụng kiến thức vào các bài toán thực tế. Một số thách thức lớn mà sinh viên thường gặp phải bao gồm việc hiểu sâu về các cấu trúc dữ liệu phức tạp và cách tối ưu hóa mã nguồn.

2.1. Khó khăn trong việc nắm bắt các khái niệm lập trình

Nhiều sinh viên gặp khó khăn trong việc hiểu các khái niệm như mảng hai chiều, cấu trúc dữ liệu và thuật toán. Điều này có thể dẫn đến việc không thể áp dụng kiến thức vào thực tiễn.

2.2. Thiếu kinh nghiệm thực hành

Việc thiếu các bài tập thực hành và dự án thực tế có thể khiến sinh viên không thể áp dụng lý thuyết vào thực tiễn, dẫn đến việc không nắm vững kiến thức.

III. Phương Pháp Học Hiệu Quả Kỹ Thuật Lập Trình 2

Để vượt qua những thách thức trong việc học kỹ thuật lập trình 2, sinh viên cần áp dụng các phương pháp học tập hiệu quả. Việc kết hợp lý thuyết và thực hành là rất quan trọng để nắm vững kiến thức.

3.1. Thực hành qua các bài tập lập trình

Sinh viên nên thực hành thường xuyên qua các bài tập lập trình để củng cố kiến thức. Việc giải quyết các bài toán thực tế sẽ giúp sinh viên hiểu rõ hơn về các khái niệm lập trình.

3.2. Tham gia các dự án nhóm

Tham gia vào các dự án nhóm sẽ giúp sinh viên học hỏi từ bạn bè và cải thiện kỹ năng làm việc nhóm, đồng thời áp dụng kiến thức vào thực tiễn.

IV. Ứng Dụng Thực Tiễn Của Kỹ Thuật Lập Trình 2

Kỹ thuật lập trình 2 có nhiều ứng dụng thực tiễn trong lĩnh vực công nghệ thông tin. Sinh viên có thể áp dụng kiến thức đã học để phát triển các ứng dụng phần mềm, trò chơi, và hệ thống quản lý.

4.1. Phát triển ứng dụng web

Sinh viên có thể sử dụng kiến thức về lập trình để phát triển các ứng dụng web, từ việc thiết kế giao diện đến lập trình backend.

4.2. Xây dựng phần mềm quản lý

Kỹ thuật lập trình 2 cũng có thể được áp dụng để xây dựng các phần mềm quản lý cho doanh nghiệp, giúp tối ưu hóa quy trình làm việc.

V. Kết Luận Về Giáo Trình Kỹ Thuật Lập Trình 2

Giáo trình Kỹ thuật lập trình 2 là một tài liệu quý giá cho sinh viên ngành Công nghệ thông tin. Việc nắm vững kiến thức trong giáo trình sẽ giúp sinh viên có nền tảng vững chắc để phát triển trong lĩnh vực lập trình.

5.1. Tương lai của ngành lập trình

Ngành lập trình đang phát triển mạnh mẽ, và việc nắm vững kỹ thuật lập trình 2 sẽ giúp sinh viên có nhiều cơ hội nghề nghiệp trong tương lai.

5.2. Khuyến khích tự học và nghiên cứu

Sinh viên nên khuyến khích việc tự học và nghiên cứu thêm để cập nhật kiến thức mới và nâng cao kỹ năng lập trình của mình.

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

Trích đoạn nội dung tài liệu

Chương 1, tài liệu chuẩn code trước khi thực hiện bài tập. - Sử dụng internet để tra cứu. - Trình bày code đúng chuẩn. - Viết chương trình c sử dụng mảng hai chiều BÀI TẬP 1.

Viết ứng dụng quản lý chỗ ngồi được đặt cho một rạp chiếu phim có n hàng ghế, mỗi hàng có m ghế. Số chỗ ngồi được đánh mã là [i,j]. Viết ứng dụng cho phép người dùng chọn mã chỗ ngồi. Chương trình kiểm tra và trả về kết quả ―Đặt chỗ thành công‖ nếu chỗ ngồi còn trống.

Nếu chỗ ngồi đã có người đặt thì in thông báo ―Vui lòng chọn chỗ ngồi khác‖. Viết đoạn chương trình thống kê số chỗ ngồi còn trống trong câu 1 như sau: a) Tổng số chỗ ngồi còn trống trong rạp. b) Số lượng ghế trống từng hàng. c) Số lượng ghế trống từng dãy.

d) Số cặp ghế trống theo hàng e) Tìm hàng có nhiều ghế trống nhất f) Tìm hàng đã hết chỗ trống g) Kiểm tra tất cả các ghế ở ngoài biên được đặt hết hay chưa. Cho đồ thị đường đi như sau: Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 18 Biết đồ thị trên được mã hoá thành ma trận vuông 4x4 sau: A B C D A 0 0 2 1 B 0 0 2 1 C 2 2 0 1 D 1 1 1 0 Viết chương trình cho phép người dùng thực hiện các thao tác sau: a) Nhập mảng sau và in ma trận trên ra màn hình. Biết ma trận được thành lập theo nguyên tắc là phần tử A[i,j] = A[j,i]. Các phần tử trong ma trận là số nguyên lớn hơn 0.

b) Viết hàm kiểm tra ma trận trên có phải là ma trận của một Đa đồ thị hay không. Biết đa đồ thị có ma trận với các phần tử nằm trên đường chéo chính bằng 0 và trong ma trận có ít nhất một phần tử lớn hơn 1. c) Viết chương trình tính tổng các phần tử theo dòng (hoặc cột). d) Viết chương trình xét Đồ thị có tồn tại một chu trình con trong nó hay không.

Biết nếu tất cả các giá trị tổng trên dòng (hoặc cột) là chẵn thì Đồ thị tương ứng với ma trận sẽ có một chu trình đi qua tất cả nó. Biết Chu trình là đường đi có điểm xuất phát v kết thúc tại cùng một đỉnh trong đồ thị. Viết chương trình mô phỏng trò chơi TIC -TAC -TOE. Biết hai người chơi sẽ nhập vào vị trí [i, j].

Mỗi lượt đặt chương trình xuất ma trận mới với các vị trí đã được đặt trước đó. Viết chương trình khởi tạo giá trị các phần tử là ngẫu nhiên cho ma trận các số nguyên kích thước m × n. Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 19 6. Viết hàm in tam giác Pascal với chiều cao h.

Viết chương trình tạo ma trận vuông mới từ ma trận hình chữ nhật. Biết kích thước ma trận vuông mới sẽ là kích thước cạnh có nhỏ nhất, Sau đó viết các hàm sau: a. Viết hàm tính tích các phần tử trên mỗi cột của ma trận b. Viết hàm tính tích các phần tử nằm trên đường chéo chính, chéo phụ của ma trận vuông.

Viết hàm tính tổng các phần tử là số nguyên tố có trong ma trận. Viết hàm tính giá trị trung bình của các phần tử là số chẵn trong ma trận. Viết hàm tìm phần tử l lớn nhất trong ma trận f. Viết hàm đếm số lần xuất hiện của phần tử x trong ma trận, với x được nhập từ bàn phím.

Viết hàm sắp xếp ma trận theo thứ tự tăng dần từ trên xuống dưới và từ trái qua phải theo phương pháp dùng mảng phụ. Viết hàm sắp xếp các dòng trên ma trận theo thứ tự tăng dần. Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 20 2. MỘT SỐ KIỂU DỮ LIỆU XÂY DỰNG SẴN TRONG C# Chương này nhằm giới thiệu cho sinh viên sử dụng kiểu dữ liệu xây dựng sẵn (built-in data types) trong C# như String, DateTime để xây dựng các chương trình vừa và nhỏ theo yêu cầu.

Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 21 C# chia thành hai tập hợp kiểu dữ liệu chính:  Built-in data types: là các kiểu dữ liệu mà ngôn ngữ cung cấp cho người lập trình.  User-define data types: là kiểu dữ liệu do người dùng tự tạo ra. C# phân tập hợp kiểu dữ liệu này thành hai loại:  Kiểu dữ liệu giá trị ( value types): một biến (variable) khi được khai báo với kiểu tham trị thì vùng nhớ của nó sẽ chứa giá trị của dữ liệu. Các kiểu dữ liệu tham trị có sẵn như: bool, byte, char, decimal, double, enum, float, int, long, sbyte, short, struct, ….

Thư viện DateTime được định nghĩa theo kiểu struct nên là một kiểu giá trị được xây dựng sẵn.  Kiểu dữ liệu tham chiếu (reference types): một biến khi được khai báo kiểu dữ liệu tham chiếu thì vùng nhớ của nó được dùng để lưu địa chỉ tham chiếu tới vùng nhớ chứa giá trị thật sự của biến. Một số kiểu built-in reference types như: string, object, delegate, dynamic. Trong chương này chúng ta sẽ tìm hiểu kiểu dữ liệu được xây dựng sẵn string và DateTime 2.1| KHÁI NIỆM Trong C#, string là một kiểu dữ liệu được khai báo để lưu chuỗi ký tự.

Một string là một chuỗi các ký tự unicode hay là mảng các ký tự. Phạm vi của ký tự unicode trong khoảng tuừ U+0000 đến U+FFFF. String class được định nghĩa trong thư viện chuẩn. Hay nói cách khác đối tượng String là tập hợp dãy System.

Kích thước lớn nhất của một string objects khoảng 2GB hay khoảng một tỷ ký tự. Các đặc điểm của lớp String:  Lớp System.String là lớp không thể sửa đổi một khi đối tượng đã được tạo ra.  Thuộc tính Lengh cho biết tổng số các ký tự có trong chuỗi.  Ký tự null cũng được tính vào chiều dài chuỗi.

 Cho phép chuỗi rỗng khi khai báo Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 22 Trong C#, String và string được sử dụng song song. Thực tế chúng không có khác biệt gì, string có thể coi là một bí danh (alias) cho System.2| KHAI BÁO, KHỞI TẠO // Khai báo chuỗi, không khởi tạo string message1; // Khai báo và khởi tạo chuỗi null string message2 = null; // Khai báo và khởi tạo chuỗi rỗng // sử dụng Empty constant thay vì ký hiệu "". string message3 = System.Empty; // Khai báo và khởi tạo chuỗi string oldPath = "c:\\Program Files\\Visual Studio 8.0"; // Khai báo chuỗi hằng const string message4 = "You can't get rid of me!"; // Sử dụng System.String để khai báo System.String greeting = "Hello World!"; // Sử dụng hàm tao khi khai báo string từ một mảng, char[] char[] letters = { 'A', 'B', 'C' }; string alphabet = new string(letters); // chuỗi ABC // Sử dụng hàm tạo khi khai báo string với số ký tự lặp lại string alphabet = new string(‘A’, 5); // chuỗi AAAAA // Khai báo chuỗi đường dẫn thư mục string sPath = @ "c:\Program Files\Visual Studio 8.0"; // Khai báo chuỗi nội suy với $ (interpolate string) string str = $ "Hello, {name}! Today is {DateTime.3| ĐỊNH DẠNG CHUỖI  Định dạng canh lề: Format output Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 23 String.Format(―–{0,10}–―, ―test‖); — test– String. Ví dụ, định dạng một chuỗi tiền tệ trên laptop của tôi sẽ trả về kết quả là £9.99, định dạng chuỗi tiền tệ trên một máy thiết lập vùng US sẽ trả về $9.

specifie forma output output r type t (double 1.00 decimal (whole number System.FormatExceptio d ) {0:d} n -12345 exponent / e scientific {0:e} 1.FormatExceptio r round trippable {0:r} 1.FormatExceptio x hexadecimal {0:x4} n ffffcfc7  Định dạng tuỳ chỉnh: output specifier type format (double 1234. decimal point placeholder {0:0.6 , thousand separator {0:0,0} 1,235 % percentage {0:0%} 123456% Bổ sung thêm các nhóm tách biệt; điều này hữu ích cho các định dạng khác nhau, dựa trên giá trị của tham số truyền vào. Ví dụ: Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 25 String.00);Nothing}‖, value); Kết quả sẽ trả về là ―£1,240.00‖ nếu truyền vào 1243. Nó sẽ xuất ra cùng định dạng trong cặp ngoặc nếu giá trị là âm ―(£1,240.00)‖, và sẽ xuất ra ―Nothing‖ nếu giá trị là zero.4| THUỘC TÍNH, PHƯƠNG THỨC LỚP STRING Thuộc tính: Length Cho chiều dài của chuỗi Char[Int32] Trả về ký tự tại vị trí xác định trong chuỗi Ví dụ: /*Ví dụ: Chương trình in chiều dài chuỗi */ using System; namespace ConsoleApplication11 { class Program { static void Main(string[] args) { String MyStr = "Cao Dang"; Console.WriteLine("Chieu dai chuoi : " + MyStr.Length); for (int i = 0; i <= MyStr.ReadKey(); } } } Kết quả: Chieu dai chuoi : 8 C a o D a n g Một số phương thức xử lý chuỗi: Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 26 Phương thức Ý nghĩa int Compare (string stra, string strb) So sánh hai chuỗi.

Trả về: Vd: String.Compare(str1 , str2 ) -1 : str1 < str2; 0 : str1 = str2; 1. : str1 > str2 string Concat (string str0, string Nối chuỗi str2 vào cuối chuỗi str1, trả về chuỗi str1, …) mới.Concate (str1 , str2 ); bool Contains(string str1) Trả true nếu str1 có chứa chuỗi str2. Ngược lại Vd: str1.Contains(str2); trả về false bool EndsWith(string value) Trả về true nếu str1 có chứa str2 cuối chuỗi.EndsWith(str2) Ngược lại trả về false bool Equals(string value) Trả về true nếu str1 và str2 cùng giá trị, ngược bool Equals(string a, string b) lại trả về false Vd: str1.Equals(str1, str2) int Indexof(string value, int Trả về vị trí bắt đầu chuỗi str2 trong chuỗi str1. startindex) Nếu không có trả về -1 Vd: str1 .IndexOf(str2) Public int IndexOfAny(char[] Trả về chỉ số của bất kỳ ký tự nào trong một anyof) mảng ký tự unicode (Vd: h, T) có trong str1 Char[] ch = { 'h', 'T' }; str1.IndexOfAny(ch )); String Insert(int startindex, string Chèn chuỗi str2 vào str1 tại vị trí startIndex value) Vd: str1.Insert(3, str2) Tài liệu giảng dạy K Thuật Lập Tr nh 2 Trang 27 Bool IsNullOrEmpty (string str) Trả về true nếu chuooix str null hoặc empty Vd: String .IsNullOrEmpty (str1) int LastIndexof(string str) Trả về chỉ mục cho sự xuất hiện cuối cùng của Vd: str1.lastindexof("u") một chuỗi str đã cho bên trong đối tượng hiện t ại Public string remove(int startindex, Xoá trong chuỗi str1 từ vị trí thứ startindex xoá int count) count ký tự Vd: str1.Remove(8, 4) String replace(string oldvalue, Thay thế tất cả chuỗi str1 xuất hiện trong chuỗi string newvalue) bằng chuỗi str2.

Trả về chuỗi mới.Replace(str1, str2) string ToLower() Chuyển chuỗi str1 thành chữ thường. Trả về Vd: str1.ToLower() chuỗi mới string ToUpper() Chuyển chuỗi str1 thành chữ hoa. Trả về chuỗi Vd: str1.ToUpper() mới string Trim() Gỡ bỏ tất cả ký tự khoảng trắng đầu và cuối Vd: str1.Trim() chuỗi Ví dụ: File: Program.cs /*Ví dụ: Chương trình minh họa sử dụng hàm xử lý chuỗi */ using System; using static System.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ