You are on page 1of 18

Học lập trình

Chương VI
C#, khái niệm tiên tiến
Suy nghĩ một cách hệ thống
• Suy nghĩ một cách hệ thống chiếm vai trò quan trọng
trong một hệ thống bao gồm nhiều hệ thống con hoặc
các thành phần khác biệt, nhằm mục đích giúp hiểu
hơn về vận hành hệ thống và xử lý các thuộc tính của
chúng. Và đồng thời, giúp tổ chức hệ thống bao gồm
nhiều thành phần, có thể tương tác được giữa chúng.
• Dựa vào định nghĩa này, một chương trình CNTT tương
quan giống như một hệ thống với những thành phần
khác nhau tương tác với nhau để xử lý các vấn đề đặc
thù.
Hệ thống – ví dụ
• Một gia đình là một ví dụ tốt về hệ thống. Mặc dù
gia đình được tạo thành từ cha mẹ và con cái,
nhưng vẫn liên quan đến môi trường xã hội, ví dụ
họ hàng. Nếu tồn tại một không khí nặng nề trong
gia đình, sẽ ảnh hưởng đến toàn thể gia đình bởi
toàn nhóm sẽ thấy lo lắng, và làm ảnh hưởng đến
hoạt động thường ngày. Mặt khác, lời khuyên là
nên có hòa thuận và cân bằng trong gia đình, nếu
điều này xảy ra sẽ có kế quả tốt hơn về hoạt động
trong gia đình.
Hệ thống – ví dụ
• Một thực tế khác là công ty. Bất kỳ công ty nào
đều có một kiến trúc đặc thù và một hoặc một
vài bộ phận trong đó sẽ bắt đầu có vấn đề gì
đó và gây ra ảnh hưởng cho các bộ phận khác.
Chắc chắn là thế vì công ty phải vận hành như
một hệ thống, và khi đó nếu một phần bị ảnh
hưởng, sẽ gây ra ảnh hưởng cho bộ phận
khác.
Khởi đầu – Điều kiện
• Trong chương trước, chúng ta đã nói về định hướng có
điều kiện và lập trình các trang web động giúp chúng
ta có thể tải về các loại dữ liệu khác nhau và đưa ra
giao diện tùy thuộc vào tương tác với người dùng.
• Nhưng làm sao để có được những quyết định trong
ngôn ngữ lập trình?
• Làm sao để tôi tạo được những quyết định hàng ngày?
Khi bạn vào cửa hàng mua kẹo, bạn có thể hỏi giá và
nếu bạn có đủ tiền để mua (tùy theo giá kẹo và tiền
trong ví), và rồi bạn mua.
Điều kiện
• Để dịch cái này thành mã chương trình bạn phải

Ask price
Receive price
IF moneyInWallet >= price
THEN
buyCandy
IF NOT
leaveWithoutCandy

• Như bạn đã thấy, không quá phức tạp. Đây là cách để xử lý vấn đề hàng ngày.
Hãy xem câu lệnh sau: IF <điều kiện>, THEN xảy ra sự kiện, IF NOT, sự kiện
khác xảy ra.
• Đây gọi là câu lệnh điều kiện.
Điều kiện
• Đây là câu lệnh cơ bản bạn sẽ dùng khi tạo ra quyết định trong chương trình.
Chúng sẽ giúp bạn quyết định bạn thực hiện 1 hoặc vài câu lệnh trong chương
trình, như sau:

Ask price
Receive price
IF price <= 5
THEN
buyCandy
OR IF price <=10
Borrow money from mom
buyCandy
IF NOT
leaveWithoutCandy
Điều kiện - IF
• Nếu chúng ta dịch sang ngôn ngữ.NET câu lệnh sẽ như sau:

if (condition)
{

}
else
{

}

• Trong “điều kiện”, bạn viết vài câu hỏi để nhận về câu trả lời đúng hay sai, và rồi
không gian trống sẽ cho bạn viết toàn bộ câu lệnh được thực hiện dựa theo
điều kiện.
Vòng lặp
• Điều gì sẽ xảy ra nếu thay vì chúng ta mượn tiền từ mẹ, chúng ta tìm nguồn
khác để mua kẹo? Làm sao để tiếp hỏi nếu chúng ta chưa đủ tiền mua?
• Để xử lý những vấn đề này, ngôn ngữ lập trình cung cấp vòng lặp: Chúng
đơn giản được gọi là “sự lặp”. Trong đầu chúng ta, chugns ta tiếp tục làm
các hành động lien tiếp giống nhau cho đến khi tìm được kết quả đích:

Ask price
Receive price
AS LONG AS moneyInWallet <= price
Ask newPrice
Receive newPrice
price  newPrice
Buy the item which I have enough money for
Vòng lặp - WHILE
• Trong ngôn ngữ .NET, lệnh đại diện WHILE như sau:

while (condition)
{

}

• Do đó, trong chương 1, chúng ta đã nói về nguyên tắc


chương trình: “bất kỳ hành vi lặp và có thể tiên đoán đều có
thể được lập trình”. Với những câu lệnh này, chugns ta sẽ
thực hiện được đúng đường hướng mà hệ thống yêu cầu.
Dữ liệu
• Dữ liệu là đại diện cho các tính năng và thuộc tính.
Ví dụ, số ID là một dữ liệu thuộc về cá nhân. Nếu
bạn không định nghĩa những số này thuộc về ai đó,
thì con số bản thân nó không nói lên điều gì.
• Nếu bạn xử lý hoặc dịch dữ liệu, thì bạn đã xây
dựng thông tin, và xử lý những thứ gọi là ngữ cảnh.
• Trong CNTT, dữ liệu đại diện bởi giá trị. Do đó, quan
trọng là dữ liệu là giá trị của một thứ gì đó.
Dữ liệu
• Dữ liệu sử dụng trong chương trình được lưu dưới dạng
thành phần phụ thuộc vào việc thay đổi hay không
được gọi là:
– Hằng số: giá trị không đổi trong chương trình.
– Biến số: Giá trị có thể thay đổi.

• Những thành phần này có những đặc tính khác nhau:


– Nó có thể được định nghĩa bởi các tên đặc thù (x, counter, i,
addition, etc).
– Chúng có kiểu được mô tả như số, ký tự v..v.
– Chúng có nội dung, ví dụ giá trị hoặc đặc tính dữ liệu lưu trữ.
Dữ liệu trong .NET
• Như vậy, trong .NET, bạn có thể khai báo biến số và hằng
số theo cách đơn giản sau:
– int x = 0; (bạn tạo ra các biến số dưới tên x và gán cho giá trị 0)
– const int y = 0; (như trên, nhưng x sẽ là hằng số không thay
đổi được)
• Sau khi có thay đổi, các biến số có thể đổi giá trị theo
chương trình của bạn. Để làm vậy, bạn chỉ cần giới thiệu
và gán theo ví dụ dưới đây:
– x = 2 + 6;
– x = x + x;
– x = x + y;
Dữ liệu – cân nhắc
• Bạn cần cân nhắc khi làm việc với biến số và hằng
số. Một trong những cân nhắc chủ đạo là chương
trình của bạn không thể có 2 biến số hay hằng số
cùng tên, vì chương trình không biết bạn định chạy
gì với dữ liệu đó. Điều này có thể gây lên lỗi cho mã
chương trình.
• Một cân nhắc khác cần nhập tâm là các biến số hay
hằng số chỉ có thể có 1 kiểu dữ liệu đặc thù, không
thể vừa là số vừa là thời gian. Ví dụ không thể gán
số vào biến số có kiểu ký tự Word được.
Lập trình – luyện tập
• Trước tiền, bạn cần tạo ra biến số lúc khởi điểm trong thuật
toán, nhờ đó sẽ dễ dàng biết chính xác dữ liệu được quản lý
ra sao và tránh được việc thêm các thông tin khi bạn mới lập
trình.
• Một cách khác để luyện tập là luyện với biến số, hằng số và
các phần khác của mã chương trình. Những tên này sẽ phải là
đặc tả và không quá dài.
• Cuối cùng, lỗi quan trọng cần làm là căn lề. Nghĩa là gì? Bất kỳ
khi nào bạn có lệnh, ví dụ IF hoặc WHILE với mã được thực
hiện trong lệnh, viết các khối lệnh với các Tab đúng. Dù tin hay
không, việc căn lề sẽ giúp cho chương trình của bạn dễ đọc
hơn hẳn..
Một vài luyện tập
• Bạn sẽ viết chương trình đơn
giản để cộng 10 số tự nhiên từ 1
đến 10
• Mở Visual Studio và tạo ra màn
hình dự án trong C#. Rồi tạo ra
Class mới và đặt tên Exercise1.cs.
Một vài luyện tập
// Exercise1.cs
public class Exercise1
{
public static void Main()
{
int addition=0;
int number=0;
const int n = 10;
while(number<n)
{
number=number+1;
addition=addition+number;
}
System.Console.WriteLine(“The addition is: " + addition);
}
}
Bài tập
• Làm bài tập sau đây:
– Lập trình tính số trung bình cộng của 3 số.
– Lập trình để tính xem liệu số được cho có phải là
số nguyên tố hay không.

You might also like