Bài giảng Lập trình C: Bài 1 - Võ Đức Hoàng

24 17 0
Bài giảng Lập trình C: Bài 1 - Võ Đức Hoàng

Đ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

Mục tiêu của bài giảng nhằm giúp người học hiểu được quá trình tổng quát để viết một chương trình trên máy tính, nắm được khái niệm cơ bản về tổ chức dữ liệu và giải thuật, biết được các phương pháp để mô tả giải thuật, đọc hiểu các giải thuật cơ bản,... Mời các bạn cùng tham khảo.

Lập trình C Bài Tổng quan lập trình Võ Đức Hoàng Email: hoangvd.it@dut.udn.vn Website: http://bkcit.dut.udn.vn/ Cập nhật: 8/2018 Mục tiêu • Hiểu q trình tổng qt để viết chương trình máy tính • Nắm khái niệm tổ chức liệu giải thuật • Biết phương pháp để mơ tả giải thuật • Đọc hiểu giải thuật • Có thể sử dụng cơng cụ hỗ trợ mơ tả giải thuật FlowChart Chương trình máy tính? Lập trình Phân tích, tìm kiếm lời giải Ngơn ngữ Lập trình Thực thi chương trình kiểm thử CTDL Giải thuật Các đặc điểm cần có chương trình • Đúng đắn, xác (correctness) • Chắc chắn (robustness) • Thân thiện (user friendliness) • Khả thích nghi (adapability): Chương trình có khả để phát triển tiến hóa theo u cầu • Tính tái sử dụng (reuseability): Chương trình dùng để làm phần chương trình lớn khác Các đặc điểm cần có chương trình • Tính hiệu (efficiency) • Tính khả chuyển (porability): Khả chuyển đổi mơi trường • Tính an tồn (security) • Tính dừng (halt) Các ngơn ngữ lập trình • C++ • C# • F# • Java • VB.Net •C • … • Fortran • Pascal Các môi trường hỗ trợ lập trình (IDE) • Borland C++ • Microsoft Visual Basic • Microsoft Visual C++ • Jbuider • Eclipse SDK • Visual Net • … Xác định tốn Input -> Process -> Output •Input: Giả thiết, thơng tin cung cấp? •Process: Giải vấn đề gì? Giải nào? •Output: Đạt yêu cầu nào? Kết có đưa vào xử lý tiếp hay không??? Xác định cấu trúc liệu • Phải biểu diễn đầy đủ thông tin nhập xuất tốn • Phù hợp với giải thuật (cách giải) chọn • Có thể cài đặt ngơn ngữ lập trình cụ thể Tìm giải thuật • Tập hợp hữu hạn thị hay phương cách định nghĩa rõ ràng cho việc hoàn tất số việc từ trạng thái ban đầu cho trước; thị áp dụng triệt để dẫn đến kết sau dự đốn • Có thể công thức/ bước cần phải thực 10 Tính chất quan trọng giải thuật • Tính xác: để đảm bảo kết tính tốn hay thao tác mà máy tính thực xác • Tính rõ ràng: giải thuật phải thể câu lệnh minh bạch; câu lệnh xếp theo thứ tự định • Tính khách quan: Một giải thuật dù viết nhiều người nhiều máy tính phải cho kết 11 Tính chất quan trọng giải thuật • Tính phổ dụng: giải thuật khơng áp dụng cho tốn định mà áp dụng cho lớp tốn có đầu vào tương tự • Tính kết thúc: giải thuật phải gồm số hữu hạn bước tính tốn 12 Các loại giải thuật • • • • Tìm kiếm • Xử lý file Sắp xếp • Đồ họa Đệ quy Xử lý chuỗi ký tự • Đồ thị • v.v… 13 Các phương pháp mơ tả giải thuật • Mã tự nhiên • Pseudocode (mã giả) • Flowchart (lưu đồ) Khi mô tả giải thuật phải bao gồm: • Input - Đầu vào • Output - Đầu / kết • Process - Mơ tả xử lý giải thuật 14 Ví dụ: Tìm ước số chung lớn (USCLN) số nguyên dương a b •Đầu vào: số nguyên dương a b •Đầu ra: USCLN a b Cách 1: Dùng mã tự nhiên Bước 1: Nếu a = b kết luận a USCLN kết thúc Bước 2: Nếu a > b a = a – b; Ngược lại b = b – a; Bước 3: Quay trở lại Bước 15 Ví dụ: Tìm ước số chung lớn (USCLN) số nguyên dương a b Cách 2: Dùng mã giả (Pseudocode) WHILE a ≠ b DO IF a>b THEN a=a-b ELSE Là lai ghép ngơn ngữ lập trình ngơn ngữ tự nhiên b=b-a ENDIF ENDWHILE 16 Ví dụ: Tìm ước số chung lớn (USCLN) số nguyên dương a b Cách 3: Dùng lưu đồ (flowchart) 17 Mơ tả giải thuật pseudocode •Dễ hiểu, khơng chi tiết đến kỹ thuật lập trình •Ở cấp độ tổng quát: gần ngôn ngữ tự nhiên •Hoặc chi tiết: dùng ngôn ngữ tựa Pascal, C++, … IF THEN …ENDIF IF THEN ELSE ENDIF WHILE DO … ENDWHILE DO … UNTIL DISPLAY … RETURN … 18 Mơ tả giải thuật lưu đồ (flowchart) • Lưu đờ thuật tốn cơng cụ dùng để biểu diễn thuật tốn, việc mơ tả nhập (input), dữ liệu xuất (output) và luồng xử lý thông qua ký hiệu hình học • Phương pháp duyệt lưu đồ • Duyệt từ xuống • Duyệt từ trái sang phải 19 Các ký hiệu flowchart Bắt đầu/ kết thúc Nhập/ Xuất Điều kiện Rẽ nhánh Giá trị trả Luồng xử lý Khối xử lý Điểm nối 20 Bài tập mô tả giải thuật Cho sớ ngun n Tính trị tuyệt đối n Giải biện luận phương trình bậc nhất: ax+b=0 Nhập vào độ dài a, b c Kiểm tra xem a, b, c có tạo thành cạnh tam giác khơng? Nhập số nguyên k (k>0), Xuất hình k dịng chữ “Xin chào” Tính tổng: S       n Tính tổng: S ( n)        ( 1) n 1 n với n>0 với n>0 21 Cho số nguyên n Tính trị tuyệt đối n • Đầu vào: Số nguyên n • Đầu ra: |n| 22 Giải biện luận phương trình bậc nhất: ax+b=0 • Đầu vào: Hai số nguyên a b • Đầu ra: Nghiệm pt 23 Q&A 24 ... thuật FlowChart Chương trình máy tính? Lập trình Phân tích, tìm kiếm lời giải Ngơn ngữ Lập trình Thực thi chương trình kiểm thử CTDL Giải thuật Các đặc điểm cần có chương trình • Đúng đắn, xác... a>b THEN a=a-b ELSE Là lai ghép ngơn ngữ lập trình ngơn ngữ tự nhiên b=b-a ENDIF ENDWHILE 16 Ví dụ: Tìm ước số chung lớn (USCLN) số nguyên dương a b Cách 3: Dùng lưu đồ (flowchart) 17 Mơ tả giải... Input - Đầu vào • Output - Đầu / kết • Process - Mơ tả xử lý giải thuật 14 Ví dụ: Tìm ước số chung lớn (USCLN) số nguyên dương a b •Đầu vào: số nguyên dương a b •Đầu ra: USCLN a b Cách 1: Dùng

Ngày đăng: 25/10/2020, 17:55

Từ khóa liên quan

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

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

Tài liệu liên quan