Nếu biểu thức đk đúng thì sẽ thực hiện khối lệnh 1 và sau đó sẽ thực hiện các lệnh tiếp sau khối lệnh 1... Nếu biểu thức đúng thì sẽ thực hiện khối lệnh 1 và sau đó sẽ thực hiện các lệnh
Trang 11
Giảng Viên: ThS Dương Thành Phết Email: phetcm@gmail.com
Website: http://www.thayphet.net Tel: 0918158670 – facebook.com/duongthanhphet
KỸ THUẬT LẬP TRÌNH C/C++
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 3Lệnh 2 Lệnh 3
true
Lệnh 1
Lệnh 3 false
Lệnh 2
Trang 4if ( Biểu thức ĐK)
khối lệnh 1;
if ( Biểu thức ĐK ) khối lệnh 1;
else khối lệnh 2 ;
Nếu biểu thức đk đúng thì
sẽ thực hiện khối lệnh 1 và
sau đó sẽ thực hiện các
lệnh tiếp sau khối lệnh 1
Nếu biểu thức sai thì bỏ qua
khối lệnh 1 mà thực hiện
ngay các lệnh tiếp sau khối
lệnh 1
Nếu biểu thức đúng thì sẽ thực hiện khối lệnh 1 và sau
đó sẽ thực hiện các lệnh tiếp sau khối lệnh 2
Nếu biểu thức sai thì bỏ qua khối lệnh 1 mà thực hiện khối lệnh 2 sau đó thực hiện tiếp các lệnh tiếp sau khối lệnh 2
1 CẤU TRÚC RẼ NHÁNH
Trang 77
Ví dụ 02:
Nhập vào số nguyên a và b, nếu a là
bội số của b thì in thông báo “a là
bội số của b”, ngược lại in “a khong
la boi so cua b”
7
1 CẤU TRÚC RẼ NHÁNH
Trang 11break ;
[default: các câu lệnh]
2 CẤU TRÚC LỰA CHỌN
Trang 12 ni là các hằng số nguyên hoặc ký tự
Phụ thuộc vào giá trị của biểu thức sau switch, nếu:
Giá trị này = ni thì thực hiện câu lệnh sau case ni
Khi giá trị biểu thức không thỏa tất cả các ni thì
thực hiện câu lệnh sau default nếu có, hoặc thoát khỏi câu lệnh switch
Khi chương trình đã thực hiện xong câu lệnh của
case ni nào đó thì nó sẽ thực hiện luôn các lệnh
thuộc case bên dưới do đó để chương trình thoát khỏi lệnh switch, ta dùng lệnh break
2 CẤU TRÚC LỰA CHỌN
Trang 1313
void main() { int n;
cout<<"Nhap vao n (1<=n<=5): ";
cin>>n;
switch (n) {
case 1: cout<<"So mot";break;
case 2: cout<<"So hai";break;
case 3: cout<<"So ba"; break;
case 4: cout<<"So bon"; break;
case 5: cout<<"So nam"; break;
default : cout<<"Khong doc duoc";
Ví dụ 04: Nhập vào số nguyên n có giá trị từ 1 đến 5 In cách
đọc của số đó ra màn hình
2 CẤU TRÚC LỰA CHỌN
Trang 15Kiểm tra biểu thức điều kiện
Tăng/ giảm chỉ số lặp
Sai (Biểu thức điều kiện = 0)
Nguyên lý hoạt động
Bước 1: thực hiện Biểu thức khởi gán
Bước 2: Kiểm tra điều kiện của biểu thức điều kiện
Nếu biểu thức điều kiện bằng true thì cho thực hiện các lệnh trong
vòng lặp, thực hiện biểu thức tăng giảm Quay trở lại bước 2
Ngược lại thoát khỏi lặp
3 CẤU TRÚC LẶP - FOR
Trang 16Ví dụ 05:
In ra màn hình 10 dòng chữ “Xin chao”
void main() {
for (int buoc = 1; buoc <= 10; buoc++)
3 CẤU TRÚC LẶP - FOR
Trang 173 CẤU TRÚC LẶP - FOR
Trang 18< Khởi gán>
while ( < biểu thức điều kiện>)
lệnh/ khối lệnh;
<biểu thức tăng/ giảm>
4 CẤU TRÚC LẶP - WHILE
Bước 1: thực hiện Biểu thức khởi gán
Bước 2: Kiểm tra điều kiện của biểu thức điều kiện
Nếu biểu thức điều kiện bằng true thì thực hiện các lệnh trong
vòng lặp, thực hiện biểu thức tăng giảm Quay trở lại bước 2
Ngược lại thoát khỏi lặp
Trang 1919
void main() {
Trang 20< Khởi gán>
Do
{
<khối lệnh>;
<biểu thức tăng/ giảm>;
} while (biểu thức điều kiện);
Trang 2121
Ví dụ 08: Nhập vào một số nguyên dương, nếu nhập vào số
bằng hoặc nhỏ hơn 0 thì thông báo lỗi và yêu cầu nhập lại
Trang 22 Ngược lại với cấu trúc lặp for và while (kiểm tra điều kiện trước khi thực hiện lặp), vòng lặp do…while thực
hiện lệnh lặp rồi mới kiểm tra điều kiện Do đó vòng lặp
5 CẤU TRÚC LẶP – DO WHILE
Trang 23 Tuy nhiên, cần phân biệt với lệnh return là lệnh trả về
từ hàm, nghĩa là thoát khỏi hàm đang thi hành, nên cũng giúp thoát luôn khỏi tất cả các vòng lặp
23
6 LỆNH BREAK VÀ CONTINUE
Trang 24 Nếu có các lệnh còn lại (cùng trong vòng lặp) đặt sau continue sẽ không được thực hiện
Nói tóm lại, lệnh continue thường dùng để bỏ qua một lần lặp nào đó nếu thỏa điều kiện
6 LỆNH BREAK VÀ CONTINUE
Trang 2525
void main() {
}
25
Ví dụ 09: Cho phép người dùng nhập liên tục số nguyên
dương, nếu nhập số nguyên âm thì dừng
6 LỆNH BREAK VÀ CONTINUE
Trang 26Ví dụ 10: In ra màn hình giá trị từ 10 đến 20 trừ số 13 và 17
void main() {
Trang 27cout<<"Gia tri cua a la chan"<<endl;
cout<<"Tong cua a va b la: " <<(a + b)<<endl;
27
Bài tập 1: Cho biết kết quả của đoạn chương trình
Trang 30Bài tập 4: Viết chương trình nhập vào hai số nguyên a,
b In ra màn hình giá trị lớn nhất
Bài tập 5: Viết chương trình nhập vào ba số a, b, c đọc vào từ bàn phím Hãy tìm giá trị lớn nhất của ba số trên và in ra kết quả
Bài tập 6: Viết chương trình nhập ba số a, b, c đọc vào
từ bàn phím Hãy in ra màn hình theo thứ tự tăng dần các số (Chỉ được dùng thêm hai biến phụ)
Bài tập 7: Viết chương trình nhập vào một số nguyên n gồm ba chữ số Xuất ra màn hình chữ số lớn nhất ở vị
trí nào? Ví dụn=291 Chữ số lớn nhất nằm ở hàng chục
BÀI TẬP CẤU TRÚC IF
Trang 3131
Bài tập 6: Viết chương trình nhập vào số nguyên n gồm ba chữ số Xuất ra màn hình theo thứ tự tăng dần của các
chữ số Ví dụ: n=291 Xuất ra 129
Bài tập 7: Viết chương trình nhập vào ngày, tháng, năm Kiểm tra xem ngày, tháng, năm đó có hợp lệ hay không?
In kết quả ra màn hình
Bài tập 8: Viết chương trình nhập vào giờ, phút, giây Kiểm tra xem giờ, phút, giây đó có hợp lệ hay không? In kết quả
ra màn hình
Bài tập 9: Viết chương trình nhập vào ngày, tháng, năm hợp lệ Cho biết năm này có phải là năm nhuận hay không? In kết quả ra màn hình
Bài tập 10: Viết chương trình tính diện tích và chu vi các hình: tam giác, hình vuông, hình chữ nhật và hình tròn với những thông tin cần được nhập từ bàn phím
31
BÀI TẬP CẤU TRÚC IF
Trang 32Bài tập 11: Viết chương trình tính tiền cước TAXI Biết rằng:
km đầu tiên là 13000 đ Mỗi km tiếp theo là 12000 đ Nếu lớn hơn 30km thì mỗi km thêm sẽ là 11000 đ
Hãy nhập số km sau đó in ra số tiền phải trả
Bài tập 12: Viết chương trình nhập vào 3 số nguyên dương Kiểm tra xem 3 số đó có lập thành tam giác không? Nếu có hãy cho biết tam giác đó thuộc loại nào? (Cân, vuông, đều, …)
Bài tập 13: Viết chương trình nhập vào số nguyên dương
n Kiểm tra xem n có phải là số chính phương hay không? (số chính phương là số khi lấy căn bậc 2 có kết quả là
BÀI TẬP CẤU TRÚC IF
Trang 3333
BÀI TẬP CẤU TRÚC SWITCH
Bài tập 14: Viết chương trình nhập vào 1 số nguyên dương gồm 3 chữ số, in ra cách đọc của số này
33
Trang 34int a=18;
for(int i = 1; i <= a; i++) if(a%i == 0)
cout<<i <<"\t";
BÀI TẬP CẤU TRÚC LẶP FOR, WHILE, DO WHILE
for(int i = 0; i < 5; i++){
for(int j = 0; j <= i; j++) cout<<j<<“\t”;
cout<<endl;
}
Bài tập 15: Cho biết kết quả của đoạn chương trình
Bài tập 16: Cho biết kết quả của đoạn chương trình
Trang 36int a = 18, i = 1;
do{
if(a%i == 0) cout<<i<<“\t”;
i++;
} while(i <= a);
Bài tập 18: Cho biết kết quả của đoạn chương trình
Trang 3737
int a = 11, b = 16, i = a;
while( i < b ){
if(i%2 == 0) { Console.Write(i + "\t");
break;
} i++;
}
37
Bài tập 19: Cho biết kết quả của đoạn chương trình
Trang 39} cout<<"s = " <<s;
39
Bài tập 21: Cho biết kết quả của đoạn chương trình
Trang 40Bài tập 22: Viết chương trình nhập số nguyên dương n Liệt kê n số nguyên tố đầu tiên
Bài tập 23: Viết chương trình nhập vào hai số nguyên dương a và b Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của a và b
Bài tập 24: Viết chương trình nhập vào một số nguyên n gồm tối đa 10 chữ số (4 bytes) In ra màn hình giá trị nhị phân của số trên (Hướng dẫn: chia lấy dư cho 2 và xuất theo thứ tự ngược lại)
Bài tập 25: Viết chương trình đếm số ước số của số nguyên dương N Ví dụ: N=12 thì số ước số của 12 là 6
Trang 4141
Bài tập 26: Một số hoàn thiện là một số có tổng các ước
số của nó (không kể nó) bằng chính nó Hãy liệt kê các
số hoàn thiện nhỏ hơn 5000
Ví dụ: Số 6 là số hòan thiện vì tổng các ước số:1+2+3 = 6
Bài tập 27: Nhập vào ngày, tháng, năm Cho biết đó là ngày thứ mấy trong năm
Bài tập 28: In ra dãy số Fibonaci
f 1 = f 0 =1;
f n = f n-1 + f n-2 ; (n>1)
41
Trang 42The End