Ngôn ngữ lập trình

Ngôn ngữ lập trình rất quan trọng và rất đa dạng. Lập trình viên thường học một vài ngôn ngữ nhưng vẫn có riêng một ngôn ngữ thiết yếu để làm việc...

Tạo bảng trong MySQL

Bảng Là Gì?

Mỗi một cơ sở dữ liệu thường gồm một hoặc nhiều bảng khác nhau. Mỗi một bảng gồm có các trường (cột) khác nhau. Ví dụ như bảng dưới đây gồm có 5 cột là ID, Họ, Tên, Ngày SinhGiới Tính.

ID Họ Tên Ngày Sinh Giới Tính
001 Anh 01/01/1992 Nữ
002 Nguyễn Bình 01/02/1992 Nam
003 Nguyễn Chung 01/03/1992 Nam

Mỗi bảng sẽ chứa dữ liệu của cơ sở dữ liệu.

Câu Lệnh CREATE TABLE

Câu lệnh CREATE TABLE trong MySQL được sử dụng để tạo bảng.

CREATE TABLE table_name ( 
    column_1_name TYPE_1, 
    column_2_name TYPE_2, 
    column_3_name TYPE_3, 
    ... 
);

Trong đó:

  • table_name là tên bảng sẽ được tạo ra.
  • columm_1_name là tên của trường đầu tiên (tương tự column_2_name, column_3_name…).
  • TYPE_1 là kiểu dữ liệu của trường column_1_name (tương tự TYPE_2, TYPE_3…)

Tên bảng và cột thường sử dụng chữ thường và phân biệt bởi dấu gạch dưới _. Tên kiểu dữ liệu của cột được quy định sẵn trong MySQL như INTEGER dành cho kiểu số nguyên, VAR_CHAR dành cho kiểu chuỗi ký tự ngắn, TEXT dành cho kiểu văn bản…

Ví Dụ

Câu lệnh dưới đây tạo một bảng với tên là students trong đó gồm có 5 trường:

> CREATE TABLE students ( 
    id INT(3) NOT NULL AUTO_INCREMENT, 
    first_name VARCHAR(50) NOT NULL, 
    last_name VARCHAR(50) NOT NULL, 
    gender INT(1) NOT NULL, 
    birthday DATE, 
    PRIMARY KEY (id) 
);

Trong đó:

  • Cột id là cột với kiểu dữ liệu số nguyên với tối đa 3 chữ số INT(3), không được bỏ trống NOT NULL và tự động tăng AUTO INCREMENT
  • Cột first_name là cột có kiểu dữ liệu VAR_CHAR với tối đa 5 ký tự. Cột này cũng không được phép bỏ trống NOT NULL.
  • Cột last_name là cột có kiểu dữ liệu VAR_CHAR với tối đa 5 ký tự. Cột này cũng không được phép bỏ trống.
  • Cột gender là cột với kiểu dữ liệu số nguyên với tối đa 1 chữ số INT(3)
  • Cột birthday là cột với kiểu dữ liệu DATE

Ngoài ra cột id được đánh là khoá chính PRIMARY KEY trong bảng.

Tạo database trong MySQL

Sử Dụng MySQL Client

MySQL Client là một chương trình cho phép chúng ta tương tác với máy chủ cơ sở dữ liệu (hay MySQL Database Server) sử dụng cửa sổ dòng lệnh. Trên cửa sổ dòng lệnh chương trình MySQL Client được chạy thông qua sử dụng tập tin nhị phân mysql.

Trên Linux sau khi cài đặt MySQL Client thì bạn có thể chạy câu lệnh sau để kiểm tra phiên bản của MySQL Client:

$ mysql --v

Trên Windows nếu bạn cài đặt MySQL sử dụng XAMPP hoặc WAMP thì bạn cần chắc chắn rằng địa chỉ thư mục chứa tập tin mysql.exe được đưa vào biến môi trường Environment Variables.

Để Tạo database sử dụng MySQL Client chúng ta cần thực hiện qua hai bước:

  • Bước 1: Đăng nhập vào máy chủ cơ sở dữ liệu.
  • Bước 2: Thực hiện câu lệnh tạo cơ sở dữ liệu.

Đăng Nhập Vào Máy Chủ Cơ Sở Dữ Liệu

Để đăng nhập vào máy chru cơ sở dữ liệu bạn sử dụng câu lệnh sau:

$ mysql -u root -p

Sau khi gõ Enter, bạn sẽ được yêu cầu nhập mật khẩu cho người dùng root. Sau khi đăng nhập thành công, MySQL Client sẽ cung cấp một phiên làm việc mà ở đó bạn có thể gửi các câu lệnh tới máy chủ MySQL Server mà không phải đăng nhập lại.

Thực Hiện Việc Tạo Cơ Sở Dữ Liệu

Tiếp theo sau khi đăng nhập thành công, bạn chạy câu lệnh dưới đây để tạo cơ sở dữ liệu my_test_db:

> CREATE DATABASE my_test_db;

Lưu ý con trỏ trên cửa sổ dòng lệnh (hay command prompt) lúc này chuyển thành biểu tượng < thay vì biểu tượng $. Điều này có nghĩa rằng bạn đã đăng nhập thành công và đang trong phiên làm việc với máy chủ MySQL Server dưới tên người dùng là root.

Để kiểm tra lại cơ sở dữ liệu đã được tạo ra bằng câu lệnh sau:

> show databases

Sử Dụng MySQL Admin

Ngoài việc sử dụng chương trình MySQL Client để tạo cơ sở dữ liệu thì chúng ta có thể sử dụng một cách khác đó là thông qua chương trình MySQL Admin. Chương trình MySQL Admin được cài đặt mặc định cùng với chương trình MySQL Client khi cài đặt MySQL Server.

Trên cửa sổ dòng lệnh bạn chạy câu lệnh sau để tạo cơ sở dữ liệu với tên my_test_db:

$ mysqladmin -u root -p create my_test_db

Nhập mật khẩu cho người dùng root và sau đó kiểm tra lại cơ sở dữ liệu đã được tạo ra bằng câu lệnh sau:

$ mysqladmin -u root -p show databases

Chọn database trong MySQL

Một MySQL Database Server thường được dùng để lưu trữ nhiều cơ sở dữ liệu cùng một lúc. Khi làm việc với MySQL Database Server thông thường chúng ta sẽ gửi các câu truy vấn (query) tới một cơ sở dữ liệu nhất định.

Sau khi sử dụng MySQL Client để truy cập vào MySQL Database Server với tên người dùng root:

$ mysql -u root -p

Với mỗi câu truy vấn gửi tới một cơ sở dữ liệu chúng ta trên MySQL Database Server thì MySQL Database Server cần phải biết được rằng câu lệnh đó sẽ được chạy trên cơ sở dữ liệu nào.

Ví dụ sau khi đăng nhập vào MySQL Server sử dụng MySQL Client và chạy câu lệnh sau:

> SHOW TABLES;

MySQL Server sẽ báo lỗi No database selected về cho MySQL Client.

Để chọn cơ sở dữ liệu trên MySQL Server làm cơ sở dữ liệu mặc định khi làm việc bạn sử dụng câu lệnh sau:

> USE db_name

Trong đó db_name là tên của cơ sở dữ liệu bạn muốn chọn để lam việc.

Câu lệnh dưới đây chọn my_test_db làm cơ sở dữ liệu mặc định khi làm việc với MySQL Database Server:

> USE my_test_db;

Trong các câu lệnh tiếp sau đó MySQL Server sẽ áp dụng trên cơ sở dữ liệu my_test_db:

> SHOW TABLES;

Câu lệnh trên sẽ liệt kê ra các bảng (table) được tạo ra trên cơ sở dữ liệu my_test_db.

Để chuyển sang sử dụng cơ sở dữ liệu khác làm cơ sở dữ liệu mặc định khi làm việc với MySQL Database Server, bạn chạy câu lệnh sau:

> USE my_new_db;

Câu lệnh USE sẽ chỉ chọn cơ sở dữ liệu trong phiên làm việc hiện tại. Ở các phiên làm việc sau đó bạn cần chạy lại câu lệnh này.

Hướng dẫn cài đặt, thiết lập và sử dụng Code::Blocks

Cách tải về

Download trực tiếp server Vietnam tại: Download here

Download tải trang chủ Code::Blocks: http://www.codeblocks.org/downloads

Giao diện http://www.codeblocks.org/downloads sẽ như thế này. Click Chọn “Download the binary release

codeblock-1-yeulaptrinh.pw

Chọn phiên bản mình muốn download. Nếu bạn dùng Windows thì hãy chọn phiên bản “codeblocks-16.01mingw-setup.exe” như hình dưới. Click chọn “Sourceforge.net or FossHub” để tải về.

codeblock-2-yeulaptrinh.pw

Rồi ngồi đợi vài phút chờ tải xong 🙂

Cài đặt

Chạy file cài đặt vừa tải về, ở đây tôi chạy file “codeblocks-16.01mingw-setup.exe“.

Cửa sổ cài đặt xuất hiện, bạn cứ chọn “Next” là được thôi 🙂

c-1-yeulaptrinh.pw

c-3-yeulaptrinh.pw

Cài cấu hình ban đầu

Cái này quan rất quan trọng vì nếu bạn chọn cấu hình Code::Blocks sai thì sau này có thể sẽ không thể chạy được.

Nhớ chọn trình biên dịch “GNU GCC Compiler” nhé!

c-6-yeulaptrinh.pw

Sau đó thiết lập các thông số cho 2 trình Compiler (biên dịch) và Debugger (gỡ lỗi).

(For CodeBlocks 13.12 For Windows) – Mở cửa sổ CodeBlocks, kích

“Settings” menu, kích “Compiler…”. Xuất hộp thoại Compiler Settings, tại “Selected Compiler”, chọn “GNU GCC Compiler”, Chọn “Toolchain Executables” và kiểm tra các thông tin “Compiler’s Installation Directory”. Được đặt là “MinGW” tên thư mục con trong thư mục cài đặt CodeBlocks, ví dụ, thư mục của CodeBlocks là “c:\Program Files\codeblocks”, thì trình biên dịch là “c:\Program Files\codeblocks\MinGW”.

Tương tự như vậy, hãy kiểm tra đường dẫn của chương trình Debugger. Kích “Settings” menu, kích “Debugger …” và chọn “GDB / CDB debugger/ Default”. Trong “Executable path”, cung cấp tên đầy đủ đường dẫn của tệp “gdb.exe”, ví dụ, “c : \ Program Files \ CodeBlocks \ MinGW \ bin \ gdb.exe “.

Viết và chạy một chương trình C++

Kích menu File/ New/ Empty file, xuất hiện cửa sổ soạn thảo mới với tên Untitled1… Sau đó kích menu “File/ Save”, đặt tên tệp mới (ví dụ: Tong.cpp) và kích nút Save/ chọn tiếp OK, và tiến hành soạn thảo mã nguồn cho bài toán mới. Trước khi đặt tên ta có thể soạn thảo luôn, nhưng có thể không được cung cấp hỗ trợ về định dạnh, soạn thảo hoặc những rủi do mất file.

Ví dụ: Viết chương trình nhập vào hai số nguyên a và b từ bàn phím, in lên màn hình tổng giá trị của hai số a +b như sau:codeblocks-1-yeulaptrinh.pw

Nhấn Ctrl+F9 để dịch chương trình, nếu xuất hiện lỗi như hình ảnh trên. Ta quan sát dòng đánh dấu (ô vuông nhỏ màu đỏ) và các gợi ý về lỗi tại Biuld messages để xác định lỗi và sửa lại cho đúng, sau đó nhấn Ctrl+F9 để kiểm tra tiếp (đến khi hết lỗi).

Nhấn phím Ctrl+F10 để chạy chương trình và nhập vào 2 số nguyên có giá trị 4 và 5 <enter> xuất hiện như hình dưới đây:

codeblocks-2-yeulaptrinh.pw

Lưu ý:

  • Nhấn phím F9 để vừa dịch và chạy chương trình (tức ban đầu là dịch chương trình, nếu có lỗi (là lỗi cú pháp hay lỗi văn phạm), sẽ dừng lại ở vị trí gây lỗi. Nếu không lỗi, chương trình được thực thi luôn)
  • Nếu soạn thảo và thực hiện chương trình theo cách này, ta sẽ không sử dụng được chương trình Debugger (gỡ lỗi). Cách này thường được sử dụng khi chương trình không còn lỗi về văn phạm nhưng gặp phải lỗi về giải thuật – output sai. Để sử dụng tính năng Debugger ta sẽ nghiên mục tiếp theo.

Tạo file project và file CPP.

Bước 1: Tạo project (dự án) mới:

Project là một file của Codeblocks nó có thể quản lý nhiều file khác. Để tạo một Project ta lần lượt thực hiện theo các bước sau:

  • Kích menu File/ New/ Project …/ Chọn Console Application, kích nút Go/ Chọn C++/ kích Next. Xuất hiện hộp thoại sau:

codeblocks-3-yeulaptrinh.pw

  • Project title: tên tiêu đề cho project
  • Folder to create project in: Gõ hoặc chọn thư mục lưu file.  Project filename: gõ tên project cần tạo

Sau khi hoàn thành, kích nút Next.

codeblocks-4-yeulaptrinh.pw

Xuất hiện hộp thoại chọn trình biên dịch và nơi lưu trữ (thường để mặc định như hình ảnh trên). Kích Next, cửa Codeblocks: project xuất hiện, tệp main.cpp với các dòng lệnh có sẵn:

codeblocks-5-yeulaptrinh.pw

Xuất hiện cửa sổ Codeblocks với tên project (chuong1) vừa tạo và đã sẵn sàng để viết chương trình của bạn. Cần lưu ý rằng mục tiêu là Debug, mà sẽ cho phép bạn sử dụng các trình gỡ lỗi (debugger) để tìm lỗi.

Trong khung Management của màn hình (Shift-F2 để ẩn/hiện), bạn sẽ thấy các file đó là một phần của dự án trong tab Project. Để xem các tập tin nguồn, bấm vào cộng [+] ‘s để mở rộng không gian làm việc và thư mục con của nó, muốn thu nhỏ ta kích vào [-] và muốn hiện nội dung của tệp ta kích đúp vào tên tệp.

Khi tạo một project mới, nó luôn tạo sẵn file Main.cpp chỉ để in ra màn hình Console (Dos- nền đen, chữ màu trắng) dòng chữ “Hello World!” như đã giới thiệu ở phần đầu của giáo trình này.

Bước 2: Dịch và chạy chương trình (đã giới thiệu phần trước).

G/s ta đã soạn thảo xong mã nguồn tệp main.cpp như trên, tiếp theo kích menu Biuld/ chọn Biuld hoặc nhấn tổ hợp phím Ctrl+F9 để dịch chương trình để kiểm tra có lỗi cú pháp hay không. Nếu không có lỗi, tiếp theo nhấn Ctrl+F10 để chạy chương trình như hình dưới đây:

codeblocks-6-yeulaptrinh.pw

Để soạn thảo mã nguồn mới, bạn có thể sửa trực tiếp vào tệp này hoặc tạo tệp mới bằng cách:

Kích menu File/ New/ Empty file, xuất hiện thông báo:

codeblocks-7-yeulaptrinh.pw

Chọn “Yes” để thêm tệp mới vào project hiện tại và đặt tên tệp/ Save, xuuast hiện hộp thoại Multiple selection, đánh dấu vào hai mục Debugg và Release và kích OK, cửa sổ soạn thảo tệp vừa đặt tên xuất hiện. NLT bắt đầu soạn thảo mã nguồn, dịch và chạy chương trình.

Để xóa tệp khỏi cửa sổ Management: kích chuột phải vào tên tệp/ chon remove file from project hoặc kích menu Project/ chọn Remove file…/ bỏ dấu tích tại tên tệp muốn xóa/ chọn nút OK.

Nếu ta đã có sẵn tệp trên máy, để thêm vào project hiện tại dịch và chạy chương trình ta thực hiện: Kích menu Project/ chọn Add file…/ Chọn đến tệp cần thêm/ kích Open, sau đó tiến hành dịch và chạy bình thường.

Hướng dẫn Debug chương trình (trình gỡ lỗi – debugger)

Thiết lập thông số của Debug, kích menu Project/ Biuld Option/ và đảm bảo đặt dấu tích vào dòng “produce debugging symbols [-g]” như hình dưới đây và kích nút OK:

codeblocks-8-yeulaptrinh.pw

Soạn thảo tệp mới hoặc Add file có sẵn vào project hiện thời. Ví dụ tệp Tong2.cpp như hình dưới đây. Nếu trong trường hợp tồn tại hai tệp CPP trở lên thì NLT phải loại bỏ các tệp khác, chỉ giữ lại duy nhất tệp muôn debug.

Để loại bỏ tệp khỏi project hiện thời ta làm như sau:

  • Kích file lên tên tệp CPP tại khung trái – project/ chọn Remove file from project.
  • Kích phải vào nền trắng trong khung trái – project/ chọn clean workspace để đảm bảo xóa các thông tin, dữ liệu đã debug trước đó.

codeblocks-9-yeulaptrinh.pw

Trước tiên, hãy đặt trỏ văn bản tại nơi chương trình debug bắt đầu (dòng 11). Kích menu Debug/ chọn Run to cursor (hoặc nhấn phím F4), nếu xuất hiện thông báo … ta chọn Yes để tiếp tục.

Hoặc

Đánh dấu vị trí bắt đầu và kết thúc Debug: đặt trỏ văn bản vào vị trí, kích Debug/ Toggle breakpoint (phím F5).

Sau đó kích menu Debug/ Start/ Continue (phím F8) để bắt đầu quá trình Debugger.

codeblocks-10-yeulaptrinh.pw

Xuất hiện hình tam giác nhỏ màu vàng (gọi là breakpoint) tại dòng bắt đầu debug và cửa số Watches (new) để theo dõi giá trị của các biến trong chương trình khi ta đi qua từng dòng lệnh trong chương trình nguồn. Trong trường hợp cửa sổ này chưa xuất hiện thì kích menu Debug/ Dubugging Windows/ Watchs. Và màn hình Console – nền đen (có thể sẽ ẩn sau cửa sổ Codeblocks).

Bắt đầu quá trình debugging, máy tính tính thực hiện dòng lệnh hiện thời và xem giá trị các biến thay đổi ta nhấn phím F7 con trỏ và Breakpoint sẽ lần lượt nhảy xuồng các dòng tiếp theo (mỗi lần nhấn phím F7, hãy dừng lại một chút để kiểm tra việc thực hiện lệnh và giá trị các biến có tương ứng hay không trên cửa sổ Watches).

codeblocks-11-yeulaptrinh.pw

Nhấn phím F7 lần 1.Nhấn phím F7 lần 2.

Máy thực hiện dòng lệnh 12. Dòng  lệnh này xuất ra màn hình Console:

codeblocks-12-yeulaptrinh.pw

Máy thực hiện dòng lệnh 11 gồm:

++x, x=x+y, y– nên (x=9,y=2 và z=12)

Tiếp tục nhấn phím F7 đến dòng lệnh 19, ta được kết quả trên cửa sổ Watches là:

codeblocks-13-yeulaptrinh.pw

Để kết thúc debug, kích menu Debug/ Stop debugger

 

Có gì chưa hiểu rất mong nhận được sự góp ý của quý bạn!

Hướng dẫn cài đặt Visual Studio 2017

Bước 1: Truy cập địa chỉ https://www.visualstudio.com/downloads/ để tải phiên bản Visual Studio 2017 phù hợp.

Hình 1. Chọn Free download với bản Community hoặc Free trial với bản Professional hoặc Enterprise

Chú ý:
Các bạn nên lựa chọn 03 mục bên dưới để tìm hiểu rõ tính năng cập nhật, so sánh và cách cài đặt của từng phiên bản.
– Release notes & documentation: giới thiệu tính năng cập nhật
– Compare Visual Studio editions: so sánh giữa các phiên bản.
– How to install offline: hướng dẫn các cách cài đặt offline.

Hình 2. Các tùy chọn cần đọc khi lựa chọn phiên bản

Hoặc download bản FULL miễn phí dưới đấy:

Tải Visual Studio Enterprise 2017 Full Active Link Fshare

Key: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

Tải Visual Studio 2017 Full Active Link Google Drive Offline Max Tốc Độ

Bao gồm 3 phiên bản. Bạn muốn sử dụng bản nào thì tải bản đó nhé.

Visual-Studio-2017-Full-Crack-yeulaptrinh.pw

Key Cài Đặt Visual Studio 2017

2XNFG-KFHR8-QV3CP-3W6HT-683CH
HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
HMGNV-WCYXV-X7G9W-YCX63-B98R2

Bước 2: Sau khi lựa chọn phiên bản tải về, các bạn click vào file vs_enterprise_942992239.1488853819.exe để tiến hành cài đặt

Chú ý: Tùy theo phiên bản tải về sẽ có tên khác nhau
– vs_enterprise
– vs_professional
– vs_community

 

Bước 3: Lựa chọn các thành phần, ngôn ngữ, nền tảng để cài đặt

Hình 3. Lựa chọn công cụ cho các môi trường windows, web, mobile, game trong tab Workloads

Hình 4. Lựa chọn NET Framework và Database bạn muốn sử dụng trong tab Individual Components

Hình 5. Lựa chọn ngôn ngữ sử dụng trong tab Language packs

 

Bước 4: Bạn nhấn nút Install ở góc dưới cùng bên phải để bắt đầu tiến trình cài đặt

 

Hoàn thành !!!

 

Nguồn: ky-thuat-lap-trinh

Tổng hợp tài liệu Java cơ bản

Hưởng dẫn dịch chương trình Java: http://uet.vnu.edu.vn/~chauttm/guides/BuildingFirstJavaProgram.pdf

Head First Java: https://zimslifeintcs.files.wordpress.com/2011/12/head-first-java-2nd-edition.pdf

How to Program Java: http://mobile.skku.ac.kr/lecture/2017_1/CEL/how%20to%20program%20Java.pdf

Set trong C++

Tổng quan

  • Set là một loại associative containers để lưu trữ các phần tử không bị trùng lặp (unique elements), và các phần tử này chính là các khóa (keys).
  • Khi duyệt set theo iterator từ begin đến end, các phần tử của set sẽ tăng dần theo phép toán so sánh.
  • Mặc định của set là sử dụng phép toán less, bạn cũng có thể viết lại hàm so sánh theo ý mình.
  • Set được thực hiện giống như cây tìm kiếm nhị phân (Binary search tree).

Khai báo:

#include <set> 
set <int> s;
set <int, greater<int> > s;
Hoặc viết class so sánh theo ý mình:
struct cmp{
bool operator() (int a,int b) {return a<b;}
};
set <int,cmp > myset ;

Capacity:

  • size : trả về kích thước hiện tại của set. ĐPT O(1)
  • empty : true nếu set rỗng, và ngược lại. ĐPT O(1).

Thay đổi:

  • insert : Chèn phần tử vào set. ĐPT O(logN).
  • erase : có 2 kiểu xóa: xóa theo iterator, hoặc là xóa theo khóa. ĐPT O(logN).
  • clear : xóa tất cả set. ĐPT O(n).
  • swap : đổi 2 set cho nhau. ĐPT O(n).

Truy cập phần tử:

  • find : trả về itarator trỏ đến phần tử cần tìm kiếm. Nếu không tìm thấy itarator trỏ về “end” của set. ĐPT O(logN).
  • lower_bound : trả về iterator đến vị trí phần tử bé nhất mà không bé hơn (lớn hơn hoặc bằng) khóa (dĩ nhiên là theo phép so sánh), nếu không tìm thấy trả về vị trí “end” của set. ĐPT O(logN).
  • upper_bound: trả về iterator đến vị trí phần tử bé nhất mà lớn hơn khóa, nếu không tìm thấy trả về vị trí “end” của set.. ĐPT O(logN).
  • count : trả về số lần xuất hiện của khóa trong container. Nhưng trong set, các phần tử chỉ xuất hiện một lần, nên hàm này có ý nghĩa là sẽ return 1 nếu khóa có trong container, và 0 nếu không có. ĐPT O(logN).

 

Chương trình Demo 1:

#include <iostream>
#include <set>
using namespace std; 
main() {
      set <int> s;
      set <int> ::iterator it; s.insert(9);  // s={9}
      s.insert(5);  // s={5,9} cout << *s.begin() << endl; //In ra 5 s.insert(1);  // s={1,5,9} cout << *s.begin() << endl; // In ra 1
 
      it=s.find(5);
      if (it==s.end()) cout << "Khong co trong container" << endl; else  cout << "Co trong container" << endl;

      s.erase(it);  // s={1,9}
      s.erase(1);  // s={9}

      s.insert(3);  // s={3,9}
      s.insert(4);  // s={3,4,9}

      it=s.lower_bound(4);
      if (it==s.end()) cout << "Khong co phan tu nao trong set khong be hon 4" << endl; else cout << "Phan tu be nhat khong be hon 4 la " << *it << endl;  // In ra 4

      it=s.lower_bound(10);
      if (it==s.end()) cout << "Khong co phan tu nao trong set khong be hon 10" << endl; else cout << "Phan tu be nhat khong be hon 10 la " << *it << endl; // Khong co ptu nao           

      it=s.upper_bound(4);
      if (it==s.end()) cout << "Khong co phan tu nao trong set lon hon 4" << endl; else cout << "Phan tu be nhat lon hon 4 la " << *it << endl;  // In ra 9                

      /* Duyet set */

      for (it=s.begin();it!=s.end();it++) { cout << *it <<  " ";
      }
      // In ra 3 4 9

      cout << endl; system("pause");
}

Lưu ý: Nếu bạn muốn sử dụng hàm lower_bound hay upper_bound để tìm phần tử lớn nhất “bé hơn hoặc bằng” hoặc “bé hơn” bạn có thể thay đổi cách so sánh của set để tìm kiếm. Mời bạn xem chương trình sau để rõ hơn:

#include <iostream>
#include <set>
#include <vector> using namespace std;
main() {
      set <int, greater <int> > s;
      set <int, greater <int> > :: iterator it; // Phép toán so sánh là greater

      s.insert(1);  // s={1}
      s.insert(2);  // s={2,1}
      s.insert(4);  // s={4,2,1}
      s.insert(9);  // s={9,4,2,1}

      /* Tim phần tử lớn nhất bé hơn hoặc bằng 5 */ it=s.lower_bound(5);
      cout << *it << endl;  // In ra 4

      /* Tim phần tử lớn nhất bé hơn 4 */ it=s.upper_bound(4);
      cout << *it << endl;  // In ra 2

      system("pause");
}