Lập trình có cấu trúc
Ví dụ tính giai thừa của n = n * (n-1) * (n-2) * ... * 1. Không đơn giản chút nào vì bạn phải nói cho máy hiểu được. Số phép nhân là (n - 1) cũng là số thay đổi theo biến số n nữa. Bạn không tính cho n cụ thể nào mà viết chương trình tính chung, nhập bất kỳ n vào cũng tính ra được. Bạn không thể đơn giản làm phép nhân (n - 1) lần vì n là biến số chưa biết mà ^^Đây là hàm tính giai thừa dùng vòng lặp FOR:
long factorial(int n)
{
long result = 1;
for (int i=2; i<=n; i++) result *= i;
return factorial;
}
Vòng lặp này chạy n - 1 lần, với biến số i đầu tiên là 2, kiểm tra điều kiện i <=n, và sau một lần chạy lại tăng i thêm 1 (i++).
result *= i tức là result (mới) = result (cũ) * i.
Đây chính là ngôn ngữ của máy tính và cách diễn đạt công thức gia thừa bằng ngôn ngữ máy tính.
Đặc biệt, bạn có thể viết HÀM ĐỆ QUY: Một hàm gọi lại ... chính nó.
Hàm đệ quy tính giai thừa trong C:
long factorial(int n)
{
if (n<=1) return 1;
else return n*factorial(n-1);
}
Làm thế nào học ngôn ngữ C?
Bạn cần cài C Compiler vào máy >>Khát vọng lập trìnhHoặc: Installing a C++ Compiler on Your Own PC
>>https://www.cs.odu.edu/~zeil/cs250PreTest/latest/Public/installingACompiler/
*C Compiler là chương trình biên dịch chương trình viết bằng C (text) ra file ngôn ngữ máy chạy được (exe).
Nếu bạn không muốn cài C Compiler thì có thể học và mô phỏng tại:
http://www.learn-c.org/
Học C trên mạng: >>Khát vọng lập trình
Tóm lại là hãy học lập trình và thuật toán với C nhé. Bài này chỉ nêu ra MỤC TIÊU để bạn theo đuổi thôi, không phải dạy gì lập trình ở đây. Học C tôi nghĩ là tầm 1 tháng là có thể xong được đấy, vì cũng khá dễ hiểu mà. Nếu bạn muốn trở thành kỹ sư cầu nối thì quan trọng là phải đọc được hiểu mã nguồn chứ lập trình được hay không thì chưa bàn tới.
Mark
No comments:
Post a Comment