Bài giảng Lập trình C - Bài 1: Tổng quan về lập trình - Võ Đức Hoàng

Lập trì nh C  
Bài 1. Tổng quan về lập trình  
Võ Đức Hoàng  
Cập nhật: 8/2018  
1
Mục tiêu  
• 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  
• Có thể sử dụng công cụ hỗ trợ mô tả giải thuật bằng  
FlowChart  
2
Chương trì nh má y tí nh?  
Thực thi  
chương  
trình và  
kiểm thử  
Ngôn ngữ  
Lập trình  
Lập trình  
CTDL  
Giải thuật  
Phân tích,  
tìm kiếm lời  
giải  
3
Cá c đặc điểm cần có của chương trì nh  
• Đúng đắn, chính xác (correctness)  
• Chắc chắn (robustness)  
• Thân thiện (user friendliness)  
• Khả năng thích nghi (adapability): Chương trình có khả  
năng để phát triển tiến hóa theo yêu cầu  
• Tính tái sử dụng (reuseability): Chương trình có thể  
dùng để làm một phần trong một chương trình lớn khác  
4
Cá c đặc điểm cần có của chương trì nh  
• Tính hiệu quả (efficiency)  
• Tính khả chuyển (porability): Khả năng chuyển đổi  
giữa các môi trường  
• Tính an toàn (security)  
• Tính dừng (halt)  
5
Cá c ngô n ngữ lập trì nh  
• C++  
• C#  
• Fortran  
• Pascal  
• Java  
• C  
• F#  
• VB.Net  
• ….  
6
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  
• …  
7
Xá c định bài toá n  
Input -> Process -> Output  
•Input: Giả thiết, thông tin được cung cấp?  
•Process: Giải quyết vấn đề gì? Giải quyết như thế nào?  
•Output: Đạt được những yêu cầu nào?  
Kết quả có đưa vào xử lý tiếp hay không???  
8
Xá c định cấu trúc dữ liệu  
• Phải biểu diễn đầy đủ được thông tin nhập và xuất của  
bài toán  
• Phù hợp với giải thuật (cách giải) được chọn  
• Có thể cài đặt được trên ngôn ngữ lập trình cụ thể  
9
Tì m giải thuật  
• Tập hợp hữu hạn của các chỉ thị hay phương cách được  
định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ  
một trạng thái ban đầu cho trước; khi các chỉ thị này  
được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như  
đã dự đoán  
• Có thể là công thức/ các bước cần phải thực hiện  
10  
Tí nh chất quan trọng của giải thuật  
• Tính chính xác: để đảm bảo kết quả tính toán hay các thao  
tác mà máy tính thực hiện được là chính xác  
• Tính rõ ràng: giải thuật phải được thể hiện bằng các câu lệnh  
minh bạch; các câu lệnh được sắp xếp theo thứ tự nhất định  
• Tính khách quan: Một giải thuật dù được viết bởi nhiều  
người trên nhiều máy tính vẫn phải cho kết quả như nhau  
11  
Tí nh chất quan trọng của giải thuật  
• Tính phổ dụng: giải thuật không chỉ áp dụng cho một bài  
toán nhất định mà có thể áp dụng cho một lớp các bài toán có  
đầu vào tương tự nhau  
• Tính kết thúc: giải thuật phải gồm một số hữu hạn các bước  
tính toán  
12  
Cá c loại giải thuật  
• Xử lý file  
• Đồ họa  
• Đồ thị  
• Tìm kiếm  
• Sắp xếp  
• Đệ quy  
• Xử lý chuỗi ký  
tự  
• v.v…  
13  
Cá c phương phá p chí nh 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 ra / kết quả  
• Process - Mô tả xử lý của giải thuật  
14  
Ví dụ: Tìm ước số chung lớn nhất (USCLN) của 2 số  
nguyên dương a và b  
•Đầu vào: 2 số nguyên dương a và b  
•Đầu ra: USCLN của a và b  
Cách 1: Dùng mã tự nhiên  
Bước 1: Nếu a = b thì kết luận a là USCLN và kết thúc  
Bước 2: Nếu a > b thì a = a – b;  
Ngược lại thì b = b – a;  
Bước 3: Quay trở lại Bước 1  
15  
Ví dụ: Tìm ước số chung lớn nhất (USCLN) của 2 số  
nguyên dương a và b  
Cách 2: Dùng mã giả (Pseudocode)  
WHILE a ≠ b DO  
IF a>b THEN  
Là sự lai ghép giữa ngôn  
a=a-b  
ELSE  
b=b-a  
ENDIF  
ngữ lập trình và ngôn ngữ  
tự nhiên  
16  
ENDWHILE  
Ví dụ: Tìm ước số chung lớn nhất (USCLN) của 2 số  
nguyên dương a và b  
Cách 3: Dùng lưu đồ (flowchart)  
17  
Mô tả giải thuật bằng pseudocode  
•Dễ hiểu, không chi tiết đến các kỹ thuật lập trình  
•Ở cấp độ hết sức tổng quát: gần ngôn ngữ tự nhiên  
•Hoặc chi tiết: như dùng ngôn ngữ tựa Pascal, C++, …  
IF <Điều kiện> THEN …ENDIF  
IF <Điều kiện> THEN ... ELSE ... ENDIF  
WHILE <Điều kiện> DO … ENDWHILE  
DO … UNTIL <Điều kiện>  
DISPLAY …  
18  
RETURN …  
Mô tả giải thuật bằng lưu đồ (flowchart)  
• Lưu đô  
toꢃn, việc mô tả nhꢂp (input), dư  
luồng xử ly thông qua các ky hiệu hꢅnh hꢆc  
• Phương phꢃp duyệt lưu đồ  
̀
thuật toán là công cụ dꢀng đê  
̉ biꢀu diꢁn thuꢂt  
̃
liệu xuꢄt (output) va  
̀
́
́
• Duyệt tư  
• Duyệt tư  
̀
̀
trên xuống  
trái sang phải  
19  
Cá c ký hiệu flowchart  
Bắt đầu/ kết thúc  
Nhập/ Xuất  
Giá trị trả về  
Điều  
kiện  
Rẽ nhánh  
Luồng xử lý  
Điểm nối  
Khối xử lý  
20  
Tải về để xem bản đầy đủ
pptx 24 trang Thùy Anh 18180 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình C - Bài 1: Tổng quan về lập trình - Võ Đức Hoàng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_lap_trinh_c_bai_1_tong_quan_ve_lap_trinh_vo_duc_ho.pptx