Khóa học được chia làm 2 phần:

Phần Nội dung Số buổi (2h00 / 1 buổi)
1 Phần 1: Lớp C.# cơ bản 5
2 Phần 2: Lớp C.# Civil 3D 6

Hỗ trợ sau khóa học

Qúa trình học chia 3 khoảng thời gian

Kiểm tra bài tập về nhà (20 phút)
Dạy nội dung mới (1h30p)
Giao bài tập thực hành (10 phút)

➡Tại sao tôi phải học cả 2 phần ?

Tại vì bạn phải biết C.# về các cú pháp, ngôn ngữ, cấu trúc lập trình, từ đó các bạn mới có thể lập trình trên các phần mềm Civil 3D, AutoCAD, …

➡Học xong tôi có biết lập trình cho AutoCAD không ?

Khi bạn đã học qua C.# cơ bản, C.# cho Civil 3D thì các bạn hoàn toàn có khả năng viết cho AutoCAD, bởi vì các đối tượng như Line, Polyine,.. trên Autocad sẽ dễ hơn các đối tượng Civil3D rất nhiều.

➡Tại sao tôi phải học Lập trình ?

Có 3 lý do:

  1. Bạn là người có đam mê viết ra các ứng dụng mới đáp ứng trong công việc
  2. Bạn cần cho các đồng nghiệp khác thấy được bạn không chỉ là kỹ sư mà còn có thể làm IT lập trình
  3. Chứng tỏ năng lực với sếp

Nội dung bài học phần 1:

Bài 1: Windown Form và Hàm

Bài 2: Biến và các thành phần trong C.#

Bài 3: Cấu trúc vòng lặp For, Switch Case

Bài 4: Cấu trúc hàm Dictionary

Bài 5: Cách tạo lớp đối tượng Class

Nội dung bài học phần 2:

Bài 6: Khai thác các điểm Point

Bài 7: Tương tác với Surface

Bài 8: Làm việc với Alignment

Bài 9: Làm việc với ProfileView

Bài 10: Làm việc với Pipe & Structure

Bài 11: Cách tạo Menu các chức năng & trả lời các câu hỏi

NỘI DUNG CHI TIẾT PHẦN 1

Bài 1: Cài đặt & làm quen với C.#

Cấu hình máy tính tối thiểu để chạy chương trình Visual studio:

Dung lượng ổ cứng: Tối thiểu 800 MB đến 210 GB dung lượng trống, tùy thuộc vào các tính năng được cài đặt; cài đặt thông thường cần 20-50 GB dung lượng trống. Tốc độ ổ cứng: để cải thiện hiệu suất, hãy cài đặt Windows và Visual Studio trên ổ đĩa trạng thái rắn (SSD).

Các bạn nên cài Visual studio phiên bản 2015 là phù hợp.

Đường dẫn cài đặt Visual Studio 2015:

https://tinhte.vn/thread/download-visual-studio-2015-full-huong-dan-cai-dat.2776137/

Thực hành buổi 1:

Bài 2: Biến và các thành phần trong C.#

2.1 Biến (variable)

2.2 Hằng (constant)

2.3 Định danh (Identifier)

2.3.1 Các nguyên tắc cho việc chỉ đặt tên

2.3.2 Từ khóa (Keywords)

2.4 Các kiểu dữ liệu (Data types)

2.4.1 Những kiểu dữ liệu cơ bản và dẫn xuất

2.5    Các toán tử số học (Arithmetic Operators)

Loại dữ liệu Kiểu dữ liệu Kích thước (byte) Miền giá trị
Kiểu Ký tự char 1 -128 đến 127
unsigned char 1 0 đến 255
Kiểu Số nguyên short 2 -32768 đến 32767
int 4 -2147483648 đến 2147483647
long 4 -2147483648 đến 2147483647
long long 8 -9223372036854775808 đến 9223372036854775807
Kiểu Số thực float 4 1.175494-38 đến 3.40282338
double 8 2.225074308 đến 1.797693308
long double 12 3.362103-4932 đến 1.1897314932

 

Kiểu số nguyên

Kiểu số nguyên là kiểu dữ liệu dùng để lưu các giá trị nguyên hay còn gọi là kiểu đếm được. Kiểu số nguyên trong C được chia thành các kiểu dữ liệu con, mỗi kiểu có một miền giá trị khác nhau

Kiểu số nguyên 1 byte (8 bits)

Kiểu số nguyên một byte gồm có 2 kiểu sau:

STT Kiểu dữ liệu Miền giá trị (Domain)
1 unsigned char Từ 0 đến 255 (tương đương 256 ký tự trong bảng mã ASCII)
2 char Từ -128 đến 127

Kiểu unsigned char: lưu các số nguyên dương từ 0 đến 255.

=> Để khai báo một biến là kiểu ký tự thì ta khai báo biến kiểu unsigned char. Mỗi số trong miền giá trị của kiểu unsigned char tương ứng với một ký tự trong bảng mã ASCII .

Kiểu char: lưu các số nguyên từ -128 đến 127. Kiểu char sử dụng bit trái nhất để làm bit dấu.

=> Nếu gán giá trị > 127 cho biến kiểu char thì giá trị của biến này có thể là số âm (?).

Kiểu số nguyên 2 bytes (16 bits)

Kiểu số nguyên 2 bytes gồm có 4 kiểu sau:

STT Kiểu dữ liệu Miền giá trị (Domain)
1 enum Từ -32,768 đến 32,767
2 unsigned int Từ 0 đến 65,535
3 short int Từ -32,768 đến 32,767
4 int Từ -32,768 đến 32,767

Kiểu enum, short int, int : Lưu các số nguyên từ -32768 đến 32767. Sử dụng bit bên trái nhất để làm bit dấu.

=> Nếu gán giá trị >32767 cho biến có 1 trong 3 kiểu trên thì giá trị của biến này có thể là số âm.

Kiểu unsigned int: Kiểu unsigned int lưu các số nguyên dương từ 0 đến 65535.

Kiểu số nguyên 4 byte (32 bits)

Kiểu số nguyên 4 bytes hay còn gọi là số nguyên dài (long) gồm có 2 kiểu sau:

STT Kiểu dữ liệu Miền giá trị (Domain)
1 unsigned long Từ 0 đến 4,294,967,295
2 long Từ -2,147,483,648 đến 2,147,483,647

Kiểu long : Lưu các số nguyên từ -2147483658 đến 2147483647. Sử dụng bit bên trái nhất để làm bit dấu.

=> Nếu gán giá trị >2147483647 cho biến có kiểu long thì giá trị của biến này có thể là số âm.

Kiểu unsigned long: Kiểu unsigned long lưu các số nguyên dương từ 0 đến 4294967295

Kiểu số thực

Kiểu số thực dùng để lưu các số thực hay các số có dấu chấm thập phân gồm có 3 kiểu sau:

STT Kiểu dữ liệu Kích thước (Size) Miền giá trị (Domain)
1 float 4 bytes Từ 3.4 * 10-38 đến 3.4 * 1038
2 double 8 bytes Từ 1.7 * 10-308 đến 1.7 * 10308
3 long double 10 bytes Từ 3.4 *10-4932 đến 1.1 *104932

Các toán tử số học

Trong ngôn ngữ C, các toán tử +, -, *, / làm việc tương tự như khi chúng làm việc trong các ngôn ngữ khác. Ta có thể áp dụng chúng cho đa số kiểu dữ liệu có sẵn được cho phép bởi C. Khi ta áp dụng phép / cho một số nguyên hay một ký tự, bất kỳ phần dư nào cũng bị cắt bỏ. Chẳng hạn, 5/2 bằng 2 trong phép chia nguyên.

Toán tử Ý nghĩa
+ Cộng
Trừ
* Nhân
/ Chia
% Chia lấy phần dư
Giảm 1 đơn vị
++ Tăng 1 đơn vị

Tăng và giảm (++ & –)

Toán tử ++ thêm 1 vào toán hạng của nó và – trừ bớt 1. Nói cách khác:

x = x + 1 giống như ++x

x = x – 1 giống như x—

Cả 2 toán tử tăng và giảm đều có thể tiền tố (đặt trước) hay hậu tố (đặt sau) toán hạng. Ví dụ:x = x + 1 có thể viết x++ (hay ++x)

Tuy nhiên giữa tiền tố và hậu tố có sự khác biệt khi sử dụng trong 1 biểu thức. Khi 1 toán tử tăng hay giảm đứng trước toán hạng của nó, C thực hiện việc tăng hay giảm trước khi lấy giá trị dùng trong biểu thức. Nếu toán tử đi sau toán hạng, C lấy giá trị toán hạng trước khi tăng hay giảm nó. Tóm lại:

x = 10

y = ++x //y = 11

Tuy nhiên:

x = 10

x = x++ //y = 10

Thứ tự ưu tiên của các toán tử số học:

++ — sau đó là * / % rồi mới đến + –

Các toán tử quan hệ và các toán tử Logic

Ý tưởng chính của toán tử quan hệ và toán tử Logic là đúng hoặc sai. Trong C mọi giá trị khác 0 được gọi là đúng, còn sai là 0. Các biểu thức sử dụng các toán tử quan hệ và Logic trả về 0 nếu sai và trả về 1 nếu đúng.

Toán tử Ý nghĩa
Các toán tử quan hệ
> Lớn hơn
>= Lớn hơn hoặc bằng
< Nhỏ hơn
<= Nhỏ hơn hoặc bằng
== Bằng
!= Khác
Các toán tử Logic
&& AND
|| OR
! NOT

Bài 3: Cấu trúc vòng lặp For, Switch Case

Dưới đây là cú pháp của lệnh switch case:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

switch (expression)

​{

case constant1:

// statements

break;

case constant2:

// statements

break;

.

.

.

default:

// default statements

}

 

  • expression phải bắt buộc là giá trị hằng, có thể là biểu thức nhưng kết quả cần là hằng số.
  • Trong đó, expression sẽ được tính toán 1 lần duy nhất và sau đó so sánh với các giá trị của các case.
  • Nếu có 1 case nào đó khớp giá trị, các khối lệnh tương ứng sau case đó sẽ được thực hiện cho tới khi gặp lệnh break. Do đó, nếu chúng ta không sử dụng break thì tất cả các case kể từ case khớp giá trị đều được thực hiện.
  • Case default sẽ được thực hiện nếu không có case nào khớp giá trị với expression.

Dưới đây là sơ đồ khối mô tả hoạt động của lệnh switch case:

Cấu trúc của một vòng lặp for trong C#

Cú pháp:

for ([Khởi tạo]; [Điều kiện lặp]; [Bước lặp lại])

{

// Khối lệnh được lặp lại. Có thể bỏ trống

}

Trong đó:

  • Các phần [Khởi tạo]; [Điều kiện lặp]; [Bước lặp lại] hoàn toàn có thể để trống như ví dụ sau.
  •  Mỗi đoạn [Khởi tạo]; hay [Điều kiện lặp]; hay [Bước lặp lại] là một câu lệnh riêng.

Tiến trình:

  • Ban đầu trình biên dịch sẽ di vào phần khởi tạo chạy đoạn lệnh khởi tạo.
  • Tiếp theo kiểm tra điều kiện lặp. Rồi thực hiện khối code bên trong vòng lặp for. Khi đến ký hiệu } thì sẽ quay lên bước lặp lại.
  • Sau đó lại kiểm tra điều kiện lặp rồi tiếp tục thực hiện đoạn code trong khối lệnh. Đến khi điều kiện lặp không còn thõa mãn thì sẽ kết thúc vòng lặp for.
  • Trường hợp khác:

for (; 😉   // lưu ý dấu ;

{

// Khối lệnh được lặp lại. Có thể bỏ trống

}

Trong đó:

  •  Vòng lặp for này trở thành vòng lặp vô tận.
  •  Lưu ý dấu ; vẫn phải có.

Bài 4: Windown Form và Hàm

Form trong lập trình C# Winform

Label trong lập trình C# Winform

Button trong lập trình C# Winform

Textbox trong lập trình C# Winform

Checkbox trong lập trình C# Winform

Messagebox trong lập trình C# Winform

RadioButton trong lập trình C# Winform

Combobox trong lập trình C# Winform

 

Hàm If…Else

Cú pháp của một lệnh if…else  là:

if(bieu_thuc_boolean){   /* cac lenh se duoc thuc thi neu bieu thuc boolean la true */}else{  /* cac lenh se duoc thuc thi neu bieu thuc boolean la false */}

Nếu biểu thức logic được ước lượng là true, thì khi đó khối if sẽ được thực thi, nếu không thì khối else sẽ được thực thi.

Ngôn ngữ C giả sử rằng bất kỳ giá trị non-zero và non-null là true, và nếu nó là zero hoặc null, thì khi đó nó cho là giá trị false.

Sơ đồ:

Bài 5: Cấu trúc hàm Dictionary

Dictionary là dữ liệu kiểu collection có chứa cặp Key/Value, kiểu khai báo Key và Value. Dữ liệu mà Dictionary lưu trữ là bất kỳ đối tượng nào. Key hoặc Value có thể chứa các kiểu dữ liệu như int,string,.. , mảng array, kiểu liệt kê, hoặc thậm chí là kiểu struct. Cú pháp khai báo:

Dictionary<int, string> newDict = new Dictionary<int, string>();
Để thêm một cặp giá trị vào Dictionay ta sử dụng phương thức Add();

newDict.Add(1, “Chuỗi thứ nhất”); // Chuỗi thứ tư có khóa key là 1

newDict.Add(2, “Chuỗi thứ hai”);

newDict.Add(3, “Chuỗi thứ ba”);

newDict.Add(100, “Chuỗi thứ tư”); // Chuỗi thứ tư có khóa key là 100

Ví dụ:

Bài 6: Cách tạo lớp đối tượng Class

Class trong C# là gì?

Class trong C# chính là cách thể hiện khái niệm về lớp trong lập trình hướng đối tượng.

Một class trong C# có các thành phần như:

  • Thuộc tính: là các thành phần dữ liệu hay còn gọi là các biến.
  • Phương thức: là các hàm thành phần thể hiện các hành vi của một đối tượng thuộc lớp.
  • Phương thức khởi tạo.
  • Phương thức huỷ bỏ.

Class trong C# thực chất là một kiểu dữ liệu mới do người dùng tự định nghĩa.

Khai báo, khởi tạo và sử dụng class trong C#

Cú pháp:

class <tên lớp>

{

  <Phạm vi truy cập> <Các thành phần của lớp>;

}

Trong đó:

  •  <tên lớp> là tên do người dùng đặt và tuân theo quy tắc đặt tên đã trình bày trong bài BIẾN TRONG C#.
  •  <Phạm vi truy cập> bao gồm các từ khoá như public, protected, private, static, . . . sẽ được trình bày trong bài CÁC LOẠI PHẠM VI TRUY CẬP TRONG C#.
  •  <Các thành phần của lớp> bao gồm các biến, phương thức của lớp.
    • Các biến được khai báo như khai báo biến đã học trong bài BIẾN TRONG C#.
    • Các phương thức (hàm) được khai báo như khai báo hàm đã học trong bài HÀM TRONG C#.

Ví dụ:

Bài 5: Cấu trúc hàm Dictionary

Bài 5: Cấu trúc hàm Dictionary

Dictionary là dữ liệu kiểu collection có chứa cặp Key/Value, kiểu khai báo Key và Value. Dữ liệu mà Dictionary lưu trữ là bất kỳ đối tượng nào. Key hoặc Value có thể chứa các kiểu dữ liệu như int,string,.. , mảng array, kiểu liệt kê, hoặc thậm chí là kiểu struct. Cú pháp khai báo:

Dictionary<int, string> newDict = new Dictionary<int, string>();
Để thêm một cặp giá trị vào Dictionay ta sử dụng phương thức Add();

newDict.Add(1, “Chuỗi thứ nhất”); // Chuỗi thứ tư có khóa key là 1

newDict.Add(2, “Chuỗi thứ hai”);

newDict.Add(3, “Chuỗi thứ ba”);

newDict.Add(100, “Chuỗi thứ tư”); // Chuỗi thứ tư có khóa key là 100

Ví dụ:

Bài 6: Cách tạo lớp đối tượng Class

Form trong lập trình C# Winform

Bài 6: Cách tạo lớp đối tượng Class

Class trong C# là gì?

Class trong C# chính là cách thể hiện khái niệm về lớp trong lập trình hướng đối tượng.

Một class trong C# có các thành phần như:

  • Thuộc tính: là các thành phần dữ liệu hay còn gọi là các biến.
  • Phương thức: là các hàm thành phần thể hiện các hành vi của một đối tượng thuộc lớp.
  • Phương thức khởi tạo.
  • Phương thức huỷ bỏ.

Class trong C# thực chất là một kiểu dữ liệu mới do người dùng tự định nghĩa.

Khai báo, khởi tạo và sử dụng class trong C#

Cú pháp:

class <tên lớp>

{

  <Phạm vi truy cập> <Các thành phần của lớp>;

}

Trong đó:

  •  <tên lớp> là tên do người dùng đặt và tuân theo quy tắc đặt tên đã trình bày trong bài BIẾN TRONG C#.
  •  <Phạm vi truy cập> bao gồm các từ khoá như public, protected, private, static, . . . sẽ được trình bày trong bài CÁC LOẠI PHẠM VI TRUY CẬP TRONG C#.
  •  <Các thành phần của lớp> bao gồm các biến, phương thức của lớp.
    • Các biến được khai báo như khai báo biến đã học trong bài BIẾN TRONG C#.
    • Các phương thức (hàm) được khai báo như khai báo hàm đã học trong bài HÀM TRONG C#.

Ví dụ:

Bài 7: Tổng kết C.# cơ bản

Hiểu được C.# là gì ?

Nắm được cấu trúc của Windown Form, các thanh công cụ hỗ trợ tạo Form như Button, Label, Combobox, Datagridview, Group, Radio button, …

Nắm được các cú pháp triển khai code như các vòng lặp For, Forearch. Vòng kiểm tra Switch Case. Hàm điều kiện If .. Else. Hàm chứa như Dictionary, ArrayList, List.

Liên kết được các lớp đối tượng Class. Các chức năng chia sẻ giữa các Class, các biến trung gian, giữa Form với Form

NỘI DUNG CHI TIẾT PHẦN 2

Bài 8: Khai thác các điểm Point

Bài 9: Tương tác với Surface

Bài 10: Làm việc với Alignment

Bài 11: Làm việc với ProfileView

Bài 12: Làm việc với Sections

Bài 13: Làm việc với Pipe

Bài 14: Làm việc với Structure

Bài 15: Cách tạo Menu các chức năng & Tổng kết