Professional Documents
Culture Documents
01.z01 If 14
01.z01 If 14
1
THPT CHUYÊN HƯNG YÊN
Undo (Alt+Backspace hoặc Ctrl + Z): Phục hồi lại văn bản từ trạng thái trước thao tác
soạn thảo gần nhất. (VD: dùng để phục hồi lại dòng lệnh vừa bị xoá)
Yêu cầu: Rèn luyện kĩ năng
Không nhìn bàn phím, chỉ nhìn màn hình
Tuyệt đối không dùng con chuột để dịch chuyển con trỏ hoặc mở menu.
Gõ đủ 10 ngón
Hạn chế sử dụng chuột, nhớ thật nhiều phím tắt (Short Cut)
CTRL + S: Lưu file
CTRL + O: Mở file
CTRL + Shift + N: Tạo file mới.
CTRL + F9: Dịch chương trình
F9: Chạy chương trình
CTRL + TAB: Chuyển sang file khác đang được mở trên Codeblocks Editor.
ALT + F4: Thoát CodeBlocks
CTRL + Shift + C: comment một số dòng.
CTRL + Shift + V: Bỏ comment.
CTRL + F: Tìm kiếm.
…..
Run: Các chức năng chạy chương trình
Run (F9): Chạy chương trình
Step over (F7): Chạy chương trình ở chế độ gỡ rối, chạy từng dòng rồi dừng lại, hiện một
dải xanh ở dòng kế tiếp (sắp chạy tới).
Trace into (Ctrl+F7): Tương tự như Step over, nhưng nếu dòng lệnh là một lời gọi chương
trình con, Codeblocks sẽ thực hiện việc nhảy tới mã lệnh chương trình con để tiếp tục gỡ
rối.
Goto Cursor (F4): Chạy ở chế độ gỡ rối, chạy tới dòng chứa con trỏ thì dừng lại.
Debug: Các chức năng gỡ rối
Debug->debugging windows -> watches: Hiện những gì trên màn hình người dùng trên
một cửa sổ mới.
Logs (F2): Hiện những thông điệp lỗi của một công cụ hỗ trợ.
2
THPT CHUYÊN HƯNG YÊN
3
THPT CHUYÊN HƯNG YÊN
Toán tử Tên Ví dụ
+ Cộng 12 + 4.9 // ra 16.9
- Trừ 3.98 - 4 // cho -0.02
* Nhân 2 * 3.4 // cho 6.8
/ Chia 9 / 2.0 // cho 4.5
% Lấy phần dư 13 % 3 // cho 1
2 Toán tử quan hệ
Toán tử Tên Ví dụ
== So sánh bằng 5 == 5 // cho 1
!= So sánh không bằng 5 != 5 // cho 0
< So sánh hỏ hơn 5 < 5.5 // cho 1
<= So sánh hỏ hơn hoặc bằng 5 <= 5 // cho 1
> So sánh lớn hơn 5 > 5.5 // cho 0
>= So sánh lớn hơn hoặc bằng 6.3 >= 5 // cho 1
3 Toán tử luận lý
Toán tử Tên Ví dụ
! Phủ định luận lý !(5 == 5) // được 0
&& Và luận lý 5 < 6 && 6 < 6 // được 0
|| Hoặc luận lý 5 < 6 || 6 < 5 // được 1
4
THPT CHUYÊN HƯNG YÊN
Toán tử Tên Ví dụ
~ Phủ định bit ~'00010011' được '11101100'
& Và bit '1001' & '1110' được '1000'
| Hoặc bit '1001' | '1010' được '1011'
^ XOR bit '1001' ^ '1010' được '0011'
<< Dịch trái bit '01101011' << 2 được '10101100'
>> Dịch phải bit '01101011' >> 2 được '00011010'
5 Toán tử tăng/giảm
a.Nhập b.Xuất
cin >> tên biến; cout << tên biến;
VD: Để nhập dữ liệu cho các biến x, VD: int x = 10, y = 15;
y, z cout<<x; // Màn hình hiện ra số 10
5
THPT CHUYÊN HƯNG YÊN
b. Lệnh Switch
switch (biểu thức) { switch(x){
case hằng1 : các lệnh; case 0: cout << “So khong”;
... break;
case hằng n: các lệnh; case 1: cout << “So mot “;
default: các lệnh; break;
} case 2: cout << “So hai “;
break;
Default: cout << “So lon hon
hai”;
}
6
THPT CHUYÊN HƯNG YÊN
Biểu thức (gọi là thẻ switch) được ước lượng trước tiên và kết quả được so sánh với
mỗi hằng số (gọi là các nhãn) theo thứ tự chúng xuất hiện cho đến khi một so khớp
được tìm thấy.
Lệnh ngay sau khi so khớp được thực hiện sau đó. Mỗi case có thể được theo sau bởi
không hay nhiều lệnh (không chỉ là một lệnh).
Chú ý Việc thực thi tiếp tục cho tới khi hoặc là bắt gặp một lệnh break hoặc tất cả
các lệnh xen vào đến cuối lệnh switch được thực hiện.Trường hợp default ở cuối
cùng là một tùy chọn và được thực hiện nếu như tất cả các case trước đó không được
so khớp.
3. Lệnh lặp
1.1 Lệnh While
while (biểu thức) lệnh;
Đôi khi chúng ta có thể gặp vòng lặp while có thân rỗng (nghĩa là một câu lệnh null).
Ví dụ vòng lặp sau đặt n tới thừa số lẻ lớn nhất của nó.
while (n % 2 == 0) n /= 2 ;
3.2 Lệnh Do while
do do {
lệnh; cin >> n;
while (biểu thức); cout << n * n << '\n';
} while (n != 0);
Lệnh được thực thi trước tiên và sau đó biểu thức được ước lượng. Vòng lặp dừng lại khi
biểu thức sai.
Vòng lặp do ít được sử dụng thường xuyên hơn vòng lặp while. Nó hữu dụng trong những
trường hợp khi chúng ta cần thân vòng lặp thực hiện ít nhất một lần mà không quan tâm
đến điều kiện lặp.
Ở ví dụ, chúng ta thực hiện lặp đi lặp lại công việc đọc một giá trị và in bình phương của
nó, dừng khi giá trị là 0.
8
THPT CHUYÊN HƯNG YÊN
MỘT SỐ VÍ DỤ CƠ BẢN
Ví dụ 1 (SCHAR.PAS): In ra màn hình 2 dòng:
Hello world!
I’m a NEWBIE.
Ví dụ 2 (SUM.PAS). Nhập vào 2 số nguyên 𝑎, 𝑏 |𝑎|, |𝑏| ≤ 109 . Hãy in ra màn hình tổng 𝑎 + 𝑏.
Dữ liệu: vào từ thiết bị nhập chuẩn (bàn phím) hai số 𝑎, 𝑏.
Kết quả: In ra thiết bị xuất chuẩn (màn hình) tổng 𝑎 + 𝑏.
Ví dụ:
Sample Input Sample Output
2 3 5
5 9 14
9 1 10
Ví dụ 3 (CIRAREA.CPP). Nhập vào một số thực a là bán kính của hình tròn. Hãy tính diện tích
hình tròn đó.
Dữ liệu: vào từ thiết bị nhập chuẩn gồm một số thực là bán kính của hình tròn.
Kết quả: ghi ra biết bị xuất chuẩn gồm số thực làm tròn đến hai chữ số sau dấu chấm thập
phân là diện tích hình tròn đó.
Ví dụ:
Sample Input Sample Output
2.5 19.63
5.9 109.30
9.1 260.02
Ví dụ 4 (MAX.CPP)
Cho 3 số nguyên 𝑎, 𝑏, 𝑐, hãy tìm giá trị lớn nhất trong ba số đó
Dữ liệu: Vào từ thiết bị nhập chuẩn gồm một dòng ghi ba số 𝑎, 𝑏, 𝑐 (|𝑎|, |𝑏|, |𝑐| ≤ 109 )
Kết quả: Ghi ra thiết bị xuất chuấn một số nguyên duy nhất là số lớn nhất trong ba số 𝑎, 𝑏, 𝑐.
Ví dụ:
9
THPT CHUYÊN HƯNG YÊN
MỘT SỐ BÀI TẬP LUYỆN TẬP NHẬP XUẤT - LỆNH ĐIỀU KIỆN
Bài 1. (HASHTAG.CPP)
Viết chương trình in ra màn hình hình vẽ sau:
##########
#++++++++#
##########
Bài 2. (TRIAREA.CPP)
Cho 𝑎, 𝑏, 𝑐 là ba số thực tương ứng với độ dài ba cạnh của một tam giác. Hãy tính diện tích tam
giác đó.
Dữ liệu: Vào từ thiết bị nhập chuẩn gồm 3 dòng:
10
THPT CHUYÊN HƯNG YÊN
Bài 4. (RECT.CPP)
Cho một hình chữ nhật với chu vi là 𝐿 và diện tích là 𝑆, hãy xác định độ dài hai cạnh của hình
chữ nhật đó.
Dữ liệu: Vào từ thiết bị nhập chuẩn gồm hai dòng
Dòng 1 ghi số thực 𝐿
Dòng 2 ghi số thực 𝑆
Kết quả: Ghi ra thiết bị xuất chuẩn gồm 2 dòng:
Dòng 1 ghi độ dài cạnh ngắn hơn của hình chữ nhật (làm tròn đến hai chữ số sau dấu
chấm thập phân)
Dòng 2 ghi độ dài cạnh còn lại của hình chữ nhật đó (làm tròn đến hai chữ số sau dấu
chấm thập phân)
Sample Input Sample Output
14.00 3.00
12.00 4.00
Bài 5. (MIN.CPP)
Cho 3 số nguyên 𝑎, 𝑏, 𝑐, hãy tìm giá trị nhỏ nhất trong ba số đó.
Dữ liệu: Vào từ thiết bị nhập chuẩn gồm một dòng ghi ba số 𝑎, 𝑏, 𝑐 (|𝑎|, |𝑏|, |𝑐| ≤ 109 )
Kết quả: Ghi ra thiết bị xuất chuấn một số nguyên duy nhất là số nhỏ nhất trong ba số 𝑎, 𝑏, 𝑐.
Ví dụ:
11
THPT CHUYÊN HƯNG YÊN
Nếu phương trình có hai nghiệm phân biệt, in ra mỗi nghiệm trên một dòng làm tròn
tới 4 chữ số sau dấu chấm thập phân, nghiệm nhỏ hơn in trước
Ví dụ:
Bài 7. (INTERVAL.CPP)
Viết chương trình nhập vào 4 số thực a, b, c, d với a ≤ 𝑏, 𝑐 ≤ 𝑑. Hãy cho biết trên trục số hai
đoạn [𝑎, 𝑏] và [𝑐, 𝑑] có điểm chung hay không?
Dữ liệu: Vào từ thiết bị nhập chuẩn gồm một dòng ghi bốn số 𝑎, 𝑏, 𝑐, 𝑑.
Kết quả: Ghi ra thiết bị xuất chuấn YES nếu hai đoạn [𝑎, 𝑏], [𝑐, 𝑑] có điểm chung, ngược lại ghi
ra NO.
Bài 8. (AVERAGE.CPP)
Cho hai số nguyên a, b có |a|, |b| ≤ 2.109 , hãy tính trung bình cộng của a và b.
Chú ý: Đối với số nguyên có các phép tính: +, -, div, mod (div là phép lấy phần nguyên, mod là
phép lấy phần dư. Ví dụ: 5 – 2 = 2, 5 + 2 = 7, 5 div 2 = 2, 5 mod 2 = 1) nếu 2 toán hạng có kiểu
dữ liệu thế nào thì kết quả tính cũng là thuộc đúng kiểu dữ liệu đó.
Dữ liệu: Vào từ thiết bị nhập chuẩn gồm một dòng ghi bốn số 𝑎, 𝑏
Kết quả: Ghi ra thiết bị xuất chuấn giá trị trung bình cộng của hai số đó làm tròn đến hai chữ
số sau dấu chấm thập phân.
12
THPT CHUYÊN HƯNG YÊN
Dữ liệu: Vào từ thiết bị nhập chuẩn hai số nguyên không âm 𝑎, 𝑏 ≤ 1018 cách nhau bởi dấu
cách, (𝑎, không đồng thời bằng 0)
Kết quả: Ghi ra thiết bị xuất chuẩn một số nguyên duy nhất ước số chung lớn nhất của 𝑎 và 𝑏
Ví dụ:
Gợi ý: Đối với ràng buộc đề bài 𝑎, 𝑏 ≤ 1018 thì kiểu dữ liệu phù hợp để khai báo hai biến 𝑎, 𝑏 là
int64 chứ không phải là integer.
Bài 10. BỘI SỐ CHUNG NHỎ NHẤT (LCM.CPP)
Cho hai số nguyên dương 𝑎,, tìm bội số chung nhỏ nhất của 𝑎 và 𝑏
Dữ liệu: Vào từ thiết bị nhập chuẩn hai số nguyên dương 𝑎, 𝑏 ≤ 109 trên một dòng cách nhau
bởi dấu cách.
Kết quả: Ghi ra thiết bị xuất chuẩn một số nguyên duy nhất là bội số chung nhỏ nhất của 𝑎 và
𝑏
Ví dụ:
13
THPT CHUYÊN HƯNG YÊN
Yêu cầu: Với mỗi cặp 3 số 𝑟, 𝑎, 𝑏 tương ứng là bán kính của chiếc bàn và kích thước chiếc bánh
pizza. Bạn hãy cho biết liệu có thể đặt chiếc bánh Pizza lên chiếc bàn hay không?
14