Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
2,65 MB
Nội dung
VC & BB TINHỌCCƠSỞ TỔNG QUAN VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH C Đặng Ngọc Hùng Khoa: Công nghệ thông tin Email: hungdn@ptit.edu.vn 13/02/2017 VC & BB Nội dung Các khái niệm Các bước xây dựng chương trình Biểu diễn thuật toán Cài đặt thuật toán NNLT VC & BB Các khái niệm Lập trình máy tính Gọi tắt lập trình (programming) Nghệ thuật cài đặt nhiều thuật tốn trừu tượng có liên quan với ngơn ngữ lập trình để tạo chương trình máy tính Thuật tốn Là tập hợp (dãy) hữu hạn thị (hành động) định nghĩa rõ ràng nhằm giải toán cụ thể VC & BB Các khái niệm Ví dụ Thuật tốn giải PT bậc nhất: ax + b = (a, b số thực) Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = • Nếu a = • b = phương trình có nghiệm • b ≠ phương trình vơ nghiệm • Nếu a ≠ • Phương trình có nghiệm x = -b/a VC & BB Các tính chất thuật tốn Bao gồm tính chất sau: Tính xác: q trình tính tốn hay thao tác máy tính thực xác Tính rõ ràng: câu lệnh minh bạch xếp theo thứ tự định Tính khách quan: viết nhiều người máy tính kết phải Tính phổ dụng: áp dụng cho lớp tốn có đầu vào tương tự Tính kết thúc: hữu hạn bước tính tốn VC & BB Các bước xây dựng chương trình Xác định vấn đề - tốn Biểu diễn bằng: • Ngơn ngữ tự nhiên • Lưu đồ - Sơ đồ khối • Mã giả Lựa chọn phương pháp giải Xây dựng thuật tốn/ thuật giải Cài đặt chương trình Lỗi cú pháp Lỗi ngữ nghĩa Hiệu chỉnh chương trình Thực chương trình VC & BB Sử dụng ngơn ngữ tự nhiên Đầu Đầu vào: a, b thuộc R ra: nghiệm phương trình ax + b = Nhập số thực a b Nếu a = 2.1 Nếu b = 2.1.1 Phương trình vơ số nghiệm 2.1.2 Kết thúc thuật tốn 2.2 Ngược lại 2.2.1 Phương trình vơ nghiệm 2.2.2 Kết thúc thuật tốn Ngược lại 3.1 Phương trình có nghiệm 3.2 Giá trị nghiệm x = -b/a 3.3 Kết thúc thuật toán VC & BB Sử dụng lưu đồ - sơ đồ khối Khối giới hạn Chỉ thị bắt đầu kết thúc Khối vào Nhập/Xuất liệu Khối lựa chọn Tùy điều kiện rẽ nhánh Khối thao tác Ghi thao tác cần thực Đường Chỉ hướng thao tác VC & BB Sử dụng lưu đồ - sơ đồ khối Bắt đầu Đọc a,b Đ S a=0 Đ S Tính x = -b/a b=0 Xuất “VSN” Xuất “VN” Xuất x Kết thúc VC & BB Sử dụng mã giả (pseudo code) Vay mượn ngơn ngữ (ví dụ Pascal) để biểu diễn thuật toán Đầu vào: a, b thuộc R Đầu ra: nghiệm phương trình ax + b = If a = Then Begin If b = Then Xuất “Phương trình vơ số nghiệm” Else Xuất “Phương trình vơ nghiệm” End Else Xuất “Phương trình có nghiệm x = -b/a” 10 VC & BB Thư viện C Tất trình biên dịch C chứa thư viện hàm chuẩn Một hàm viết lập trình viên đặt thư viện dùng cần thiết Một số trình biên dịch cho phép thêm hàm vào thư viện chuẩn Một số trình biên dịch yêu cầu tạo thư viện riêng 42 VC & BB Biên dịch thi hành chương trình 43 VC & BB Bộ từ vựng C Các ký tự sử dụng Bộ chữ 26 ký tự Latinh A, B, C, …, Z, a, b, c, …, z Bộ chữ số thập phân : 0, 1, 2, …, Các ký hiệu toán học : + – * / = < > ( ) Các ký tự đặc biệt : , : ; [ ] % \ # $ ‘ Ký tự gạch nối _ khoảng trắng ‘ ’ 44 VC & BB Bộ từ vựng C Từ khóa (keyword) Các từ dành riêng ngôn ngữ Không thể sử dụng từ khóa để đặt tên cho biến, hàm, tên chương trình Một số từ khóa thơng dụng: • • • • • const, enum, signed, struct, typedef, unsigned… char, double, float, int, long, short, void case, default, else, if, switch do, for, while break, continue, goto, return 45 VC & BB Bộ từ vựng C Tên/Định danh (Identifier) Một dãy ký tự dùng để tên số, ký tự, tên biến, kiểu liệu, hàm hay thủ tục Khơng trùng với từ khóa tạo thành từ chữ chữ số bắt buộc chữ đầu phải chữ _ Số ký tự tối đa tên 255 ký tự dùng ký tự _ chen tên không cho phép chen khoảng trắng 46 VC & BB Bộ từ vựng C Ví dụ Tên/Định danh (Identifier) Các tên hợp lệ: GiaiPhuongTrinh, Bai_Tap1 Các tên không hợp lệ: 1A, Giai Phuong Trinh Phân biệt chữ hoa chữ thường, tên sau khác nhau: • A, a • BaiTap, baitap, BAITAP, bAItaP… 47 VC & BB Bộ từ vựng C Dấu chấm phẩy ; Dùng để phân cách câu lệnh Ví dụ: printf(“Hello World!”); printf(“\n”); Câu thích Từ vị trí cụ thể đến cuối dòng: dùng // vị trí Ghi gồm nhiều dòng: dùng cặp ký tự /* ý trước dòng cặp ký tự */ sau dòng cuối Ví dụ: /*Ho & Ten: NVA*/, // MSSV: 0712078 48 VC & BB Các khái niệm Hằng ký tự chuỗi Hằng ký tự: ‘A’, ‘a’, … Hằng chuỗi: “Hello World!”, “Nguyen Van A” Lệnh: Lệnh thực chức (khai báo, gán, xuất, nhập,…) kết thúc dấu chấm phẩy (;) Khối lệnh: Khối lệnh gồm nhiều lệnh đặt cặp dấu ngoặt { } 49 VC & BB Qui ước viết lệnh C Mỗi lệnh nằm dòng Cuối dòng lệnh PHẢI có dấu chấm phẩy (;) Không nên đặt nhiều lệnh dòng, khai báo biến Trừ cặp lệnh nhập xuất viết dòng Phải sử dụng Tab để trình bày lệnh Phải khai báo biến trước sử dụng 50 VC & BB Cấu trúc chương trình C #include “…”; // Khai báo file tiêu đề int x; void Nhap(); // Khai báo biến hàm // Khai báo hàm void main() // Hàm { // Các lệnh thủ tục } 51 VC & BB Ví dụ Thư viện nhập xuất chuẩn Ghi /*VIDU.CPP*/ #include Hàm main int main() { printf(“Nhap mon lap trinh\n"); printf(“Vi du don gian\n"); return 0; } Nhap mon lap trinh Vi du don gian Báo CT kết thúc cho HĐH 52 VC & BB Ví dụ #include #include void main() { int x, y, tong; printf(“Nhap hai so nguyen: ”); scanf(“%d%d”, &x, &y); tong = x + y; printf(“Tong hai so la %d”, tong); getch(); } 53 VC & BB Ví dụ Khai báo biến số nguyên, “a” “b” #include int main(void) { int a, b; Nhập số nguyên vào a b printf(“Nhap so ngguyen: "); scanf("%i %i", &a, &b); printf("%i - %i = %i\n", a, b, a - b); Viết biểu thức “a”, “b” “a-b” theo định } dạng %i return 0; Nhap so nguyen: 21 17 21 - 17 = 54 VC Một số lưu ý từ ví dụ & BB Phần ghi trình biên dịch bỏ qua Phân biệt chữ in hoa chữ in thường Câu lệnh kết thúc dấu ; Chuỗi ký tự phải ghi cặp nháy kép “ In xuống dòng dùng ký tự \n Chương trình có hàm main 55 VC & BB Qui ước Tên/Định danh (Identifier) Một dãy ký tự dùng để tên số, ký tự, tên biến, kiểu liệu, hàm hay thủ tục Không trùng với từ khóa tạo thành từ chữ chữ số bắt buộc chữ đầu phải chữ _ Số ký tự tối đa tên 255 ký tự dùng ký tự _ chen tên không cho phép chen khoảng trắng 56 ... Nếu a = 2. 1 Nếu b = 2. 1.1 Phương trình vơ số nghiệm 2. 1 .2 Kết thúc thuật toán 2. 2 Ngược lại 2. 2.1 Phương trình vơ nghiệm 2. 2 .2 Kết thúc thuật tốn Ngược lại 3.1 Phương trình có nghiệm 3 .2 Giá trị... cho: |f(x)| ≤ C |g(x)| với x > k Ví dụ, hàm f(x) = x2+ 3x + O(x2) Thật vậy, x > x < x2 < 2x2 Do x2 + 3x + < 6x2 Nghĩa ta chọn C = k = 27 27 VC & BB Độ phức tạp thuật toán Một số kết Big-O quan... div 10 2: n2 = N mod 10, N = N div 10 1: n1 = N S = (n1 + n2+ n3 + n4) mod 10 In Số nước S Kết thúc 19 VC & BB Bài tập Bắt đầu Đọc a,b Đ S a>b Xuất a max, b Xuất a min, b max Kết thúc 20 VC &