Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
1
Đề thi Cơ sở lp trình.
B đề này được thc hin dựa trên chương trình hợp tác gia t chc EXP và Toantin.org, c hai
đều thuc khoa Toán Tin học, Đại hc Khoa hc T nhiên, Tp.HCM.
T chc EXP
Toantin.org
Mi góp ý v đề thi xin gi v email:
thienquocdongphuc@gmail.com
Cảm ơn các bạn.
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
2
Câu 1:
Chomt chui bit biu din s nh phân có chiu dài . Hãy v sơ đồ khối flowchart để biu din
thut toán chuyển đổi chui bit trên thành s thp phân.
Ví d: Cho chui bit có chiu dài là “, thut toán phải tính ra được s thp phân
tương ứng là .
Câu 2:
Gi s cách tính thuế thu nhp cá nhân da trên biu thuế như sau:
Bc thuế
Phn thu nhp tính thuế / tháng
(triệu đồng)
Đến 
Đến 
Đến 
Trên 
Ví d, nếu thu nhp cá nhân mt tháng là  triu thì thuế thu nhp cá nhân s được tính như sau:
T  triu s được min thuế.
T   triu thì phải đóng thuế . Vì vy cá nhân phải đóng thuế trong khong này là
triu   ngàn dng.
T   triu thì phải đóng thuế . Vì vy cá nhân phải đóng thuế trong khong này là
triu   ngàn dng.
Do đó, cá nhân phải đóng thuế thu nhp là    ngàn đồng.
Hãy viết chương trình cho phép nhập thu nhp cá nhân ca mt tháng và tính thuế thu nhp cá nhân
của tháng đó.
Câu 3:
Sau đây là danh sách các môn học bao gm mã môn hc và tên môn hc:
Mã môn hc
Tên môn hc
MTH00055
Cơ sở lp trình
TTH105
Toán ri rc
TTH802
Mng máy tính
TTH573
Lp trình Web
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
3
S dng mảng để lưu danh sách mã môn học và tên môn hc trên. Hãy viết chương trình cho
phép nhp vào mã mt môn hc và in ra tên môn học tương ứng.
Câu 4:
Viết một chương trình cho phép nhập mt mng s nguyên. Sau đó, chương trình phải tính được
mean (trung bình) ca mảng trên, và đồng thời đếm được có bao nhiêu phn t lớn hơn mean của
mng.
Yêu cu của chương trình là phải được phân rã thành nhiều hàm như hàm tính mean, hàm đếm s
phn t lớn hơn mean của mng.
Câu 5:
Hãy viết một hàm cho phép đảo th t các kí t ca mt chuỗi. Sau đó viết chương trình cho phép
nhp mt chui và in ra chui b đảo ngược.
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
4
Câu 1:
Gi s mt công ty bán hàng khuyến mãi khách hàng ca mình da trên s ng mặt hàng được
đặt hàng như sau:
S ng mt hàng
được đặt
Mức độ
Khuyến mãi (%)

 
 

Trên 

Ví d, nếu bn mua hàng ca công ty vi s ng mt hàng là  thì mức độ khuyến mãi s
.
Hãy v sơ đồ khi flowchart th hin thut toán tính mức độ khuyến mãi dành cho khách hàng khi
biết s ng mt hàng do khách hàng mua.
Hãy viết chương trình cho phép nhập s ng mt hàng do khách mua, tính và xut ra mức độ
khuyến mãi da vào thut toán trên.
Câu 2:
Mt công ty mun thng kê s ợng người ph thuc ca nhân viên của mình. Người ph thuc
ca nhân viên có th là con còn nh, cha m hết tuổi lao động, … Giả s rng công ty không có
nhân viên nào có quá người ph thuc, thì mt báo cáo thường có dạng như sau:
S người ph thuc
S ng nhân viên




Bng d liu trên cho thy rng s ợng nhân viên có 2 người ph thuc là  nhân viên.
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
5
Hãy viết chương trình cho phép nhập lần lượt s người ph thuc ca tng nhân viên. S người ph
thuc nhp vào phi nm trong khong t đến , ngược lại thì chương trình s dng nhp và in ra
bng thống kê như ví dụ trên.
Câu 3:
Hãy viết mt hàm nhn tham s chui và so sánh chui xem có ging nhau hay không. Nếu
chui truyn vào ging nhau thì hàm tr v , ngược li thì tr v . Sau đó viết chương trình cho
phép nhp chui, xuất ra “Giống nhau” nếu chui ging nhau và xuất ra “Khác nhau” nếu
chui khác nhau.
Câu 4:
Hãy viết một chương trình cho phép nhập mt s chui bt kì. Gi s người dùng nhp chui sau,
mi chui ng vi mt hàng:
Tôi mun tt nắng đi
Cho màu đừng nht mt;
Tôi mun buc gió li
Cho hương đừng bay đi.
Sau đó, chương trình cho phép nhập con s trong khong t đến (tương ứng vi s chui mi
nhp) và in ra chuỗi tương ứng. Ví d người dùng nhp vào s thì chương trình in ra:
Cho màu đừng nht mt;
Hãy cài đặt chương trình gồm mt hàm main() và hai hàm ph gm hàm input(), getString():
input(): dùng để nhp mt s chui bt kì.
getString(): tr v mt chuỗi tương ứng vi con s truyn vào.
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
6
Câu 1:
Chosơ đồ khi flowchart ca một chương trình sau:
a. Hãy viết chương trình bằng ngôn ng lp trình C. Theo thuật toán được mô t trong sơ đồ khi
trên (Lưu ý, các yêu cầu viết chương trình của các câu sau, sinh viên phi thc hin bng ngôn ng
lp trình C).
b. Kết qu in ra của chương trình khi thực thi s là gì?
Câu 2:
Viết chương trình nhập vào mt ma trn vuông (có giá tr nguyên), kích thước do người dùng nhp
vào. Sau đó, kiểm tra ma trận đó có đối xứng qua đường chéo chính hay không.
Câu 3:
Một công ty điện thoại di động tính phí nhắn tin đã gửi hàng tháng ca một thuê bao như sau:
Hàng tháng mt thuê bao phải đóng phí cơ bản là  ngàn đồng. Và  tin nhắn đầu tiên được
min phí.
Sau tin nhn th , cho đến tin nhn th , mi tin nhn b tính phí là  đồng.
Sau tin nhn th , mi tin nhn b tính phí là  đồng.
Hãy thc hin các yêu cu sau:
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
7
a) Hãy v sơ đồ khi flowchart và viết chương trình cho phép người dùng nhp vào s ng tin
nhắn đã gửi hàng tháng ca mt thuê bao. Rồi tính phí mà thuê bao đó phải tr trong tháng đó.
b) Hãy v sơ đồ khi flowchart và viết chương trình cho phép người dùng nhp lần lượt s ng tin
nhắn đã gửi ca mt tháng ca nhiu thuê bao; ri tính phí mà từng thuê bao đó phải tr trong tháng
đó, cho đến khi nhp s tin nhn ca mt thuê bao là .
c) Viết hàm cho phép nhp s tin nhn ca một thuê bao; đồng thi viết hàm tính phí ca mt thuê
bao da vào s ng tin nhn. Hãy viết chương trình ở câu b s dng hàm trên.
Câu 4:
Các tiu bang ca M được viết tt bng kí t như bảng sau:
Tiu bang ca M
Viết tt
Alabama
AL
Alaska
AK
Arizona
AZ
Arkansas
AR
Califonia
CA
Hãy viết chương trình theo trình tự yêu cầu bên dưới, cho phép nhp bng d liu như ở trên, sau đó
cho phép tra cu tên tiu bang ca M da vào tên viết tt:
a) Hãy viết mt hàm có tham s là mt mng các chuỗi, sau đó cho phép người dùng lưu vào mảng
đó tên các tiểu bang được nhp t bàn phím.
Mô t hàm như sau:
void inputStates(char states[][80], int n);
vi:
string: mảng dùng để lưu tên các tiểu bang do người dùng nhp vào.
n: s chui s được nhp.
Tương tự, hãy viết mt hàm có tham s là mt mng các chuỗi, sau đó cho phép người dùng lưu
vào mảng đó tên viết tt các tiểu bang được nhp vào t bàn phím.
void inputAbbreviation(char abbr[][3], int n);
b) Hãy viết mt hàm tra cu tên tiu bang da trên tên viết tt, da trên d liu ca mng trên.
Ví d, hàm nhn chuỗi “CA” thì s tr v chuỗi “Califonia”.
Mô t hàm như sau:
char *lookup(char *s, char abbr[][3], char states[][80], int n);
vi:
s: chui viết tt. Ví d “CA”.
abbr: mng các tên viết tt ca các tiu bang.
states: mng các tên tiu bang.
n: s tiu bang có trong mng states.
hàm tr v tên tiu bang nếu tìm thy, NULL nếu không tìm thy.
c) Hãy viết chương trình chính, dùng một mảng để lưu tên các tiểu bang, và mt mảng để lưu tên
viết tắt. Sau đó, gọi hàm câu a để nhp tên và viết tt các tiu bang. Rồi cho phép người dùng
nhp tên viết tt và gi hàm tra cu câu b để in ra tên đầy đủ ca tiu bang.
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
8
Câu 1:
V sơ đồ mô t thut toán của chương trình nhập 1 dãy s nguyên dương từ bàn phím.
Chương trình đồng thời đếm có bao nhiêu s nguyên t trong dãy s va nhập vào. Sau đó cài đặt
chương trình trên bằng ngôn ng lp trình C.
Câu 2:
V sơ đồ mô t thut toán của chương trình tìm tổng ca
󰇛
󰇜

󰇛
󰇜
vi nhp t bàn phím
󰇛

󰇜
. Sau đó cài đặt chương trình trên bằng ngôn ng
lp trình C.
Câu 3:
Viết chương trình nhập vào mt mng s thực. Sau đó, nhập vào 1 s thc . Chương trình tìm số
thc trong mng va nhp vào sao cho gn giá tr nht.
Ví d: Nhp mng     . Sau đó nhập . Chương trình sẽ in ra s trong mng gn
nht là s .
Câu 4:
Viết chương trình nhập mt mng s nguyên dương, sao cho các phần t có giá tr t đến . Sau
đó, chương trình sẽ tìm con s xut hin nhiu nht trong mng va nhp vào.
Ví d: Nhp mng                  . Chương trình sẽ xut ra con s xut
hin nhiu nht 4 ln.
Hãy cài đặt chương trình trên bằng s dng 2 hàm: hàm nhp mng, và hàm tìm s xut hin nhiu
nht.
Câu 5:
Viết hàm ni 2 chui trong ngôn ng C. Hàm được khai báo như sau:
void strCat(char *dest, char *src);
vi mục đích nối chuỗi src vào dươi của chui dest.
Chuyên san EXP và tập đoàn Toán học Vit Nam
Khoa Toán học, trường Đại hc Khoa hc, Tp.HCM
9
Câu 1:
V sơ đồ mô t thut toán của chương trình nhập 1 dãy điểm
󰇛

󰇜
trong không gian
chiu, vi nhp t bàn phím; ri chương trình tính tng khong cách gia điểm liên tiếp nhau
󰇛
󰇛
󰇜
󰇛
󰇜
󰇜
, s dng hàm sqrt() ca math.h.
Câu 2:
Viết chương trình C nhp dãy s là các điểm thi hc k ca mt sinh viên, dng nhp khi điểm thi
nhp vào là s âm. Các đim thi có th l đến , và nm trong đoạn t đến .
Sau đó chương trình s thng kê và in ra có bao nhiêu điểm:   
Câu 3:
S dng hàm để cài đặt chương trình vi các yêu cu sau:
- Nhp vector s thc có độ dài là (người dùng nhp vào)
- Tính tích vô hướng ca vector trên
Gi ý: Cài đặt hàm để nhp vector có chiu dài cho trước, và cài đặt hàm để tính tích vô
hướng ca vector có chiu dài . Sau đó viết chương trình chính s dng hàm trên.
Câu 4:
Viết chương trình chuyn đổi mt chui (không có du câu) thành dng tiêu đề. Ví d: A simple
string s tr thành A Simple String và chương trình phi loi b các khong trng dư thừa có
trong chui. Ví d, A simple string tr thành A Simple String.

Preview text:

Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM
Đề thi Cơ sở lập trình.
Bộ đề này được thực hiện dựa trên chương trình hợp tác giữa tổ chức EXP và Toantin.org, cả hai
đều thuộc khoa Toán – Tin học, Đại học Khoa học Tự nhiên, Tp.HCM. Tổ chức EXP Toantin.org
Mọi góp ý về đề thi xin gửi về email: thienquocdongphuc@gmail.com Cảm ơn các bạn. 1
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM Câu 1:
Cho một chuỗi bit biểu diễn số nhị phân có chiều dài 𝑛. Hãy vẽ sơ đồ khối flowchart để biểu diễn
thuật toán chuyển đổi chuỗi bit ở trên thành số thập phân.
Ví dụ: Cho chuỗi bit có chiều dài 8 là “𝟎𝟏𝟏𝟎𝟎𝟎𝟏𝟏”, thuật toán phải tính ra được số thập phân tương ứng là 𝟗𝟗. Câu 2:
Giả sử cách tính thuế thu nhập cá nhân dựa trên biểu thuế như sau:
Phần thu nhập tính thuế / tháng Bậc thuế Thuế suất (%) (triệu đồng) 1 Đến 10 0 2 Đến 15 5 3 Đến 20 10 4 Trên 20 15
Ví dụ, nếu thu nhập cá nhân một tháng là 16 triệu thì thuế thu nhập cá nhân sẽ được tính như sau:
 Từ 0 − 10 triệu sẽ được miễn thuế.
 Từ 10 − 15 triệu thì phải đóng thuế 5%. Vì vậy cá nhân phải đóng thuế trong khoảng này là 5
triệu × 5% = 250 ngàn dồng.
 Từ 15 − 20 triệu thì phải đóng thuế 10%. Vì vậy cá nhân phải đóng thuế trong khoảng này là 1
triệu × 10% = 100 ngàn dồng.
 Do đó, cá nhân phải đóng thuế thu nhập là 250 + 100 = 350 ngàn đồng.
Hãy viết chương trình cho phép nhập thu nhập cá nhân của một tháng và tính thuế thu nhập cá nhân của tháng đó. Câu 3:
Sau đây là danh sách các môn học bao gồm mã môn học và tên môn học: Mã môn học Tên môn học MTH00055 Cơ sở lập trình TTH105 Toán rời rạc TTH802 Mạng máy tính TTH573 Lập trình Web 2
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM
Sử dụng mảng để lưu danh sách mã môn học và tên môn học ở trên. Hãy viết chương trình cho
phép nhập vào mã một môn học và in ra tên môn học tương ứng. Câu 4:
Viết một chương trình cho phép nhập một mảng số nguyên. Sau đó, chương trình phải tính được
mean (trung bình) của mảng trên, và đồng thời đếm được có bao nhiêu phần tử lớn hơn mean của mảng.
Yêu cầu của chương trình là phải được phân rã thành nhiều hàm như hàm tính mean, hàm đếm số
phần tử lớn hơn mean của mảng. Câu 5:
Hãy viết một hàm cho phép đảo thứ tự các kí tự của một chuỗi. Sau đó viết chương trình cho phép
nhập một chuỗi và in ra chuỗi bị đảo ngược. 3
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM Câu 1:
Giả sử một công ty bán hàng khuyến mãi khách hàng của mình dựa trên số lượng mặt hàng được đặt hàng như sau:
Số lượng mặt hàng Mức độ được đặt Khuyến mãi (%) 1 − 10 0 11 − 24 5 25 − 50 10 Trên 50 15
Ví dụ, nếu bạn mua hàng của công ty với số lượng mặt hàng là 30 thì mức độ khuyến mãi sẽ là 10%.
 Hãy vẽ sơ đồ khối flowchart thể hiện thuật toán tính mức độ khuyến mãi dành cho khách hàng khi
biết số lượng mặt hàng do khách hàng mua.
 Hãy viết chương trình cho phép nhập số lượng mặt hàng do khách mua, tính và xuất ra mức độ
khuyến mãi dựa vào thuật toán ở trên. Câu 2:
Một công ty muốn thống kê số lượng người phụ thuộc của nhân viên của mình. Người phụ thuộc
của nhân viên có thể là con còn nhỏ, cha mẹ hết tuổi lao động, … Giả sử rằng công ty không có
nhân viên nào có quá 5 người phụ thuộc, thì một báo cáo thường có dạng như sau:
Số người phụ thuộc
Số lượng nhân viên 0 43 1 35 2 24 3 11 4 5 5 7
Bảng dữ liệu trên cho thấy rằng số lượng nhân viên có 2 người phụ thuộc là 24 nhân viên. 4
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM
Hãy viết chương trình cho phép nhập lần lượt số người phụ thuộc của từng nhân viên. Số người phụ
thuộc nhập vào phải nằm trong khoảng từ 0 đến 5, ngược lại thì chương trình sẽ dừng nhập và in ra
bảng thống kê như ví dụ trên. Câu 3:
Hãy viết một hàm nhận 2 tham số là 2 chuỗi và so sánh 2 chuỗi xem có giống nhau hay không. Nếu
2 chuỗi truyền vào giống nhau thì hàm trả về 1, ngược lại thì trả về 0. Sau đó viết chương trình cho
phép nhập 2 chuỗi, xuất ra “Giống nhau” nếu 2 chuỗi giống nhau và xuất ra “Khác nhau” nếu 2 chuỗi khác nhau. Câu 4:
Hãy viết một chương trình cho phép nhập một số chuỗi bất kì. Giả sử người dùng nhập 4 chuỗi sau,
mỗi chuỗi ứng với một hàng: Tôi muốn tắt nắng đi
Cho màu đừng nhạt mất;
Tôi muốn buộc gió lại Cho hương đừng bay đi.
Sau đó, chương trình cho phép nhập 1 con số trong khoảng từ 1 đến 4 (tương ứng với số chuỗi mới
nhập) và in ra chuỗi tương ứng. Ví dụ người dùng nhập vào số 2 thì chương trình in ra:
Cho màu đừng nhạt mất;
Hãy cài đặt chương trình gồm một hàm main() và hai hàm phụ gồm hàm input(), getString():
 input(): dùng để nhập một số chuỗi bất kì.
 getString(): trả về một chuỗi tương ứng với con số truyền vào. 5
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM Câu 1:
Cho sơ đồ khối flowchart của một chương trình sau:
a. Hãy viết chương trình bằng ngôn ngữ lập trình C. Theo thuật toán được mô tả trong sơ đồ khối ở
trên (Lưu ý, các yêu cầu viết chương trình của các câu sau, sinh viên phải thực hiện bằng ngôn ngữ lập trình C).
b. Kết quả in ra của chương trình khi thực thi sẽ là gì? Câu 2:
Viết chương trình nhập vào một ma trận vuông (có giá trị nguyên), kích thước do người dùng nhập
vào. Sau đó, kiểm tra ma trận đó có đối xứng qua đường chéo chính hay không. Câu 3:
Một công ty điện thoại di động tính phí nhắn tin đã gửi hàng tháng của một thuê bao như sau:
 Hàng tháng một thuê bao phải đóng phí cơ bản là 50 ngàn đồng. Và 100 tin nhắn đầu tiên được miễn phí.
 Sau tin nhắn thứ 100, cho đến tin nhắn thứ 200, mỗi tin nhắn bị tính phí là 300 đồng.
 Sau tin nhắn thứ 200, mỗi tin nhắn bị tính phí là 400 đồng.
Hãy thực hiện các yêu cầu sau: 6
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM
a) Hãy vẽ sơ đồ khối flowchart và viết chương trình cho phép người dùng nhập vào số lượng tin
nhắn đã gửi hàng tháng của một thuê bao. Rồi tính phí mà thuê bao đó phải trả trong tháng đó.
b) Hãy vẽ sơ đồ khối flowchart và viết chương trình cho phép người dùng nhập lần lượt số lượng tin
nhắn đã gửi của một tháng của nhiều thuê bao; rồi tính phí mà từng thuê bao đó phải trả trong tháng
đó, cho đến khi nhập số tin nhắn của một thuê bao là 0.
c) Viết hàm cho phép nhập số tin nhắn của một thuê bao; đồng thời viết hàm tính phí của một thuê
bao dựa vào số lượng tin nhắn. Hãy viết chương trình ở câu b sừ dụng 2 hàm trên. Câu 4:
Các tiểu bang của Mỹ được viết tắt bằng 2 kí tự như bảng sau: Tiểu bang của Mỹ Viết tắt Alabama AL Alaska AK Arizona AZ Arkansas AR Califonia CA … …
Hãy viết chương trình theo trình tự yêu cầu bên dưới, cho phép nhập bảng dữ liệu như ở trên, sau đó
cho phép tra cứu tên tiểu bang của Mỹ dựa vào tên viết tắt:
a) Hãy viết một hàm có tham số là một mảng các chuỗi, sau đó cho phép người dùng lưu vào mảng
đó tên các tiểu bang được nhập từ bàn phím. Mô tả hàm như sau:
void inputStates(char states[][80], int n); với:
 string: mảng dùng để lưu tên các tiểu bang do người dùng nhập vào.
 n: số chuỗi sẽ được nhập.
Tương tự, hãy viết một hàm có tham số là một mảng các chuỗi, sau đó cho phép người dùng lưu
vào mảng đó tên viết tắt các tiểu bang được nhập vào từ bàn phím.
void inputAbbreviation(char abbr[][3], int n);
b) Hãy viết một hàm tra cứu tên tiểu bang dựa trên tên viết tắt, dựa trên dữ liệu của 2 mảng ở trên.
Ví dụ, hàm nhận chuỗi “CA” thì sẽ trả về chuỗi “Califonia”. Mô tả hàm như sau:
char *lookup(char *s, char abbr[][3], char states[][80], int n); với:
 s: chuỗi viết tắt. Ví dụ “CA”.
 abbr: mảng các tên viết tắt của các tiểu bang.
 states: mảng các tên tiểu bang.
 n: số tiểu bang có trong mảng states.
 hàm trả về tên tiểu bang nếu tìm thấy, NULL nếu không tìm thấy.
c) Hãy viết chương trình chính, dùng một mảng để lưu tên các tiểu bang, và một mảng để lưu tên
viết tắt. Sau đó, gọi hàm ở câu a để nhập tên và viết tắt các tiểu bang. Rồi cho phép người dùng
nhập tên viết tắt và gọi hàm tra cứu ở câu b để in ra tên đầy đủ của tiểu bang. 7
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM Câu 1:
Vẽ sơ đồ mô tả thuật toán của chương trình nhập 1 dãy số nguyên dương từ bàn phím.
Chương trình đồng thời đếm có bao nhiêu số nguyên tố trong dãy số vừa nhập vào. Sau đó cài đặt
chương trình trên bằng ngôn ngữ lập trình C. Câu 2:
Vẽ sơ đồ mô tả thuật toán của chương trình tìm tổng của 𝑆(𝑛) = 1 × 2 + 2 × 3 + 3 × 4 + ⋯ +
𝑛𝑥(𝑛 + 1) với 𝑛 nhập từ bàn phím (2 ≤ 𝑛 ≤ 100). Sau đó cài đặt chương trình trên bằng ngôn ngữ lập trình C. Câu 3:
Viết chương trình nhập vào một mảng số thực. Sau đó, nhập vào 1 số thực 𝑥. Chương trình tìm số
thực trong mảng vừa nhập vào sao cho gần giá trị 𝑥 nhất.
Ví dụ: Nhập mảng 3, 1, 5, 7, 9. Sau đó nhập 𝑥 = 4.5. Chương trình sẽ in ra số trong mảng gần 𝑥 nhất là số 5. Câu 4:
Viết chương trình nhập một mảng số nguyên dương, sao cho các phần tử có giá trị từ 0 đến 10. Sau
đó, chương trình sẽ tìm con số xuất hiện nhiều nhất trong mảng vừa nhập vào.
Ví dụ: Nhập mảng 1, 5, 3, 2, 6, 4, 8, 6, 10, 2, 6, 7, 3, 6, 8, 9, 0, 1. Chương trình sẽ xuất ra con số 6 xuất
hiện nhiều nhất 4 lần.
Hãy cài đặt chương trình trên bằng sử dụng 2 hàm: hàm nhập mảng, và hàm tìm số xuất hiện nhiều nhất. Câu 5:
Viết hàm nối 2 chuỗi trong ngôn ngữ C. Hàm được khai báo như sau:
void strCat(char *dest, char *src);
với mục đích nối chuỗi src vào dươi của chuỗi dest. 8
Chuyên san EXP và tập đoàn Toán học Việt Nam
Khoa Toán học, trường Đại học Khoa học, Tp.HCM Câu 1:
Vẽ sơ đồ mô tả thuật toán của chương trình nhập 1 dãy 𝑛 điểm (𝑝0; 𝑝1; ⋯ ; 𝑝𝑛−1) trong không gian
2 chiều, với 𝑛 nhập từ bàn phím; rồi chương trình tính tổng khoảng cách giửa 2 điểm liên tiếp nhau
(𝑑(𝑝0; 𝑝1) + 𝑑(𝑝1; 𝑝2) + ⋯ ), sử dụng hàm sqrt() của “math.h”. Câu 2:
Viết chương trình C nhập 1 dãy số là các điểm thi học kỳ của một sinh viên, dừng nhập khi điểm thi
nhập vào là số âm. Các điểm thi có thể lẻ đến 0.5, và nằm trong đoạn từ 0 đến 10.
Sau đó chương trình sẽ thống kê và in ra có bao nhiêu điểm: 0; 0.5; 1.0; ⋯ Câu 3:
Sử dụng hàm để cài đặt chương trình với các yêu cầu sau:
- Nhập 2 vector số thực có độ dài là 𝑛 (người dùng nhập vào)
- Tính tích vô hướng của 2 vector trên
Gợi ý: Cài đặt 1 hàm để nhập 1 vector có chiều dài 𝑛 cho trước, và cài đặt 1 hàm để tính tích vô
hướng của 2 vector có chiều dài 𝑛. Sau đó viết chương trình chính sử dụng 2 hàm trên. Câu 4:
Viết chương trình chuyển đổi một chuỗi (không có dấu câu) thành dạng tiêu đề. Ví dụ: “A simple
string” sẽ trở thành “A Simple String” và chương trình phải loại bỏ các khoảng trắng dư thừa có
trong chuỗi. Ví dụ, “A simple string” trở thành “A Simple String”. 9
Document Outline

  • Đề thi Cơ sở lập trình
    • Đề thi cuối kì cơ sở lập trình 2016 – 2017
    • Đề thi cuối kì cơ sở lập trình 2017 – 2018
    • Đề thi cuối kì cơ sở lập trình 2018 – 2019
    • Đề thi cuối kì cơ sở lập trình 2019 – 2020
    • Đề thi cuối kì cơ sở lập trình 2021 – 2022