Tải bản đầy đủ (.pdf) (3 trang)

Lab10 an

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (430.11 KB, 3 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TPHCM
Khoa Khoa học và Kỹ thuật Máy tính

Kỹ Thuật Lập Trình
Bài kiểm tra thực hành cuối kỳ
Thời gian: 90 phút
Lưu ý:


Sinh viên nộp source code của từng câu riêng biệt theo định dạng.
<MSSV-TÊN>-Cau1.cpp
Ví dụ:
515010101-BINH-Cau1.cpp
515010101-BINH-Cau2.cpp




Sinh viên được sử dụng tài liệu, internet. Khơng sử dụng các công cụ trao đổi, liên lạc
(facebook, email…) trong lúc làm bài.



Sinh viên nộp bài qua email:
Source code khi gửi mail được nén theo định dạng MSSV.zip
Subject: KTLT-MSSV-Ca1

Câu 1: (3.5đ)
a. (0.5đ) Đề xuất một cấu trúc dữ liệu (dùng struct hoặc class) để lưu thơng tin của
một Thí sinh gồm: mã số (chuỗi), tên (chuỗi), điểm 1, điểm 2 và điểm 3 (số thực)
b. (1đ) Xây dựng hàm nhận vào một mảng của N thí sinh và con số thực TH1. Hàm


tính và trả về m với m là số lượng thí sinh thỗ mãn: điểm trung bình lớn hơn
TH1
c. (1đ) Xây dựng hàm một hàm nhận vào một mảng của N thí sinh, hàm tính và trả
về biểu đồ tần suất các thí sinh có điểm rơi vào các khoảng: [0, 0.25), [0.25, 0.5),
…, [9.75, 10] – như biểu đồ trong BTL01. Khi gọi hàm này, bên gọi phải tạo sẵn
mảng để chứa biểu đồ này.
d. (1đ) Xây dựng chương trình, hàm main:
i.

ii.
iii.

Cho phép người dùng nhập vào giá trị N (giả sử N luôn hợp lệ: số nguyên
> 0 và < 1000, sinh viên không cần kiểm tra N). Khai báo và cấp phát
động cho mảng của N Thí sinh.
Thực hiện việc gán giá trị ngẫu nhiên cho 3 điểm của N thí sinh.
Gọi các hàm ở câu (b) và (c) và in ra điểm kết quả để kiểm tra tính đúng
đắn của chúng

iv.

Giải phóng tất cả vùng nhớ đã cấp phát động.
1


TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TPHCM
Khoa Khoa học và Kỹ thuật Máy tính
Câu 2: (1.5đ) – PHẢI viết bằng đệ quy
Xây dựng một hàm nhận vào hai tham số: (a) con trỏ đến phần tử đầu tiên của
một mảng các số nguyên và (b) số lượng phần tử có trong mảng. Hàm này in ra các giá

trị là số có dạng bình phương có trong mảng, như ví dụ sau.
Ví dụ: mảng: 4, 2, 13, 25, 37 (có 4 phần tử): hàm in ra là: 4, 2, 25
Câu 3: (1.5đ) – PHẢI viết bằng đệ quy
Xây dựng hàm tính tổng các ký tự số có trong chuỗi, ví dụ:
Ví dụ: chuỗi nhập: “A22B,45”, giá trị trả về là 13, vì: 2+2+4+5 = 13
Câu 4 (2đ):
a. (0.5đ) Đề xuất cấu trúc dữ liệu để lưu được một mảng 2 chiều (dùng struct hoặc
class), gọi tên kiểu này là Matrix.
b. (1đ) Xây dựng một hàm nhận vào một mảng 2 chiều, gọi là A, có N hàng và N
cột (Ma trận vng, N bất kỳ). Sinh viên có thể truyền vào N cùng với con trỏ
đến phần tử đầu tiên hoặc chỉ truyền vào một đối tượng Matrix – tuỳ cách dùng
class hay struct. Hàm tính và trả về một ma trận vng kích thước N, gọi là B.
Các phần tử nằm bên dưới và bên trên đường chéo chính bằng 0, như ví dụ:
A = 1,
2,
4,
5
3,
14,
12,
17
5,
6,
5,
22,
3,
32,
15,
21
B = 1,

0,
0,
0
0,
14,
10,
0
0,
0,
5,
0,
0,

0,

0,

21

c. (0.5đ) Viết chương trình, hàm main:
i.
ii.
iii.

Khai báo và khởi động một mảng 2 chiều có N=4, các phần tử trong khởi
động có giá trị tuỳ ý.
Gọi hàm ở câu (b) để tính ra ma trận kết quả; in ra ma trận kết quả.
Giải phóng các vùng nhớ đã xin được.

2



TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TPHCM
Khoa Khoa học và Kỹ thuật Máy tính
Câu 5: (1.5đ)
Xây dựng lớp String cho phép người lập trình thực hiện cơng việc như đoạn
chương trình sau:
int main(){
String str1(“THI KIEM TRA”);
String str2 = str.toLower();
cout << str2;
return 0;
}
Đoạn chương trình trên cho phép tạo một đối tượng String và khởi động chuỗi ngay
trong hàm khởi tạo. Yêu cầu: phải quản lý bộ nhớ của String bằng bộ nhớ động.
Lớp String cũng cho phép in ra bằng toán tử, cũng như phép đổi sang chữ thường.
(Lưu ý: Cần phải giải phóng bộ nhớ ở hàm huỷ).
Ví dụ trên: str2 = “thi kiem tra”
---Hết---

3



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×