Tài liệu học tập môn Thực tập lập trình cơ bản (Phần 1)
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP
KHOA CÔNG NGHỆ THÔNG TIN
Chủ biên PHÙNG THỊ THU HIỀN
BÙI VĂN TÂN
TÀI LIỆU HỌC TẬP
MÔN THỰC TẬP LẬP
TRÌNH CƠ BẢN
Đối tượng: Sinh viên trình độ Đại học
Ngành đào tạo: Công nghệ thông tin
Năm 2019
ii
DANH MỤC CÁC THUẬT NGŨ TIẾNG ANH
Từ
Nghĩa của từ
Gán
Assign
Allocate
Cấp phát
Ghi chú, chú thích
Khối lệnh
Điều kiện
Cấu trúc lặp
Biến động
Biểu thức
Toán hạng
Toán tử
Comment
Code block
Condition
Interation
Dynamic Variable
Expression
Operand
Operator
Function
Hàm
Parameter
Pointer
Tham số
Con trỏ
Syntax
Cú pháp
Syntax Error
Selection
Lỗi cú pháp
Cấu trúc
Source code
Source file
Mã nguồn
File nguồn
iii
MỤC LỤC
MỤC LỤC..........................................................................................................................iv
LỜI NÓI ĐẦU.....................................................................................................................v
LAB 5: BÀI TẬP BẰNG XÂY DỰNG HÀM .................................................................49
LAB 6: LẬP TRÌNH ĐỆ QUY .........................................................................................64
LAB 7: BÀI TẬP MẢNG MỘT CHIỀU ..........................................................................76
LAB 8: BÀI TẬP MẢNG HAI CHIỀU..........................................................................100
LAB 9: BÀI TẬP XÂU KÝ TỰ......................................................................................121
LAB 10: LẬP TRÌNH VỚI CON TRỎ (1,2)..................................................................131
LAB 11: LẬP TRÌNH VỚI BIẾN TỆP (1,2)..................................................................143
TÀI LIỆU THAM KHẢO...........................................................................................16981
iv
LỜI NÓI ĐẦU
Thực tập lập trình cơ bản là môn thực hành chuyên ngành trong chương trình đào
tạo ngành công nghệ thông tin. Mục đích của môn học này là trang bị cho sinh viên
những kiến thức cơ bản nhất về kỹ năng lập trình trong việc giải quyết bài toán bằng
ngôn ngữ lập trình C++.
Trên cơ sở các kiến thức tiếp thu được sinh viên có thể đi sâu tìm hiểu các ngôn
ngữ lập trình bậc cao khác nhau và bước đầu thể hiện tính chuyên nghiệp trong lập trình.
Để đáp ứng với yêu cầu học tập của sinh viên chuyên ngành Công nghệ thông tin,
Trường Đại học Kinh tế - Kỹ thuật Công nghiệp tổ chức biên soạn tài liệu học tập “Thực
tập lập trình cơ bản”. Đây là một học phần thực hành cơ bản của sinh viên chuyên ngành
Công nghệ thông tin.
Tài liệu này được soạn theo đề cương chi tiết môn Thực tập lập trình cơ bảncủa
Khoa Công nghệ thông tin. Mục tiêu của nó nhằm giúp các bạn sinh viên chuyên ngành
có một tài liệu cô đọng dùng làm tài liệu học tập.
Tài liệu học tập được biên soạn theo đúng chương trình đào tạo và các quy định về
cách trình bày của Nhà trường. Nội dung của tài liệu học tập bao gồm các chương, trong
mỗi chương bao gồm các phần nội dung chủ yếu như sau:
- Mục tiêu của chương.
- Nội dung cô đọng lý thuyết của chương.
- Hướng dẫn chi tiết giải bài tập mẫu.
- Bài tập vận dụng.
Do thời gian và trình độ có hạn nên tài liệu học tập khó có thể tránh khỏi những
thiếu sót nhất định. Chúng tôi luôn mong nhận được sự góp ý của bạn đọc để giáo trình
được tái bản hoàn thiện hơn trong những lần sau.
Xin chân thành cám ơn!
Biên soạn
Phùng Thị Thu Hiền
Bùi Văn Tân
v
LAB 1:CẤU TRÚC LỆNH CƠ BẢN - CÂU LỆNH if
A. MỤC TIÊU
Trang bị cho sinh viên ky năng lập trinh cơ bản trong C++:
̃
̀
+ Cấu trúc cơ bản của chương trình
+ Cú pháp câu lệnh if dạng đầy đủ
+ Cú pháp câu lệnh if dạng không đầy đủ
+ Viết chương trình sử dụng câu lệnh if
+ Phát hiện và sửa lỗi
B. NỘI DUNG
1. Cú pháp câu lệnh if dạng đầy đủ
Cú pháp câu lệnh if dạng (if else)
if (<điều kiện>) { khối lệnh 1; } else { khối lệnh 2; }
Trong đó
- <điều kiện> thường là biểu thức logic.
- Phần else là không bắt buộc phải có. Câu lệnh if không có phần else được
gọi là câu lệnh “if thiếu”.
- <khối lệnh1>, <khối lệnh2> là câu lệnh hợp lệ bất kỳ: câu lệnh đơn, hoặc
câu lệnh ghép, hoặc câu lệnh điều khiển.
2. Cú pháp câu lệnh if dạng không đầy đủ
if (<điều kiện>) { khối lệnh 1; }
Trong đó:
- <điều kiện> là một biểu thức logic tức nó có giá trị đúng (khác 0) hoặc
sai (bằng 0).
- <khối lệnh 1> có thể là một câu lệnh đơn, một khối lệnh hay một câu
lệnh phức.
̀
̀
̀
C. YÊU CÂU PHÂN CỨNG, PHÂN MỀM
Máy tinh cài hệ điều hành Windows, RAM tối thiểu 256MB.
́
Phần mềm C FREE 5.0.
D. KẾT QUẢ SAU KHI HOÀN THÀNH
Sinh viên thành thạo các câu lệnh IF áp dụng giải các bài tập từ đơn giản đến
phức tạp.
E. HƯỚNG DẪN CHI TIẾT
1
1.Viết chương trình nhập vào 2 số nguyên, in ra kết quả của các phép toán: cộng, trừ,
nhân, chia của 2 số nguyên đó.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int a, b;
cout<<"Ban hay nhap 2 so nguyen: “;
cin>>a>>b;
cout<<”Tong cua 2 so vua nhap la: ”<<a+b<<”\n”;
cout<<”Hieu cua 2 so vua nhap la: ”<<a-b<<”\n”;
cout<<”Tich cua 2 so vua nhap la: ”<<a*b<<”\n”;
if (b!=0)
cout<<”Thuong cua 2 so vua nhap la: ”<<a/b;
return 0;
}
Kết quả chạy chương trình:
2. Tính năm nhuận. Năm thứ n là nhuận nếu nó chia hết cho 4, nhưng không chia hết
cho 100 hoặc chia hết 400. (Chú ý: một số nguyên a là chia hết cho b nếu phần dư của
phép chia bằng 0, tức a%b == 0).
Hướng dẫn:
#include <iostream>
#include <conio.h>
#include <math.h>
2
using namespace std;
int main()
{
int nam, year;
cout << “Nam = “ ; cin >> nam ;
if (nam%4 == 0 && year%100 !=0 || nam%400 == 0)
cout << nam << "la nam nhuan” ;
else
cout << nam << "la nam khong nhuan” ;
return 0;
}
Kết quả chạy chương trình:
3.Viết chương trình nhập tuổi và in ra kết quả nếu tuổi học sinh đó không đủ điều kiện
vào học lớp 10. Biết tuổi vào lớp 10 của học sinh là 16.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int tuoi;
cout << "Nhap tuoi hoc sinh : " << endl;
cin>>tuoi;
if(tuoi==16)
{
cout << "Tuoi cua hoc sinh la: " << tuoi << " tuoi." << endl;
cout << "Hoc sinh du tuoi vao lop 10!" << endl;
}
else
{
cout << "Tuoi cua hoc sinh la: " << tuoi << " tuoi." << endl;
3
cout << "Hoc sinh khong du tuoi vao lop 10!" << endl;
}
return 0;
}
Kết quả chạy chương trình:
4. Viết chương trình nhập một số nguyên bất kỳ từ bàn phím và in kết quả ra màn hình
để thông báo cho người dùng biết số đó lớn hay nhỏ hơn 100.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int a;
cout << "Nhap so nguyen: " << endl;
cin>>a;
if(a>100)
{
cout << a << " lon hon 100." << endl;
}
else
{
cout << a << " nho hon 100." << endl;
}
return 0;
}
Kết quả chạy chương trình:
4
5. Viết chương trình nhập vào 3 số nguyên và tìm số lớn nhất trong 3 số đó.
Hướng dẫn:
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
cout<<"Nhap vao 3 so bat ky:";
int a1,a2,a3,max;
cin>>a1>>a2>>a3;
max=a1; //Giả sử số đầu tiên lớn nhất
if(max<a2) max=a2; //So sánh max với a2 và cập nhật max
if(max<a3) max=a3; //So sánh max với a3 và cập nhật max
cout<<"So lon nhat trong 3 so la: "<<max; //In max ra màn hình
return 0;
}
Kết quả chạy chương trình:
6. Viết chương trình nhập vào 3 cạnh của một tam giác:
-Tính chu vi, diện tích của tam giác đó.
- Kết luận tam giác đó là tam giác cân, tam giác thường hay tam giác đều.
Hướng dẫn:
#include <iostream>
#include<math.h>
using namespace std;
int main()
5
{
int a, b, c, CV, S;
float P;
cout<<"\n canh a la:";cin>>a;
cout<<"\n canh b la:";cin>>b;
cout<<"\n canh c la:";cin>>c;
P = (a+b+c)/2;
CV = a+b+c;
S = sqrt(P*(P-a)*(P-b)*(P-c));
cout<<"Chu vi tam giac la:"<<CV;
cout<<"\nDien tich tam giac la:"<<S;
if(a!=0&&b!=0&&c!=0&&a==b||b==c||c==a)
{
cout<<endl<<"la tam giac can";
}
else if(a!=0&&b!=0&&c!=0&&a==b==c)
{
cout<<endl<<"la tam giac deu";
}
else if(a!=0&&b!=0&&c!=0&&a!=b||b!=c||c!=a)
{
cout<<endl<<"la tam giac thuong";
}
return 0;
}
Kết quả chạy chương trình:
7. Viết chương trình xếp hạng học lực của học sinh dựa trên các điểm bài kiểm tra,
điểm thi giữa kỳ, điểm thi cuối kỳ, điểm trung bình = (điểm bài kiểm tra + điểm thi
giữa kỳ + điểm thi cuối kỳ)/3. Nếu:
6
Điểm trung bình >= 9.0 là hạng A.
Điểm trung bình >=7.0 và < 9.0 là hạng B.
Điểm trung bình >=5.0 và < 7.0 là hạng C.
Điểm trung bình <5.0 là hạng F.
Hướng dẫn:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
float a, b, c;
float dtb;
cout<<"Nhap diem kiem tra, diem giua ky, diem cuoi ky tuong ung:";
cin>>a>>b>>c;
dtb=(a+b+c)/3;
cout<<"Diem trung binh la: "<<dtb<<endl;
if(dtb>=9.0) cout<<"Hang A";
else if((dtb>=7.0) && (dtb<9.0)) cout<<"Hang B";
else if((dtb>=5.0) && (dtb<7.0)) cout<<"Hang C";
else if(dtb<5.0) cout<<"Hang F";
else cout<<"Diem khong hop le";
cout<<"\n";
return 0;
}
Kết quả chạy chương trình:
8. Cửa hàng A nhận gửi bán sản phẩm cho một công ty B và hưởng hoa hồng, với
mức hoa hồng theo doanh số bán như sau:
5% nếu tổng doanh số nhỏ hơn hoặc bằng 100 triệu.
10% nếu tổng doanh số nhỏ hơn hoặc bằng 300 triệu.
20 % nếu tổng doanh số là lớn hơn 300 triệu.
7
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
long int doanhso;
float hoahong;
cout << "Tong doanh so ban hang: " << endl;
cin>>doanhso;
if(doanhso<=100)
{
hoahong=doanhso*5/100;
cout << "Voi tong doanh so la " << doanhso << ", ";
cout << "thi hoa hong nhan duoc la " << hoahong;
}
else if(doanhso<=300)
{
hoahong=doanhso*10/100;
cout << " Voi tong doanh so la " << doanhso << ", ";
cout << " thi hoa hong nhan duoc la " << hoahong;
}
else if(doanhso>300)
{
hoahong=doanhso*20/100;
cout << " Voi tong doanh so la " << doanhso << ", ";
cout << " thi hoa hong nhan duoc la " << hoahong;
}
cout <<"\n";
return 0;
}
Kết quả chạy chương trình:
8
9. Viết chương trình tính cước điện thoại bàn cho một hộ gia đình với các thông số
như sau:
Phí thuê bao bắt buộc là 30 nghìn.
600 đồng cho mỗi phút gọi của 50 phút đầu tiên.
400 đồng cho mỗi phút gọi của 150 phút tiếp theo.
200 đồng cho bất kỳ phút gọi nào sau 200 phút đầu tiên.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
long int sophut, phi = 0;
float tong;
const int phicodinh = 30000;
cout << "So phut goi trong thang: ";
cin>>sophut;
if(sophut>200)
phi=(sophut-200)*200+150*400+50*600;
else if(sophut>50)
phi=(sophut-50)*400+50*600;
else
phi = sophut*600;
tong = phi + phicodinh;
cout << "Ban da goi " << sophut << " phut." << endl;
cout << "So tien dien thoai phai nop la " << tong << endl;
return 0;
}
Kết quả chạy chương trình:
10. Viết chương trình nhập lương nhân viên, tính thuế thu nhập và lương ròng (số tiền
lương thực sự mà nhân viên đó nhận được).
Với các thông số giả sử như sau
9
30% thuế thu nhập nếu lương là 15 triệu.
20% thuế thu nhập nếu lương từ 7 đến 15 triệu.
10% thuế thu nhập nếu lương dưới 7 triệu.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int thuesuat;
float luong,sothue,luongrong=0;
cout << "Nhap so tien luong: ";
cin>>luong;
if(luong>15000000)
{
sothue=luong*0.3;
thuesuat=30;
}
else if(luong>=7000000)
{
sothue=luong*0.2;
thuesuat=20;
}
else
{
sothue=luong*0.1;
thuesuat=10;
}
luongrong=luong-sothue;
cout << "Luong = " << luong << endl;
cout << "Thue thu nhap " << thuesuat << "% = " << sothue << endl;
cout << "Tien luong thuc nhan = " << luongrong << endl;
return 0;
}
11. Viết chương trình giải phương trình ax + b = 0
Hướng dẫn:
10
#include <iostream>
using namespace std;
int main()
{
int a,b;
cout<<"Nhap a :";
cin>>a;
cout<<"Nhap b :";
cin>>b;
if(a==0)
cout<<"Phuong trinh vo nghiem ";
if(a!=0)
{
cout<<"Nghiem cua phuong trinh la :";
cout<<-b/a;
}
return 0;
}
Kết quả chạy chương trình:
F. BÀI TẬP THỰC HÀNH TRÊN PHÒNG MÁY
1. Viết chương trình nhập vào thông tin của một sinh viên bao gồm: mã số sinh
viên, họ tên, quê quán, năm sinh, điểm trung bình các năm học; xuất ra thông
tin của sinh viên vừa nhập.
2. Viết chương trình nhập vào ba cạnh a, b, c của một tam giác, tính và xuất ra
diện tích của tam giác theo công thức S = p( p - a)( p - b)( p - c) với p là nữa
chu vi.
3. Viết chương trình nhập vào các hệ số a, b, c và in ra nghiệm của phương trình
bậc hai ax2+ bx + c = 0 (giải và biện luận đầy đủ các trường hợp).
11
4. Viết chương trình cho phép nhập vào thứ (1->7) trong tuần, nếu thứ không hợp
lệ thì cho nhập lại. Sau đó cho biết thứ đã nhập có tên là gì và xuất kết quả ra
màn hình. (1: Sunday, 2: Monday, …)
5. Nhập vào 1 số nguyên, yêu cầu xuất ra chữ số hàng trăm của số đó, nếu không
có thì xuất ra 0.
6. Viết chương trình cho phép nhập vào tháng (1->12) trong năm, nếu tháng
không hợp lệ thì cho nhập lại. Sau đó cho biết tháng đó có tên là gì và xuất kết
quả ra màn hình. (1: January, 2: February, …).
7. Viết chương trình nhập vào một số. Xuất ra màn hình chuỗi “số chẵn” nếu số
đó là số chẵn. Xuất ra màn hình chuỗi “số lẻ” nếu số đó là số lẻ.
8. Viết chương trình tính lương của nhân viên dựa theo thâm niên công tác
(TNCT) như sau: Lương = hệ số * lương căn bản, trong đó lương căn bản là
1350000 đồng.
- Nếu TNCT < 12 tháng: hệ số = 2.34.
- Nếu 12 <= TNCT < 36 tháng: hệ số = 3.33.
- Nếu 36 <= TNCT < 60 tháng: hệ số = 3.66.
- Nếu TNCT >= 60 tháng: hệ số = 3.99.
9. Viết chương trình cho phép nhập số KW điện tiêu thụ từ bàn phím. Sau đó tính
tiền điện và xuất kết quả ra màn hình.
- Nếu số KW: 0 -> 100: đơn giá 2000 đồng/KW.
- Nếu số KW: 101 -> 200: đơn giá 2500 đồng/KW.
- Nếu số KW: 201 -> 300: đơn giá 3000 đồng/KW.
- Nếu số KW: > 300: đơn giá 5000 đồng/KW.
10. Một điểm Karaoke tính tiền khách hàng theo công thức sau:
- Mỗi giờ trong 3 giờ đầu tiên tính 30000đ/giờ
- Mỗi giờ tiếp theo có đơn giá giảm 30% so với đơn giá trong 3 giờ đầu
tiên
- Ngoài ra, nếu thời gian thuê phòng từ 8 giờ đến 17 giờ thì được giảm giá
10%. Viết chương trình nhập vào giờ bắt đầu, giờ kết thúc và in ra số
tiền khách phải trả, biết rằng 8 giờ ≤ giờ bắt đầu ≤ giờ kết thúc ≤ 24 giờ.
12
LAB 2: CẤU TRÚC LỆNH CƠ BẢN - CÂU LỆNH switch
A. MỤC TIÊU
Trang bị cho sinh viên ky năng lập trinh cơ bản trong C++:
̃
̀
+ Cú pháp câu lệnh switch dạng đầy đủ
+ Cú pháp câu lệnh switch dạng không đầy đủ
+ Viết chương trình sử dụng câu lệnh switch
+ Phát hiện và sửa lỗi
B. NỘI DUNG
1.Cú pháp câu lệnh switch dạng đầy đủ
switch (biểu thức điều khiển)
{
case biểu_thức_1: dãy lệnh 1 ; break;
case biểu_thức_2: dãy lệnh 2 ; break;
..……………....................................... ;
case biểu_thức_n: dãy lệnh n ; break;
default: dãy lệnh; break;
}
2.Cú pháp câu lệnh switch dạng không đầy đủ
switch (biểu thức điều khiển)
{
case biểu_thức_1: dãy lệnh 1 ; break;
case biểu_thức_2: dãy lệnh 2 ; break;
..……………....................................... ;
case biểu_thức_n: dãy lệnh n ; break;
}
̀
̀
̀
C. YÊU CÂU PHÂN CỨNG, PHÂN MỀM
Máy tinh cài hệ điều hành Windows, RAM tối thiểu 256MB.
́
Phần mềm C FREE 5.0.
D. KẾT QUẢ SAU KHI HOÀN THÀNH
Sinh viên thành thạo các câu lệnh switch áp dụng giải các bài tập từ đơn giản
đến phức tạp.
13
E. HƯỚNG DẪN CHI TIẾT
1. Nhập tháng và cho biết tháng đó có bao nhiêu ngày.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int thang;
cout<<"Nhap vao thang: ";
cin>>thang;
switch(thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout<<"31 ngay"; break;
case 2:
cout<<"28 hoac 29 ngay"; break;
case 4:
case 6:
case 9:
case 11:
cout<<"30 ngay"; break;
}
return 0;
}
Kết quả chạy chương trình:
14
2. Nhập vào số và in ra thứ tương tự với số đó.
Hướng dẫn:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int thu ;
cout<<"Nhap vao thu: ";
cin>>thu;
switch(thu)
{
case 2:
cout<<"Thu hai"; break;
case 3:
cout<<"Thu ba"; break;
case 4:
cout<<"Thu tu"; break;
case 5:
cout<<"Thu nam"; break;
case 6:
cout<<"Thu sau"; break;
case 7:
cout<<"Thu bay"; break;
case 8:
cout<<"Chu nhat"; break;
default:
cout<<"Thu ban nhap khong hop le!";
}
return 0;
15
}
Kết quả chạy chương trình:
3. Viết chương trình thể hiện menu lựa chọn gồm các thể loại phim hiện đang có
trong rạp chiếu phim ABC. Yêu cầu người dùng nhập lựa chọn thể loại phim muốn
xem.
Hướng dẫn:
#include <iostream>
using namespace std;
int main()
{
int luachon;
cout << "\n\n\t\t ============== MENU ==============";
cout << "\n1. Phim Tinh cam";
cout << "\n2. Phim Kinh di";
cout << "\n3. Phim Hoat hinh";
cout << "\n4. Phim Khoa hoc - Vien tuong";
cout << "\n\n\t\t ============== End ==============";
// người dùng nhập lựa chọn
cout << "\nNhap lua chon(1 --> 4): ";
cin >> luachon;
// cấu trúc switch
switch(luachon)
{
case 1:
{
cout << "\nBan da chon the loai phim 'Tinh cam' ";
}break;
case 2:
{
cout << "\nBan da chon the loai phim 'Kinh di' ";
16
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu học tập môn Thực tập lập trình cơ bản (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tai_lieu_hoc_tap_mon_thuc_tap_lap_trinh_co_ban_phan_1.pdf

