Download Visual Studio

You can download Visual Studio here.

Download Dev C++

You can download Dev C++ here.

Download Python

You can download Python here.

Vài điều cho các bạn trẻ

Quà tặng cuộc sống.

Thứ Năm, 27 tháng 7, 2017

[C++] Bài 6: Hàm trong C++

1. Định nghĩa hàm

      Hàm là "cái thứ" mà  ta bắt buộc phải sự dụng trong lập trình C++. Ta sử dụng hàm trong mọi chương trình C++ từ lớn đến bé và cái hàm kinh điển nhất mà ta luôn nhìn thấy nó đó là hàm main(). Hàm mai() là hàm chính của chương trình C++ (như đúng cái tên của nó), tại đây ta thực hiện mọi câu lệnh, các phép toán,..., và mỗi chương trình C++ chỉ có duy nhất một hàm main(). Trong hamf mai() ta có thể khai báo các hàm khác hoặc thực hiện các hàm đã được khai báo.
       Một hàm được định nghĩa là một chuỗi các câu lệnh có thể được sử dụng lại và được thiết kế bởi lập trình viên để thực hiện một mục đích nhất định. Một chương trình có thể có 1 hàm chính - hàm main(), hoặc có nhiều hơn một hàm.
        Hàm có thể trả về một giá trị hoặc không trả về gì cả (trừ hàm main). Các câu lệnh trong hàm sẽ thực hiện khi chúng ta gọi đến các hàm đó, nói cách khác, hàm là thứ mà luôn "chầu chực" để được ta gọi đến và sử dụng ^^

2. Khai báo và sử dụng hàm


* Cú pháp khai báo hàm
Để khai báo một hàm ta sử dụng cú pháp như sau:
<data type> function_name (variables)
{
        /*Your code here*/
}
+ Phần <data type> là kiểu dữ liệu trả về của hàm (int, double, float, char,etc.), nếu không trả về gì cả ta chọn kiểu dữ liệu là void.
+ Phần function_name là tên hàm. Chú ý, tên hàm không bao gồm dấu cách, ký tự đặc biệt (trừ dấu gạch dưới "_") và không bắt đầu bằng số, tên hàm không được trùng với các từ khoá dựng sẵn trong C++.
+ Phần variables là phần chứa các tham số của hàm. Một hàm có thể có hoặc không có tham số nào cả, khi định nghĩa có bao nhiêu tham số thì khi gọi tương ứng phải có bấy nhiêu biến.
Ví dụ:
/* Đây là hàm in ra câu "Hello, World!"
Hàm này không trả về gì cả*/
void print_hello()
{
        std::cout <<"Hello, World!\n";
}

/*Đây là hàm tính bình phương của một số
Hàm này trả về giá trị bình phương của biến*/
int square(int x)
{
        int y = x*x;
        return y;
}

* Sử dụng hàm
       Tham số của hàm là một biến được sử dụng trong hàm nơi mà giá trị sẽ được cung cấp vào khi gọi hàm, nói cách khác, tham số của hàm chính là phần chúng ta khai báo trong dấu ngoặc đơn và chúng ta có thể khai báo không, một hoặc nhiều tham số thông ngăn cách với nhau bởi dấu phẩy.
Ví dụ:
void Print_hello()
{
       //Hàm không tham số
}
int square(int x)
{
       //Hàm có một tham số
}
double area(int x, int y)
{
       //Hàm có 2 tham số
}
     
       Arguments (mình cũng không biết dịch sang tiếng Việt nó gọi là gì :) ) là một giá trị được truyền vào trong hàm khi ta gọi hàm.
Ví dụ:
int main()
{
        double x = area(5, 7); //gán biến x có giá trị bằng giá trị của hàm area tại x = 5, y = 7; 5,t là arguments
}

3. Các cách truyền arguments cho hàm

Chúng ta nói đến các cách truyền argument cho hàm như sau:
* Truyền bằng giá trị (Passing by Value)
        Thông thường, mặc định trong C++, argument được truyền vào hàm bởi giá trị. Khi được truyền vào bằng giá trị, giá trị của argument sẽ được copy vào trong tham số của hàm.
Ví dụ:
int square(int x)
{
       return x*x;
}
int main()
{
       std::cout << square(5); //25
       int n = 6;
       std::cout << square(x); //36
}

* Truyền bằng con trỏ (Passing by Pointer)
       Ta sử dụng một con trỏ đề đưa địa chỉ của biến vào trong tham số. Phần này sẽ được nhắc lại sau khi ta học con trỏ và tham chiếu.
* Truyền bằng tham chiếu (Passing by Reference)
       Ta sử dụng một tham chiếu để đưa địa chỉ của biến vào trong tham số. Phần này sẽ được nhắc lại sau khi ta học con trỏ và tham chiếu.

4. Nạp chồng hàm

       Nạp chồng hàm là một feature (một đặc trưng) của C++ mà chúng ta có thể tạo nhiều hàm với cùng tên miễn là chúng khác nhau về tham số, kiểu dữ liệu,etc.
Ví dụ:
int add(int x, int y)
{
       return x + y;
}

double add(double x, double y)
{
       return x + y;
}


5. Bài tập ví dụ:

Viết một chương trình C++ sử dụng hàm để tính chu vi và diện tích của một hình chữ nhật

#include <iostream>
void Rectangle(int x, int y)
{
    std::cout << "The Perimeter of Rectangle is: " << 2*(x+y) << std::endl;
    std::cout << "The area of Rectangle is: "<< x*y << std::endl;
}
int main()
{
    Rectangle(3,5);
}

Kết quả sau khi compile:





Thứ Hai, 24 tháng 7, 2017

[Python] Bài 2: Hello World!

1. Sử dụng Powershell để biên dịch Python.

* Khởi động giao diện Powershell

       Trong window chúng ta có một giao diện điều khiển giống cmd nhưng "đẹp" hơn cmd một chút đó là Powershell. Powershell được xây dựng bởi Jeffrey Snover, Bruce Payette, James Truher và được ra mắt lần đầu ngày 14 thánh 11 năm 2006 (wiki). Powershell là một task tự động và là một framework quản lý cấu hình của Microsoft, nó bao gồm một giao diện các dòng lệnh điều khiển và biên dịch các ngôn ngữ dựa trên nền tảng .NET Framework và .NET Core. Nó cũng được coi là công cụ thay thế dần cmd với giao diện đẹp hơn và hỗ trợ GUI (Graphical User Interface).
       Để khởi động Powershell trong Window ta sử dụng tổ hợp phím Window + R, nhập vào powershell và được giao diện khởi động như sau:


* Các thao tác cơ bản trong powershell

+ Đi tới đường dẫn chứa thư mục có file cần  compile: cd <đường dẫn thư mục>
Ví dụ: cd Documents\Python (đường dẫn trên máy mình)


+ Trở về thư mục trước: cd ..
+ Hiển thị các file trong thư mục: ls
 

+ Vào môi trường lập trình Python trực tiếp trên powershell: python (tại đây ta có thể chạy trực tiếp các câu lệnh Python)


       Các lệnh khác trong powershell ta sẽ nhắc đến khi sử dụng trong quá trình học Python.

2.Chương trình đầu tiên "Hello, World!"


* Biên dịch trực tiếp trên powshell


       Vào powershell, sử dụng câu lệnh python để vào môi trường python như trên. Để in ra một nội dung trong Python, ta sử dụng câu lệnh: print "Nội dung"
Ví dụ: >>>print "Hello, World!" Ta được kết quả như sau:


      Để thoát khỏi môi trường Python ta sử dụng hàm quit()

* Sử dụng trình soạn thảo (Sublime) kết hợp với powershell

       Ta có thể dùng trực tiếp powershell để in ra chương trình "Hello, World!" như trên, tuy nhiên thường thì không ai sử dụng nó cả bởi vì nó không thể viết được những chương trình có nội dung lớn gồm nhiều câu lệnh và hơn nữa, "NÓ XẤU" :)
        Ở đây ta sử dụng trình soạn thảo đó là Sublime Text, trong Sublime ta nhập vào nội dung như sau:


       Sau đó lưu vào thư mục của mình dưới tên "Hello_world.py"

       Để biên dịch file này trong powershell ta sử dụng câu lệnh sau (Hãy chắc chắn là ta đi đến thư mục đó rồi và trong thư mục có file đó): python Hello_world.py
        Kết quả nhận được như sau:


3. Chú thích trong Python và các thứ các thứ

* Chú thích trong Python:

       Như đã nói trong C++, mình không nhắc lại về lợi ích của chú thích trong Python nữa.
       Để chú thích trong Python trên một dòng, ta sử dụng kí tự # đặt trước một câu chú thích, muốn chú thích nhiều dòng ta sử dụng """ và """.
Ví dụ:


* In nhiều dòng trong Python:

       Để in nhiều dòng trong Python ta cũng sử dụng """ và """, nội dung trong 3 dấu nháy kép đó được giữ nguyên định dạng như trong file soạn thảo.
Ví dụ:


Kết quả nhận được như sau:


* Dấu ' và dấu "

       Trong Python, khi in một nội dung ra thì ta có thể đặt nó trong dấu ' hoặc ", chúng có chức năng tương tự nhau, muốn in ra dấu này thì ta có thể dùng dấu còn lại làm block cho cả câu và ngược lại, điều đó giúp chúng ta không cần thiết phải dùng dấu "\" để in kí tự đó.
Ví dụ:


Kết quả nhận được như sau:


* In kí tự đặc biệt trong Python

      Giống như tron C++, ta sử dụng dấu "\" để in ra kí tự đặc biệt hoặc in kí tự xuống dòng, tab...
Ví dụ:


Kết quả nhận được là: