Trong nội dung bài này, chúng ta cùng nhau tìm hiểu một số kiến thức cơ bản xung quanh số nguyên tố.
Một số tự nhiên p (p > 1) là số nguyên tố nếu p có đúng 02 ước số là 1 và p.
Ví dụ các số nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19, 23, …
Chúng ta cùng nhau thực hiện một số giải thuật cơ bản bằng ngôn ngữ PHP để giải quyết các bài toán con sau:
Kiểm tra xem một số tự nhiên n có phải là số nguyên tố hay không.
Liệt kê các số nguyên tố nằm trong phạm vi [1, n].
Kiểm tra tính nguyên tố
Giải thuật thứ nhất
Ý tưởng giải thuật
Chúng ta kiểm tra xem có tồn tại một số nguyên k (2 ≤ k ≤ n – 1) mà k là ước của n (n chia hết cho k) thì n không phải là số nguyên tố, ngược lại n là số nguyên tố.
Trên thực tế ta chỉ cần kiểm tra k từ 2 đến √n là được.
Bước 1.
Chúng ta tạo một PHP Project trong Eclipse IDE và đặt tên là PHPAlgorithmBasicProject.
Chúng ta tiếp tục tạo file index.php.
Bước 2.
Chúng ta tạo folder algorithm và class SoNguyenTo.php.
Chúng ta tiếp tục tạo phương thức kiemTraSNTFirst() với:
Tham số cho phương thức này là một số tự nhiên n.
Kiểu dữ liệu trả về là bool. Phương thức trả về kết quả: (i) TRUE nếu n là số nguyên tố; (ii) FALSE nếu ngược lại.
Bước 3.
Chúng ta thực hiện giải thuật bằng ngôn ngữ PHP như sau:
Những kỹ thuật lập trình cần chú ý:
Phương thức để tính căn bậc 2 của một số tự nhiên n là sqrt().
Phương thức để lấy phần nguyên của một số thập phân là round().
Bước 4.
Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTFirst() trong index.php như sau:
Bước 5.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Giải thuật thứ hai
Ý tưởng giải thuật
Chúng ta sẽ chỉ kiểm tra các số k có tính chất giống với một trong hai tính chất cơ bản sau của số nguyên tố:
Trừ số 2 và các số nguyên tố là số lẻ.
Trừ số 2, 3, các số nguyên tố có dạng 6k ± 1 (vì số có dạng 6k ± 2 thì chia hết cho 2, số có dạng 6k ± 3 thì chia hết cho 3).
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ PHP như sau:
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTSecond() trong index.php như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Liệt kê các số nguyên tố trong đoạn [1, N]
Giải thuật thứ nhất
Ý tưởng giải thuật
Chúng ta lần lượt xem xét các số m trong đoạn [1, n], rồi kiểm tra tính nguyên tố của m.
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ PHP như sau:
Những kỹ thuật lập trình cần chú ý:
Khác với những ngôn ngữ khác như Java / Csharp. PHP không quy định cứng kiểu dữ liệu cho từng phần tử trong tập hợp. Do vậy chúng ta phải chủ động xác định kiểu dữ liệu cho từng phần tử trong tập hợp.
Để điều chỉnh giá trị và số lượng phần tử trong một tập hợp, chúng ta thêm ký tự & vào trước tên biến. Tương tự như trong C, ký tự này thể hiện địa chỉ trong bộ nhớ đối với tập hợp.
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức lietKeSNTFirst() trong index.php như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Giải thuật thứ hai
Ý tưởng giải thuật
Chúng ta áp dụng sàng Eratosthenes để tìm các số nguyên tố nhỏ hơn hoặc bằng số tự nhiên n:
Bước 1: Tạo 1 danh sách các số tự nhiên liên tiếp từ 2 đến n: (2, 3, 4,…, n).
Bước 2: Giả sử tất cả các số trong danh sách đều là số nguyên tố. Trong đó, p = 2 là số nguyên tố đầu tiên.
Bước 3: Tất cả các bội số của p: 2p, 3p, 4p,… sẽ bị đánh dấu vì không phải là số nguyên tố.
Bước 4: Tìm các số còn lại trong danh sách mà chưa bị đánh dấu và phải lớn hơn p. Nếu không còn số nào, dừng tìm kiếm. Ngược lại, gán cho p giá trị bằng số nguyên tố tiếp theo và quay lại bước 3.
Khi giải thuật kết thúc, tất các số chưa bị đánh dấu trong danh sách là các số nguyên tố cần tìm.
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ PHP như sau:
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức lietKeSNTSecond() trong index.php như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số giải thuật cơ bản xung quanh số nguyên tố và thực hiện bằng ngôn ngữ PHP.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.
Trong nội dung bài này, chúng ta cùng nhau tìm hiểu một số kiến thức cơ bản xung quanh số nguyên tố.
Một số tự nhiên p (p > 1) là số nguyên tố nếu p có đúng 02 ước số là 1 và p.
Ví dụ các số nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19, 23, …
Chúng ta cùng nhau thực hiện một số giải thuật cơ bản bằng ngôn ngữ Python để giải quyết các bài toán con sau:
Kiểm tra xem một số tự nhiên n có phải là số nguyên tố hay không.
Liệt kê các số nguyên tố nằm trong phạm vi [1, n].
Kiểm tra tính nguyên tố
Giải thuật thứ nhất
Ý tưởng giải thuật
Chúng ta kiểm tra xem có tồn tại một số nguyên k (2 ≤ k ≤ n – 1) mà k là ước của n (n chia hết cho k) thì n không phải là số nguyên tố, ngược lại n là số nguyên tố.
Trên thực tế ta chỉ cần kiểm tra k từ 2 đến √n là được.
Bước 1.
Chúng ta tạo một PyDev Project trong Eclipse IDE và đặt tên là PythonAlgorithmBasicProject.
Chúng ta tiếp tục tạo package main và module Main.py cùng phương thức main() mặc định.
Bước 2.
Chúng ta tạo package algorithm và module SoNguyenTo.py.
Chúng ta tiếp tục tạo phương thức kiemTraSNTFirst() với:
Tham số cho phương thức này là một số tự nhiên n.
Phương thức trả về kết quả: (i) True nếu n là số nguyên tố; (ii) False nếu ngược lại.
Bước 3.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:
Những kỹ thuật lập trình cần chú ý:
Phương thức để tính căn bậc 2 của một số tự nhiên n là math.sqrt().
Phương thức để lấy phần nguyên của một số thập phân là round().
Thư viện math định nghĩa các phương thức dùng tính toán các biểu thức toán học cơ bản. Các phương thức này đều là tĩnh nên được gọi trực tiếp bằng cú pháp math.phương_thức().
Bước 4.
Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTFirst() trong module Main.py như sau:
Bước 5.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Giải thuật thứ hai
Ý tưởng giải thuật
Chúng ta sẽ chỉ kiểm tra các số k có tính chất giống với một trong hai tính chất cơ bản sau của số nguyên tố:
Trừ số 2 và các số nguyên tố là số lẻ.
Trừ số 2, 3, các số nguyên tố có dạng 6k ± 1 (vì số có dạng 6k ± 2 thì chia hết cho 2, số có dạng 6k ± 3 thì chia hết cho 3).
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTSecond() trong module Main.py như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Liệt kê các số nguyên tố trong đoạn [1, N]
Giải thuật thứ nhất
Ý tưởng giải thuật
Chúng ta lần lượt xem xét các số m trong đoạn [1, n], rồi kiểm tra tính nguyên tố của m.
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:
Những kỹ thuật lập trình cần chú ý:
Python cung cấp cho chúng ta một số kiểu dữ liệu lưu trữ tập hợp. Chúng ta thường sử dụng một số dạng sau: (i) List để lưu trữ không giới hạn các phần tử có thể trùng nhau; (ii) Tuple để lưu trữ một số lượng cố định các phần tử không trùng nhau; (ii) Dictionary để lưu trữ không giới hạn các phần tử theo từng cặp <từ_khóa, giá_trị>. Chúng ta sẽ dần tìm hiểu cụ thể hơn trong những bài tiếp theo.
Khác với những ngôn ngữ khác như Java / Csharp. Python không quy định cứng kiểu dữ liệu cho từng phần tử trong tập hợp. Do vậy chúng ta phải chủ động xác định kiểu dữ liệu cho từng phần tử trong tập hợp.
Với tham số là một biến riêng lẻ, giá trị của tham số sẽ không bị thay đổi sau khi thực hiện phương thức.
Với tham số là một List hay Dictionary, các phần tử của danh sách có thể bị thay đổi sau khi thực hiện phương thức.
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức lietKeSNTFirst() trong module Main.py như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Giải thuật thứ hai
Ý tưởng giải thuật
Chúng ta áp dụng sàng Eratosthenes để tìm các số nguyên tố nhỏ hơn hoặc bằng số tự nhiên n:
Bước 1: Tạo 1 danh sách các số tự nhiên liên tiếp từ 2 đến n: (2, 3, 4,…, n).
Bước 2: Giả sử tất cả các số trong danh sách đều là số nguyên tố. Trong đó, p = 2 là số nguyên tố đầu tiên.
Bước 3: Tất cả các bội số của p: 2p, 3p, 4p,… sẽ bị đánh dấu vì không phải là số nguyên tố.
Bước 4: Tìm các số còn lại trong danh sách mà chưa bị đánh dấu và phải lớn hơn p. Nếu không còn số nào, dừng tìm kiếm. Ngược lại, gán cho p giá trị bằng số nguyên tố tiếp theo và quay lại bước 3.
Khi giải thuật kết thúc, tất các số chưa bị đánh dấu trong danh sách là các số nguyên tố cần tìm.
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức lietKeSNTSecond() trong module Main.py như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số giải thuật cơ bản xung quanh số nguyên tố và thực hiện bằng ngôn ngữ Python.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.
Trong nội dung bài này, chúng ta cùng nhau tìm hiểu một số kiến thức cơ bản xung quanh số nguyên tố.
Một số tự nhiên p (p > 1) là số nguyên tố nếu p có đúng 02 ước số là 1 và p.
Ví dụ các số nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19, 23, …
Chúng ta cùng nhau thực hiện một số giải thuật cơ bản bằng ngôn ngữ Java để giải quyết các bài toán con sau:
Kiểm tra xem một số tự nhiên n có phải là số nguyên tố hay không.
Liệt kê các số nguyên tố nằm trong phạm vi [1, n].
Kiểm tra tính nguyên tố
Giải thuật thứ nhất
Ý tưởng giải thuật
Chúng ta kiểm tra xem có tồn tại một số nguyên k (2 ≤ k ≤ n – 1) mà k là ước của n (n chia hết cho k) thì n không phải là số nguyên tố, ngược lại n là số nguyên tố.
Trên thực tế ta chỉ cần kiểm tra k từ 2 đến √n là được.
Bước 1.
Chúng ta tạo một Java Project trong Eclipse IDE và đặt tên là JavaAlgorithmBasicProject.
Chúng ta tiếp tục tạo package main và class Main.java cùng phương thức main() mặc định.
Bước 2.
Chúng ta tạo package algorithm và class SoNguyenTo.java.
Chúng ta tiếp tục tạo phương thức kiemTraSNTFirst() với:
Tham số cho phương thức này là một số tự nhiên n.
Kiểu dữ liệu trả về là boolean. Phương thức trả về kết quả: (i) true nếu n là số nguyên tố; (ii) false nếu ngược lại.
Bước 3.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Java như sau:
Những kỹ thuật lập trình cần chú ý:
Phương thức để tính căn bậc 2 của một số tự nhiên n là Math.sqrt().
Phương thức để lấy phần nguyên của một số thập phân là Math.round().
Thư viện Math định nghĩa các phương thức dùng tính toán các biểu thức toán học cơ bản. Các phương thức này đều là tĩnh nên được gọi trực tiếp bằng cú pháp Math.phương_thức().
Bước 4.
Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTFirst() trong class Main.java như sau:
Bước 5.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Giải thuật thứ hai
Ý tưởng giải thuật
Chúng ta sẽ chỉ kiểm tra các số k có tính chất giống với một trong hai tính chất cơ bản sau của số nguyên tố:
Trừ số 2 và các số nguyên tố là số lẻ.
Trừ số 2, 3, các số nguyên tố có dạng 6k ± 1 (vì số có dạng 6k ± 2 thì chia hết cho 2, số có dạng 6k ± 3 thì chia hết cho 3).
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Java như sau:
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTSecond() trong class Main.java như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Liệt kê các số nguyên tố trong đoạn [1, N]
Giải thuật thứ nhất
Ý tưởng giải thuật
Chúng ta lần lượt xem xét các số m trong đoạn [1, n], rồi kiểm tra tính nguyên tố của m.
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Java như sau:
Những kỹ thuật lập trình cần chú ý:
Java cung cấp cho chúng ta một số kiểu dữ liệu lưu trữ tập hợp các phần tử bên cạnh kiểu dữ liệu mảng. Chúng ta thường sử dụng một số dạng sau: (i) List để lưu trữ không giới hạn các phần tử có thể trùng nhau; (ii) Set để lưu trữ không giới hạn các phần tử không trùng nhau; (ii) Map để lưu trữ không giới hạn các phần tử theo từng cặp . Chúng ta sẽ dần tìm hiểu cụ thể hơn trong những bài tiếp theo.
Java cung cấp một phương pháp để xác định kiểu dữ liệu cho toàn bộ các phần tử trong danh sách: định nghĩa ngay từ ban đầu kiểu dữ liệu trong cặp dấu <>. Ví dụ ở đây là List.
Với tham số là một biến riêng lẻ, giá trị của tham số sẽ không bị thay đổi sau khi thực hiện phương thức.
Với tham số là một danh sách, các phần tử của danh sách có thể bị thay đổi sau khi thực hiện phương thức.
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức lietKeSNTFirst() trong class Main.java như sau:
Những kỹ thuật lập trình cần chú ý:
Java cung cấp các dạng List khác nhau để chúng ta sử dụng tùy theo trường hợp: (i) ArrayList được sử dụng khi không quan tâm đến thứ tự trước sau của các phần tử; (ii) LinkedList được sử dụng khi quan tâm đến thứ tự trước sau của các phần tử.
Kiểu dữ liệu của các phần tử trong List đã được khai báo ban đầu thì không cần khai báo đối với ArrayList<>.
Số lượng phần tử của một danh sách là không giới hạn nên không cần khai báo trước số lượng phần tử ban đầu.
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Bước 1: Tạo 1 danh sách các số tự nhiên liên tiếp từ 2 đến n: (2, 3, 4,…, n).
Bước 2: Giả sử tất cả các số trong danh sách đều là số nguyên tố. Trong đó, p = 2 là số nguyên tố đầu tiên.
Bước 3: Tất cả các bội số của p: 2p, 3p, 4p,… sẽ bị đánh dấu vì không phải là số nguyên tố.
Bước 4: Tìm các số còn lại trong danh sách mà chưa bị đánh dấu và phải lớn hơn p. Nếu không còn số nào, dừng tìm kiếm. Ngược lại, gán cho p giá trị bằng số nguyên tố tiếp theo và quay lại bước 3.
Khi giải thuật kết thúc, tất các số chưa bị đánh dấu trong danh sách là các số nguyên tố cần tìm.
Bước 1.
Chúng ta thực hiện giải thuật bằng ngôn ngữ Java như sau:
Bước 2.
Chúng ta thực hiện thử nghiệm phương thức lietKeSNTSecond() trong class Main.java như sau:
Bước 3.
Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:
Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số giải thuật cơ bản xung quanh số nguyên tố và thực hiện bằng ngôn ngữ Java.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.
Tiếp theo nội dung của bài trước, trong bài này chúng ta cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong PHP đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Chúng ta thực hiện tiếp Yêu cầu 2 và Yêu cầu 3 của bài toán cơ bản thông qua những kỹ thuật về lập trình:
Kỹ thuật vòng lặp for kiểu mới.
Câu lệnh điều khiển và rẽ nhánh.
Các toán tử cơ bản.
Định nghĩa và thực thi các phương thức.
Chúng ta cũng tìm hiểu phương pháp debug trong Eclipse IDE để kiểm tra từng câu lệnh cũng như bắt lỗi.
Những kỹ thuật được trình bày sẽ mang tính phổ quát và độc lập ngôn ngữ lập trình. Điều đó có nghĩa rằng chúng ta có thể áp dụng ý tưởng từ các kỹ thuật này khi tìm hiểu các ngôn ngữ khác như Java / C# / Python.
Xây dựng phương thức trong PHP
Một phương thức trong PHP là một khối các câu lệnh có tên và có thể được thực thi bằng cách gọi từ một nơi khác trong chương trình.
Cấu trúc cú pháp của một phương thức như sau:
function tên_phương_thức (danh_sách_tham_số) [: kiểu_dữ_liệu_trả_về] { // Thực hiện công việc }
Chúng ta có hai dạng phương thức chính:
Dạng phương thức không trả về kết quả.
Dạng phương thức có trả về kết quả.
Xây dựng phương thức không trả về kết quả
Bước 1.
Chúng ta thực hiện việc tạo một PHP Project mới trong Eclipse IDE.
Chúng ta tiếp tục thực hiện việc tạo file index.php.
Màn hình giao diện Eclipse IDE hiển thị nội dung của file index.php hiện ra.
Bước 2.
Chúng ta thực hiện việc tạo folder baitap và file BaiCoBan.php.
Chúng ta tiếp tục tạo phương thức:
function tinhTong() {}
Bước 3.
Nội dung đầu tiên bên trong phương thức tinhTong() như sau:
Bước 4.
Nội dung thứ hai bên trong phương thức tinhTong() như sau:
Bước 5.
Nội dung thứ ba bên trong phương thức tinhTong() như sau:
Ở đây chúng ta có một số điểm cần chú ý:
Thứ nhất, kỹ thuật lặp for mới.
Cú pháp cho kỹ thuật lặp for mới như sau:
foreach (danh_sách as phần_tử) { // Thực hiện công việc }
Ý nghĩa của cú pháp trên: hệ thống tự động truy xuất lần lượt từng phần tử trong danh_sách và gán giá trị cho phần_tử.
Thứ hai, câu lệnh điều kiện và rẽ nhánh.
Câu lệnh điều kiện thứ nhất là if có cấu trúc cú pháp như sau:
if (điều_kiện_1) { // Thực thi công việc nếu điều_kiện_1 là đúng } elseif (điều_kiện_2) { // Thực thi công việc nếu điều_kiện_2 là đúng } else { // Thực thi công việc nếu cả điều_kiện_1 và điều_kiện_2 đều sai }
Chú ý rằng tùy trường hợp chúng ta mới cần đến rẽ nhánh elseif hoặc else.
Câu lệnh điều khiển thứ hai là switch có cấu trúc cú pháp như sau:
switch(biểu_thức) { case giá_trị_1: // thực thi công việc nếu giá trị của biểu_thức trùng với giá_trị_1 break; case giá_trị_2: // thực thi công việc nếu giá trị của biểu_thức trùng với giá_trị_2 break; default: // thực thi công việc nếu giá trị của biểu_thức khác với các giá trị bên trên }
Chúng ta có một số chú ý ở đây:
Từ khóa break thực hiện thoát khỏi một đoạn chương trình bên trong cặp {} hoặc một vòng lặp.
Từ khóa default được sử dụng tùy trường hợp cần thiết.
Thứ ba, một số toán tử cơ bản.
Toán tử +. Thực hiện phép cộng: $x + $y.
Toán tử –. Thực hiện phép trừ: $x – $y.
Toán tử *. Thực hiện phép nhân: $x * $y.
Toán tử /. Thực hiện phép chia: $x / $y.
Toán tử %. Thực hiện phép chia lấy số dư: $x % $y.
Toán tử ++. Thực hiện phép cộng thêm 1 vào số: $x ++.
Toán tử --. Thực hiện phép trừ đi 1 vào số: $x --.
Bước 6.
Nội dung thứ tư bên trong phương thức tinhTong() như sau:
Bước 7.
Chúng ta thực thi phương thức tinhTong() trong file index.php như sau:
Xây dựng phương thức có trả về kết quả
Bước 1.
Đối với phương thức tinhTong() có trả về kết quả, chúng ta có một số chú ý như sau:
Ở đây do chúng ta thực hiện tính tổng các số tự nhiên nên kiểu dữ liệu của kết quả được trả về là int.
Chúng ta có thể cung cấp tham số cho phương thức này. Ở đây chúng ta cung cấp tham số là mảng int[] tapHop để thực hiện việc tính tổng các số tự nhiên.
Do là có trả về kết quả nên ở câu lệnh cuối chúng ta sử dụng từ khóa return. Ở đây chúng ta thực hiện return tong.
Bước 2.
Trong file index.php, chúng ta thực hiện một số nội dung trước khi thực thi phương thức tinhTongSoChan().
Chúng ta chú ý rằng nên định nghĩa một biến để lưu giá trị được trả về của phương thức tinhTongSoChan().
Bước 3.
Chúng ta lựa chọn chức năng Run → Run Configurations để thực hiện cấu hình thực thi project.
Màn hình Run Configurations hiện ra.
Chúng ta lựa chọn nút New trong tab Server / Server để tạo mới PHP Web Server.
Server Name. Chúng ta có thể đặt tên tùy ý. Ví dụ ở đây chúng ta đang xây dựng các phần mềm Web bằng PHP dựa theo bộ LAMP Stack thì đặt tên như trên cho dễ hình dung.
Base URL. Mặc định thì Apache Web Server trong bộ LAMP Stack thiết lập cổng là 8080.
Document Root. Đây là đường dẫn đến thư mục lưu trữ và thực thi các phần mềm Web bằng PHP bên trong apache2/htdocs.
Chúng ta lựa chọn nút Next > để tiếp tục.
Bước 5.
Màn hình thiết lập các thông số về debug hiện ra.
Chúng ta lựa chọn và nhập các thông tin như sau:
Debugger: Xdebug
Port: 9000
Chúng ta lựa chọn nút Finish để thực hiện.
Bước 6.
Màn hình Run Configurations hiện ra với các thông tin đã được cấu hình lại.
Chúng ta lựa chọn file index.php là file đầu tiên được thực thi.
Bước 7.
Chúng ta thực thi toàn bộ project để thử nghiệm những đoạn mã nguồn PHP được xây dựng bên trên:
Thực hiện Debug để kiểm tra các dòng lệnh và bắt lỗi trong Eclipse IDE
Bước 1.
Chúng ta mở file php.ini trong thư mục lampstack-7.3.6-1/php/etc/.
Chúng ta thực hiện mở chức năng xdebug bằng cách bỏ các dấu ; đứng trước các dòng cấu hình.
Sau đó chúng ta khởi động lại Apache Web Server để xác nhận.
Bước 2.
Chúng ta bổ sung phương thức phpinfo() trong file index.php để kiểm tra xem chức năng xdebug đã được khởi động lên chưa.
Chúng ta kiểm tra trên trình duyệt nếu xuất hiện các thông tin về xdebug thì là đúng.
Bước 3.
Chúng ta nhấn đôi chuột trái vào cột bên trái của dòng lệnh muốn bắt đầu thực hiện debug.
Một chấm nhỏ màu xanh sẽ xuất hiện ngay vị trí dòng lệnh này:
Bước 4.
Chúng ta chú ý đến nút hình con bọ trên thanh Toolbars và nút mũi tên ngay bên phải.
Bước 5.
Chúng ta lựa chọn thực hiện chức năng debug project khi nhấn vào nút mũi tên.
Bước 6.
Màn hình thông báo về việc lựa chọn chuyển sang giao diện debug hiện ra.
Chúng ta lựa chọn nút Switch để chuyển sang giao diện debug.
Bước 7.
Giao diện debug PHP của Eclipse IDE hiện ra.
Chúng ta nhận thấy dòng lệnh đầu tiên của file index.php đã được tô đậm màu xanh lá cây.
Trong phần màn hình ở góc bên phải, giá trị của các biến được định nghĩa bên trong phương thức đang được debug sẽ được hiển thị. Chú ý rằng chỉ những biến được định nghĩa trước dòng lệnh đang được debug mới được hiển thị.
Bước 8.
Chúng ta có thể nhấn menu Run trên thanh Toolbars để tham khảo các chức năng cơ bản cho tác vụ debug:
Chức năng Terminate với cặp phím Ctrl + F2. Chấm dứt tác vụ debug tại thời điểm hiện tại.
Chức năng Step Into với phím F5. Thực hiện lần lượt chuyển đến phương thức gặp phải tại dòng lệnh đang được debug.
Chức năng Step Over với phím F6. Thực thi dòng lệnh hiện tại và chuyển tiếp đến dòng lệnh tiếp theo bên dưới.
Chức năng Run to Line với cặp phím Ctrl + R. Thực thi các dòng lệnh liên tiếp và chuyển đến dòng lệnh đang đặt con trỏ chuột.
Bước 9.
Chúng ta thực hiện để con trỏ chuột tại dòng lệnh muốn debug ở Bước 3.
Chúng ta thực hiện chức năng Run to Line với phím F5 tại dòng lệnh này.
Bước 10.
Chúng ta thực hiện chức năng Step Over với phím F6 tại một số dòng lệnh liên tiếp.
Chúng ta thử dừng lại tại dòng lệnh:
$tong += $phanTu;
Chúng ta chú ý tab Variables ở phần màn hình bên phải.
Giá trị của các biến được định nghĩa trước dòng lệnh hiện tại đã được hiển thị chi tiết.
Bước 11.
Chúng ta thử thực hiện chức năng Terminate với cặp phím Ctrl + F2.
Chúng ta nhận thấy tác vụ debug được dừng lại.
Một chú ý là chúng ta mới chỉ tạm dừng chức năng debug và phần màn hình bên trái có xuất hiện:
PHP Applications (Waiting…)
Bước 12.
Chúng ta kiểm tra trình duyệt nội tại.
Những kết quả được thực thi cho đến dòng lệnh hiện tại được hiển thị ra.
Bước 13.
Chúng ta tiếp tục thực hiện chức năng Terminate với cặp phím Ctrl + F2.
Chúng ta nhận thấy tác vụ debug được dừng lại hoàn toàn.
Kết quả được hiển thị như sau:
Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong PHP đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.
Tiếp theo nội dung của bài trước, trong bài này chúng ta cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong Python đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Chúng ta thực hiện tiếp Yêu cầu 2 và Yêu cầu 3 của bài toán cơ bản thông qua những kỹ thuật về lập trình:
Kỹ thuật vòng lặp for kiểu mới.
Câu lệnh điều khiển và rẽ nhánh.
Các toán tử cơ bản.
Định nghĩa và thực thi các phương thức.
Chúng ta cũng tìm hiểu phương pháp debug trong Eclipse IDE để kiểm tra từng câu lệnh cũng như bắt lỗi.
Những kỹ thuật được trình bày sẽ mang tính phổ quát và độc lập ngôn ngữ lập trình. Điều đó có nghĩa rằng chúng ta có thể áp dụng ý tưởng từ các kỹ thuật này khi tìm hiểu các ngôn ngữ khác như PHP / C# / Java.
Xây dựng phương thức trong Python
Một phương thức trong Python là một khối các câu lệnh có tên và có thể được thực thi bằng cách gọi từ một nơi khác trong chương trình.
Cấu trúc cú pháp của một phương thức như sau:
def tên_phương_thức (danh_sách_tham_số) : // Thực hiện công việc
Chúng ta có hai dạng phương thức chính:
Dạng phương thức không trả về kết quả.
Dạng phương thức có trả về kết quả.
Xây dựng phương thức không trả về kết quả
Bước 1.
Chúng ta thực hiện việc tạo một PyDev Project mới trong Eclipse IDE.
Chúng ta tiếp tục thực hiện việc tạo package main và module Main.py.
Màn hình giao diện Eclipse IDE hiển thị nội dung của module Main.py hiện ra.
Bước 2.
Chúng ta thực hiện việc tạo package baitap và module class BaiCoBan.py.
Nội dung về package và module class sẽ được thảo luận sâu hơn trong các bài tiếp theo về lập trình hướng đối tượng.
Ở đây chúng ta chỉ cần chú ý tạo theo hướng dẫn, trong đó tên của package và module class có thể đặt theo mục đích riêng.
Chúng ta tiếp tục tạo phương thức:
def tinhTong(self):
Những điểm đáng chú ý ở đây:
Phương thức trong Python không có quy định kiểu dữ liệu trả về cũng như phạm vi được truy xuất tương tự như trong Java / C#.
Chúng ta sẽ tự quyết định về việc có dữ liệu trả về hay không đối với từng phương thức.
Tham số self là một từ khóa mặc định, cho biết đây là phương thức bên trong một class. Điều này giúp phân biệt cách thức gọi đến đối với một phương thức bên ngoài class.
Bước 3.
Nội dung đầu tiên bên trong phương thức tinhTong() như sau:
Bước 4.
Nội dung thứ hai bên trong phương thức tinhTong() như sau:
Bước 5.
Nội dung thứ ba bên trong phương thức tinhTong() như sau:
Ở đây chúng ta có một số điểm cần chú ý:
Thứ nhất, kỹ thuật lặp for mới.
Cú pháp cho kỹ thuật lặp for mới như sau:
for phần_tử in danh_sách : // Thực hiện công việc
Ý nghĩa của cú pháp trên: hệ thống tự động truy xuất lần lượt từng phần tử trong danh_sách và gán giá trị cho phần_tử.
Thứ hai, câu lệnh điều kiện và rẽ nhánh.
Câu lệnh điều kiện if có cấu trúc cú pháp như sau:
if (điều_kiện_1) : // Thực thi công việc nếu điều_kiện_1 là đúng elif (điều_kiện_2) : // Thực thi công việc nếu điều_kiện_2 là đúng else : // Thực thi công việc nếu cả điều_kiện_1 và điều_kiện_2 đều sai
Chú ý rằng tùy trường hợp chúng ta mới cần đến rẽ nhánh elif hoặc else.
Thứ ba, một số toán tử cơ bản.
Chúng ta có thể tham khảo một số toán tử cơ bản trong Python như sau:
Toán tử +. Thực hiện phép cộng: x + y.
Toán tử –. Thực hiện phép trừ: x – y.
Toán tử *. Thực hiện phép nhân: x * y.
Toán tử /. Thực hiện phép chia: x / y.
Toán tử %. Thực hiện phép chia lấy số dư: x % y.
Bước 6.
Nội dung thứ tư bên trong phương thức tinhTong() như sau:
Bước 7.
Chúng ta thực thi phương thức tinhTong() trong module Main.py như sau:
Xây dựng phương thức có trả về kết quả
Bước 1.
Đối với phương thức tinhTong() có trả về kết quả, chúng ta có một số chú ý như sau:
Chúng ta có thể cung cấp tham số cho phương thức này. Ở đây chúng ta cung cấp tham số là mảng tapHop để thực hiện việc tính tổng các số tự nhiên.
Do là có trả về kết quả nên ở câu lệnh cuối chúng ta sử dụng từ khóa return. Ở đây chúng ta thực hiện return tong.
Bước 2.
Trong phương thức main() của module Main.py, chúng ta thực hiện một số nội dung trước khi thực thi phương thức tinhTongSoChan().
Chúng ta chú ý rằng nên định nghĩa một biến để lưu giá trị được trả về của phương thức tinhTongSoChan().
Bước 3.
Chúng ta thực thi toàn bộ project để thử nghiệm những đoạn mã nguồn Python được xây dựng bên trên:
Thực hiện Debug để kiểm tra các dòng lệnh và bắt lỗi trong Eclipse IDE
Bước 1.
Chúng ta nhấn chuột phải vào cột bên trái dòng lệnh muốn bắt đầu thực hiện debug.
Chúng ta lựa chọn chức năng Add Breakpoint để tạo điểm bắt đầu debug.
Bước 2.
Chúng ta nhận thấy có sự xuất hiện của một chấm nhỏ màu xanh ngay vị trí dòng lệnh này.
Chúng ta nhấn chuột phải vào chấm nhỏ này để tham khảo các chức năng đối với breakpoint.
Bước 3.
Chúng ta chú ý đến nút hình con bọ trên thanh Toolbars và nút mũi tên ngay bên phải.
Chúng ta lựa chọn thực hiện chức năng debug project khi nhấn vào nút mũi tên.
Bước 4.
Màn hình thông báo về việc lựa chọn chuyển sang giao diện debug hiện ra.
Chúng ta lựa chọn nút Switch để chuyển sang giao diện debug.
Bước 5.
Giao diện debug Python của Eclipse IDE hiện ra.
Chúng ta nhận thấy dòng lệnh đầu tiên có đánh dấu chấm nhỏ màu xanh đã được tô đậm màu xanh lá cây.
Các chức năng của project cũng được thực thi và dừng lại tại dòng lệnh này.
Chúng ta có thể nhận thấy các kết quả thực thi trước dòng lệnh này trong phần màn hình Console ở góc bên dưới.
Trong phần màn hình ở góc bên phải, giá trị của các biến được định nghĩa bên trong phương thức đang được debug sẽ được hiển thị. Chú ý rằng chỉ những biến được định nghĩa trước dòng lệnh đang được debug mới được hiển thị.
Bước 6.
Chúng ta có thể nhấn menu Run trên thanh Toolbars để tham khảo các chức năng cơ bản cho tác vụ debug:
Chức năng Terminate với cặp phím Ctrl + F2. Chấm dứt tác vụ debug tại thời điểm hiện tại.
Chức năng Step Into với phím F5. Thực hiện lần lượt chuyển đến phương thức gặp phải tại dòng lệnh đang được debug.
Chức năng Step Over với phím F6. Thực thi dòng lệnh hiện tại và chuyển tiếp đến dòng lệnh tiếp theo bên dưới.
Chức năng Run to Line với cặp phím Ctrl + R. Thực thi các dòng lệnh liên tiếp và chuyển đến dòng lệnh đang đặt con trỏ chuột.
Bước 7.
Chúng ta thực hiện chức năng Step Over với phím F6 tại một số dòng lệnh liên tiếp.
Chúng ta thử dừng lại tại dòng lệnh:
tong += phanTu
Chúng ta chú ý phần màn hình Variables ở góc bên phải.
Giá trị của các biến được định nghĩa trước dòng lệnh hiện tại đã được hiển thị chi tiết.
Bước 8.
Chúng ta thử thực hiện chức năng Terminate với cặp phím Ctrl + F2.
Chúng ta nhận thấy tác vụ debug được dừng lại và chỉ còn phần màn hình Console ở góc bên dưới là hiển thị các thông tin cho đến dòng lệnh hiện tại.
Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong Python đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.
Tiếp theo nội dung của bài trước, trong bài này chúng ta cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong Java đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Chúng ta thực hiện tiếp Yêu cầu 2 và Yêu cầu 3 của bài toán cơ bản thông qua những kỹ thuật về lập trình:
Kỹ thuật vòng lặp for kiểu mới.
Câu lệnh điều khiển và rẽ nhánh.
Các toán tử cơ bản.
Định nghĩa và thực thi các phương thức.
Chúng ta cũng tìm hiểu phương pháp debug trong Eclipse IDE để kiểm tra từng câu lệnh cũng như bắt lỗi.
Những kỹ thuật được trình bày sẽ mang tính phổ quát và độc lập ngôn ngữ lập trình. Điều đó có nghĩa rằng chúng ta có thể áp dụng ý tưởng từ các kỹ thuật này khi tìm hiểu các ngôn ngữ khác như PHP / C# / Python.
Xây dựng phương thức trong Java
Một phương thức trong Java là một khối các câu lệnh có tên và có thể được thực thi bằng cách gọi từ một nơi khác trong chương trình.
Chú ý rằng một phương thức phải được định nghĩa bên trong một class. Điều này sẽ được thảo luận kỹ hơn trong các bài tiếp theo về lập trình hướng đối tượng.
Cấu trúc cú pháp của một phương thức như sau:
phạm_vi_truy_cập [static] kiểu_dữ_liệu_trả_về tên_phương_thức (danh_sách_tham_số) { // Thực hiện công việc }
Chúng ta có hai dạng phương thức chính:
Dạng phương thức không trả về kết quả.
Dạng phương thức có trả về kết quả.
Xây dựng phương thức không trả về kết quả
Bước 1.
Chúng ta thực hiện việc tạo một Java Project mới trong Eclipse IDE.
Chúng ta tiếp tục thực hiện việc tạo package main và class Main.java.
Màn hình giao diện Eclipse IDE hiển thị nội dung của class Main.java hiện ra.
Chúng ta chú ý lựa chọn việc tạo sẵn phương thức main(String[] args) trong class Main.java.
Bước 2.
Chúng ta thực hiện việc tạo package baitap và class BaiCoBan.java.
Nội dung về package và class sẽ được thảo luận sâu hơn trong các bài tiếp theo về lập trình hướng đối tượng.
Ở đây chúng ta chỉ cần chú ý tạo theo hướng dẫn, trong đó tên của package và class có thể đặt theo mục đích riêng.
Chúng ta tiếp tục tạo phương thức:
publicvoid tinhTong() {}
Có 02 từ khóa cần chú ý ở đây:
Từ khóa thứ nhất cho biết phạm vi được phép truy xuất đến phương thức này. Ở đây chúng ta sử dụng từ khóa public. Từ khóa này cho biết phạm vi được truy xuất đến phương thức này là trên toàn bộ project. Điều này sẽ được thảo luận kỹ hơn trong các bài tiếp theo về lập trình hướng đối tượng.
Từ khóa thứ hai cho biết kiểu dữ liệu của kết quả được trả về sau khi thực thi phương thức. Ở đây chúng ta sử dụng từ khóa void. Từ khóa này cho biết phương thức này không trả về kết quả mà chỉ thực hiện các tác vụ bên trong.
Bước 3.
Nội dung đầu tiên bên trong phương thức tinhTong() như sau:
Bước 4.
Nội dung thứ hai bên trong phương thức tinhTong() như sau:
Bước 5.
Nội dung thứ ba bên trong phương thức tinhTong() như sau:
Ở đây chúng ta có một số điểm cần chú ý:
Thứ nhất, kỹ thuật lặp for mới.
Cú pháp cho kỹ thuật lặp for mới như sau:
for (kiểu_dữ_liệu biến : danh_sách) { // Thực hiện công việc }
Ý nghĩa của cú pháp trên: hệ thống tự động truy xuất lần lượt từng phần tử trong danh_sách và gán giá trị cho biến với kiểu_dữ_liệu phù hợp.
Thứ hai, câu lệnh điều kiện và rẽ nhánh.
Câu lệnh điều kiện thứ nhất là if có cấu trúc cú pháp như sau:
if (điều_kiện_1) { // Thực thi công việc nếu điều_kiện_1 là đúng } else if (điều_kiện_2) { // Thực thi công việc nếu điều_kiện_2 là đúng } else { // Thực thi công việc nếu cả điều_kiện_1 và điều_kiện_2 đều sai }
Chú ý rằng tùy trường hợp chúng ta mới cần đến rẽ nhánh else if hoặc else.
Câu lệnh điều khiển thứ hai là switch có cấu trúc cú pháp như sau:
switch(biểu_thức) { case giá_trị_1: // thực thi công việc nếu giá trị của biểu_thức trùng với giá_trị_1 break; case giá_trị_2: // thực thi công việc nếu giá trị của biểu_thức trùng với giá_trị_2 break; default: // thực thi công việc nếu giá trị của biểu_thức khác với các giá trị bên trên }
Chúng ta có một số chú ý ở đây:
Từ khóa break thực hiện thoát khỏi một đoạn chương trình bên trong cặp {} hoặc một vòng lặp.
Từ khóa default được sử dụng tùy trường hợp cần thiết.
Thứ ba, một số toán tử cơ bản.
Chúng ta có thể tham khảo một số toán tử cơ bản trong Java như sau:
Toán tử +. Thực hiện phép cộng: x + y.
Toán tử –. Thực hiện phép trừ: x – y.
Toán tử *. Thực hiện phép nhân: x * y.
Toán tử /. Thực hiện phép chia: x / y.
Toán tử %. Thực hiện phép chia lấy số dư: x % y.
Toán tử ++. Thực hiện phép cộng thêm 1 vào số: x ++.
Toán tử --. Thực hiện phép trừ đi 1 vào số: x --.
Bước 6.
Nội dung thứ tư bên trong phương thức tinhTong() như sau:
Bước 7.
Chúng ta thực thi phương thức tinhTong() trong class Main.java như sau:
Xây dựng phương thức có trả về kết quả
Bước 1.
Đối với phương thức tinhTong() có trả về kết quả, chúng ta có một số chú ý như sau:
Chúng ta thay thế từ khóa void bằng kiểu dữ liệu của kết quả được trả về. Ở đây do chúng ta thực hiện tính tổng các số tự nhiên nên kiểu dữ liệu của kết quả được trả về là int.
Chúng ta có thể cung cấp tham số cho phương thức này. Ở đây chúng ta cung cấp tham số là mảng int[] tapHop để thực hiện việc tính tổng các số tự nhiên.
Do là có trả về kết quả nên ở câu lệnh cuối chúng ta sử dụng từ khóa return. Ở đây chúng ta thực hiện return tong.
Bước 2.
Trong phương thức main() của class Main.java, chúng ta thực hiện một số nội dung trước khi thực thi phương thức tinhTong().
Chúng ta chú ý rằng nên định nghĩa một biến để lưu giá trị được trả về của phương thức tinhTong().
Bước 3.
Chúng ta thực thi toàn bộ project để thử nghiệm những đoạn mã nguồn Java được xây dựng bên trên:
Thực hiện Debug để kiểm tra các dòng lệnh và bắt lỗi trong Eclipse IDE
Bước 1.
Chúng ta nhấn đôi chuột trái vào cột bên trái của dòng lệnh muốn bắt đầu thực hiện debug.
Một chấm nhỏ màu xanh sẽ xuất hiện ngay vị trí dòng lệnh này:
Bước 2.
Chúng ta chú ý đến nút hình con bọ trên thanh Toolbars và nút mũi tên ngay bên phải.
Bước 3.
Chúng ta lựa chọn thực hiện chức năng debug project khi nhấn vào nút mũi tên.
Bước 4.
Màn hình thông báo về việc lựa chọn chuyển sang giao diện debug hiện ra.
Chúng ta lựa chọn nút Switch để chuyển sang giao diện debug.
Bước 5.
Giao diện debug Java của Eclipse IDE hiện ra.
Chúng ta nhận thấy dòng lệnh đầu tiên có đánh dấu chấm nhỏ màu xanh đã được tô đậm màu xanh lá cây.
Các chức năng của project cũng được thực thi và dừng lại tại dòng lệnh này.
Chúng ta có thể nhận thấy các kết quả thực thi trước dòng lệnh này trong phần màn hình Console ở góc bên dưới.
Trong phần màn hình ở góc bên phải, giá trị của các biến được định nghĩa bên trong phương thức đang được debug sẽ được hiển thị. Chú ý rằng chỉ những biến được định nghĩa trước dòng lệnh đang được debug mới được hiển thị.
Bước 6.
Chúng ta có thể nhấn menu Run trên thanh Toolbars để tham khảo các chức năng cơ bản cho tác vụ debug:
Chức năng Terminate với cặp phím Ctrl + F2. Chấm dứt tác vụ debug tại thời điểm hiện tại.
Chức năng Step Into với phím F5. Thực hiện lần lượt chuyển đến phương thức gặp phải tại dòng lệnh đang được debug.
Chức năng Step Over với phím F6. Thực thi dòng lệnh hiện tại và chuyển tiếp đến dòng lệnh tiếp theo bên dưới.
Chức năng Run to Line với cặp phím Ctrl + R. Thực thi các dòng lệnh liên tiếp và chuyển đến dòng lệnh đang đặt con trỏ chuột.
Bước 7.
Chúng ta thực hiện chức năng Step Over với phím F6 tại một số dòng lệnh liên tiếp.
Chúng ta thử dừng lại tại dòng lệnh:
System.out.println(phanTu + “ ”);
Chúng ta chú ý phần màn hình Variables ở góc bên phải.
Giá trị của các biến được định nghĩa trước dòng lệnh hiện tại đã được hiển thị chi tiết.
Bước 8.
Chúng ta thử thực hiện chức năng Terminate với cặp phím Ctrl + F2.
Chúng ta nhận thấy tác vụ debug được dừng lại và chỉ còn phần màn hình Console ở góc bên dưới là hiển thị các thông tin cho đến dòng lệnh hiện tại.
Tổng kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong Java đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.
Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.
PyDev là một Môi trường phát triển tích hợp được sử dụng để lập trình trong Python hỗ trợ tái cấu trúc mã, gỡ lỗi đồ họa, phân tích mã trong số các tính năng khác.
PyDev là một IDE Python cho Eclipse, có thể được sử dụng trong phát triển Python, Jython và IronPython.
Những chức năng chính của PyDev:
Django integration
Code completion
Code completion with auto import
Type hinting
Code analysis
Go to definition
Refactoring
Debugger
Remote debugger
Find Referrers in Debugger
Tokens browser
Interactive console
Unittest integration
Code coverage
PyLint integration
Find References (Ctrl+Shift+G)
Thiết lập Eclipse IDE
Bước 1.
Chúng ta lựa chọn Help → Install New Software.
Hình 1. Lựa chọn chức năng Install New Software.
Bước 2.
Màn hình cài đặt plugin mới hiện ra.
Chúng ta lựa chọn nút Add để thực hiện thêm plugin mới.
Đây là phiên bản Eclipse đã được tích hợp sẵn các chức năng để phát triển Desktop và Web Applications bằng Java.
Chúng ta lựa chọn download phiên bản dành cho Linux x64.
Hình 1. Download Eclipse IDE for Enterprise Java Developers.
Bước 2.
Sau khi download tập tin eclipse-jee-2019-03-R-linux-gtk-x86_64.tar.gz, chúng ta nhấp đôi chuột để mở tập tin này.
Đây là một dạng tập tin nén và được mở bởi ứng dụng mặc định.
Hình 2. Mở tập tin eclipse được download.
Bước 3.
Sau khi giải nén, chúng ta nhận được kiến trúc của thư mục eclipse như sau:
Hình 3. Kiến trúc thư mục eclipse.
Bước 4.
Chúng ta thực thi tập tin eclipse bằng cách nhấp đôi chuột để chạy.
Màn hình yêu cầu lựa chọn thư mục lưu trữ projects mặc định hiện ra.
Đây là thư mục sẽ được lưu trữ các projects được tạo ra khi chúng ta sử dụng Eclipse để phát triển phần mềm.
Chúng ta lựa chọn thư mục lưu trữ projects.
Chúng ta nhấn nút Launch để bắt đầu sử dụng Eclipse.
Hình 4. Lựa chọn thư mục lưu trữ projects.
Bước 5.
Màn hình chào mừng của Eclipse hiện ra.
Chúng ta có thể để nguyên hoặc tắt trang chào mừng mỗi lần khởi động lại Eclipse.
Hình 5. Giao diện chính của Eclipse.
Cài đặt Plugin WindowBuilder Pro để thiết kế giao diện Desktop Applications
WindowBuilder được xây dựng như là một plugin của Eclipse, bao gồm SWT Designer và Swing Designer và giúp dễ dàng tạo các ứng dụng GUI Java mà không mất nhiều thời gian để viết mã.
Sử dụng trình thiết kế trực quan và công cụ bố cục What You See Is What You Get (có nghĩa là kéo thả các thành phần) để tạo các biểu mẫu đơn giản cho các cửa sổ phức tạp; mã Java sẽ được tạo ra tự động.
Dễ dàng thêm các điều khiển bằng cách kéo và thả, thêm các trình xử lý sự kiện vào các điều khiển, thay đổi các thuộc tính khác nhau của các điều khiển bằng trình chỉnh sửa thuộc tính, quốc tế hóa ứng dụng và nhiều hơn nữa.
Bước 1.
Chúng ta lựa chọn Help → Install New Software.
Hình 6. Lựa chọn chức năng Install New Software.
Bước 2.
Màn hình cài đặt plugin mới hiện ra.
Chúng ta lựa chọn nút Add để thực hiện thêm plugin mới.