Tải bản đầy đủ (.ppt) (108 trang)

giáo án thao giảng, bồi dưỡng thi giáo viên giỏi môn tin bài ngôn ngữ lập trình (4)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (650.88 KB, 108 trang )

1
NHẬP MÔN LẬP TRÌNH
TIN HỌC ĐẠI CƯƠNG
2
BIỂU DIỄN BÀI TOÁN TRÊN MÁY TÍNH
I. Bài toán và thuật toán:

Khái niệm bài toán trong tin học.

Khái niệm thuật toán, các đặc trưng cơ bản của thuật toán.

Biểu diễn bài toán trên máy tính.

Biểu diễn thuật toán.
II. Ngôn ngữ lập trình Pascal

Khái niệm về ngôn ngữ lập trình và chương trình dịch.

Các lệnh cơ bản: lệnh nhập/xuất, lệnh rẽ nhánh (if), lệnh lặp
(while, for).

Sử dụng ngôn ngữ lập trình để giải một số bài toán cơ bản.
3
1. Vấn đề - bài toán
2. Máy tính và việc giải quyết vấn đề - bài
toán
3. Thuật toán - thuật giải
4. Các phương pháp biểu diễn thuật toán
5. Bài tập tổng hợp
I. BÀI TOÁN VÀ THUẬT TOÁN
4


Các bước để giải một bài toán trên máy tính

Bước 1: Xác định vấn đề - bài toán

Bước 2: Lựa chọn phương pháp giải

Bước 3: Xây dựng thuật toán hoặc thuật giải

Bước 4: Cài đặt chương trình

Bước 5: Hiệu chỉnh chương trình

Bước 6: Thực hiện chương trình
5
1. Vấn đề - bài toán
Vấn đề được hiểu như những khó khăn vướng mắc cần
được giải quyết.
Vấn đề được thể hiện dưới dạng bài toán. Có điều kiện
ban đầu và kết quả cần đạt tới.
A B
A là giả thiết hay điều kiện ban đầu
B là kết luận hay kết quả cần đạt tới
là suy luận, giải pháp để giải quyết vấn đề
6
1. Vấn đề - bài toán
Ví dụ 1: Tìm các số x
1,
x
2
sao cho ax

2
+bx+c=0 với a,b,c
là các số cho trước.
A B
A : các số cho trước a,b,c
B : giá trị của x
1,
x
2

cách giải phương trình bậc 2
7
1. Vấn đề - bài toán
Ví dụ 2: Cho bản đồ như sau. Tìm đường đi ngắn nhất
từ thành phố a đến thành phố f
A : Các TP a,b,c,d,e,f và các khoảng cách
B : Độ dài ngắn nhất từ a đến f

phương pháp tìm đường đi ngắn nhất từ a đến f
5
4
8
9
10
3
2
3
a
b
c d

e
f
2
8
2. Máy tính và việc giải quyết vấn đề - bài toán

Máy tính có thể tính toán một khối lượng khổng lồ phép tính
với độ chính xác tuyệt đối và tốc độ cực nhanh

Máy tính không thể tự tìm ra cách giải quyết vấn đề mà phải
nhờ vào những chỉ dẫn của con người thông qua ngôn ngữ
máy.

Sự phát triển của ngôn ngữ bậc cao giúp con người có thể giao
tiếp với máy tính một cách dễ dàng hơn.

Quá trình chuyển đổi giữa ý tưởng, ngôn ngữ tự nhiên sang
ngôn ngữ bậc cao gọi là lập trình.

Ngôn ngữ bậc cao còn được gọi là ngôn ngữ lập trình.
9
2.1. Phân loại ngôn ngữ lập trình
2.1.1. Ngôn ngữ máy
2.1.2. Hợp ngữ
2.1.3. Ngôn ngữ bậc cao
10
2.1.1. Ngôn ngữ máy

Là ngôn ngữ duy nhất mà máy tính có thể trực tiếp hiểu và
thực hiện


Mỗi loại máy có ngôn ngữ máy của riêng nó

Là tập hợp các dạng câu lệnh

Ưu điểm: cho phép khai thác triệt để và tối ưu khả năng
của máy tính

Nhược điểm: khó viết, chương trình nhận được cồng kềnh
và khó hiệu chỉnh
11
2.1.2. Hợp ngữ (Assembly)

Có cấu trúc rất giống ngôn ngữ máy

Mã lệnh được thay bằng tên viết tắt tương ứng

Chỉ chạy được sau khi đã được dịch ra ngôn ngữ máy
thông qua chương trình hợp dịch (Assembler)

Ưu điểm: khắc phục được nhược điểm của ngôn ngữ máy

Nhược điểm: không phù hợp với số đông người lập trình
12
2.1.3. Ngôn ngữ bậc cao

Mô phỏng ngôn ngữ tự nhiên, sử dụng các ký hiệu toán học
thống nhất chung

Không phụ thuộc vào loại máy tính cụ thể


Chỉ chạy được sau khi đã được dịch ra ngôn ngữ máy
thông qua chương trình thông dịch (Interpreter) hoặc biên
dịch (Compiler)

Ưu điểm: dễ viết, chương trình dễ hiểu, dễ hiệu chỉnh và dễ
nâng cấp hơn
13
2.2. Chương trình dịch
2.2.1. Khái niệm
2.2.2. Kỹ thuật thông dịch (Interpreter)
2.2.3. Kỹ thuật biên dịch (Compiler)
14
Nội dung

2.2.1. Khái niệm

2.2.2. Kỹ thuật thông dịch (Interpreter)

2.2.3. Kỹ thuật biên dịch (Compiler)
15
2.2.1. Khái niệm

Là chương trình đặc biệt dùng để chuyển chương
trình trên ngôn ngữ ban đầu (chương trình
nguồn) sang chương trình tương đương trên ngôn
ngữ máy
16
2.2.2. Kỹ thuật thông dịch


Là kiểu dịch từng dòng lệnh để hiểu công việc cần làm và
thực hiện ngay chứ không nhất thiết phải tạo ra các
đoạn mã tương đương trong ngôn ngữ máy

Nếu một câu lệnh phải thực hiện nhiều lần thì cũng phải
dịch nhiều lần

Ứng dụng: môi trường đối thoại giữa người và hệ thống
17
2.2.3. Kỹ thuật biên dịch

Là kiểu dịch toàn bộ chương trình ban đầu thành một
chương trình tương ứng trong ngôn ngữ máy (chương
trình đích), sau đó nạp chương trình đích vào máy tính để
thực hiện

Ứng dụng: phù hợp với các chương trình ổn định và phải
thực hiện nhiều lần
18
Một số ngôn ngữ lập trình thông dụng

Basic được thiết kế bởi John G. Kemeny và Thomas
E. Kurtz tại ĐH Dartmouth vào 1963

Pascal được Niklaus Wirth phát thiết kế năm 1970

C do Dennis Richie thiết kế năm 1972 tại phòng thí
nghiệp Bell Telephone của hãng AT&T sử dụng
trong hệ điều hành Unix


Java được phát triễn bởi James Gosling thuộc Sun
Microsystem vào 6/1991
19
Một số phương pháp giải quyết vấn đề
(3/3)

Phương pháp trực tiếp
Áp dụng khi vấn đề - bài toán đã có cách giải chính
xác, việc tìm lời giải chỉ là thao tác lập trình

Phương pháp gián tiếp
Áp dụng khi vấn đề - bài toán chưa tìm ra lời giải
chính xác
20
3. Thuật toán – Thuật giải
3.1 Thuật toán
Thuật toán là một dãy hữu hạn các bước xác định nhằm giải
quyết vấn đề với kết quả mong muốn.
Ví dụ: Thuật toán giải phương trình bậc nhất
ax+b=0 với a,b là hằng số
1. Yêu cầu cho biết giá trị của a,b
2. Nếu a=0 thì
2.1 Nếu b = 0 thì PT vô định. Kết thúc
2.2 Nếu b ≠ 0 thì PT vô nghiệm. Kết thúc
3. Nếu a ≠ 0 thì PT có nghiệp x=-b/a. Kết thúc
21
3.2 Tính chất của thuật toán

Tính xác định
Các bước trong thuật toán đều xác định và có thể thực

thi

Tính hữu hạn
Số bước của thuật toán là hưu hạn và có tính chất dừng

Tính đúng đắn
Thuật toán phải cho kết quả đúng như mong muốn.
22
3.3 Đặc trưng của thuật toán

Đầu vào và đầu ra
Mọi thuật toán đều nhận kết quả ở đầu vào, xử lý và cho kết
quả cuối cùng

Tính hiệu quả
Khối lượng tính toán, không gian và thời gian được thi hành
là yếu tố quyết định để đánh giá, lựa chọn thuật toán giải
quyết vấn đề.

Tính tổng quát
Thuật toán phải áp dụng cho một họ bài toán
23
3.4 Thuật giải
Mở rộng hai tiêu chuẩn của thuật toán:
Tính xác định và tính đúng đắn được mở rộng để chấp
nhận các cách giải cho kết quả tốt, gần đúng nhưng ít
phức tạp và hiệu quả.
Các cách giải chấp nhận được nhưng không hoàn toàn đáp
ứng đầy đủ các tiêu chuẩn của thuật toán thường được
gọi là các thuật giải.

Một trong những thuật giải thường gặp trong khoa học trí
tuệ nhân tạo là Heuristic.
24
4. Các phương pháp biểu diễn thuật toán
4.1 Dùng ngôn ngữ tự nhiên
4.2 Dùng lưu đồ, sơ đồ khối
4.3 Dùng mã giả
25
4. Các phương pháp biểu diễn thuật toán
4.1 Dùng ngôn ngữ tự nhiên
Dùng ngôn ngữ thường ngày để liệt kê các bước của
thuật toán.

×