Mục tiêuGiải thích được các khái niệm: mã hóa, giải mã, chương trình, lập trình, ngôn ngữ lập trình, biên dịch, giải mã.. Giải thích được các bước để giải một bài toán bằng máy tính... 1
Trang 1Chương 1
Cơ bản về lập trình
Trang 2Mục tiêu
Giải thích được các khái niệm: mã hóa, giải mã, chương trình, lập trình, ngôn ngữ lập trình, biên dịch, giải mã.
Giải thích được giải thuật là gì.
Mô tả được những giải thuật cơ bản.
Giải thích được các bước để giải một bài toán bằng máy tính.
Trang 41.1- Các khái niệm cơ bản
Thông tin (information) và dữ liệu (data)
Mã hóa (encoding) và giải mã (decoding)
Chương trình- Program
Lập trình- Programming
Ngôn ngữ lập trình – Programming language
Dịch chương trình- Translating
Trang 5Thông tin (information) và dữ liệu (data)
Information: Tri thức của ta về môi trường Ý nghĩa của dữ liệu.
Data: Trị cụ thể mô tả về 1 thông tin.
cúc loại hoa vàng mầu
60 chiều dài
15 đường kính
3 số lá
Mô hình dùng để
Xử lý thông tin là thao tác Đẹp
Trang 6Mã hóa (encoding) và giải mã (decoding)
encoding: qúa trình chọn một dạng dữ liệu để mô tả 1 thông tin decoding: qúa trình thu nhận 1 thông tin từ một dữ liệu mô tả về thông tin này.
cúc vàng 60
15 3
cúc vàng 60
15 3
Giải mã
Mã hóa cần một cách biểu diễn ngôn ngữ
Trang 7Tính đa dạng của mã hóa thông tin
Mã hóa bằng 2 ngón tay hai 2 two
Hai người hiểu nhau nếu có chung cơ chế mã hóa và giải mã Qúa trình học là qúa trình tiếp thu các cách mã hóa và giải mã
Trang 8Các loại thông tin
Thông tin mô tả - raw data
Cánh gà
Thông tin về 1 cách xử lý – processing data
Cách làm món cánh gà chiên bơ
Trang 9Lưu trữ thông tin
Một dữ liệu phải có vùng nhớ chứa nó
Nhiều dữ liệu cần vùng nhớ lớn
Nhu cầu chuẩn hóa lưu trữ theo từng loại dữ
liệu Data type.
Hai loại thông tin thường dùng:
số
số nguyên nhỏ số nguyên to số thực
ký tự
chuỗi ký tự
Trang 10Nhu cầu chuẩn hóa tập ký tự
Làm sao bảo đảm sự nhất quán thông tin trong truyền thông?
Chuẩn hóa việc biểu diễn ký tự.
Mã ASCII : American Standard Code for
Information Interchange.
ký số: ‘0’ ‘9’ ký chữ hoa: ‘A’ ‘Z’ ký chữ thường: ‘a’ ‘z’
00110000 (30h, 48d)
Trang 11Biểu diễn dữ liệu trong máy tính
Máy tính là thiết bị nhị phân nên tất cả mọi dữ liệu đều
được lưu trữ dạng nhị phân.
Số quả dâu:
3
3 00110011
Trang 12Dạng biểu diễn dữ liệu và toán tử
Sai Cộng hai mã ký tự làm sai
kết qủa đang mong đợi.
Trang 13Dạng biểu diễn dữ liệu và toán tử
Đúng
Cộng hai biểu diễn số nhị phân
cho kết qủa là một biểu diễn nhị
phân đúng kết qủa đang mong đợi.
Trang 14Lưu trữ và xuất dữ liệu ra màn hình
Chuyển thành 00110011
mã ASCII
của
ký số 3
mã số 3 nhị phân
Trang 16Lệnh máy- Machine Instruction
Một dữ liệu quy định cách CPU thực thi 1 tác vụ cơ
Có thể có toán hạng 3 (dữ liệu chứa kết qủa).
Dạng lệnh máy phụ thuộc kiến trúc CPU.
Lệnh máy là lệnh nhị phân.
Trang 17Chương trình- Program
Program: a set of instructions.
Chương trình: Tập các lệnh máy mà CPU
phải thực thi nhằm giải một bài toán.
Một chương trình là 1 tập tin có phần mở
rộng tùy thuộc vào hệ điều hành
Trong Windows, 1 chương trình có tên mở
rộng: exe, com
CPU chạy 1 chương trình theo cách tuần tự
từng lệnh.
Hiện nay chưa có CPU thương phầm xử lý
song song nhiều lệnh.
1001001000101
1100110011000
0101001100110
1010110100001
Trang 18Bótay.com?
Trang 19Phần mềm ngôn ngữ: Một chương trình máy tính cho phép: soạn thảo, biên dịch, kiểm lỗi cú pháp, thực thi
Trang 201.2- Các bước để giải bài toán
Đặt tên cho các khái niệm
Tình huống user
cần biết trị của
một dữ liệu
Trang 221.3- Các bước để giải bài toán
bằng máy tính
Diễn đạt giải thuật theo cú pháp của một ngôn ngữ lập trình
Biên dịch (nhờ một trình biên dịch) Chương trình
Trang 23Minh họa với ngôn ngữ C
Trang 24Minh họa
với ngôn
ngữ Java
Trang 25Chương trình
theo ngôn ngữ
lập trình
Thông dịch Interpreting (dịch từng câu) 1 lệnh
CPU thực thi
Trang 261.4- Giải thuật- Algorithm
Cách giải bài toán.
Cách tiếp cận giúp giải bài toán
Muốn giải thì phải biết cách giải.
Cách giải 1 bài toán cụ thể là 1 giải thuật cụ thể.
Mô tả 1 giải thuật là diễn đạt các bước thực thi của giải thuật đó.
Diễn đạt một giải thuật
– Mã giả ( pseudocode)
Trang 28Giải thuật cộng 5 số
Gọi 5 số là a,b,c,d,e.
Gọi S là kết qủa
Bắt đầu;
S=0 S=S+a;
S=S+b;
S=S+c;
S=S+d;
S=S+e Xuất S;
Ngưng.
0146 10
Trang 29Xuất S;
Ngưng
Bắt đầu;
S=0 Với mọi x trong a S=S+x;
Xuất S;
Ngưng
?
Trang 30Xuất P
12
n-1 7
0
Trang 31Bài toán thưởng từ bố
Con học tốt bố sẽ thưởng áo
mới và tiền tiêu vặt.
Số áo sa
Bắt đầu Nhập d Xét d { Trường hợp 9,10 : sa=2;
Trang 32Bài toán phương trình bậc nhất
Mô tả: ax+b=0 Ba khái niệm a,b,x
Bắt đầu
Nhập a,b
Ngược lại nếu a=0 thì xuất “Vô nghiệm”
Ngược lại
{ x = -b/a Xuất x }
Ngưng
Trang 33Nhược điểm của mã giả
NNTN có nhiều cách diễn đạt khác nhau cho 1 giải thuật.
Người đọc có thể hiểu sai do: trình độ của người đọc, mức độ
chú ý của người đọc khi đọc giải thuật, mức độ phức tạp của giải thuật.
print out S End
Trang 34Không thể hiểu lầm vì có quy tắc để vẽ.
Đây là cách diễn đạt hình thức cho giải thuật.
Trang 35Quy ước vẽ lưu đồ
x>0
?
Điểm
Trang 36Bài toán S=a+b+c
Trang 37Bài toán tìm trị lớn nhất trong hai số được nhập
Thử sức:
Bài toán tìm trị nhỏ nhất trong
Trang 38Bài toán phương trình bậc nhất
Bắt đầu
Nhập a,b
Nếu a=0 và b=0 thì
xuất “Vô số nghiệm”
Ngược lại nếu a=0 thì
xuất “Vô nghiệm”
yes
nhập a,b a=0 && b=0 no
xuất “VN”
a=0
Trang 39Bài toán thưởng từ bố
print out sa,t
d
sa=2 t=100000
sa=1 t=50000
sa=0 t=0
Trang 40điều kiện khởi tạo
accept a[i]
i=i+1
i<n i=0
no
Trang 41Lập trình : qúa trình tạo ra chương trình.
Ngôn ngữ lập trình : ngôn ngữ giúp diễn tả cách giải bài toán.
Phần mềm ngôn ngữ : Một chương trình máy tính giúp
Trang 42Tóm tắt
Các bước giúp giải một bài toán bằng máy tính:
– Đọc kỹ để hiểu bài toán.
– Lập mô hình mô tả bài toán.
– Tìm giải thuật.
– Dịch giải thuật theo cú pháp của một ngôn ngữ lập trình.
– Sử dụng một phần mềm ngôn ngữ để soạn thảo/biên dịch
chương trình.
– Chạy chương trình và kiểm tra kết quả với nhiều tình huống khác nhau.
Trang 43Tóm tắt
“Bài toán nào mà con người trực giác giải được thì
máy tính giải được” - Turing
Giải thuật
– Cách giải bài toán.
– Một thứ tự thực thi các tác vụ nhằm giải một bài toán.
Đặc điểm của giải thuật
– Có duy nhất một điểm bắt đầu và một điểm kết thúc.
– Kết qủa phải đúng
Trang 44Tóm tắt
Hai cách diễn tả giải thuật :
– Mã giả: dùng ngôn ngữ tự nhiên
Trang 45– Thành phần điều kiện: Điều kiện còn thực thi.
– Thành phần nội dung: Các tác vụ trong một lần thực thi.
Trang 46Tóm tắt: Các bước để giải một bài toán bằng máy tính
Bước 1: Hiểu kỹ bài toán
– Danh từ: Dữ liệu liên quan đến bài toán
– Động từ: việc phải làm lên dữ liệu
Bước 2: Tìm một giải thuật để giải.
– Đơn giản thường là liệt kê các việc phải làm theo mẫu câu: Động từ + Danh từ.
– Sắp xếp các câu sao cho có thứ tự hợp lý.
Bước 3: Viết chương trình theo ngôn ngữ.
– Mở trình soạn thảo.
– Viết chương trình theo ngôn ngữ đã chọn.
– Biên dịch chương trình + sửa lỗi cú pháp.
Trang 47Các bước lập trình
Bài toán Phân
tích
Dữ liệu Giải thuật
Dùng Editor NNLT
Chương trình ngôn ngữ
Dịch
Yes Lỗi cú pháp
Kq đúng
Danh từ
thứ tự hợp lý của các động từ
Trang 48Xin cám ơn