You are on page 1of 4

Bài tập I

Bài 1. Viết CT nhập vào 1 ký tự, xuất ra ký tự đó


Ví dụ:
Moi ban nhap 1 ky tu: b
Ky tu vừa nhập: b

Bài 2. Viết CT nhập vào 1 ký tự, xuất ra ký tự liền trước và liền sau.
Ví dụ:
Moi ban nhap 1 ky tu: b
Ky tu lien truoc: a
Ky tu lien sau: c

Bài 3. Viết CT nhập vào 1 ký tự thường. In ra ký tự Hoa


Ví dụ:
Moi ban nhap 1 ky tu: b
Ky tu Hoa: B

Bài 4. Viết CT nhập vào 1 ký tự hoa. In ra ký tự thường


Ví dụ:
Moi ban nhap 1 ky tu: B
Ky tu thường: b

Bài 5. Viết chương trình nhập vào 2 số nguyên dương x1, x2 (1 ≤ x2 < x1 < 9). Xuất ra
kết quả các phép tính: x1-1, x1 +2, x1+x2, x1-x2
Ví dụ:
x1 = 5
x2 = 3
x1 – 1 = 4
x1 + 1 = 6
x1 + x2 = 8
x1 – x2 = 7

Bài tập II
Bài 1. Viết chương trình cho nhập 1 ký tự từ màn hình và xuất câu thông báo chào buổi
sáng, buổi trưa hay buổi chiều tương ứng với ký tự nhậpvào là 'S', 's', 'T', 't', 'C', 'c'.

Bài 2. Nhập 2 số nguyên dương N,M thuọc [0..9], nhập 1 ký tự Char. Xuất ra màn hình ma
trận gồm N dòng và M cột gồm ký tự Char.
Ví dụ: N=3, M=4, C='*'
⇒ ****
****
****

Bài 3. Nhập 2 số nguyên dương A, B. Tính A/B, A*B (không dùng lệnh DIV, MUL)
Ví dụ: A=18, B=3
Tính A/B: 18 - 3 - 3 - 3 - 3 - 3 - 3 = 0, vậy A/B = 6 (tổng số lần A trừ B cho đến khi A = 0).
Tính A*B = 18 + 18 + 18 = 54
Bài 4. Tìm USCLN của 2 số nguyên dương N, M nhập từ bàn phím. Kiểm tra N,M có là
hai số nguyên tố cùng nhau không?
Ví dụ: N = 15, M = 6 => USCLN(15, 6) = 3
Ví dụ: N = 3, M = 5 => USCLN(3, 5) = 1 => 3, 5 là 2 số nguyên tố cùng
nhau.

Bài 5. Dùng lệnh lặp, viết chương trình nhập vào 1 chuỗi ký tự. Sau khi nhập xong đếm
xem chuỗi có bao nhiêu ký tự. Xuất số ký tự có trong chuỗi.
Ví dụ: S = "Hello world !" ==> Số kí tự trong chuỗi là 13.

Bài 6. Nhập vào 2 chuỗi số, đổi 2 chuỗi thành số, sau đó cộng hai số, đổi ra chuỗi và xuất
chuỗi tổng.
Ví dụ: S1 = "123" => N1 = 123
S2 = "456" => N2 = 456
N = N1 + N2 = 123 + 456 = 579 => S = "579" (xuất S ra màn hình)

Bài 7. Viết chương trình cho phép nhập vào một chuỗi S.
Đổi tất cả ký tự thường thành ký tự hoa.
Đổi tất cả ký tự hoa thành ký tự thường.

Bài 8. Nhập và xuất mảng 1 chiều. Tìm phần tử max, min, tính tổng các phần tử trong
mảng.
Ví dụ: N=5
A[N] = {3,1,2,7,4}
=> max = 7, min = 1, tổng = 17.

Bài 9. Cài đặt thuật toán Bubble Sort dùng ASM.

Thuật toán Bubble Sort theo ngôn ngữ C như sau:


for (int i = 0; i< N-1; i++)
for(int j=N-1;j > i; j--)
if(a[j] < a[j-1])
Hoan_Vi (a[j], a[j-1]);

Bài 10. Nhập và xuất mảng A hai chiều.


a. Tính tổng các phần tử trên đường chéo chính, đường chéo phụ.
b. Đếm số phần tử 0 và phần tử khác 0 trong mảng.
c. Tìm phần tử max của mỗi dòng, mỗi cột. Tính tổng của mỗi dòng, mỗi cột.
d. Nhập 1 mảng hai chiều B, tạo một mảng hai chiều C có các phần tử trên dòng
chẵn bằng với các phần tử trên dòng chẵn của A, các phần tử trên dòng lẻ bằng các phần tử
trên dòng lẻ của B.

Mở rộng
1. Trong bài tập 5, làm sao để đếm số từ có trong chuỗi kí tự?
2. Trong bài tập 10, làm sao để thể hiện một menu cho phép người dùng chọn trong
các kí tự từ ‘a’ đến ‘d’ sau đó thực hiện công việc ứng với chữ cái đó.

Baøi taâp III


Bài 1: Viết chương trình kiểm tra một biểu thức đại số có chứa các dấu ngoặc
(như (), [] và {}) là hợp lệ hay không hợp lệ .
Ví dụ:
(a + [b – { c * ( d – e ) } ] + f)
là hợp lệ nhưng
(a + [b – { c * ( d – e )] } + f)
là không hợp lệ.

Bài 2: Tính giá trị biểu thức đã nhập ở bài tập 2 theo thứ tự từ trái sang phải.

Bài 3: Viết lại các bài tập tuần trước dưới dạng các thủ tục

Bài 4: Xây dựng một thư viện các macro

Baøi IV –soá
1. Viết chương trình (VCT) đổi một số dạng thập phân sang thập lục phân.
Ví dụ: Nhập một số hệ 10 : 26
Dạng thập lục phân: 1A
2. VCT nhập một số hệ thập phân rồi xuất ra biểu diễn dạng nhị phân của nó.
Ví dụ: Nhập số hệ 10: 26
Dạng nhị phân: 11010
3. VCT đổi một số dạng thập lục phân sang sang thập phân.
Ví dụ: Nhập số hệ thập lục phân: 1a (hoặc 1A)
Dạng thập phân của nó là: 26
4. VCT đổi một số dạng thập lục phân sang nhị phân
Ví dụ: Nhập số hệ thập lục phân: 1a (hoặc 1A)
Dạng biểu diễn nhị phân là : 00011010
5. VCT đổi một số dạng nhị phân sang thập phân
Ví dụ: Nhập một số nhị phân: 11010
Dạng thập phân là: 26
6. VCT đổi một số dạng nhị phân sang thập lục phân
Ví dụ: Nhập một số nhị phân: 11010
Dạng thập lục phân là: 1A
7. VCT “echo” với yêu cầu: nhập vào số nguyên dương n và một kí tự bất kì, sau đó trên
màn hình xuất hiện n lần kí tự đó.
Ví dụ: Nhập một kí tự: k Nhập số lần n : 5  Kết quả : kkkkk.
8. VCT nhập vào hai số nguyên dương. Tính tổng, hiệu, tích, thương (phép div) và phần
dư khi chia 2 số nguyên (phép mod)
Ví dụ: Nhập số thứ nhất : 14 Nhập số thứ hai : 16
Tổng hai số là : 30 Hiệu: -2 Tích: 224 Thương: 0 Phần dư: 14

Baøi taâp V – Chuoåi


9. VCT nhập một chuỗi kí tự và in ra chuỗi theo thứ tự ngược lại. In chiều dài chuỗi.
Ví dụ : Nhập chuỗi : abcd Chuỗi kết quả: dcba Chiều dài chuỗi: 4
10. VCT nhập họ tên .Sau đó biến tất cả thành chữ hoa rồi in ra. Biến tất cả thành chữ
thường rồi in ra.
Ví dụ: Nhập vào chuỗi : Thanh cHi khanG Chuỗi Hoa : THANH CHI KHANG
Chuỗi kết quả thường: thanh chi khang
11. Nhập một chuỗi kí tự tính tần số xuất hiện của các nguyên âm.
Ví dụ : Nhập chuỗi : Thanh Chi Khang Số lần xuất hiện của các nguyên âm là: 3
12. VCT nhập hai chuỗi, liệt kê các kí tự có mặt trong hai chuỗi.
Ví dụ: Nhập chuỗi: computer và chuỗi : informatic
Các kí tự có mặt trong hai chuỗi : o, m, t, r

13. Nhập vào hai chuỗi kí tự, so sánh hai chuỗi (= > < ).
Ví dụ: Chuỗi thứ nhất: forn Chuỗi thứ hai : form
Kết quả : Chuỗi thứ nhất > chuỗi thứ hai.
14. Nhập vào hai chuỗi kí tự, kiểm tra chuỗi thứ nhất là chuỗi con chuỗi tthứ hai
không, không phân biệt hoa thường.
Ví dụ: Chuỗi thứ nhất : form Chuỗi thứ hai: inFoRMatic
Kết quả : Chuỗi thứ nhất là con chuỗi thư hai

You might also like