trình đóng vai trò quan trọng trong quá trình giao tiếp giữa con người và máytính.Thông qua môn học Ngôn ngữ lập trình và cấu trúc dữ liệu, cùng với sựhướng dẫn của giảng viên Nguyễn Thị
Trang 1ĐẠI HỌC MỞ HÀ NỘI KHOA ĐIỆN - ĐIỆN TỬ
BÀI TIỂU LUẬN CUỐI KỲ MÔN: NGÔN NGỮ LẬP TRÌNH - CẤU TRÚC DỮ LIỆU CHỦ ĐỀ: TÌM HIỀU VỀ NGÔN NGỮ LẬP TRÌNH C++
Giảng viên : Nguyễn Thị Tố Uyên
Sinh viên thực hiện : Đỗ Ngọc Anh 22A1201D0009
Đỗ Văn Hoàng 22A1201D0102
Lê Hoàng 22A1201D0103
Trang 2MỤC LỤCLỜI MỞ ĐẦU……… ……….
Trang 4trình đóng vai trò quan trọng trong quá trình giao tiếp giữa con người và máytính.
Thông qua môn học Ngôn ngữ lập trình và cấu trúc dữ liệu, cùng với sựhướng dẫn của giảng viên Nguyễn Thị Tố Uyên Nhóm em đã tìm hiểu và thảoluận để hoàn thành bài tiểu luận này
Tuy đã rất chú ý và cẩn trọng trong quá trình thảo luận nhưng không tránhkhỏi những thiếu sót và hạn chế Nhóm em xin chân thành mong quý thầy côđọc đóng góp ý kiến để giúp nhóm em hoàn thiện hơn
2
Nội dung:
1.Mục đích
- Tìm hiểu về ngôn ngữ lập trình
Trang 5 Nội dung tiểu luận gồm 3 chương chính:
- CHƯƠNG I: Tìm hiểu về ngôn ngữ lập trình
- CHƯƠNG II: Cấu trúc rẽ nhánh trong C++
- CHƯƠNG III: Một số bài tập cấu trúc rẽ nhánh trong C++
3
CHƯƠNG 1:
TIỀM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH1.Ngôn ngữ lập trình là gì?
Trang 6A Khái niệm
Ngôn ngữ lập trình được định nghĩa là loại ngôn ngữ viết nên các chương trình
để máy tính có thể đọc hiểu và thực hiện những lệnh được yêu cầu Có thể coingôn ngữ lập trình là phương thức mà máy tính và con người có thể "giao tiếp"được với nhau Mỗi loại ngôn ngữ lập trình được xem như là một tập hợp hoànchỉnh của các chi tiết kỹ thuật từ cú pháp câu cho tới từ vựng nhằm diễn tả chitiết câu lệnh.
B Có mấy loại ngôn ngữ lập trình?
+ Ngôn ngữ máy: Hay còn được gọi là ngôn ngữ lập trình thế hệ thứ nhất (1GL) Đây là hình thức ngôn ngữ lập trình sơ khai nhất, trong đó lập trình việc sẽviết từng câu lệnh dưới dạng số Với ngôn ngữ lập trình thế hệ 1, phần cứng cóthể thực thi ngay mà không cần tới các tình biên dịch (compiler)
+Hợp ngữ: Hợp ngữ là ngôn ngữ lập trình thế hệ thứ hai (2GL), tuy vẫn còn gắnchặt với kiến trúc tập lệnh của máy tính song hợp ngữ đã giảm thiểu các tínhtoán và lỗi khi viết câu lệnh, giúp chương trình dễ đọc hơn rất nhiều
+Ngôn ngữ lập trình bậc cao (3 GL) ra đời vào khoảng những năm 50 của thế kỉ
20 và cho tới nay đã có hàng nghìn ngôn ngữ lập trình bậc cao khác nhau đượcphát triển Ngôn ngữ lập trình bậc cao
2.Một số ngôn ngữ lập trình phổ biến hiện nay
-Python:
4
Trang 7+ Python đang là một trong các ngôn ngữ lập trình bậc cao phổ biến được sửdụng rộng rãi cho mọi chương trình máy tính Đây là một ngôn ngữ dễ tiếp cậnnhất cho người mới học lập trình
+Ứng dụng: Web, Ứng dụng phần mềm, A.I, Phân tích dữ liệu,…
- Java:
+ Java là một trong các ngôn ngữ lập trình phổ biến nhất, là ngôn ngữ được sửdụng bởi hàng trăm triệu lập trình viên và được phát triển trên hàng tỷ thiết bịtrên toàn cầu Java là ngôn ngữ lập trình hướng đối tượng và nó được thiết kếchạy đa nền tảng, đa hệ điều hành
+Ứng dụng: Xây dựng các ứng dụng Desktop, các trò chơi và thường được sửdụng bởi các doanh nghiệp, xây dựng các hệ thống back-end
Trang 83.Ngôn ngữ lập trình C++
C++ là một ngôn ngữ lập trình được phát triển bởi Bjarne Stroustrup vào năm
1979 tại Bell Labs C ++ được coi như một phần mở rộng của ngôn ngữ lập trình
C vì nó bao gồm sự kết hợp của cả các tính năng của ngôn ngữ cấp cao và cấpthấp
C ++ chạy trên nhiều nền tảng khác nhau, chẳng hạn như Windows, Mac OS vàcác phiên bản khác nhau của UNIX
Ngôn ngữ đã được mở rộng đáng kể theo thời gian và C ++ hiện nay có nhiềutính năng như:
Lập trình tổng quát
Lập trình hướng đối tượng
Lập trình thủ tục
Ngôn ngữ đa mẫu hình tự do có kiểu tĩnh
Dữ liệu trừu tượng
Lập trình đa hình
Trang 12Ví dụ: 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
-Code:
In ra màn hình
Trang 13sẽ được thực hiện Ngược lại thì chương trình sẽ thực hiện tới vế else của câulệnh if đầu tiên có biểu thức logic của nó trả ra giá trị false.
5.Cấu trúc lựa chọn switch…case…
Cấu trúc switch case dùng để lựa chọn trường hợp giá trị cho một đối tượngxác định, và quyết định sẽ làm công việc gì tương ứng với mỗi trường hợp xảy
ra
Trang 1411a.Cú pháp
Trong đó, {Biểu_thức} là một biến/biểu thức, hoặc hàm có giá trị, thường là kiểu
số nguyên hoặc kiểu chuỗi - kí tự Các giá trị 1,2,3 1,2,3 phải là các hằng số.
Nếu như giá trị của đối tượng không trùng với bất kỳ giá trị nào trong danh sáchthì câu lệnh ở default sẽ được thực hiện
Trong trường hợp nhiều giá trị có chung công việc thực hiện, ta có thể viết theo cách sau:
case {Giá_trị_1} :case {Giá_trị_2} : :case {Giá_trị_n}:
{Câu_lệnh};
break;
Trang 15CHƯƠNG 3:
MỘT SỐ BÀI TẬP CẤU TRÚC RẼ NHÁNH TRONG C++
1. Đề bài : Giả sử bạn là kế toán cho một công ty Bạn cần viết một chương trìnhC++ để nhập lương nhân viên, tính thuế thu nhập và lương nhận (số tiền lươngthực sự mà nhân viên đó nhận được) Với các thông số sau :
-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
-Input : luong
-Out put : luong,thue suat,luong nhan.
-Điều kiện : 0<luong<7, luong>=7 , luong >15
Lưu đồ thuật toán
Trang 16Code
Trang 17Giải thích :
- Include <iostream> : khai báo thư viện nhập xuất
- Using namespace std : khai báo không gian tên
- Int main () : hàm main nơi chứa các dòng code
- Đầu tiên ta chọn kiểu số nguyên cho thuesuat là : int thuesuat Sau đó ta gọi biến lần lượt là : luong ; sothue; luongnhan
- In ra “ nhạp so tien luong” -> nhập giá trị cần nhập
-Nếu:số lương nhập thỏa mãn đk1: luong > 15 thì:
+ số thuế bằng số lương nhân với 30% với thuế suất ở đây = 30
14-Nếu:số lương nhập thỏa mãn đk2: luong >= 7 thì:
+ số thuế bằng số lương nhân với 20 % với thuế suất ở đây = 20
Trang 18- Nếu : số lương nhập thỏa mãn ddk3: 0< luong <7 thì :
+số thuế bằng số lương nhân với 10% với thuế suất ở đây = 10
- Mặt khác nếu số lương nhập vào không thỏa mãn 3 điều kiện trên thì sẽ cho ra kết quả “ so tien luong nhap khong hop le !” rồi kết thức chương trình với lỗi
- Số tiền lương nhận : luongnhan=luong-sothue
- Return 0 : kết thúc chương trình hoàn toàn với không có lỗi nào
15
2 Đề bài: Nhập điểm toán, lý, hóa của một học sinh Hãy tính điểm trung bình
của học sinh này và cho biết học sinh này xếp loại học lực gì
Trang 19- Input : điểm toán , lý , hoá
- Output : điểm trung bình 3 môn , xếp loại học lực
Lưu đồ thuật toán
16
Code:
Trang 20Giải thích code :
if (dToan > 10 || dLy > 10 || dHoa > 10 || dToan < 0 || dLy < 0 || dHoa < 0)
cout << "Diem khong hop le! Vui long nhap lai!" << endl;
else {
dtb = (dToan + dLy + dHoa)/3;
Kiểm tra xem điểm Toán, Lý, Hoá có điểm nào > 10 hoặc < 0
-Nếu điều kiện trên đúng thì hiển thị thông báo và kết thúc chương trình
-Nếu điều kiện sai thì tính dtb
Hàm Setprecision dùng để lấy số lượng chữ số trong phần thập phân sau dấuchấm động
17
3 Đề bài :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
Trang 21+ 500 đồng cho mỗi phút gọi của 50 phút đầu tiên.
+ 300 đồng cho mỗi phút gọi của 100 phút tiếp theo.+ 200 đồng cho bất kỳ phút gọi nào sau 150 phút đầu tiên
- Input: sophut
- Output: Tổng số tiền phải trả
Lưu đồ thuật toán
18
Code:
Trang 23TỔNG KẾT TIỂU LUẬN
*Kết luận tổng quan về cấu trúc rẽ nhánh trong C++ Cấu trúc rẽ nhánh là mộtcấu trúc điều khiển, cho phép chương trình thực hiện các hành động khác nhautùy thuộc vào giá trị của một biểu thức hoặc một biến
*Cấu trúc rẽ nhánh if else có thể được sử dụng để rẽ nhánh chương trìnhthành hai nhánh, tùy thuộc vào giá trị của một biểu thức logic
*Cấu trúc rẽ nhánh switch case có thể được sử dụng để rẽ nhánh chương trìnhthành nhiều nhánh, tùy thuộc vào giá trị của một biểu thức Cấu trúc rẽ nhánh làmột công cụ quan trọng trong lập trình C++, giúp lập trình viên điều khiển cáckhối lệnh trong chương trình và tạo lập nên các thuật toán
*Lưu ý khi sử dụng cấu trúc rẽ nhánh: Cần kiểm tra giá trị của biểu thức logichoặc biểu thức trong case một cách chính xác để tránh gây lỗi cho chương trình.Không nên sử dụng cấu trúc rẽ nhánh quá nhiều trong một chương trình, vì điềunày sẽ làm cho chương trình khó đọc và khó bảo trì
Có được nhận thức và cái nhìn bao quát hơn về cấu trúc rẽ nhánh Nó có vai tròquan trọng trong quá trình học tập sau này và việc làm trong tương lai của sinhviên Qua đó, ta thấy được xã hội ngày càng phát triển hơn luôn có nhiều điềumới mẻ ra đời nhằm rút ngắn thời gian thực hiện tác vụ, cũng như phát triển đờisống con người Do đó, chúng ta cần phải nghiêm túc học tập, rèn luyện các kĩnăng để có đầy đủ cơ sở và kiến thức để sau khi tốt nghiệp có thể có được mộtcông việc phù hợp với bản thân
Tài liệu tham khảo:
https://luatminhkhue.vn/ngon-ngu-lap-trinh-la-gi.aspx?
fbclid=IwAR1FBqVqCpxCb2GjTzZ4EYTEM96owRaBS_YGOe7nSCW7ZSHebs-_23m548M#2-co-may-loai-ngon-ngu-lap-trinh
https://vi.wikipedia.org/wiki/Ng%C3%B4n_ng%E1%BB%AF_l%E1%BA
%ADp_tr%C3%ACnh
https://viblo.asia/p/lap-trinh-c-co-ban-bai-4-cau-truc-re-nhanh-924lJRe6lPM
20