Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 135 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
135
Dung lượng
1,76 MB
Nội dung
ỦY BAN NHÂN DÂN QUẬN GÒ VẤP TRƯỜNG TRUNG CẤP NGHỀ QUANG TRUNG - - GIÁO TRÌNH MƠN HỌC: KỸ THUẬT LẬP TRÌNH NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ: TRUNG CẤP (Lưu hành nội bộ) (Ban hành theo Quyết định số:342/QĐ-QT ngày 28 tháng 10 năm 2021 Trường Trung cấp nghề Quang Trung) Tp.HCM, năm 2021 Giáo trình Kỹ thuật lập trình TUYÊN BỐ BẢN QUYỀN: Tài liệu học tập phục vụ cho việc dạy học khoa Công nghệ Thông tin, Trường Trung cấp nghề Quang Trung, Q Gị Vấp, TP.HCM Nhằm tơn trọng quyền, chúng tơi nghiêm cấm hình thức chép, chuyển đổi, ghi âm, ghi hình… chưa có sư cho phép tác giả đơn vị sở hữu tài liệu LỜI GIỚI THIỆU Giáo trình “Kỹ thuật lập trình” tóm gọn lý thuyết bản, thực hành mẫu thiết thực, cung cấp kiến thức làm tảng cho chuyên ngành CNTT Nội dung giáo trình trình bày qua chương sau: tổng quan kỹ thuật lâp trình, khái niệm bản, lệnh có cấu trúc, hàm, kiểu mảng Giáo trình trình bày đa dạng tập hướng dẫn giải với nhiều chủ đề khác kỹ thuật lập trình, từ ứng dụng thực tiễn ngơn ngữ lập trình minh họa C hoặc C#… Các tập sắp xếp thứ tự cấp độ từ dễ đến mở rộng phù hợp cho người tự học, tự thực hành,…trình độ trung cấp trung cấp…làm tảng kiến thức chuyên ngành CNTT Mặc dù cố gắng biên soạn, tuyển chọn thực hành thiết thưc, dễ sử dụng … khơng thể tránh khỏi thiếu sót ngồi mong muốn Rất mong bạn đọc gần xa góp ý để giáo trình tốt Tp Hồ Chí Minh, 2021 Tham gia biên soạn: Khoa Công Nghệ Thông Tin Trường Trung cấp nghề Quang Trung Địa Chỉ: 689 Quang Trung, Phường 8, quận Gị Vấp, Tp.Hồ Chí Minh Tel: 028 35892025 Mọi góp ý vui lịng liên hệ: Nguyễn Văn Lân Email: nguyenlangroup@gmail.com – nguyenlan@live.com Website: www.ThuVienHocTap.Net Điện thoại: 098 560 1838 Trân trọng giới thiệu đến bạn Khoa Công nghệ thông tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình MỤC LỤC LỜI GIỚI THIỆU GIÁO TRÌNH MƠN HỌC TÊN MƠN HỌC: KỸ THUẬT LẬP TRÌNH CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT LÂP TRÌNH Một số khái niệm Các thành phần ngôn ngữ lập trình Thuật giải (Algorithm) Một số phương pháp lập trình Chương trình Các bước lập trình 10 Xác định IPO 11 Biểu diễn lưu đồ 12 Môi trường viết mã nguồn 19 10 Bài tập 24 CHƯƠNG 2: CÁC KHÁI NIỆM CĂN BẢN 27 Ngôn ngữ lập trình 27 Các thành phần ngôn ngữ C 29 Các kí hiệu 29 Từ khóa 29 Chú thích 29 Khai báo Header - thư viện 30 Kiểu liệu 30 Tên biến khai báo biến 31 Phép toán 32 Nhập – xuất liệu 36 Nhập liệu 36 Xuất liệu 40 Bài tập 41 Khoa Công nghệ thông tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình CHƯƠNG 3: CÁC LỆNH CÓ CẤU TRÚC 45 Các khái niệm 45 Cấu trúc điều kiện If-Else 46 Cấu trúc Switch Case 50 Cấu trúc lặp For 52 Cấu trúc lặp While 54 Cấu trúc lặp Do While 56 Cấu trúc Break, Continue Goto 59 Bài tập 60 CHƯƠNG 4: HÀM 71 Giới thiệu hàm 71 Cấu trúc hàm 73 Bài tập mẫu 78 Bài tập 82 CHƯƠNG 5: KIỂU MẢNG 84 Tổng quan kiểu mảng 84 Một số thao tác phần tử mảng 85 Bài tập mẫu 99 Bài tập 110 BÀI TẬP TỔNG HỢP 113 TÀI LIỆU THAM KHẢO 135 Khoa Công nghệ thông tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình GIÁO TRÌNH MƠN HỌC TÊN MƠN HỌC: KỸ THUẬT LẬP TRÌNH Mã mơ đun/mơn học: MH 09 I VỊ TRÍ, TÍNH CHẤT CỦA MƠN HỌC - Vị trí: Mơ đun bố trí sau học sinh học xong môn học, mô đun chung, tin văn phịng, tin học - Tính chất: Là môn học sở nghề bắt buộc, làm tảng cho môn học, mô đun khác II MỤC TIÊU CỦA MƠN HỌC Sau học xong mơn học này, người học có khả năng: * Kiến thức: - Trình bày khái niệm kỹ thuật lập trình máy tính; - Mơ tả ngơn ngữ lập trình: cú pháp, cơng dụng câu lệnh; - Phân tích chương trình: xác định nhiệm vụ chương trình; - Thực thao tác mơi trường phát triển phần mềm: biên tập chương trình, sử dụng công cụ, điều khiển, thực đơn lệnh trợ giúp, gỡ rối, bẫy lỗi,v.v.; - Mô tả tồn thực tiễn vào máy tính, liệu vào, liệu ra, xử lí mã nguồn * Kỹ năng: - Thực hành viết chương trình từ đến tồn thực tiễn; - Phân tích tốn, xác định rõ liệu vào-ra xử lí mã nguồn; - Tìm lỗi, xử lí lỗi, đọc thơng báo trình biên dịch; - Thao tác sử dụng chức trình biên dịch; - Kỹ sử dụng máy tính thành thạo hơn; - Phát triển tư duy, phân tích vấn đề, phân tích tốn cần xử lí * Năng lực tự chủ trách nhiệm: - Rèn luyện lịng u nghề, tư tác phong cơng nghiệp, tính kiên trì, sáng tạo cơng việc, trao đổi học hỏi bạn bè, làm việc nhóm, trách nhiệm với môn học, nội quy thực hành, khả tự tìm hiểu - Rèn luyện trách nhiệm tự học, tự tìm hiểu thêm mơn học - Thực an tồn sử dụng máy tính, điện, trách nhiệm với trang thiết bị phịng học Khoa Cơng nghệ thơng tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình - Bố trí làm việc khoa học đảm bảo an toàn cho người phương tiện học tập NỘI DUNG MÔN HỌC CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT LÂP TRÌNH Mã chương: MH09-01 ❖ Giới thiệu: Chương tìm hiểu khái niệm kỹ thuật lập trình, giới thiệu mơi trường lập trình với ngơn ngữ lập trình C ❖ Mục tiêu: - Trình bày khái niệm lập trình, kỹ thuật lập trình, cơng nghệ lập trình; - Trình bày lịch sử phát triển, ứng dụng ngôn ngữ lập trình; - Làm quen mơi trường phát triển phần mềm; - Sử dụng hệ thống trợ giúp từ help file, phần mềm Borland C++,… - Thực thao tác an tồn với máy tính ❖ Nội dung chính: Một số khái niệm Lập trình sử dụng ngơn ngữ để viết, hiểu dịng lệnh, cấu trúc liệu thuật toán để giải tốn Mã chương trình thơng dịch biên dịch để chương trình sau chạy Thơng dịch trình kiểm tra chuyển đổi câu lệnh tương ứng với ngôn ngữ máy, thực câu lệnh Biên dịch q trình kiểm tra tồn mã chương trình chuyển đoi thành chương trình thực thi Ngơn ngữ lập trình hệ thống ký hiệu tuân theo qui ước ngữ pháp ngữ nghĩa, dùng để xây dựng thành chương trình cho máy tính Thuật tốn: tập hợp (dãy) hữu hạn cac thị (hành động) định nghĩa rõ ràng nhằm giải toán cụ thể Bao gồm tính chất thuật tốn: Khoa Công nghệ thông tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình ✓ Tính xác: q trình tính tốn hay thao tác máy tính thực xác ✓ Tính rõ ràng: câu lệnh minh bạch xếp theo thứ tự định ✓ Tính khách quan: viết nhiều người máy tính kết phải ✓ Tính phổ dụng: áp dụng cho lớp tốn có đầu vào tương tự ✓ Tính kết thúc: hữu hạn bước tính tốn Các bước xây dựng chương trình: Các thành phần ngơn ngữ lập trình - Các ký tự, số: a- z, A – Z, 0…9, - Cú pháp: hiểu ngôn ngữ định nghĩa ngôn ngữ Pascal định nghĩa cú pháp khác với ngôn ngữ C#,… - Ngữ nghĩa: Phạm vi tác động đối tượng khối lệnh chương trình - Tên: Các đối tượng khai báo mã chương trình Khoa Cơng nghệ thơng tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình - Từ khố (tên dùng riêng): Ngơn ngữ lập trình định danh tên dùng riêng, không sử dụng tên để đặt tên biến Do vậy, viết mã chương trình đặt tên dễ hiểu không trùng tên từ khố - Hằng: Có giá trị khơng đổi q trình thực chương trình - Biến: Do người dùng đặt, chúng dùng để lưu trữ giá trị thay đổi Tuỳ thuộc vào ngôn ngữ kiểu liệu biến có miền giá trị khác Khi khai báo biến vào phạm vi của mà có biến cục tồn cục - Chú thích: Khi viết mã chương trình, thường thích để hiểu, diễn giải đối tượng khai báo, lí thực hiện… Tuỳ thuộc vào ngơn ngữ mà có thích khác Pascal( { }, (*…*), C - C++ - Java – C# (//…từng dòng lệnh, /*… */) Visual Basic (‘….) Một số ngôn ngữ đại sử dụng rộng rãi để xây dựng phần mềm Java, Visual Basic.NET, C# Phương pháp lập trình lập trình hướng đối tượng sử dụng rộng rãi Một số ngơn ngữ lập trình như: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao Thuật giải (Algorithm) Là dãy thao tác xác định đối tượng, cho sau thưc số hữu hạn bước đạt mục tiêu Theo R.A.Kowalski chất thuật giải: Thuật giải = Logic + Điều khiển Logic: Đây phần quan trọng, trả lời câu hỏi "Thuật giải làm gì, giải van đề gì?", yếu tố tốn có quan hệ với v.v… Ở bao gồm kiến thức chun mơn mà bạn phải biết để tiến hành giải toán Điều khiển: Là cách thức tiến hành áp dụng phần logic để giải vấn đề Các tính chất thuật tốn gồm tính chất sau: Tính xác: q trình tính tốn hay thao tác máy tính thực xác Tính rõ ràng: câu lệnh minh bạch xếp theo thứ tự định Tính khách quan: viết nhiều người máy tính kết phải Tính phổ dụng: áp dụng cho lớp tốn có đầu vào tương tự Tính kết thúc: hữu hạn bước tính tốn Khoa Cơng nghệ thơng tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình Một số phương pháp lập trình Lập trình tuyến tính: Sử dụng ngơn ngữ máy để lập trình sử dụng khố khí để nạp vào máy Phương pháp khó viết mã khó khăn việc kiểm sốt chương trình Lập trình cấu trúc: Chương trình gồm hàm, thủ tục riêng rẽ Giữa chúng độc lập giao tiếp với Phương pháp đơn giản cho việc lập trình với chương trình phức tạp khó khăn việc tổ chức kiểu liệu Lập trình hướng đối tượng: Phương pháp kế thừa từ phương pháp lập trình cấu trúc kết hợp với trừu tượng hoá liệu Phương pháp giúp cho việc lập trình nhanh chóng hơn, khả tái sử dụng, kế thừa thích đội ngủ lập trình Lập trình trực quan: Đây phương pháp lập trình thực tế sử dụng, kế thừa thành từ phương pháp trước Với cách lập trình người thiết kế thấy kết qủa Một số ngôn ngữ Java (sử dụng cơng cụ hỗ trợ lập trình trực quan), Visual Basic.NET, Visual C# ví dụ điển hình phương pháp lập trình Với phát triển cơng nghệ phần mềm từ phương pháp lập trình sinh nhánh lập trình lập trình nhúng, lập trình với thành phần có sẵn… Chương trình Là tập hợp mơ tả, phát biểu, nằm hệ thống qui ước ý nghĩa thứ tự thực hiện, nhằm điều khiển máy tính làm việc Theo Niklaus Wirth thì: Chương trình = Thuật tốn + Cấu trúc liệu Các thuật tốn chương trình có cấu trúc dựa cấu trúc điều khiển bản: * Tuần tự (Sequential): Cac bước thực cách xác từ xuống, bước thực lần * Chọn lọc (Selection): Chọn hay nhiều thao tác để thực * Lặp lại (Repetition): Một hay nhiều bước thực lặp lại số lần Muốn trở thành lập trình viên chuyên nghiệp bạn làm trình tự để có thói quen tốt thuận lợi sau nhiều mặt người làm máy tính Bạn làm theo bước sau: Khoa Công nghệ thông tin – TCN Quang Trung Trang Giáo trình Kỹ thuật lập trình Tìm, xây dựng thuật giải (trên giấy) → viết chương trình máy → dịch chương trình → chạy thử chương trình Các bước lập trình Người lập trình nắm tổng qt bước xây dựng chương trình ứng dụng có ý nghĩa quan trọng tiến trình phát triển xây dựng phần mềm ứng dụng Qua đó, giúp cho người phát triển nắm rõ cơng việc, tiến trình thực để tiếp nhận yêu cầu ban đầu đến triển khai, bảo trì phát trien phiên cập nhật trình sử dụng Theo thời gian, bước lập trình có nhiều cơng đoạn khác nhau, với khn khổ tài liệu học tập, chúng tơi tóm gọn bước tiến trình xây dựng phần mềm ứng dụng Bước 1: Xác định mục tiêu chương trình cần xây dựng gì; Bước 2: Thiết kế chương trình; Bước 3: Viết mã chương trình nguồn; Bước 4: Biên dịch; Bước 5: Chạy chương trình; Bước 6: Kiểm tra gỡ lỗi chương trình; Bước 7: Bảo trì nâng cấp chương trình Khoa Công nghệ thông tin – TCN Quang Trung Trang 10 Giáo trình Kỹ thuật lập trình ………………………………………………………………………… ………………………………………………………………………… ……………………………………… 25.Tính kết chương trình: int i=1,s=0; while(1) { s=s+i++; if(i%2) i=i+2; else i=i+1; if(i>20) break; } printf("%d",s); ………………………………………………………………………… ………………………………………………………………………… ……………………………………… 26.Kết in hình chương trình sau: #include void main(void) { int i = 0; while (++i < 3) printf("Hi! "); printf("Lop Co – Dien tu "); while (i++ < 8); } …………………………………………………………………………………………… …………………………………………………………………………………………… MỘT SỐ ĐỀ THI MẪU ĐỀ SỐ (30 phút) Khoa Công nghệ thông tin – TCN Quang Trung Trang 121 Giáo trình Kỹ thuật lập trình Câu 1: Cho mảng gồm n phần tử ( 0< n 1 Câu 2: Cho mảng số nguyên A gồm n phần tử với 3< n < 60 Viết chương trình hồn chỉnh theo u cầu sau: Nhập số phần tử giá trị mảng từ bàn phím Xuất mảng hình Tính tích phần tử lớn nhỏ mảng Sắp xếp mảng theo thứ tự giảm dần Nhập số nguyên P từ bàn phím Xố phần tử mảng A vị trí P Tạo mảng B từ phần tử chia hết cho mảng A Tạo mảng C gồm số nguyên tố mảng A Đề số 1: PHẦN LÝ THUYẾT (04 ĐIỂM) Chúng ta phân tích giải toán từ thực tiễn gắn liền với tính điện tiêu thụ hộ gia đình Định kỳ, tháng quan điện lực ghi số điện đồng hồ đo điện hộ gia đình, doanh nghiệp,…Việc ghi số nhân viên đến trực tiếp ghi số tự động ghi số điện từ xa Nghiệp vụ phải có liệu đầu vào số đầu kỳ (CSDK) số cuối kỳ (CSCK) Căn vào số liệu này, hệ thống máy tính để tính tốn số tiền hộ gia đình Giá bán lẻ điện cho sinh hoạt hộ gia đình vào định mức sau: ĐỐI TƯỢNG ÁP STT ĐƠN VỊ TÍNH ĐƠN GIÁ 20/03/2019 DỤNG Bậc Cho kWh từ đến 50 đ/kWh 1.678 Bậc Cho kWh từ 51 đến 100 đ/kWh 1.734 Bậc Cho kWh từ 101 đến 200 đ/kWh 2.014 Bậc Cho kWh từ 201 đến 300 đ/kWh 2.536 Bậc Cho kWh từ 301 đến 400 đ/kWh 2.834 Bậc Cho kWh từ 401 trở lên đ/kWh 2.927 Khoa Công nghệ thơng tin – TCN Quang Trung Trang 123 Giáo trình Kỹ thuật lập trình Anh/Chị thực theo yêu cầu sau: Nếu em nhận biên lai đóng tiền điện, em biết thơng tin Hãy đưa phương thức toán thực tiễn thường sử dụng Hãy xác định IPO toán Liệt kê trường họp kiểm thử lỗi với liệu đưa vào CSDK CSCK Hãy tính số tiền hộ gia đình dùng 99kWh/tháng, 250kWh/tháng 450kWh/tháng PHẦN THỰC HÀNH (06 ĐIỂM) Bài tốn tính giá bán lẻ điện cho sinh hoạt hộ gia đình vào định mức Anh/Chị cài đặt chương trình để giải tốn Dữ liệu nhập vào CSCK, CSDK Hiện thị số KWh sử dụng số tiền hộ gia đình phải trả Hướng dẫn đáp án: PHẦN LÝ THUYẾT Nếu em nhận biên lai đóng tiền điện, em biết thơng tin Hãy đưa phương thức tốn thực tiễn thường sử dụng Thông tin biên lai gồm: Thông tin nhà cung cấp dich vụ; Câu Thông tin người sử dụng dịch vụ (hộ dân); (0.5 điểm) Chỉ sổ sử dụng điện đầu kỳ, cuối kỳ; Số KWh sử dụng số tiền cần toán; Thơng tin liên hệ có thắc mắc đến nhà cung cấp; Thơng tin tốn; Và số thơng tin khác Phương thức toán nay: chuyển khoản tiền mặt Hãy xác định IPO toán Câu I: Số KWh đầu kì,số KWh cuối kì, (01 điểm) P: Tính tiền điện sử dụng theo đơn giá định mức O: Số KWh sử dụng số tiền cần tốn Khoa Cơng nghệ thơng tin – TCN Quang Trung Trang 124 Giáo trình Kỹ thuật lập trình Liệt kê trường họp kiểm thử lỗi với liệu đưa vào CSDK Câu CSCK (0.5 điểm) Nhìn sai CSDK, ghi sai CSCK, tính nhầm định mức đầu người, CSCK < CSDK Hãy tính số tiền hộ gia đình dùng 99kWh/tháng, 250kWh/tháng 450kWh/tháng Câu (02 điểm) Số tiền hộ gia đình 99KWh: (50*1.678)+(49*1.734) = 168.866 Số tiền hộ gia đình 250KWh: (50*1.678)+(50*1.734)+(100*2.014)+(50*2.536)=498.800 Số tiền hộ gia đình 450KWh: (50*1.678)+(50*1.734)+(100*2.014)+(100*2.536)+(100*2.834)+(50 *2.927)=1055.350 PHẦN THỰC HÀNH: Cài đặt mã nguồn: #include #include void main () { float SDK, SCK, ssd, stsd; clrscr(); printf("Nhap SCK:");scanf("%f",&SCK); printf("Nhap SDK:");scanf("%f",&SDK); ssd = SCK - SDK; if( ssd>0 && 50>=ssd) stsd= ssd * 1.678; if(ssd>50 && 100>=ssd) stsd = 83.9 +(ssd-50)*1.734; if(ssd>100 && 200>=ssd) stsd = 170.6 + (ssd-100)*2.014; if(ssd>200 && 300>=ssd) stsd = 372 + (ssd -200)*2.536; if(ssd>300 && 400>=ssd) stsd = 625.6 + (ssd - 300)*2.834; Khoa Công nghệ thông tin – TCN Quang Trung Trang 125 Giáo trình Kỹ thuật lập trình if(400 0) Vẽ lưu đồ thuật tốn để tính tổng Viết hàm tính tổng tổng S(n) Câu 2: Viết hàm tìm số hạng thứ n phương pháp đệ quy hai dãy Xn, Yn xác định sau: X0 = Y0 = 2; Xn = Xn-1+ 2Yn-1; (n>0) Yn = n 3Xn-1 + Yn-1; (n>0) Câu 3: Cho dãy 10 25 Hãy mơ tả thuật tốn chọn trực tiếp để xếp dãy cài đặt chương trình minh họa Hướng dẫn giải: Câu 1: Viết chương trình Vẽ lưu đồ: long GT(int n) { int i; long s=1; for(i=1; i