Báo cáo bài tập lớp - Môn: Nhập môn về lập trình có nội dung trình bày về việc viết chương trình thực hiện công việc theo menu gồm tính thể tích và diện tích mặt của hình lập phương cạnh E, đổi 1 số thập phân N sang dạng nhị phân,... Mời các bạn cùng tham khảo chi tiết nội dung tài liệu.
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO BÀI TẬP LỚN
MÔN: NHẬP MÔN VỀ LẬP TRÌNH
GVHD : NGÔ ĐỨC MINH
Nhóm : 04
Tên thành viên MSSV
1/ Bùi Khắc Thạch 1613237
2/ Nguyễn Thị Ngọc Châm 1610266
Thành phố Hồ Chí ngày 12 tháng 06 năm 2017
Trang 2Mục lục
Ⅰ Lời mở đầu 1
Ⅱ Đề tài 2
Ⅲ Bản thuyết minh 2
1 Phần 1: Giới thiệu cách chạy sản phẩm đã viết 2
2 Phần 2: Trình bày cách sử dụng dữ liệu 4
3 Phần 3: Trình bày cách giải quyết, công thức áp dụng 5
4 Phần 4: Cách tổ chức chương trình 9
Trang 3Ⅰ Lời mở đầu:
Ngôn ngữ lập trình C là ngôn ngữ mệnh lệnh được phát triển đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX Từ đó ngôn ngữ này đã lan rộng ra nhiều
hệ điều hành khác và trở thành một trong nhìu ngôn ngữ phổ dụng nhất C là ngôn ngữ rất có hiệu quả và được ưa chuộng nhất để viết các phần mềm hệ thống, mặc dù nó vẫn được dùng viết các ứng dụng Ngoài ra C cũng được dùng làm phương tiện giảng dạy trong khoa học máy tính mặc dù ngôn ngữ này không được thiết kế cho người nhập môn
C là ngôn ngữ tương đối nhỏ gọn vận hành gần giống với phần cứng và nó giống ngôn ngữ Assambler hơn hầu hết các ngôn ngữ bậc cao Hơn thế C được đánh giá như là có khả năng di động, cho thấy sự khác nhau của nó với ngôn ngữ bậc thấp như là Assambler, đó là việc mã C có thể được dịch và thi hành trên hầu hết các máy tính Hơn hẳn các ngôn ngữ hiện tại trong khi đó Assambler chỉ chạy trong một số máy tính đặc biệt, vì lý do này C được xem là ngôn ngữ bậc trung
C được tạo ra với mục tiêu làm cho nó thuận tiện để viết các chương trình lớn với số lỗi ít hơn trong mẫu hình lập trình kỹ tục mà không đặt năng lên vai người viết ra trình dịch C, là những người bề bộn với các đặt tả phức tạp của ngôn ngữ
Mặc dù C còn thiếu nhìu chức năng hữu ít nhưng lý do quan trọng để C được chấp nhận
vì nó cho phép các trình dịch mới đc tạo ra một cách nhanh chóng trên các nền tảng mới và
vì nó cho phép người lập trình dễ kiểm soát những gì mà chương trình (do họ viết) được thực thi Đây là điểm làm cho mã C chạy hiệu quả hơn các ngôn ngữ khác Thường chỉ có ngôn ngữ ASM chỉnh bằng tay chạy nhanh hơn (ngôn ngữ C), bởi vì ASM kiểm soát được toàn bộ máy Mặc dù vậy với sự phát triển của trình dịch C, với sự phức tạp của các CPU hiện đại với tốc độ cao, C đã dần thu nhỏ khác biệt về tốc độ này
Một lý do nữa làm cho C được ứng dụng rộng rãi là do các trình dịch, các thư viện và các phần mềm thông dịch của các ngôn ngữ bậc cao khác lại được tạo nên từ C
Trang 4
2
Ⅱ Đề tài
Viết chương trình thực hiện công việc theo menu như sau:
Chọn chức năng cần thực hiện:
1 Tính thể tích và diện tích mặt của hình lập phương cạnh E
2 Xác định xem 1 ma trận NxM có đối xứng không?
3 Đổi 1 số thập phân N sang dạng nhị phân
4 In ra màn hình và lưu kết quả vẽ hình chữ nhật (dai, rong) vào file
“hinh_chu_nhat.txt”
Hãy nhập vào số chức năng : _
Ghi chú: (1) Kết quả in ra màn hình của tính năng 4
Ⅲ Bản thuyết minh
1 Phần 1: Giới thiệu cách chạy sản phẩm đã viết
Sản phẩm đã viết được nén trong file có tên “Btl_Nh15.rar”, chương trình được viết trên phần mềm “CodeBlocks” do đó để chạy chương trình cần phải có phần mềm
“CodeBlocks” hoặc các phần mềm tương tự khác
Cách chạy chương trình:
Bước 1: giải nén file “Btl_Nh15.rar” , mở thư mục “Btl_15” chọn file ““Btl_15”
Bước 2: sau khi giải nén, chạy phần mềm “CodeBlocks” click vào “Open an
existing project” chọn thư mục vừa giải nén rồi chọn “Btl_15”
Trang 5Ảnh minh họa:
Bước 1:
Bước 2:
Trang 64
Dựa vào cấu trúc điều kiện Switch-Case để tạo chức năng cần thực hiện theo menu như yêu cầu Sản phẩm có 5 chức năng, chức năng số 1 đến số 4 tương ứng với bài 1 đến bài 4 theo
đề bài, chức năng số 5 dùng để thoát ra khỏi cấu trúc lựa chọn Cụ thể:
Chức năng 1: Tính thể tích và diện tích mặt của hình lập phương cạnh E
Chức năng 2: Xác định xem 1 ma trận NxM có đối xứng không?
Chức năng 3: Đổi 1 số thập phân N sang dạng nhị phân
Chức năng 4: In ra màn hình và lưu kết quả vẽ hình chữ nhật (dai, rong) vào file
“hinh_chu_nhat.txt”
Input: Nhập vào 1 trong 4 tính năng đã nêu trên
Output: Thực hiện tính năng người dùng yêu cầu và xuất ra màn hình
2 Phần 2: Trình bày cách sử dụng dữ liệu (biến, hằng), giải thích ý nghĩa các
hằng, biến dùng trong chương trình
Các biến được sử trong chương trình bao gồm:
Ở kiểu số nguyên (int), có:
- “a[100] [100]” : là mảng 2 chiều trong chức năng 2, được nhập từ bàn phím
- “n”, “m” : lần lượt là số hàng, số cột của ma trận cỡ NxM trong chức năng 2, được nhập
từ bàn phím
- “N” : là giá trị của số thập phân trong chức năng 3, được nhập từ bàn phím
- “i”,”j” : là các biến chạy điều kiện thoát ra vòng lặp trong chức năng 2 và 3
- “a[i]” : là phần dư khi chia số thập phân cho 2 với toán tử % và lưu phần dư vào trông mảng trong chức năng số 3
Ở kiểu số thực chấm động (float), có:
- “canh”, “E” : là độ dài cạnh của hình lập phương trong chức năng 1, được nhập từ bàn phím
Trang 73 Phần 3: Trình bày về cách giải quyết, các công thức áp dụng (dùng sơ đồ tiến trình)
Chức năng 1: Tính thể tích và diện tích mặt của hình lập phương cạnh E
BẮT ĐẦU
NHẬP
Cạnh (E)
E*E*6
XUẤT
dienTichMatLapPhuong= E*E*6
theTichLapPhuong= E*E*E
KẾT THÚC
E>0 ?
Đúng Sai
E*E*E
Trang 86
Sai
Chức năng 2: Xác định xem 1 ma trận NxM có đối xứng không?
BẮT ĐẦU
NHẬP
Ma trận A[i][j]
A[i][j]
XUẤT
A[i][j]
hàng = cột?
A[i][j] = A[j][i]?
??
A[i][j]
?
Đúng
XUẤT
Ma trận không đối xứng
XUẤT
MA trận đối xứng
KẾT THÚC
Trang 9 Chức năng 3: Đổi 1 số thập phân N sang dạng nhị phân
BẮT ĐẦU
NHẬP
Số thập phân N
i=0
N > 0 ?
Đúng
XUẤT
a[i]=N%2
N = N/2
i = i + 1
Sai
KẾT THÚC
Trang 108
Đúng Sai
Đúng
Sai
Chức năng 4: In ra màn hình và lưu kết quả vẽ hình chữ nhật (dai, rong) vào file
“hinh_chu_nhat.txt”
BẮT ĐẦU
NHẬP Chiều dài (CD)
Chiều rộng (CR)
{𝑥 < 𝐶𝐷𝑦 < 𝐶𝑅
XUẤT
Hàng x thay bằng “*”
Cột y thay bằng “*”
KẾT THÚC
x=0
y=0
[
𝑥=0
𝑦 =0 𝑥= 𝐶𝐷−1 𝑦= 𝐶𝑅−1
XUẤT
Hàng x thay bằng khoảng trắng
Cột y thay bằng khoảng trắng
x = x + 1
y = y + 1
Trang 114 Phần 4: Cách tổ chức chương trình
Chương trình gồm 7 module phụ, 1 module chính và 1 header