Bài giảng Nhập môn điện toán - Chương 6: Lập trình

48 55 0
Bài giảng Nhập môn điện toán - Chương 6: Lập trình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung bài giảng gồm 5 phần cung cấp cho người học các kiến thức cơ bản về lập trình, ngôn ngữ lập trình, xử lý ngôn ngữ, thiết kế chương trình, kiểm tra và gỡ lỗi, lập tài liệu. Mời các bạn cùng tham khảo nội dung chi tiết.

Chương LẬP TRÌNH 6.1 Ngơn ngữ lập trình 6.2 Xử lý ngơn ngữ 6.3 Thiết kế chương trình 6.4 Kiểm tra gỡ rối 6.5 Lập tài liệu Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 6.1 Ngơn ngữ lập trình • Ngơn ngữ máy: – Là tập hợp gồm nhiều lệnh máy • Lệnh máy – 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 toá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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide • Ngơn ngữ lập trình: – 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Ví dụ 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) Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Ngơn ngữ lập trình cấp thấp cấp cao • 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Một số dạng ngôn ngữ lập trình cấp cao • Đ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 – Khai báo: C, Pascal – Thủ tục: Prolog, Lisp • 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Ví dụ 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Ví dụ (tt) 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) 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 CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide Cơ chế thực chương trình • 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Cấu trúc điều khiển • 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 – Rẽ nhánh – Lặp Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 10 Thiết kế chương trình • 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 – Kết xuất bị lỗi – Bị treo – Xử lý liệu bất thường • 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 – 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 34 Thiết kế lời giải • Phân tích từ xuống, tinh chế bướ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ỏ Sử dụng biểu đồ dòng chảy mã giả Read a,b • Mã giả (pseudo code): – read a,b – Answer = a/b – Write answer Answer = a/b Write answer Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 35 Lập trình cấu trúc (Structured Programming) • Là phương pháp thiết kế chương trình phổ biến nay, bao gồm nguyên lý sau: – 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 36 Case Study • 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 • Chương trình phân rã thành cơng việc sau: – Đọ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 CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide 37 Tinh chế bước Bước Bước Đọc số vào Đọc số vào số dương? N N Y Xử lý số Tăng tổng số dương Tăng tổng số âm đủ 10 số? 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 38 Kiểm tra lời giải • Sử dụng liệu kiểm tra (test data) để kiểm tra kết xuất chương trình so sánh với lời giải mong đợi • Khi bắt gặp lỗi, kiểm tra thiết kế chỉnh sửa chương trình trước tiếp tục kiểm tra • Nhiệm vụ workflow kiểm tra thử nghiệm chương 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 CuuDuongThanCong.com Nhập mơn Điện Toán - Chương https://fb.com/tailieudientucntt Slide 39 Kiểm thử • kiểm thử hộp đen (black-box testing) : kiểm thử thành phần theo góc nhìn từ ngồi xem hành vi thành phần có thỏa mãn đặc tả sử dụng khơng ? Thí dụ ta thử gọi hàm cos(0) xem hàm có trả khơng, hàm trả giá trị khác 1, ta nói hàm cos bị lỗi • 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 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 40 6.5 Tài liệu hố chương trình • Nhằm mục đích cung cấp cho người sử dụng tất thông tin cần thiết để hồn tồn hiểu mục đích chương trình cách xây dựng chương trình • 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 – 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 41 Các u cầu với tài liệu chương trình • Tài liệu dành cho lập trình viên: đặc tả thiết kế chương trình Thơng tin sơ lược cách chương trình giao tiếp với người sử dụng • Tài liệu dành cho người sử dụng: mô tả chi tiết tính chương trình thường kèm theo hướng dẫn mẫu (tutorial) • 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, u cầu phần cứng v.v… Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 42 Các đề mục tài liệu chương trình • Một tài liệu chương trình thường bao gồm phần sau – Định danh (identification) – Đặc tả chung – Thông tin người dùng – Đặc tả chương trình Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 43 Định danh cho chương trình • • • • • • 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 Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 44 Đặc tả chung • 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 45 Đặc tả chương trình • 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 46 Hướng dẫn sử dụng • 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 47 The Ten Commandments of Computer Ethics THOU SHALT NOT USE A COMPUTER TO HARM OTHER PEOPLE THOU SHALT NOT INTERFERE WITH OTHER PEOPLE'S COMPUTER WORK THOU SHALT NOT SNOOP AROUND IN OTHER PEOPLE'S COMPUTER FILES THOU SHALT NOT USE A COMPUTER TO STEAL THOU SHALT NOT USE A COMPUTER TO BEAR FALSE WITNESS 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 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 CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide 48 ... ngữ lập trình: – Chương trình (program): Một đoạn mã lệnh 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: ... CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Ngơn ngữ lập trình cấp thấp cấp cao • 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:... CuuDuongThanCong.com Nhập mơn Điện Tốn - Chương https://fb.com/tailieudientucntt Slide Một số dạng ngôn ngữ lập trình cấp cao • Đa mục đích: Basic, C (C++, C#), Java, Fortran, Pascal • Lập trình đệ quy • Lập trình

Ngày đăng: 11/01/2020, 18:23

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan