Tiểu luận kĩ thuật lập trình C đại học
UBND TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TÊN ĐỀ TÀI BÁO CÁO TIỂU LUẬN MÔN HỌC KỸ THUẬT LẬP TRÌNH NHĨM: NGÀNH HỌC: Sư Phạm Tốn Học TÊN LỚP: C14TO02 NIÊN KHỐ: 2014-2017 GIẢNG VIÊN GIẢNG DẠY: Cao Thanh Xuân SINH VIÊN TRONG NHÓM: STT HỌ TÊN SV MÃ SỐ SV VAI TRÒ Nguyễn Cao Mỹ Thanh Dương Ngọc Thu Hằng Võ Thị Mỹ Duyên Nguyễn Thị Thoa Phạm Ngọc Trinh 1411402090126 1411402090109 1411402090137 1411402090077 1411402090086 Thành viên Thành viên Thành viên Nhóm trưởng Thành viên CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BIÊN BẢN PHÂN CƠNG CÁC LẦN HỌP NHĨM V/v: Làm tập nhóm mơn Kỹ Thuật Lập Trình Kính gửi: Thầy giáo dạy mơn Kỹ Thuật Lập Trình Hơm nay, nhóm chúng em làm biên thống kê lần họp nhóm sau: Lần họp nhóm thứ nhất: Địa điểm họp: Vườn học tập trường Đại học Thủ Dầu Một Nội dung họp: Nhóm trưởng phân cơng tập thầy giao cho thành viên nhóm để nộp lấy điểm 30% sau nhóm trưởng dặn dò thành viên phải cho yêu cầu nộp thời hạn cho nhóm trưởng trước ngày 25/04/2016 Thành phần tham gia: Nhiệm vụ % đóng Họ tên Bài thực hành số Bài thực hành số Bài thực hành số góp S T T Nguyễn Cao Mỹ Thanh 1,2 2,5 7,9 100% Dương Ngọc Thu Hằng 1,4 5,6 100% Võ Thị Mỹ Duyên 3,7 2,8 100% Nguyễn Thị Thoa 5,7 8,9 3,4 100% Phạm Ngọc Trinh 6,10 1,10 100% Tất thành viên nhóm đầy đủ, tích cực đóng góp nhiều ý kiến cho làm buổi họp kéo dài từ 7h30 đến 10h00 vào ngày 16/4/2016 Lần họp nhóm thứ hai: Địa điểm họp: Vườn học tập trường Đại học Thủ Dầu Một Nội dung họp: Nhóm trưởng thành viên nhóm tìm đưa cách giải toán lớn để nộp lấy điểm 70% sau nhóm trưởng phân cơng thành viên phải cho đạt hiệu nộp thời hạn cho thầy trước ngày 7/5/2016 để thầy xem sớm có thiếu sót thầy góp ý kiến để bổ sung tốt cho bài, thầy xác nhận xong in nộp khoa Thành phần tham gia: STT Họ tên Nguyễn Cao Mỹ Thanh Dương Ngọc Thu Hằng Nhiệm vụ Viết chạy chương trình Tìm kiếm thuật tốn % đóng góp 100% 100% Võ Thị Mỹ Duyên Viết thuật toán 100% Nguyễn Thị Thoa Viết thuật toán 100% Phạm Ngọc Trinh Viết chạy chương trình 100% Tất thành viên nhóm đầy đủ, tích cực đóng góp nhiều ý kiến cho làm buổi họp họp vào buổi: thứ (23/4/2016) từ 07h30 đến 10h00, thứ (4/5/2016) từ 8h00 đến 10h30, thứ (6/5/2016) từ 8h00 đến 10h30 Nhóm em cố gắng để hoàn thành tập theo u cầu thầy, có thiếu sót mong thầy góp ý để tiểu luận nhóm tốt Nhóm chúng em xin chân thành cảm ơn! Nhóm trưởng Nguyễn Thị Thoa PHẦN NỘI DUNG MỤC LỤC CHƯƠNG 1: GIỚI THIỆU……………………………………………………….……1 Giới thiệu chung đề tài………………… ……………………………… Khả ứng dụng đề tài thực tế .1 CHƯƠNG 2: LỰA CHỌN CÔNG NGHỆ Công nghệ, tảng, ngôn ngữ lập trình………………………… ……… 2 Cấu hình máy tối thiểu………………………………………………………2 2.1 Dành cho lập trình viên…………………………………………….2 2.2 Dành cho người sử dụng……………………………………………2 CHƯƠNG 3: MÔ TẢ CHI TIẾT KĨ THUẬT…………………………………… …3 Cấu trúc liệu sử dụng………………………………………………3 Các thuật toán sử dụng……………………………………………… 3 Các hàm sử dụng……………………………….…………………… CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG DẪN SỬ DỤNG…………… Bài thực hành số 1…………………………… ……………………………4 1.1 Bài 1:……………………………………………………………….4 1.2 Bài 2:….……………………………………………………………5 1.3 Bài 3: ………………………………………… ………………… 1.4 Bài 4:…………………………………………… …………………9 1.5 Bài 5: ……………………………………………………… ……10 1.6 Bài 6:….………………………………………… ………………12 1.7 Bài 7:….……………………………………… …………………12 Bài thực hành số 2…………………………………………………………12 2.1 Bài 1:….…………………………………… ……………………12 2.2 Bài 2: ……………………………………….…………………….14 2.3 Bài 3:….……………………………………… …………………15 2.4 Bài 4:….………………………………………….……………… 17 2.5 Bài 5:….…………………………………………… …………….18 2.6 Bài 6:….………………………………….………….…………….19 2.7 Bài 7:….…………………………………………….…………… 19 2.8 Bài 8:….…………………………………………… …………….22 2.9 Bài 9:….…………………………………………….…………… 23 2.10 Bài 10:… ………………………………………… ……………24 Bài thực hành số 3…………………………………… ………………… 26 3.1 Bài 1:….…………………………………………… …………….26 3.2 Bài 2:….……….……………………………………………….….26 3.3 Bài 3:….……….…………………………………………… ……27 3.4 Bài 4:….……….………………………………………… ………27 3.5 Bài 5:….……….………………………………………… ………28 3.6 Bài 6:….………………………………………………… ………28 3.7 Bài 7:….………………………………………………… ……….29 3.8 Bài 8:….………………………………………………… ………30 3.9 Bài 9:….…………………………………………….……….…….30 3.10 Bài 10: …………………………………………… ……………31 Bài tập lớn……….……………………………………… …….…………32 CHƯƠNG 5: KẾT LUẬN……………………………………… …………………36 CHƯƠNG 6: TÀI LIỆU THAM KHẢO…………………………………………….37 CHƯƠNG 1: GIỚI THIỆU Giới thiệu chung đề tài Trên giới Việt Nam, Công nghệ thông tin trở thành ngành công nghiệp mũi nhọn, thiếu việc áp dụng vào hoạt động xã hôi như: Quản lý kinh tế, thông tin, hoạt động kinh doanh… nước ta nay, việc áp dụng tin học việc quản lý quan xí nghiệp phổ biến trở nên cấp thiết Nhưng vấn đề đặt việc quản lý làm để chuẩn hoá cách xử lý liệu quan có cách xử lý khác Đó vấn đề cịn nhiều hạn chế đội ngũ nhân viên việc quản lý quan xí nghiệp nước ta Một thực trạng công ty thường mời chuyên viên phần mềm vi tính viết chương trình họ khơng hiểu chương trình viết nào, ứng dụng phân tích Họ biết làm theo dẫn công ty phần mềm sử dụng, muốn thay đổi nhỏ lại phải mời chuyên viên họ người viết Với mong muốn giúp bạn hiểu cách thực hiện, cách tạo chạy chương trình máy tính nào, nhóm cố gắng thực đưa phương pháp, thuật toán cho chương trình Dev C Đây phương pháp số nhiều phương pháp, chưa hồn thiện góp phần giúp hiểu quy trình thực toán, ý nghĩa thuật toán đưa vào chương trình Mặc dù có nhiều cố gắng để hồn thành thời gian có hạn kinh nghiệm chưa nhiều nên việc xây dựng hệ thống nhiều thiếu xót cần bổ sung chỉnh sửa Vì vậy, nhóm em mong nhận ý kiến đóng góp thầy bạn bè để đề tài hồn thiện Cuối cùng, nhóm em xin chân thành cảm ơn thầy Cao Thanh Xuân tận tình bảo hướng dẫn nhóm em hồn thành đề tài Chức đề tài: Lập trình để giải tốn từ đến nâng cao thơng qua thuật toán viết Dev C Khả ứng dụng đề tài thực tế Có ứng dụng tốt thực tế giúp người học giải tốn nhanh; giúp giáo viên ứng dụng để tính tốn điểm số học sinh, phân loại: giỏi, trung bình, khá,… hạnh kiểm; giúp người làm văn phịng quản lí nhân viên mặt tiền lương, tiền thưởng, trợ cấp,…; giúp nhà kinh doanh quản lí thơng số liệu để tính tốn dễ dàng xác hơn,… Nhóm GV giảng dạy: Cao Thanh Xn CHƯƠNG 2: LỰA CHỌN CƠNG NGHỆ Cơng nghệ, tảng, ngơn ngữ lập trình Phần mềm Dev C, ngơn ngữ lập trình C/C++ Cấu hình máy tối thiểu 2.1 Dành cho lập trình viên Máy hãng Dell, Acer, Asus, HP,… Core i3 Phần cứng máy tính có chip xử lí 1.8Ghz, RAM 2G Phần mềm: Visual Studio, Dev C, Notepad, … 2.2 Dành cho người sử dụng Bất kì thiết bị có cài phần mềm Dev C Máy tính bàn Laptop Máy tính bảng … Core i3 Phần cứng máy tính có chip xử lý từ 1.5Ghz trở lên, RAM 2G Phần mềm: Visual Studio, Dev C,… Nhóm GV giảng dạy: Cao Thanh Xuân CHƯƠNG 3: MÔ TẢ CHI TIẾT KỸ THUẬT Cấu trúc liệu sử dụng Một số cấu trúc liệu dùng chương trình như: mảng, danh sách liên kết, trỏ, tập tin, struct Các thuật toán sử dụng Một số thuật toán sử dụng như: xếp, tìm kiếm, đường ngắn nhất, … Các hàm sử dụng - Hàm đọc file: void docfile(HCN a[MAX],int &n) - Hàm ghi file: void ghifile(HCN a[],int kq) - Hàm true/false: bool HCN_Long_Nhau(HCN a, HCN b) - Hàm main: int main() Nhóm GV giảng dạy: Cao Thanh Xuân CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG DẪN SỬ DỤNG Các tập nhóm làm được: BÀI THỰC HÀNH SỐ 1: TÌM KIẾM CƠ BẢN Bài Viết chương trình nhập mảng số nguyên A gồm n phần tử(1≤ n ≤100) Hãy lập trình thực công việc sau: a Sắp xếp mảng theo thứ tự tăng dần b Nhập vào phần tử X Dùng kỹ thuật tìm kiếm nhị phân kiểm tra xem X có A khơng, có in vị trí X A, khơng in vị trí -1 c Nhập vào hai phần tử X Y (X ≠ Y) In khoảng cách X Y Nếu hai hai X Y khơng có A khoảng cách -1 Yêu cầu chung: Mỗi câu viết riêng hàm, hàm main gọi hàm Tất lưu file c cpp #include #include using namespace std; int x[100], a[100], b[100], n, k; FILE *f; void xuLiHoanVi(int i){ for(int j = 1; j