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
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ả
34 trang |
Chia sẻ: dntpro1256 | Lượt xem: 748 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trê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
Giảng viên: TS. Lê Hoàng Sơn
lehoangson@hus.edu.vn
Lê Hoàng Sơn 2/32
Nội dung chính
Một số khái niệm cơ bản 1
Kiểu dữ liệu và phép toán 2
Bài tập 3
Lê Hoàng Sơn 3/32
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
Lê Hoàng Sơn 4/32
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:
Lê Hoàng Sơn 5/32
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
Lê Hoàng Sơn 6/32
Đặ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.
Lê Hoàng Sơn 7/32
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ý.
Lê Hoàng Sơn 8/32
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
Lê Hoàng Sơn 9/32
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.
Lê Hoàng Sơn 10/32
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
Lê Hoàng Sơn 11/32
Ví dụ về Sơ đồ khối
Lê Hoàng Sơn 12/32
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.
Lê Hoàng Sơn 13/32
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
Lê Hoàng Sơn 14/32
Độ 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
Lê Hoàng Sơn 15/32
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
Lê Hoàng Sơn 16/32
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ử
Lê Hoàng Sơn 17/32
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ả
1/2015 Lê Hoàng Sơn 18/32
Nội dung
Một số khái niệm cơ bản 1
Kiểu dữ liệu và phép toán 2
Bài tập 3
Lê Hoàng Sơn 19/32
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..)
Lê Hoàng Sơn 20/32
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,
Lê Hoàng Sơn 21/32
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
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
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
Lê Hoàng Sơn 22/32
2. Kiểu dữ liệu và phép toán
Lê Hoàng Sơn 23/32
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 = ?
Lê Hoàng Sơn 24/32
Phép toán
Lê Hoàng Sơn 25/32
Phép toán (tiếp)
Lê Hoàng Sơn 26/32
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
Lê Hoàng Sơn 27/32
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
Lê Hoàng Sơn 28/32
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
‘\\’ \
‘ \” ’ ”
‘ \’ ’ ’
Lê Hoàng Sơn 29/32
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
Lê Hoàng Sơn 30/32
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))
Lê Hoàng Sơn 31/32
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
Lê Hoàng Sơn 32/32
Câu hỏi thảo luận
Lê Hoàng Sơn 33/32
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ả
Lập trình tính toán khoa học kỹ thuật
C l i c k t o e d i t c o m p a n y s l o g a n .
Các file đính kèm theo tài liệu này:
- bai_giang_thcs3_1_7996_2046997.pdf