Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành. Thực hành tin đại cương chuyên ngành.
Trang 1BÀI TẬP THỰC HÀNH TIN ĐẠI CƯƠNG
PHẦN 1 CÁCH THỰC HIỆN
(Tiêu chí dạy cơ bản nhưng yêu cầu cao, sinh viên phải hoàn thành các yêu cầu thầy
cô đưa ra mới được dự thi)
- Hướng dẫn một số bài tập mẫu trên lớp
- Các bài tập còn lại yêu cầu sinh viên phải hoàn thành
- Có thể chia nhóm nếu lớp đông (tốt nhất là không chia)
Yêu cầu sinh viên nộp bài
1 Gui chuong trinh qua : lechiluan@gmail.com
2 Subject: Tindaicuong 66DCTM22 _họ và tên
3 Đính kèm các chương trình nguồn (*.CPP)
4 Dòng đầu tiên trong các file chương trình phải ghi: họ và tên, bài tập số
PHẦN 2 CÁC BÀI THỰC HÀNH
Bài thực hành 1
I Yêu cầu (sử dụng BC/TC/DevC)
1 Biết sử dụng môi trường tích hợp để soạn thảo chương trình C++
a Mở file/ghi file mới/đã có
b Đóng một file đang soạn thảo
c Các thao tác soạn thảo thông dụng
2 Hiểu và biết cách khai báo các đường dẫn thư viện(lib), tệp tiêu đề, mô hình bộ nhớ
3 Biết cách biên dịch, chạy chương trình
4 Hiểu và sửa được các thông báo lỗi cú pháp thường gặp
5 Biết chạy từng bước (gỡ rối) chương trình
6 Biết cách nhập dữ liệu cho chương trình
Trang 2II Giáo viên hướng dẫn thực hành cần chuẩn bị một hoặc hai chương trình đơn giản, yêu cầu sinh viên thực hành: soạn thảo, biên dịch, sửa lỗi cú pháp, nhập dữ liệu vào, xem kết quả,
III Bài tập lập trình
Bài 1: Viết chương trình nhập 3 số thực a,b,c; tìm và in giá trị lớn nhất, nhỏ nhất, trung bình cộng (mỗi giá trị in trên 1 dòng)
Bài 2: Viết chương trình nhập các hệ số của phương trình ax2 + bx + c=0; giải phương trình đó
Bài 3: Viết chương trình nhập các hệ số của hệ phương trình bậc nhất 2 ẩn, giải hệ đó Bài 4: Viết chương trình nhập 3 số a,b,c (kiểu số thực) là 3 cạnh của 1 tam giác, tính
và in chu vi, diện tích tam giác đó
Bài thực hành 2
Bài 6: Viết chương trình nhập số nguyên dương n, kiểm tra n có là số hoàn chỉnh
không?
Bài 7: Viết chương trình nhập số nguyên dương n, kiểm tra n có là số nguyên tố không? Bài 8: Nhập tọa độ 4 điểm A, B,C, D; kiểm tra D có nằm trong tam giác ABC không? Bài 9: Giải hệ phương trình bậc nhất
Bài 10 Tính sin (x), cos(x) theo công thức khai triển Taylor, với sai số không quá epsilon
Bài 11 Viết chương trình nhập một số nguyên dương n, in các số nguyên tố từ 2 n ra màn hình
Bổ sung 1
Bài 1 Nhập số nguyên n, in n số nguyên tố đầu tiên
Bài 2 Nhập dãy có n số thực, kiểm tra và thông báo trật tự của dãy (tăng dần, giảm dần, đều hay không có thứ tự)
Bài thực hành 3
Bài 12: Nhập số n, kiểm tra n có là số fibonaxi không
Bài 13 Viết chương trình nhập một số nguyên dương n, in các số fibonaxi
Trang 3<=n ra màn hình
Bài 14 Viết chương trình thực hiện lặp lại việc nhập 1 số nguyên n từ bàn
phím, tính và in n!, kết thúc chương trình khi nhập n=0
Bài 15 Viết chương trình nhập 1 dãy n số thực từ bàn phím, in giá trị lớn
nhất, nhỏ nhất và giá trị trung bình cộng
Bài 16 Viết chương trình giải bài toán vui “trăm trâu trăm cỏ”
“ Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Trâu già, ba trâu ăn một cỏ”
Tính số trâu mỗi loại
Bài 17 Viết chương trình Nhập tử số, mẫu số của 1 phân số, hãy in phân số
đó dạng rút gọn
Bài 18 Nhập A(n),B(n), tính vàn in C(n)=A + B
Bài thực hành 3 (bổ sung)
Bài 1: Viết chương trình nhập 3 số tương ứng là ngày, tháng và năm, kiểm tra sự
hợp lệ của chúng
Bài 2: Nhập bộ 3 số (ngày, tháng, năm) tính số ngày từ đó tới ngày hiện tại
Bài 3: Nhập bộ 3 số (ngày, tháng, năm) , in thông báo đó là thứ mấy trong tuần
Bài thực hành số 4
(mảng 1 chiều: các bài sau hiểu là n,m <10, các mảng kiểu int)
Bài 16 Nhập A(n), in giá trị lớn nhất, nhỏ nhất và số phần tử bằng giá trị lớn nhất,
nhỏ nhất
Bài 17 Nhập A(n), in các giá trị khác nhau của mảng
Bài 18 Nhập A(n), B(n), là 2 vector trong khôg gian n chiều; kiểm tra 2 vector đó
Trang 4có vuông góc với nhau không
Bài 19 Nhập A(n), x, kiểm tra x có thuộc A hay không?
Bài 20 Nhập A(n) theo thứ tự tăng dần, in các giá trị khác nhau của mảng
Bài 21 Nhập mảng A(n), n<=10, các phần tử kiểu số nguyên, sắp xếp A theo thứ
tự tăng dần (bằng phương pháp nổi bọt, đổi chỗ, chọn), in A sau khi sắp xếp
Bài thực hành 4 Bổ sung
Bài 22 Nhập A (n) theo thứ tự tăng dần, nhập giá trị x, kiểm tra x có thuộc A hay
không bằng phương pháp chia đôi
Bài 23 Nhập A(n), B(m) theo thứ tự tăng dần, xây dựng C bằng cách hợp (trộn)
các phần tử của A và B sao cho C có thứ tự tăng dần, in mảng C.
Bài thực hành 5
Bài 24 Nhập A(n,m),B(m,p) tính và in C=A*B
Bài 25 Nhập A(n,n) kiểm tra A có là ma trận đối xứng không?
Bài 26 Nhập A(n,m), B(m,n) kiểm tra A có là ma hoán vị của B không?
Bài 27 Nhập A(n,n) kiểm tra A có là ma trận đơn vị không?
(các bài sau yêu cầu cấp phát động)
Bài 28 Xây dựng ma trận A(n,m) kiểu int; n,m nhập từ bàn phím; các phần
tử A có dạng xoắn ốc
Bài 29 Nhập A(n,m); n,m được nhập từ bàn phím; các phần tử kiểu int; in
các giá trị lớn nhất của mỗi hàng và số phần tử bằng giá trị lớn nhất trong
mỗi hàng đó
Bài thực hành 6
Bài 30 Nhập A(n,n), kiểu số thực, n <=10; tính định thức của A theo
phương pháp khử Gauss
Bài 31 Nhập các hệ số của hệ phương trình bậc nhất n ẩn, giải hệ đó
Bài 32 Xây dựng ma phương bậc lẻ (Ma phương A(n,n) là ma trận có các
phần tử từ 1->n*n, sao cho tổng các phẩn tử trên mỗi hàng, mỗi cộtt, đường
chéo chính, đường chéo phụ đều bằng nhau)
Trang 5Bài thực hành 7
Bài 35 Nhập 1 xâu s (dài không quá 50 kí tự), đếm số từ trong xâu
Bài 36 Nhập xâu s, s1; kiểm tra s1 có là xâu con của s hay không? Nếu có,
s1 xuất
hiện bao nhiêu lần trong s
Bài 37 Nhập S,S1,S2; thay thế S2 bằng S1 trong S
Bài 38 Nhập xâu họ và tên, chuẩn hóa xâu đó (các kí tự đầu từ viết hoa,
các kí tự khác
viết thường; giữa các từ có đúng 1 kí tự trắng; không có kí tự trắng đầu /
cuối xâu)
Bài thực hành 8 (Hàm)
Bài 39: Viết hàm kiểm tra 1 xâu có là đối xứng hay không; hàm main sử dụng hàm trên
để nhập 1 xâu kí tự, thông báo xâu đó có là đối xứng hay không?
Bài 40 Viết chương trình gồm có:
- Hàm nhập mảng A có n phần tử kiểu float
- Hàm in mảng A có n phần tử kiểu float
- Hàm tính tích vô hướng 2 vecto U, V có n thành phần kiểu float
- Hàm main : dùng các hàm trên để nhập 2 vecto U,V , có n phần tử kiểu float, n không giới hạn trước ; kiểm tra và thông báo U và V có vuông góc với nhau hay
không
Bài 41 Viết chương trình gồm có:
- Hàm nhập mảng A có n phần tử kiểu float
- Hàm tìm kiếm giá trị x có trong mảng A có n phần tử kiểu float ; nếu có hàm trả
về
chỉ số của phần tử bằng x ; ngược lại hàm trả về -1
- Hàm main : Nhập mảng D, có n phần tử kiểu float, nhập giá trị cần tìm x ; in thông
Trang 6Bài42 Viết chương trình gồm có:
- Hàm nhập mảng A có n phần tử kiểu float
- Hàm sắp xếp mảng A có n phần tử kiểu float, theo thứ tự giảm dần
- Hàm in mảng A có n phần tử kiểu float
- Hàm main : Nhập mảng D, có n phần tử kiểu float, n không giới hạn trước ; In mảng D ; sắp xếp D giảm dần; in D sau khi sắp xếp
Bài 43 Viết chương trình gồm có:
- Hàm nhập mảng A (n,m) phần tử kiểu float, m không quá 10
- Hàm in mảng A(n,m) phần tử kiểu float, , m không quá 10
- Hàm tính tích 2 ma trận A(n,m), B(m,n) ; n,m không quá 10
- Hàm main : Nhập 2 ma trận A (n,n), B(n,n), n <=10, các phần tử kiểu float, tính
và in ma trận tích
Bài tập bổ sung
Bài 44 Viết hàm convert để đảo ngược 1 số (ví dụ: 12343->34321) Hàm main: nhập vào số a, in ra số đảo ngược
đồng thời cho biết số có đối xứng hay không
Bài 45 Viết hàm để đọc 1 số (không quá 6 chữ số) ví dụ: 12045 hàm trả về : "mười hai nghìn không trăm bốn lăm"
Hàm main: lặp lại thao tác nhập một số, đọc số đó cho tới khi nhập số 0 thì kết thúc Bài thực hành 9
Bài 46 : Viết hàm tìm giá trin lớn nhất thực sự trong mảng A(n), nếu không
có, hàm trả về -1 ; nếu có, hàm trả về chỉ số và giá trị của phần tử đó (qua
tham số) ; Hàm main : nhập mảng, in giá trị và chỉ số củaphaanf tử lớn nhất
thực sự của mảng
Bài 47 Viết hàm Tìm điểm yên ngựa của ma trận, hàm trả về chỉ số hàng,
chỉ số cột của điểm yên ngựa (nếu không có trả về các chỉ số -1)
Bài 48 Viết các hàm sau : Hàm Nhập, hàm In mảng 2 chiều A(n,m), các
phần tử kiểu số thực; Hàm Khử ma trận vuông thành ma trận đường chéo ;
Trang 7hàm Tính định thức của ma trận vuông
Hàm main : Nhâp A(n,n), khử và in A sau khi khử, tính và in định thức của
A
Bài bổ sung
Bài 49 Viết hàm sắp xếp mảng A (n) theo trật tự tăng dần bằng phương
pháp chia đôi (quicksort), hàm main minh họa việc dùng hàm đó để nhập 1
mảng A(n) kiểu float, n không giới hạn trước, sắp xếp và in mảng A
Bài thực hành 10
Bài 50 Xây dựng lớp Phân số gồm có
- Dữ liệu: tử số, mẫu số
- Phương thức: nhập, in, rút gọn, cộng, trừ, nhân, chia
Hàm main: nhập 2 phân số a,b, in tổng, hiệu, tích, thương
Bài 51 Xây dựng lớp Số phức gồm có
- Dữ liệu: phần thực, phần ảo
- Phương thức: nhập, in, modul, cộng, nhân, chia
Hàm main: nhập 2 số phức a,b, in tổng, tích, thương, modul của a, b
Bài 52 Xây dựng lớp Sinh viên gồm có
-Dữ liệu: Masv, họ tên, nơi sinh, năm sinh
- Phương thức: nhập, in, so sánh (nhỏ hơn) theo họ tên
Hàm main: nhập mảng A(n) các sinh viên, sắp xếp A theo thứ tự tăng
dần theo họ tên, in mảng A ra màn hình, mỗi đối tượng trên 1 dòng
Bài bổ sung
Bài 53: Xây dựng lớp Mảng một chiều với các yêu cầu sau
- Dữ liệu: số phần tử, mảng các phần tử (kiểu float) được cấp phát động
- Phương thức: nhập, in, sắp xếp bằng phương pháp chia đôi, cộng 2
Trang 8mảng
Hàm main: nhập 2 đối tượng (a,b) có cùng số phần tử, tính và in tổng 2
mảng (c), sắp xếp c , in c sau khi sắp
Bài thực hành 11
Bài 54 Xây dựng lớp Phân số gồm có
- Dữ liệu: tử số, mẫu số
- Phương thức: nhập, in, rút gọn, các toán tử +,-,*,/, ++, (tiền tố/
hậu tố), +=, ==, !=, <,
Hàm main: nhập 2 phân số a,b, minh họa cách sử dụng các toán tử của lớp
Phân số
Bài 65 Cài đặt lớp Matran 2 chiều gồm có :
Dữ liệu: số dòng, số cột (int), con trỏ tới mảng các phần tử
kiểu thực (cấp phát động)
Phương thức: constructor, constructor sao chép, destructor,
phép gán, hàm nhập ma trận , in ma trận, toán tử +, * (2 ma trận có kích thước phù hợp), hàm kiểm tra mảng có đối xứng,
có là đon vị hay không,
Chương trình chính: nhập 2 ma trận a, b, in ra a+b, a*b, in thông báo a+b
có là đối xứng hay không, a*b có là ma trận đơn vị hay không
Bài 56 Xây dựng lớp số nguyên lớn, các chữ số được lưu trong mảng giả sử
không quá 100 chữ số Với các phép toán =,==, !=,+, các constructor, nhập,
in
chương trình chính chạy kiểm tra các toán tử trên lớp