Bài giảng Lập trình tính toán khoa học kỹ thuật - Buổi 1: Các khái niệm cơ bản - Lê Hoàng Sơn

Lập trình tính toán khoa học kỹ thuật 1

Buổi 1: Các khái niệm cơ bản

Nội dung chính

1 Một số khái niệm cơ bản

2 Kiểu dữ liệu và phép toán

3 Bài tập

pdf 34 trang phuongnguyen 5220
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình tính toán khoa học kỹ thuật - Buổi 1: Các khái niệm cơ bản - Lê Hoàng Sơn", để 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 tính toán khoa học kỹ thuật - Buổi 1: Các khái niệm cơ bản - Lê Hoàng Sơn

Bài giảng Lập trình tính toán khoa học kỹ thuật - Buổi 1: Các khái niệm cơ bản - Lê Hoàng Sơn
 Buổi 1: Các khái niệm cơ bản 
 Giảng viên: TS. Lê Hoàng Sơn 
 lehoangson@hus.edu.vn 
Lập trình tính toán khoa học kỹ thuật 1 
Nội dung chính 
 1 Một số khái niệm cơ bản 
 2 Kiểu dữ liệu và phép toán 
 3 Bài tập 
 2/32 Lê Hoàng Sơn 
 1. Một số khái niệm cơ bản 
Lập trình tính toán khoa học kỹ thuật 
 . Kỹ thuật cài đặt thuật toán bằng một ngôn ngữ lập trình 
 cụ thể để tạo thành một chương trình máy tính nhằm 
 giải quyết một bài toán đã cho 
 . Tính toán: vấn đề chuyên ngành 
Phương pháp lập trình: 
 . Thủ tục 
 . Cấu trúc 
 . Hướng đối tượng 
 3/32 Lê Hoàng Sơn 
Thuật toán 
 Cho một bài toán nghĩa là cho Input và Output của bài 
 toán. 
 . Có các dữ kiện gì? 
 . Ta phải làm thế nào? 
 Thuật toán là một tập hợp hữu hạn các quy tắc làm việc 
 với dữ kiện đầu vào để dẫn đến kết quả đầu ra như dự 
 đoán. 
 Ví dụ: thuật toán để giải phương trình bậc nhất P(x): ax + 
 b = c, (a, b, c là các số thực), trong tập hợp các số thực 
 có thể là một bộ các bước sau đây: 
 4/32 Lê Hoàng Sơn 
 Thuật toán tìm nghiệm pt 
1. Nếu a = 0 
 * b = c thì P(x) có nghiệm bất kì 
 * b ≠ c thì P(c) vô nghiệm 
 2. Nếu a ≠ 0 
 * P(x) có duy nhất một nghiệm x = (c - b)/a 
 5/32 Lê Hoàng Sơn 
 Đặc trưng của thuật toán 
 Input/ Output: Mỗi thuật toán cần dữ liệu vào và phải cho ra đáp án 
 Tính chính xác: kết quả tính toán hay các thao tác mà máy tính thực hiện 
 được phải chính xác. 
 Tính rõ ràng: Thuật toán 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 thuật toán 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 phổ dụng: Thuật toán 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: Thuật toán phải gồm một số hữu hạn các bước tính toán. 
 6/32 Lê Hoàng Sơn 
 Các phương pháp biểu diễn thuật toán 
 Liệt kê từng bước theo ngôn ngữ tự nhiên: 
 . Bước 1: Nhập các giá trị a, b, c 
 . Bước 2: Kiểm tra điều kiện a = 0. Nếu đúng: 
 • Kiểm tra điều kiện b = c. Nếu đúng thì phương trình có nghiệm bất 
 kỳ. Nếu sai thì phương trình vô nghiệm 
 . Bước 3: Nếu điều kiện a = 0 là sai thì phương trình có duy nhất 
 1 nghiệm 
 Sơ đồ khối: là một công cụ trực quan để diễn đạt các 
 thuật toán. 
 . Biểu diễn thuật toán bằng lưu đồ sẽ giúp người đọc theo dõi 
 được sự phân cấp các trường hợp và quá trình xử lý của thuật 
 toán. 
 . Phương pháp lưu đồ thường được dùng trong những thuật toán 
 có tính rắc rối, khó theo dõi được quá trình xử lý. 
 7/32 Lê Hoàng Sơn 
 Sơ đồ khối 
 Thao tác chọn lựa: Ví dụ: nếu a = b 
 Thao tác xử lý: biểu diễn bằng một hình chữ nhật, bên trong chứa 
 nội dung xử lý. 
 Đường đi: Hai bước kế tiếp nhau được nối bằng một cung, trên 
 cung có mũi tên để chỉ hướng thực hiện 
 8/32 Lê Hoàng Sơn 
 Sơ đồ khối (tt) 
 Ðiểm cuối là điểm khởi đầu và kết thúc của thuật toán, 
 được biểu diễn bằng hình ovan. 
 Ðiểm nối được dùng để nối các phần khác nhau của một 
 lưu đồ lại với nhau. 
 9/32 Lê Hoàng Sơn 
 Sơ đồ khối (tt) 
 Điểm nối sang trang được dùng khi lưu đồ quá lớn, phải 
 vẽ trên nhiều trang. 
 Ngoài ra còn khối Input/ Output 
 Thể hiện dấu gán := với ý nghĩa đại lượng bên phải 
 được gán cho bên trái 
 10/32 Lê Hoàng Sơn 
Ví dụ về Sơ đồ khối 
 11/32 Lê Hoàng Sơn 
 Các phương pháp biểu diễn thuật toán (tt) 
 Nhược điểm của sơ đồ khối: 
 . Cồng kềnh 
 . Chỉ phân biệt hai thao tác là rẽ nhánh và xử lý thiếu lặp 
 Mã giả: 
 . Khi thể hiện thuật toán bằng mã giả, ta sẽ vay mượn các cú 
 pháp của một ngôn ngữ lập trình nào đó để thể hiện thuật toán 
 . Tận dụng được các khái niệm trong ngôn ngữ lập trình, vừa giúp 
 người cài đặt dễ dàng nắm bắt nội dung thuật toán. 
 12/32 Lê Hoàng Sơn 
 Các phương pháp biểu diễn thuật toán (tt) 
 Ví dụ: Giải phương trình bậc 2 
 13/32 Lê Hoàng Sơn 
 Độ phức tạp thuật toán 
 Với một bài toán với cùng input/output có thể có nhiều thuật toán để 
 giải nhưng khác nhau về hiệu quả 
 . Thời gian: cách xử lý là nhanh hay chậm căn cứ theo số bước thực 
 hiện 
 . Không gian: bộ nhớ cần dùng để chạy chương trình 
 Thuật toán A gọi là hiệu quả hơn B nếu nó hiệu quả hơn B về thời 
 gian hoặc không gian 
 14/32 Lê Hoàng Sơn 
 Ngôn ngữ lập trình 
Ngôn ngữ máy (mã máy) 
Ngôn ngữ lập trình bậc cao 
 . Pascal, C 
 . C++, Java, Dot Net 
 . ASP, PHP, JSP 
 15/32 Lê Hoàng Sơn 
Các bước xây dựng chương trình 
 Xác định Input / Output 
 Thuật toán 
 Xây dựng cấu trúc dữ liệu 
 Lập trình 
 Kiểm thử 
 16/32 Lê Hoàng Sơn 
 Bài tập 
 Xác định đầu vào, đầu ra và xây dựng thuật toán dưới dạng sơ 
 đồ khối của các bài toán sau: 
 1. Cho hai số a và b chỉ dùng hai phép toán cộng và trừ. Hãy tính 
 tổng, hiệu, thương, tích của 2 số đó 
 2. Nhập chỉ số Ampe của thiết bị điện, thời gian dùng một ngày. 
 Tính số Kw điện tiêu thụ và in ra số tiền phải trả, cho biết qui 
 tắc tính tiền như sau: 
 a) 100 Kw đầu tiên giá 1000$/Kw 
 b) 50 Kw kế tiếp giá 1500$/Kw 
 c) 50 Kw tiếp theo giá 2000$/Kw 
 d) từ Kw thứ 201 trở đi giá 3000$/Kw 
 e) Nếu sử dụng trên 500 Kw thì phải đóng phụ thu bằng 20% 
 tiền điện phải trả 
 17/32 Lê Hoàng Sơn 
 Nội dung 
 1 Một số khái niệm cơ bản 
 2 Kiểu dữ liệu và phép toán 
 3 Bài tập 
1/2015 18/32 Lê Hoàng Sơn 
 2. Kiểu dữ liệu và phép toán 
 Tập ký tự hợp lệ dùng trong ngôn ngữ C 
 . Các chữ cái: A, B, C, a,b, c (26 chữ cái) 
 . Các chữ số : 0,1,..., 9. 
 . Ký tự gạch nối _ ( chú ý phân biệt dấu - ). 
 . Dấu cách (space) : dùng để phân biệt các từ 
 Tên: là 1 dãy kí tự bắt đầu bằng chữ hoặc ký tự gạch 
 dưới, theo sau là chữ cái, chữ số hoặc ký tự gạch nối 
 . VD: 1xyz, A#B , X1 
 . Chữ hoa và chữ thường được xem là khác nhau 
 . Nên đặt chữ hoa cho các hằng, chữ thường cho các 
 đại lượng còn lại (biến, hàm..) 
 19/32 Lê Hoàng Sơn 
 Từ khóa 
Là các từ dành riêng cho ngôn ngữ lập trình. 
Tên biến, hằng, hàm không được trùng với từ 
 khoá và phải viết bằng chữ thường. 
Các từ khoá trong C gồm : break, char, 
 continue, case, do, double, default, else, float, 
 for, goto, int, if, long, return, struct, switch, 
 unsigned, while, typedef, union void, volatile, 
 20/32 Lê Hoàng Sơn 
 2. Kiểu dữ liệu và phép toán 
 Kiểu dữ liệu chỉ ra dạng thức của dữ liệu đầu vào gồm 
 miền giá trị và kích thước 
 char 1 byte Ký tự 
 int 4 byte Số nguyên 
 float 4 byte Số thực 
 double 8 byte Số thực lớn 
 void Rỗng 
 Các kiểu dữ liệu trên có thể dùng kết hợp với các modifier 
 . short 
 . long 
 . signed và unsigned 
 21/32 Lê Hoàng Sơn 
2. Kiểu dữ liệu và phép toán 
 22/32 Lê Hoàng Sơn 
 Quy tắc chuyển kiểu 
 Xét VD: 
 int a = -15; float b = 3.2; 
 a + b kiểu gì? 
 Một số quy tắc chuyển kiểu dữ liệu: 
 . Chuyển đổi trong biểu thức thành kiểu cao hơn 
 . Qua phép gán 
 . Sử dụng ép kiểu: (int) b 
 Ví dụ: 
 . a/ (int) b = ? 
 . (unsigned short int) a/b = ? 
 23/32 Lê Hoàng Sơn 
Phép toán 
 24/32 Lê Hoàng Sơn 
Phép toán (tiếp) 
 25/32 Lê Hoàng Sơn 
 Phép toán 
Ví dụ: 
 . Z == 2; 
 . Z = N = 2; (phép gán) 
 . Z = Z + 3; Y = Z + 8; 
 . Y *= Z; 
 . B = Y++; B = ++Y; 
 . A = (5%2 == 1) && (6 != 3) 
 . X = 0101; Y = 0011; Z = X | Y 
 26/32 Lê Hoàng Sơn 
 Biến, Hằng, Biểu Thức 
 Hằng: là giá trị bất biến trong chương trình không thay đổi, không biến 
 đổi về mặt giá trị. Các loại hằng được sử dụng trong C tương ứng với 
 các kiểu dữ liệu nhất định 
 Trong C có ba loại hằng: 
 . Hằng số: Hằng nguyên (43L), Hằng thực (2.1E-3) 
 . Hằng ký tự: 
 • Hằng ký tự 'A' thực sự đồng nghĩa với giá trị nguyên 65, là giá 
 trị trong bảng mã ASCII 
 • Ðối với một vài hằng ký tự đặc biệt, ta cần sử dụng cách viết 
 thêm dấu \ , như '\t' tương ứng với phím tab 
 • Hằng ký tự có thể tham gia vào phép toán như mọi số nguyên 
 khác 
 '8' - '1‘ = 56 - 49 = 7 
 . Hằng chuỗi: "Turbo C" 
 T u r b o C \0 
 27/32 Lê Hoàng Sơn 
Một số hằng ký tự đặc biệt 
 Cách viết Ký tự 
 ‘\n’ Xuống hàng 
 ‘\t’ Tab 
 ‘\o’ “nul” tương ứng với giá trị 
 nguyên 0 trong bảng mã ASCII 
 ‘\b’ Backspacse 
 ‘\r’ Về đầu dòng 
 ‘\f’ Sang trái 
 ‘\\’ \ 
 ‘ \” ’ ” 
 ‘ \’ ’ ’ 
 28/32 Lê Hoàng Sơn 
 Biến 
 Khai báo biến: Kiểu_dữ_liệu 
 . int a, b; float m; 
 Ngay trên dòng khai báo ta có thể gán cho biến một giá trị. 
 Việc làm này gọi là khởi tạo cho biến 
 . int a = 3; c, d = 5; 
 Một biểu thức là tập hợp của các biến, hằng (toán hạng) 
 và phép toán (toán tử) 
 . Biểu thức toán học 
 . Biểu thức logic 
 29/32 Lê Hoàng Sơn 
 Ví dụ: Biến, Hằng, Biểu Thức 
Khai báo biến: 
 . int x; 
 . float x = 3.4; 
Khai báo hằng: 
 . const char x= ‘c’; 
Biểu thức: 
 . Z = a * b + (a\(b - c)) 
 30/32 Lê Hoàng Sơn 
 Tóm tắt bài học 
Các khái niệm cơ bản 
 . Lập trình tính toán khoa học kỹ thuật 
 . Thuật toán & các phương pháp biểu diễn 
 thuật toán 
 . Các bước xây dựng chương trình 
Kiểu dữ liệu và phép toán 
 . Kiểu dữ liệu 
 . Quy tắc chuyển kiểu 
 . Biến, Hằng, Biểu thức 
 31/32 Lê Hoàng Sơn 
Câu hỏi thảo luận 
 32/32 Lê Hoàng Sơn 
 3. Bài tập 
 Xác định kiểu dữ liệu phù hợp cho đầu vào và ra và viết các bước 
 tính toán chính: 
 1. Cho hai số a và b chỉ dùng hai phép toán cộng và trừ. Hãy tính 
 tổng, hiệu, thương, tích của 2 số đó 
 2. Nhập chỉ số Ampe của thiết bị điện, thời gian dùng một ngày. 
 Tính số Kw điện tiêu thụ và in ra số tiền phải trả, cho biết qui 
 tắc tính tiền như sau: 
 a) 100 Kw đầu tiên giá 1000$/Kw 
 b) 50 Kw kế tiếp giá 1500$/Kw 
 c) 50 Kw tiếp theo giá 2000$/Kw 
 d) từ Kw thứ 201 trở đi giá 3000$/Kw 
 e) Nếu sử dụng trên 500 Kw thì phải đóng phụ thu bằng 20% 
 tiền điện phải trả 
 33/32 Lê Hoàng Sơn 
 C l i c k to e d i t c o m p a n y s l o g a n . 
Lập trình tính toán khoa học kỹ thuật 

File đính kèm:

  • pdfbai_giang_tin_hoc_co_so_buoi_1_cac_khai_niem_co_ban_le_hoang.pdf