Bài giảng Lập trình C - Chương 1: Tổng quan về lập trình - Trần Minh Thái

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

 

pptx 58 trang yennguyen 1440
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình C - Chương 1: Tổng quan về lập trình - Trần Minh Thái", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình C - Chương 1: Tổng quan về lập trình - Trần Minh Thái

Bài giảng Lập trình C - Chương 1: Tổng quan về lập trình - Trần Minh Thái
Lập trình C  Chương 1. Tổng quan về lập trình(3 tiết) 
Trần Minh Thái 
Email: minhthai@huflit.edu.vn 
Website: www.minhthai.edu.vn 
Cập nhật: 16/10/2016 
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 
Chương trình máy tính? 
Mục đích? 
Cần những giai đoạn nào? 
Những gì cần có để hiện thực chương trình máy tính? 
Chương trình máy tính? 
CTDL 
Giải thuật 
Ngôn ngữ 
Lập trình 
Phân tích, tìm kiếm lời giải 
Lập trình 
Thực thi chương trình và kiểm thử 
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 
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 ) 
Các ngôn ngữ lập trình 
Fortran 
Pascal 
Java 
C 
C++ 
C# 
F# 
VB.Net 
. 
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 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??? 
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ể 
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 
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 
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 
Các loại giải thuật 
Xử lý file 
Đồ họa 
Đồ thị 
v.v 
Tìm kiếm 
Sắp xếp 
Đệ quy 
Xử lý chuỗi ký tự 
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 
Đầ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 
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 
	a=a-b 
	 ELSE 
	b=b-a 
	 ENDIF 
ENDWHILE 
Ví dụ: Tìm ước số chung lớn nhất (USCLN) của 2 số nguyên dương a và b 
Là sự lai ghép giữa ngôn ngữ lập trình và ngôn ngữ tự nhiên 
Cách 3: Dùng lưu đồ (flowchart) 
Ví dụ: Tìm ước số chung lớn nhất (USCLN) của 2 số nguyên dương a và b 
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 THEN ENDIF 
IF THEN ... ELSE ... ENDIF 
WHILE DO  ENDWHILE 
DO  UNTIL 
DISPLAY  
RETURN  
Mô tả giải thuật bằng lưu đồ (flowchart) 
Lưu đồ thuật toán là công cụ dùng để biểu diễn thuật toán , việc mô tả nhập (input), dữ liệu xuất (output) và luồng xử lý thông qua các ký hiệu hình học 
Phương pháp duyệt lưu đồ 
Duyệt từ trên xuống 
Duyệt từ trái sang phải 
Các ký hiệu flowchart 
Bắt đầu/ kết thúc 
Điều kiện 
Điểm nối 
Rẽ nhánh 
Luồng xử lý 
Khối xử lý 
Nhập/ Xuất 
Giá trị trả về 
Bài tập mô tả giải thuật 
Cho số nguyên n. Tính trị tuyệt đối của n 
Giải và biện luận phương trình bậc I: ax+b=0 
Nhập vào độ dài của a, b và c. Kiểm tra xem a, b, c có tạo thành 3 cạnh của tam giác không? 
Nhập và số nguyên k (k>0), Xuất ra màn hình k dòng chữ “Xin chào” 
Tính tổng: 	 với n>0 
Tính tổng: với n>0 
Đầu vào: Số nguyênn n 
Đầu ra: |n| 
Cho số nguyên n. Tính trị tuyệt đối của n 
Đầu vào: Hai số nguyên a và b 
Đầu ra: Nghiệm của pt 
Giải và biện luận phương trình bậc I: ax+b=0 
Phần đọc thêm: Hướng dẫn dùng công cụ vẽ lưu đồ giải thuật 
Microsoft Visio 
Crocodile Clips 6.05 
Cách sử dụng các ký hiệu 
Chạy từng bước và kiểm tra kết quả 
Mục tiêu 
Các công cụ vẽ lưu đồ 
Giới thiệu Crocodile Clips 
Các ký hiệu lưu đồ 
Các kiểu dữ liệu 
Các biểu thức 
Các hàm thư viện 
Minh họa thao tác vẽ 
Các ví dụ 
Sử dụng Crocodile Clips ICT 
EDGE Diagrammer – Pacestar Software 
Microsoft Visio 
Crocodile Clips ICT 
Các công cụ vẽ lưu đồ 
Được phát triển bởi Crocodile Clips Ltd Bao gồm nhiều phần mềm hỗ trợ mô phỏng phục vụ cho giáo dục: 
Vật lý 
Hóa học 
Toán học 
Điện – điện tử 
Tin học 
Giới thiệu crocodile clips 
Giao diện chính 
Hỗ trợ vẽ lưu đồ giải thuật 
Minh họa từng bước thực hiện của lưu đồ 
Hỗ trợ nhiều loại kiểu dữ liệu 
Cung cấp sẵn nhiều hàm thư viện 
Cho phép mô tả thêm các hàm khác 
Hướng dẫn, mô tả chi tiết từng thành phần 
Nhiều ví dụ minh họa 
Đặc điểm 
Các ký hiệu lưu đồ 
Các ký hiệu bắt đầu, kết thúc giải thuật hoặc hàm 
Các ký hiệu phép gán, gọi thực hiện hàm 
Ký hiệu kiểm tra điều kiện rẽ nhánh 
Ký hiệu nhập, xuất 
Cửa sổ quan sát 
kết quả từng bước 
và biến toàn cục 
Công cụ nhập dữ liệu và hiển thị kết quả 
Ký hiệu 
Diễn giải 
Bắt đầu giải thuật 
Kết thúc giải thuật 
Bắt đầu hàm con 
Trả về giá trị của hàm con, hoặc kết thúc hàm con 
Các ký hiệu lưu đồ 
Ký hiệu 
Diễn giải 
Gán giá trị vào biến 
Tăng hoặc giảm giá trị của biến 
Gọi thực hiện hàm con 
Kiểm tra điều kiện 
Các ký hiệu lưu đồ 
Ký hiệu 
Diễn giải 
Nhận giá trị nhập, kết hợp với Edit box để lấy giá trị 
Xuất giá trị, kết hợp với Text box để hiển thị kết quả 
Cửa sổ quan sát kết quả thực hiện từng bước của giải thuật 
Cửa sổ quan sát biến toàn cục 
Các ký hiệu lưu đồ 
Number 
String 
Boolean 
Map 
List 
Các kiểu dữ liệu 
Number operations 
String operations 
Logical operations 
Comparison operations 
Các biểu thức 
Stt 
Ký hiệu 
Mô tả 
1 
+ 
Cộng 
2 
- 
Trừ 
3 
* 
Nhân 
4 
/ 
Chia 
5 
() 
Gom nhóm các thành phần 
Number operations 
Stt 
Ký hiệu 
Mô tả 
1 
+ 
Nối 2 chuỗi hoặc nối chuỗi và số 
Ví dụ 1: “abc”+”xyz” “abcxyz” 
Ví dụ 2: “Tổng =“+ 8 “Tổng =8” 
String operations 
Stt 
Ký hiệu 
Mô tả 
1 
Not hoặc ! 
2 
And hoặc && 
3 
Or hoặc || 
4 
Xor hoặc ^^ 
Logical operations 
Stt 
Ký hiệu 
Mô tả 
1 
= 
Bằng 
2 
> 
Lớn hơn 
3 
< 
Nhỏ hơn 
4 
>= 
Lớn hơn hoặc bằng 
5 
<= 
Nhỏ hơn hoặc bằng 
6 
Khác (không bằng) 
Comparison operations 
Cung cấp các hàm định nghĩa sẵn, bao gồm: 
Các hàm lượng giác: sin, cos, tan,  
Các hàm toán học khác: tính căn, logarit, làm tròn số, tính mũ,  
Các hàm thư viện 
Hàm thư viện 
Hàm thư viện 
Chọn ký hiệu tương ứng 
Nhấn chuột trái và kéo rê vào cửa sổ vẽ giải thuật 
Đưa ký hiệu vào đúng điểm nối cần nối với ký hiệu có trong cửa sổ 
Di chuyển ký hiệu đến vị trí thích hợp 
Minh họa thao tác vẽ 
Điểm nối 
Chọn đường nối cần xóa 
Nhấn phím Delete 
Minh họa thao tác vẽ - tách hai ký hiệu đang nối với nhau 
Tách 
Kéo rê ký hiệu (cần nối) vào sơ đồ, sao cho hai điểm nối 1 và 2 khớp nhau, nhả chuột ra và chỉnh lại vị trí ký hiệu 
Minh họa thao tác vẽ nối nhiều ký hiệu vào một ký hiệu 
2 
1 
Nhấn chuột vào tên biến hoặc giá trị để thay đổi 
Nhấn chuột phải vào ký hiệu chọn Properties để thay đổi thuộc tính cho ký hiệu 
Khung thuộc tính sẽ xuất hiện bên trái 
Minh họa thao tác vẽ 
Lấy giá trị và hiển thị kết quả trong giải thuật 
Dùng ký hiệu nhập (get) kết hợp với editbox để nhận giá trị nhập bên ngoài 
Dùng ký hiệu xuất (set) kết hợp với editbox hoặc textbox để hiển thị kết quả của giải thuật 
Minh họa thao tác vẽ 
Xem kết quả cuối cùng – Quick Step 
Xem tự động kết quả thực hiện từng bước – Auto Step (Có thể chính tốc độ) 
Xem lần lượt kết quả thực hiện từng bước khi nhấn phím – Manual Step 
Kiểm tra giải thuật 
Chỉnh tốc độ 
Chế độ xem toàn màn hình 
Chọn chế độ xem kết quả 
Chọn tốc độ thực hiện 
Kéo của sổ Monitor box vào cửa sổ vẽ giải thuật để quan sát giá trị từng bước 
Nhấn vào nút play ở ký hiệu bắt đầu giải thuật để bắt đầu minh họa 
Kiểm tra giải thuật 
Nhấn vào để chạy bước tiếp theo (nếu chọn chế độ xem kết quả là Manual step ) 
Vẽ lưu đồ giải thuật không dùng hàm con 
Tìm số lớn nhất của hai số nguyên 
Tính phần nguyên và phần dư của phép chia 
Vẽ lưu đồ giải thuật có dùng hàm con 
Tìm kiếm phần tử có giá trị x xuất hiện trong mảng một chiều số nguyên 
Các ví dụ 
Tìm số lớn nhất của hai số nguyên 
Tính phần nguyên và phần dư của phép chia 
Hàm tìm x trong mảng 1 chiều a 
Tìm kiếm phần tử có giá trị x xuất hiện trong mảng một chiều 
Q&A 

File đính kèm:

  • pptxbai_giang_lap_trinh_c_chuong_1_tong_quan_ve_lap_trinh_tran_m.pptx