Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
4,11 MB
Nội dung
om Chương LẬP TRÌNH C 6.1 Ngơn ngữ lập trình ne 6.2 Xử lý ngơn ngữ Si 6.5 Lập tài liệu nh Vi en 6.4 Kiểm tra gỡ rối Zo 6.3 Thiết kế chương trình Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 6.1 Ngơn ngữ lập trình om • Ngơn ngữ máy: – Là tập hợp gồm nhiều lệnh máy C • Lệnh máy Si nh Vi en Zo ne – Là chuỗi bit – Chỉ thực số tác vụ đơn giản phép tính số học hoạt động đọc ghi vùng nhớ/ ghi – Một lệnh máy bao gồm phần: mã lệnh tốn hạng – Chỉ có hai cấu trúc điều khiển để thực lệnh: nhảy Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide om • Ngơn ngữ lập trình: Si nh Vi en Zo ne C – Chương trình (program): Một đoạn mã lệnh yêu cầu máy tính thực cơng việc cụ thể – Lập trình (programming): Viết chương trình, cách sử dụng ngơn ngữ lập trình – Ngơn ngữ lập trình: Một hình thức ngơn ngữ giúp người biểu diễn ý tưởng dạng chương trình, nhờ máy tính thực ý tưởng Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Ví dụ Si nh Vi en Zo ne C om 1010 0001 0000 0000 0000 0001 0000 0101 0000 0101 0000 0000 1010 0011 0000 0000… (64 kí số 0, 1) ⇒Ngơn ngữ máy, người khơng thể đọc hiểu (rất khó viết đọc) Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Ngơn ngữ lập trình cấp thấp cấp cao Si nh Vi en Zo ne C om • Ngơn ngữ lập trình mức thấp nhất: ngơn ngữ máy • Ngơn ngữ lập trình cấp cao: ngôn ngữ nhiều kiểu diễu liệu nhiều cấu trúc điều khiển so với cung cấp ngôn ngữ máy; đồng thời cách biểu diễn phát biểu gần với ngôn ngữ tự nhiên Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Một số dạng ngôn ngữ lập trình cấp cao ne Zo – Khai báo: C, Pascal – Thủ tục: Prolog, Lisp C om • Đa mục đích: Basic, C (C++, C#), Java, Fortran, Pascal • Lập trình đệ quy • Lập trình khai báo lập trình thủ tục Si nh Vi en • Lập trình logic • Ngơn ngữ lập trình hàm • Lập trình hướng đối tượng Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Ví dụ Si nh Vi en Zo ne C om 1010 0001 0000 0000 0000 0001 0000 0101 0000 0101 0000 0000 1010 0011 0000 0000… (64 kí số 0, 1) ⇒Ngơn ngữ máy, người đọc hiểu (rất khó viết khơng thể đọc) Mov ax, [100] Add ax, Mov [100], ax ⇒ Hợp ngữ, người đọc được, bao gồm cấu trúc nhảy ngôn ngữ máy ⇒ khó biểu diễn ý tưởng (khó đọc khó viết) ⇒ a := a + (a chứa địa [100]) Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Ví dụ (tt) nh Vi en Zo ne C om a := +1; For i:=1 to read(a); ⇒ Ngôn ngữ Pascal: cung cấp nhiều cấu trúc liệu hơn, biểu diễn ý tưởng tốt hơn, nhiên tương đối khó đọc so với ngơn ngữ tự nhiên (dễ viết tương đối dễ đọc) Si Select ID from Table Where ID > ⇒ Ngôn ngữ SQL: gần với ngôn ngữ tự nhiên, nhiên không cung cấp nhiều cấu trúc điều khiển (dễ đọc, khó viết) Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Cơ chế thực chương trình Si nh Vi en Zo ne C om • Cơ chế • Cơ chế nhảy => Lặp rẽ nhánh Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide Cấu trúc điều khiển nh Vi en Si – Rẽ nhánh – Lặp Zo ne C om • Cấu trúc điều khiển: Một cấu trúc ngôn ngữ quy định thứ tự thực lệnh • Ngơn ngữ máy: Tuần tự nhảy • Ngơn ngữ cấp cao Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 10 Thiết kế chương trình om • u cầu chương trình máy tính: khơng xảy lỗi vào lúc thời gian thực thi Zo ne C – Kết xuất bị lỗi – Bị treo – Xử lý liệu bất thường nh Vi en • Thiết kế chương trình tốt giúp giảm thiểu tối đa lỗi chương trình • Thiết kế chương trình có cấu trúc Si – Phân tích từ xuống (top-down) – Tinh chế bước (stepwise refinement) Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 34 Thiết kế lời giải om • Phân tích từ xuống, tinh chế bước: Zo ne C – Lời giải tổng quát đưa trước, bao gồm module chương trình – Mỗi module phân tích thành nhiều module nhỏ nh Vi en Sử dụng biểu đồ dòng chảy mã giả Read a,b • Mã giả (pseudo code): Answer = a/b Si – read a,b – Answer = a/b – Write answer Write answer Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 35 Lập trình cấu trúc (Structured Programming) om • Là phương pháp thiết kế chương trình phổ biến nay, bao gồm nguyên lý sau: Si nh Vi en Zo ne C – Sử dụng cấu trúc điều khiển hạn chế dạng sau: tuần tự, lựa chọn lặp – Module hố chương trình – Phân tích từ xuống, phân rã bước – Trình bày chương trình theo định dạng rõ ràng – Sử dụng thích – Ưu tiên lựa chọn giải pháp đơn giản Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 36 Case Study ne C om • Hiểu vấn đề: Đọc mười số nguyên dương âm từ bàn phím tính tổng số dương âm riêng biệt In hai tổng tính nh Vi en Zo • Chương trình phân rã thành cơng việc sau: Si – Đọc số vào – Xử lý số đọc vào (tính tổng số dương số âm) – In kết Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 37 Tinh chế bước Bước Bước om Đọc số vào C Đọc số vào ne Zo Xử lý số nh Vi en N số dương? N Y Tăng tổng số dương Tăng tổng số âm đủ 10 số? Si Y N đủ 10 số? In kết Y In kết Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 38 Kiểm tra lời giải om • Sử dụng liệu kiểm tra (test data) để kiểm tra kết C xuất chương trình so sánh với lời giải mong đợi Zo ne • Khi bắt gặp lỗi, kiểm tra thiết kế chỉnh sửa chương nh Vi en trình trước tiếp tục kiểm tra • Nhiệm vụ workflow kiểm tra thử nghiệm chương Si trình thực thi xem có lỗi khơng, có lỗi cụ thể nằm lệnh nào, bị lỗi sữa lỗi – lặp kiểm thử hàm chức theo thứ tự xác định Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 39 Kiểm thử om • kiểm thử hộp đen (black-box testing) : kiểm thử thành phần theo góc C nhìn từ ngồi xem hành vi thành phần có thỏa mãn đặc tả sử ne dụng khơng ? Thí dụ ta thử gọi hàm cos(0) xem hàm có trả Zo khơng, hàm trả giá trị khác 1, ta nói hàm cos bị lỗi nh Vi en • kiểm thử hộp trắng (white-box testing) : kiểm thử thành phần theo góc nhìn bên xem lệnh thành phần có chạy theo Si giải thuật thiết kế không ? Thường kiểm tra hộp đen thành phần bị lỗi ta tiến hành kiểm thử hộp trắng để xác định xác lệnh gây lỗi thành phần Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 40 6.5 Tài liệu hoá chương trình om • Nhằm mục đích cung cấp cho người sử dụng tất thông tin ne cách xây dựng chương trình C cần thiết để hồn tồn hiểu mục đích chương trình nh Vi en Zo • Một tài liệu chương trình thường bao gồm phần sau: – Loại chương trình – Người sử dụng chương trình Si – Xác định xem có cần thiết thay đổi mã nguồn chương trình sau kiểm tra chấp nhận lần cuối hay khơng Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 41 Các yêu cầu với tài liệu chương trình om • Tài liệu dành cho lập trình viên: đặc tả thiết kế chương trình Thơng C tin sơ lược cách chương trình giao tiếp với người sử dụng ne • Tài liệu dành cho người sử dụng: mơ tả chi tiết tính Zo chương trình thường kèm theo hướng dẫn mẫu (tutorial) nh Vi en • Tài liệu dành cho nhà quản lý: mơ tả tổng quan chương trình, chẳng hạn tính năng, khả chương trình, yêu cầu phần cứng Si v.v… Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Toán - Chương https://fb.com/sinhvienzonevn Slide 42 Các đề mục tài liệu chương trình C Si nh Vi en Zo ne – Định danh (identification) – Đặc tả chung – Thông tin người dùng – Đặc tả chương trình om • Một tài liệu chương trình thường bao gồm phần sau Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 43 Định danh cho chương trình nh Vi en Zo ne C om Tên chương trình Mơ tả ngắn tính chương trình Tác giả Ngày viết chương trình Ngơn ngữ sử dụng phiên Yêu cầu phần cứng Si • • • • • • Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Toán - Chương https://fb.com/sinhvienzonevn Slide 44 Đặc tả chung Si nh Vi en Zo ne C om • Mơ tả hoạt động chương trình điều kiện hoạt động bình thường • Các file đặc tả • Hạn chế và/ giới hạn chương trình • Các công thức, tài liệu tham khảo văn mơ tả chương trình kỹ thuật phức tạp sử dụng Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Toán - Chương https://fb.com/sinhvienzonevn Slide 45 Đặc tả chương trình Si nh Vi en Zo ne C om • Lược đồ cấu trúc, lược đồ dòng chảy (flowchart), bảng định • Các bảng mã giả có thích • Q trình kiểm tra bao gồm lớp liệu kiểm tra với kết mong đợi nhật ký kiểm tra Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Toán - Chương https://fb.com/sinhvienzonevn Slide 46 Hướng dẫn sử dụng Si nh Vi en Zo ne C om • Chỉ dẫn cài đặt • Giải thích chi tiết hoạt động chương trình • Các hướng dẫn mẫu Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 47 The Ten Commandments of Computer Ethics THOU SHALT NOT USE A COMPUTER TO HARM OTHER PEOPLE om THOU SHALT NOT INTERFERE WITH OTHER PEOPLE'S COMPUTER WORK ne C THOU SHALT NOT SNOOP AROUND IN OTHER PEOPLE'S COMPUTER FILES THOU SHALT NOT USE A COMPUTER TO STEAL Zo THOU SHALT NOT USE A COMPUTER TO BEAR FALSE WITNESS nh Vi en THOU SHALT NOT COPY OR USE PROPRIETARY SOFTWARE FOR WHICH YOU HAVE NOT PAID THOU SHALT NOT USE OTHER PEOPLE'S COMPUTER RESOURCES WITHOUT AUTHORIZATION OR PROPER COMPENSATION Si THOU SHALT NOT APPROPRIATE OTHER PEOPLE'S INTELLECTUAL OUTPUT THOU SHALT THINK ABOUT THE SOCIAL CONSEQUENCES OF THE PROGRAM YOU ARE WRITING OR THE SYSTEM YOU ARE DESIGNING 10 THOU SHALT ALWAYS USE A COMPUTER IN WAYS THAT INSURE CONSIDERATION AND RESPECT FOR YOUR FELLOW HUMANS Written by the The Computer Ethics Institute Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone.com Nhập mơn Điện Tốn - Chương https://fb.com/sinhvienzonevn Slide 48 ... • Lập trình đệ quy • Lập trình khai báo lập trình thủ tục Si nh Vi en • Lập trình logic • Ngơn ngữ lập trình hàm • Lập trình hướng đối tượng Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone. com. .. HỌC BÁCH KHOA TP.HCM SinhVienZone. com Nhập mơn Điện Tốn - Chương https://fb .com/ sinhvienzonevn Slide Ngơn ngữ lập trình cấp thấp cấp cao Si nh Vi en Zo ne C om • Ngơn ngữ lập trình mức thấp nhất:... TP.HCM SinhVienZone. com Nhập mơn Điện Tốn - Chương https://fb .com/ sinhvienzonevn Slide 27 Si nh Vi en Zo ne C om V-model Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM SinhVienZone. com Nhập mơn Điện