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 (7.75 MB, 344 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Giáo án điện tử Tin Học 8</b>
<b>Giáo án điện tử Tin Học 8</b>
<b>Lý thuyết</b>
<b>Lý thuyết</b> <b>Thực hànhThực hành</b> <b>PMHT<sub>PMHT</sub></b>
Phân phối chương trình
Phân phối chương trình
<b>LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAK OUT</b>
<b>TÌM HIỂU THỜI GIAN VỚI PHẦN MỀM SUN TIMES</b>
CON NGƯỜI RA LỆNH CHO MÁY TÍNH NHƯ THẾ NÀO?
CON NGƯỜI RA LỆNH CHO MÁY TÍNH NHƯ THẾ NÀO?
* Khi nháy đúp chuột lên biểu tượng của một phần mềm trên màn
hình phần mềm sẽ khởi động
* Khi nháy đúp chuột lên biểu tượng của một phần mềm trên màn
hình phần mềm sẽ khởi động
* Trong soạn thảo văn bản, khi ta gõ một phím chữ thì chữ tương
ứng sẽ xuất hiện trên màn hình ta đã ra lệnh cho máy tính in chữ
lên màn hình.
* Trong soạn thảo văn bản, khi ta gõ một phím chữ thì chữ tương
ứng sẽ xuất hiện trên màn hình ta đã ra lệnh cho máy tính in chữ
lên màn hình.
•Khi thực hiện lệnh sao chép văn bản từ vị trí này sang vị trí khác
ta đã yêu cầu máy tính thực hiện liên tiếp nhiều lệnh:
* Lệnh sao chép văn bản vào bộ nhớ của máy tính.
* Lệnh sao chép văn bản có trong bộ nhớ vào vị trí mới.
•Khi thực hiện lệnh sao chép văn bản từ vị trí này sang vị trí khác
ta đã yêu cầu máy tính thực hiện liên tiếp nhiều lệnh:
* Lệnh sao chép văn bản vào bộ nhớ của máy tính.
* Lệnh sao chép văn bản có trong bộ nhớ vào vị trí mới.
Để chỉ dẫn máy tính thực hiện cơng việc nào đó, con người
đưa cho máy tính một hay nhiều lệnh, máy tính sẽ lần lượt
thực hiện các lệnh đó.
<i>Quan sát hình 1_sách giáo khoa. </i>
<i>Để cho robot hồn thành tốt cơng </i>
<i>việc, ta cần phải ra các lệnh nào?</i>
1. Tiến hai bước.
2. Quay trái, tiến một bước.
3. Nhặt rác.
4. Quay phải, tiến ba bước.
5. Quay trái, tiến hai bước.
6. Bỏ vào thùng rác.
1. Tiến hai bước.
2. Quay trái, tiến một bước.
3. Nhặt rác.
VIẾT CHƯƠNG TRÌNH _ RA LỆNH CHO MÁY TÍNH LÀM VIỆC
VIẾT CHƯƠNG TRÌNH _ RA LỆNH CHO MÁY TÍNH LÀM VIỆC
<i>Viết chương trình là gì?</i>
Là viết các lệnh một cách tuần tự để điều khiển máy tính
làm việc
Là viết các lệnh một cách tuần tự để điều khiển máy tính
làm việc
<i>Chương trình máy tính là gì?</i>
Chương trình máy tính là một dãy các lệnh mà máy tính
có thể hiểu và thực hiện được
<i>Khi thực hiện chương trình ,máy </i>
<i>tính hoạt động như thế nào?</i>
Máy tính sẽ thực hiện các lệnh có trong chương trình
một cách tuần tự. Thực hiện xong một lệnh sẽ thực hiện
lệnh tiếp theo, từ lệnh đầu tiên đến lệnh cuối.
Máy tính sẽ thực hiện các lệnh có trong chương trình
<b>Hãy nhặt rác;</b>
Bắt đầu
Tiến 2 bước,
Quay trái, tiến 1 bước;
Nhặt rác;
Quay phải, tiến 3 bước;
Quay trái, tiến 2 bước;
Bỏ rác vào thùng;
Kết thúc.
<b>Hãy nhặt rác;</b>
Bắt đầu
Tiến 2 bước,
Quay trái, tiến 1 bước;
Nhặt rác;
Quay phải, tiến 3 bước;
Quay trái, tiến 2 bước;
Bỏ rác vào thùng;
Kết thúc.
Ví dụ về chương trình
<i>Tại sao cần viết chương trình?</i>
Việc viết nhiều lệnh và tập hợp lại trong một chương
trình, giúp con người điều khiển máy tính một cách đơn
giản và hiệu quả hơn.
Thơng tin đưa vào máy tính phải được chuyển đổi thành
dạng các dãy số 0 và 1: dãy Bit
<i>Ngôn ngữ máy là gì?</i>
Ngơn ngữ máy là ngơn ngữ duy nhất dành cho máy tính.
Máy tính có thể trực tiếp hiểu và thực hiện.
Ngôn ngữ máy là ngôn ngữ duy nhất dành cho máy tính.
Máy tính có thể trực tiếp hiểu và thực hiện.
<i>Ngơn ngữ lập trình là gì?</i>
Ngơn ngữ lập trình là ngơn ngữ dùng để viết các
chương trình máy tính.
<i>Chương trình dịch là gì?</i>
Là chương trình dịch từ các ngơn ngữ khác nhau ra
ngơn ngữ máy.
Là chương trình dịch từ các ngơn ngữ khác nhau ra
ngơn ngữ máy.
Tuy nhiên máy tính vẫn chưa thể hiểu được các chương trình
được viết bằng ngơn ngữ lập trình. Chương trình này cần được
chuyển sang ngơn ngữ máy bằng một chương trình dịch.
<i>Mơi trường lập trình là gì?</i>
Chương trình soạn thảo và chương trình dịch cùng với
các cơng cụ trợ giúp tìm kiếm, sửa lỗi hoặc thực hiện
chương trình được kết hợp vào một phần mềm: mơi
trường lập trình
Chương trình soạn thảo và chương trình dịch cùng với
các cơng cụ trợ giúp tìm kiếm, sửa lỗi hoặc thực hiện
chương trình được kết hợp vào một phần mềm: mơi
trường lập trình
Thời gian 1 tiết
<i>Quan sát chương trình sau?</i>
Lệnh khai báo tên
Lệnh khai báo tên
chương trình
Lệnh in ra màn hình dịng
chữ ‘Chao cac ban’
a. BẢNG CHỮ CÁI
a. BẢNG CHỮ CÁI
<b>Loại kí tự</b> <b>Biểu diễn của kí tự</b> <b>Mã </b>
<b>ASCII</b>
Kí tự chữ cái in hoa ‘A’..’Z’ 65..90
Kí tự chữ cái in thường ‘a’..’z’ 97..122
Kí tự chữ số ‘0’..’9’ 48..57
Kí tự dấu cách ‘ ’ 32
Kí tự gạch dưới ‘_’
Kí tự các phép tốn ‘+’, ‘-’, ‘*’, ‘/’, ‘=‘, ‘<‘, ‘>’
Kí tự dấu ngoặc ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘, ‘]’
Kí tự khác Dấu chấm ‘.’ dấu phẩy ‘,’
Dấu hai chấm ‘:’ dấu chấm phẩy ‘;’,
Bảng chữ cái của các ngơn ngữ lập trình khơng
khác nhau nhiều.
Bảng chữ cái của các ngơn ngữ lập trình khơng
khác nhau nhiều.
<i>Thế nào là bảng chữ cái?</i>
Bảng chữ cái là tập các kí tự <i>(qui định trong bảng chữ </i>
<i>cái) </i>được dùng để viết chương trình.
Bảng chữ cái là tập các kí tự <i>(qui định trong bảng chữ </i>
<i>cái) </i>được dùng để viết chương trình.
Mỗi câu lệnh trong chương trình gồm các từ và các kí
hiệu được viết theo một quy tắc nhất định.
Mỗi câu lệnh trong chương trình gồm các từ và các kí
hiệu được viết theo một quy tắc nhất định.
b. QUY TẮC
b. QUY TẮC
Các quy tắc này quy định cách viết các từ và thứ tự của
chúng
<i>Từ khóa của một ngơn ngữ lập </i>
<i>trình là gì?</i>
<i>Trong ngơn ngữ lập trình, </i>
<i>có bao nhiêu loại tên?</i>
Tên chuẩn
Tên chuẩn
Tên do người
lập trình đặt
Được ngơn ngữ lập trình quy định dùng với ý
nghĩa nhất định, người lập trình có thể định
nghĩa lại để dùng với ý nghĩa khác.
Được ngơn ngữ lập trình quy định dùng với ý
nghĩa nhất định, người lập trình có thể định
nghĩa lại để dùng với ý nghĩa khác.
• Được dùng với ý nghĩa riêng của người lập
trình.
• Được khai báo trước khi sử dụng.
• Khơng được trùng với tên dành riêng.
• Được dùng với ý nghĩa riêng của người lập
trình.
• Được khai báo trước khi sử dụng.
• Khơng được trùng với tên dành riêng.
<i>Ví dụ: Trong Pascal: abs, sqr, sqrt, interger, real, byte.</i>
<i>Ví dụ: Delta, CT_Vidu, …</i>
Mọi đối tượng trong chương trình đều phải đặt tên theo quy
tắc của ngơn ngữ lập trình và từng chương trình dịch cụ thể.
Mọi đối tượng trong chương trình đều phải đặt tên theo quy
tắc của ngơn ngữ lập trình và từng chương trình dịch cụ thể.
<i>Quy tắc đặt tên trong Turbo </i>
<i>Pascal như thế nào?</i>
Quy tắc đặt tên:
• Gồm chữ số, chữ cái hoặc dấu gạch dưới.
• Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
• Một dãy liên tiếp khơng q 127 kí tự.
• Khơng phân biệt chữ hoa, chữ thường trong tên.
• Khơng được trùng với từ khóa.
Quy tắc đặt tên:
• Gồm chữ số, chữ cái hoặc dấu gạch dưới.
• Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
• Một dãy liên tiếp khơng q 127 kí tự.
<i>Em hãy cho biết cấu trúc chung của </i>
<i>chương trình?</i>
Một chương trình được viết bằng ngơn ngữ lập trình có cấu trúc :
Một chương trình được viết bằng ngơn ngữ lập trình có cấu trúc :
Khai báo tên chương trình;
Khai báo các thư viện;
Khai báo biến;
Gồm các câu lệnh mà máy tính cần thực
hiện
Gồm các câu lệnh mà máy tính cần thực
hiện
Begin
[<<i>dãy lệnh</i>>]
End.
Begin
Phần khai báo
KHỞI ĐỘNG CHƯƠNG TRÌNH TURBO PASCAL
KHỞI ĐỘNG CHƯƠNG TRÌNH TURBO PASCAL
1. Chạy chương trình Turbo Pascal trên mơi trường MS_DOS
Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng
Trên màn hình desktop, double click vào biểu tượng
2. Chạy chương trình Turbo Pascal trên mơi trường WINDOWS
Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng
MÀN HÌNH LÀM VIỆC CỦA TURBO PASCAL
MÀN HÌNH LÀM VIỆC CỦA TURBO PASCAL
Tên File chương trình
Con trỏ soạn thảo
Dịng menu
Dịng hướng dẫn các phím chức năng
Dịng <sub>Cột</sub>
Dùng bàn phím để soạn thảo chương trình
1. Ngơn ngữ lập trình là tập hợp các kí hiệu và quy tắc
viết các lệnh tạo thành một chương trình hồn chỉnh và
thực hiện được trên máy tính.
2. Nhiều ngơn ngữ lập trình có tập hợp các từ khóa dành
riêng cho những mục đích sử dụng nhất định.
3. Một chương trình thường có hai phần: Phần khai báo
và phần thân chương trình.
Thời gian 1 tiết
• Các ngơn ngữ lập trình định nghĩa sẵn một số kiểu dữ liệu
cơ bản.
• Kiểu dữ liệu xác định các giá trị của dữ liệu và các phép
tốn thực hiện trên giá trị đó
• Các ngơn ngữ lập trình định nghĩa sẵn một số kiểu dữ liệu
cơ bản.
• Kiểu dữ liệu xác định các giá trị của dữ liệu và các phép
toán thực hiện trên giá trị đó
<i>Hãy trình bày các kiểu dữ liệu cơ bản </i>
<i>trong ngơn ngữ lập trình?</i>
Kiểu số nguyên.
Kiểu số thực.
Kiểu xâu kí tự.
Tên kiểu Phạm vi giá trị
integer Số nguyên trong khoảng -215<sub> đến 2</sub>15<sub> – 1</sub>
real Số thực có giá trị tuyệt đối trong khoảng
2,9x10-39<sub> đến 1,7x10</sub>38<sub> và số 0</sub>
Char Một kí tự trong bảng chữ cái
String Xâu kí tự, tối đa gồm 255 kí tự
Kiểu dữ liệu cơ bản trong ngơn ngữ lập trình Pascal
Trong Pascal, để cho chương trình dịch hiểu dãy chữ số là
kiểu xâu. Ta phải đặt dãy số đó trong cặp dấu nháy đơn
Kí hiệu Phép toán Kiểu dữ liệu
+ Cộng <sub>Số nguyên, số thực</sub>
- Trừ <sub>Số nguyên, số thực</sub>
* Nhân <sub>Số nguyên, số thực</sub>
/ Chia <sub>Số nguyên, số thực</sub>
div Chia lấy phần
nguyên Số nguyên
mod Chia lấy phần dư <sub>Số nguyên</sub>
• Các phép tốn trong ngoặc được thực hiện trước tiên.
• Trong dãy các phép tốn khơng có dấu ngoặc, các
phép nhân, phép chia lấy phần nguyên <i>(div)</i> và phép
• Phép cộng và phép trừ được thực hiện theo thứ tự từ
trái sang phải.
• Trong ngơn ngữ lập trình chỉ được sử dụng dấu ngoặc
trịn
• Các phép tốn trong ngoặc được thực hiện trước tiên.
• Trong dãy các phép tốn khơng có dấu ngoặc, các
phép nhân, phép chia lấy phần nguyên <i>(div)</i> và phép
chia lấy phần dư <i>(mod) </i>được thực hiện trước.
• Phép cộng và phép trừ được thực hiện theo thứ tự từ
trái sang phải.
• Trong ngơn ngữ lập trình chỉ được sử dụng dấu ngoặc
tròn
a x b – c + d <sub>a*b – c + d</sub>
15+5*(a/2)
15 + 5 x
2
a
(x+5)/(a+3)-y(b+5)*(x+2)(x+2)
5
b
y
3
a
5
x
((a+b)*(c-d)+)/3-a
3
6
d
c
b
a
Kí hiệu Phép so sánh Ví dụ
= Bằng <sub>5 = 5</sub>
< Nhỏ hơn <sub>3 < 5</sub>
> Lớn hơn <sub>9 > 6</sub>
≠ Khác <sub>6 ≠ 5</sub>
≤ Nhỏ hơn hoặc
bằng 5 ≤ 6
≥ Lớn hơn hoặc
bằng 9 ≥ 6
Kết quả của phép so sánh chỉ có thể là ĐÚNG hoặc SAI
Khi viết chương trình, để so sánh dữ liệu <i>(số, biểu thức, …)</i> ta
sử dụng các kí hiệu do ngơn ngữ lập trình quy định.
Khi viết chương trình, để so sánh dữ liệu <i>(số, biểu thức, …)</i> ta
sử dụng các kí hiệu do ngơn ngữ lập trình quy định.
Kí hiệu trong
Pascal Phép so sánh Kí hiệu trong tốn học
= Bằng <sub>=</sub>
< Nhỏ hơn <sub><</sub>
> Lớn hơn <sub>></sub>
<> Khác <sub>≠</sub>
<= Nhỏ hơn hoặc
bằng ≤
>= Lớn hơn hoặc
bằng ≥
a. Thơng báo kết quả tính tốn
a. Thơng báo kết quả tính tốn
<i>Thơng báo kết quả tính tốn là </i>
<i>gì?</i>
b. Nhập dữ liệu
b. Nhập dữ liệu
<i>Nhập dữ liệu là gì?</i>
c. Tạm dừng chương trình
c. Tạm dừng chương trình
<i>Tạm ngừng chương trình có bao </i>
<i>nhiêu chế độ? Kể ra?</i>
d. Hộp thoại
d. Hộp thoại
<i>Chức năng của hộp thoại như thế </i>
<i>nào?</i>
1. Các ngơn ngữ lập trình thường phân chia dữ liệu cần
xử lí theo các kiểu khác nhau, với các phép tốn có thể
thực hiện trên từng kiểu dữ liệu đó.
Thời gian 2 tiết
<i>Trong ngơn ngữ lập trình Pascal, hãy </i>
<i>cho biết phần khai báo của chương </i>
<i>trình gồm những khai báo nào?</i>
Phần khai
báo
<b>Program</b> <tên chương trình>;
<b>Uses</b> <tên các thư viện>;
<b>Const</b> <tên hằng> = <giá trị của hằng>;
<b>Var</b> <danh sách tên biến>: <kiểu dữ
liệu>;
<i>Thế nào là Biến?</i>
Biến <i>(biến nhớ): </i>là đại lượng được đặt tên. Dùng để lưu trữ
dữ liệu và dữ liệu của biến lưu trữ có thể được thay đổi trong
quá trình thực hiện chương trình.
Biến <i>(biến nhớ): </i>là đại lượng được đặt tên. Dùng để lưu trữ
dữ liệu và dữ liệu của biến lưu trữ có thể được thay đổi trong
q trình thực hiện chương trình.
<i>Giá trị của biến là gì?</i>
Ví dụ: giả sử cần in kết quả của phép cộng 15+5 ra màn hình
Ví dụ: giả sử cần in kết quả của phép cộng ra màn hình khi hai số được
nhập từ bàn phím
Ví dụ: giả sử cần in kết quả của phép cộng 15+5 ra màn hình
<i>Biến có cần phải khai báo </i>
<i>trước?</i>
Các biến dùng trong chương trình đều phải được khai
báo tên của biến.
Các biến dùng trong chương trình đều phải được khai
báo tên của biến.
<i>Trong ngơn ngữ lập trình Pascal, hãy </i>
<i>cho biết các thao tác khi khai báo biến </i>
<i>của chương trình?</i>
Khai báo <b>tên biến;</b>
<i><b>Trong ngơn ngữ lập trình Pascal, </b></i>
<i><b>việc khai báo biến có dạng như thế </b></i>
<i><b>nào?</b></i>
<b>Var</b>: là từ khố dùng để khai báo biến. Có thể
khai báo nhiều danh sách tên biến có những
kiểu dữ liệu khác nhau.
<b>Danh sách tên biến</b>: tên các biến được viết
cách nhau bởi dấu phẩy “,”.
Ví dụ
Từ khóa của ngơn
ngữ lập trình dùng
để khai báo biến
Các biến có kiểu nguyên (integer)
Các biến có kiểu thực (real)
<i>Trong ngơn ngữ lập trình Pascal, hãy </i>
<i>cho biết các thao tác khi thực hiện với </i>
<i>các biến như thế nào?</i>
<i>Trong ngơn ngữ lập trình Pascal, kiểu </i>
<i>dữ liệu của giá trị được gán cho biến </i>
<i>biến như thế nào?</i>
<i>Trong ngôn ngữ lập trình Pascal, câu </i>
<i>lệnh gán giá trị có dạng như thế nào?</i>
Trong đó dấu
Ví dụ
x← -c/b <i>(biến x nhận giá trị bằng –c/b)</i>
Lệnh trong Pascal Ý nghĩa
x:=12; Gán giá trị số 12 vào biến nhớ x
x:=y; Gán giá trị đã lưu trong biến nhớ y vào
biến nhớ x
x:=(a+b)/2; Thực hiện phép tốn tính trung bình cộng hai giá trị nằm trong hai biến nhớ a và b.
kết quả gán vào biến nhớ x
<i>Thế nào là Hằng?</i>
Hằng là đại lượng có giá trị khơng thay đổi trong quá trình
thực hiện chương trình .
Hằng là đại lượng có giá trị khơng thay đổi trong q trình
thực hiện chương trình .
<i>Hằng có cần phải khai báo </i>
<i>trước?</i>
• Các hằng dùng trong chương trình đều phải được khai báo
tên của hằng.
• Hằng phải được gán giá trị ngay sau khi khai báo.
• Các hằng dùng trong chương trình đều phải được khai báo
tên của hằng.
Ví dụ
Từ khóa của ngơn
ngữ lập trình dùng
để khai báo hằng
Hằng pi được gán giá trị tương ứng
là 3.14
CHÚ Ý
1. Biến và hằng là các đại lượng được đặt tên dùng để
lưu trữ dữ liệu. Giá trị của biến có thể thay đổi, cịn giá
trị của hằng được giữ nguyên trong suốt quá trình thực
hiện chương trình.
Thời gian 4 tiết
<i>Bài tốn là gì?</i>
Là cơng việc hay một nhiệm vụ cần phải giải quyết
Là công việc hay một nhiệm vụ cần phải giải quyết
<i>Để giải quyết được một bài toán cụ thể, </i>
<i>ta cần phải xác định rõ điều gì̀?</i>
* Xác định các điều kiện cho trước.
* Xác định các điều kiện cho trước.
* Kết quả thu được
* Kết quả thu được
Xác định bài tốn
<i>Ví dụ 1: Xét bài tốn “Tính diện tích </i>
<i>hình tam giác”.</i>
Điều kiện cho trước
Điều kiện cho trước
Kết quả cần thu được
Kết quả cần thu được
Một cạnh và đường cao
tương ứng
Một cạnh và đường cao
tương ứng
Diện tích hình tam giác
<i>Ví dụ 2: Xét bài tốn “Tìm đường đi </i>
<i>tránh các điểm nghẽn giao thông”.</i>
Điều kiện cho trước
Điều kiện cho trước
Kết quả cần thu được
Kết quả cần thu được
• Vị trí điểm nghẽn giao thơng.
• Các con đường có thể đi từ vị
trí hiện tại tới vị trí cần tới
• Vị trí điểm nghẽn giao thơng.
• Các con đường có thể đi từ vị
trí hiện tại tới vị trí cần tới
Đường đi từ vị trí hiện tại tới
vị trí cần tới mà khơng qua
điểm nghẽn giao thơng.
<i><b>Thế nào là giải bài tốn trên máy </b></i>
<i><b>tính?</b></i>
Là việc nào đó ta muốn máy tính thực hiện để từ các
điều kiện cho trước ta nhận được kết quả cần thu được
Là việc nào đó ta muốn máy tính thực hiện để từ các
điều kiện cho trước ta nhận được kết quả cần thu được
<i>Ví dụ: Tìm ước số chung lớn nhất của hai số nguyên dương M và N </i>
<i>Điều kiện cho trước: hai số nguyên dương M và N.</i>
<i>Kết quả cần thu được: Ước số chung lớn nhất của M và N.</i>
<i><b>Em hiểu như thế nào là thuận toáǹ?</b></i>
* Các bước để giải một bài toán
<i>Q trình giải bài tốn trên máy tính </i>
<i>như thế nào?</i>
1. Xác định bài tốn
1. Xác định bài tốn
2. Mơ tả thuật tốn
2. Mơ tả thuật tốn
3. Viết chương trình
3. Viết chương trình
• Xác định thơng tin đã cho (INPUT).
• Tìm được thơng tin cần tìm (OUTPUT)
• Xác định thơng tin đã cho (INPUT).
• Tìm được thơng tin cần tìm (OUTPUT)
• Tìm cách giải bài tốn
• Diễn tả bằng các lệnh cần phải thực
hiện
• Tìm cách giải bài tốn
• Diễn tả bằng các lệnh cần phải thực
hiện
• Dựa vào mơ tả thuật tốn, ta viết
chương trình bằng một ngơn ngữ lập
trình
<i>Xét bài tốṇ : Giải phương trình bậc </i>
<i>nhất dạng tởng quát ax + b = 0</i>
1. Xác định bài toán
1. Xác định bài tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Các hệ số a và b
Các hệ số a và b
Nghiệm của phương trình bậc nhất
2. Mơ tả thuật tốn
2. Mơ tả thuật tốn
Bước1 : xác định hệ số a, b;
Bước 2 : nếu a = 0 và b = 0 phương trình vơ số nghiệm B5;
Bước 3 : nếu a = 0 và b ≠ 0 phương trình vơ nghiệm B5;
Bước 4 : nếu a ≠ 0 phương trình có nghiệm x = -b/a B5;
Bước 5 : Kết thúc.
<i>Thuận tốn là gì?</i>
* Dãy hữu hạn các thao tác cần thực hiện theo một trình
tự xác định để từ INPUT của bài tốn ta nhận được
OUTPUT cần tìm.
* Dãy hữu hạn các thao tác cần thực hiện theo một trình
tự xác định để từ INPUT của bài toán ta nhận được
<i><b>Ví dụ 1: Mợt hình A được ghép từ </b></i>
<i><b>mợt hình chữ nhật với chiều rợng là </b></i>
<i><b>2a, chiều dài là b và mợt hình bán </b></i>
<i><b>nguyệt bán kính a như hình</b></i>
b
1. Xác định bài tốn
1. Xác định bài tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Các hệ số b và a
Các hệ số b và a
Diện tích S của hình A
Diện tích S của hình A
2. Mơ tả thuật tốn
2. Mơ tả thuật tốn
Bước1 : xác định hệ số b, a;
Bước 2 : Tính S1 ← 2ab;
Bước 4 : S ← S1 + S2
Bước 5 : Kết thúc.
Bước 3 : Tính S2 ← ;
<i>Ví dụ 2: Tính tởng của 100 số tự nhiên </i>
<i>đầu tiên</i>
1. Xác định bài tốn
1. Xác định bài tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100
Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100
Giá trị của tổng 1+2+…+100
2. Mơ tả thuật tốn
2. Mơ tả thuật tốn
<b>Bước1 : SUM ← 0; i ← 0;</b>
<b>Bước 2 : i ← i + 1;</b>
<i>Ví dụ 3: Đổi giá trị của hai biến x và y</i>
1. Xác định bài tốn
1. Xác định bài tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Hai biến x và y có giá trị tương ứng là a và b
Hai biến x và y có giá trị tương ứng là a và b
Hai biến x và y có giá trị tương ứng là b và a
Hai biến x và y có giá trị tương ứng là b và a
2. Mơ tả thuật tốn
2. Mơ tả thuật tốn
<i>Ví dụ 4: Cho hai số thực a và b. Hãy </i>
<i>cho biết kết quả so sánh hai số đó dưới </i>
<i>dạng “a lớn hơn b”, “a nhỏ hơn b”, “a </i>
<i>bằng b”, </i>
1. Xác định bài tốn
1. Xác định bài tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Hai số thực a và b
Hai số thực a và b
Kết quả so sánh
Kết quả so sánh
2. Mô tả thuật tốn
2. Mơ tả thuật tốn
Bước1 : Nếu a > b, kết quả là “a lớn hơn b”;
Bước 2 : Nếu a < b, kết quả là “a nhỏ hơn b”; ngược lại là
“a bằng b”;
Quả này
Quả này
mới lớn
nhất ?
Ồ ! Quả
này lớn
hơn
Tìm ra quả
lớn nhất rồi
<b>MAX</b>
1. Xác định bài toán
1. Xác định bài tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
dãy số A các số a1, a2, …,an (n≥1)
dãy số A các số a1, a2, …,an (n≥1)
Giá trị MAX = max{a1, a2, …,an}
Giá trị MAX = max{a1, a2, …,an}
2. Mô tả thuật tốn
2. Mơ tả thuật tốn
Bước1 : MAX ← a1; i ← 1;
Bước 2 : i ← i + 1;
Bước 3 : Nếu i > n, thì chuyển đến bước 5;
1. Xác định bài toán là việc xác định các điều kiện ban
đầu <i>(thông tin vào – INPUT) </i>và các kết quả cần thu
được <i>(thơng tin ra – OUTPUT).</i>
2. Giải bài tốn trên máy tính là đưa cho máy tính dãy
hữu hạn các thao tác đơn giản (thuật tốn) mà nó có
thể thực hiện được để cho ta kết quả.
3. Quá trính giải một bài tốn trên máy tính gồm các
bước: xác định bài tốn; mơ tả thuật tốn; viết chương
trình.
Thời gian 2 tiết
<i>Sách giáo khoa trang 46_phần 1, em </i>
<i>hãy đọc các ví dụ và cho biết “Những </i>
<i>hoạt động chỉ được thực hiện khi nào?</i>
• Những hoạt động chỉ được thực hiện khi một điều
kiện cụ thể được xảy ra.
Điều kiện Kiểm tra Kết quả Hoạt động tiếp
theo
Trời mưa? Long nhìn ra ngồi
trời và thấy trời
mưa
Đúng Long ở nhà
<i>(khơng đi đá </i>
<i>bóng)</i>
Em bị ốm? Buổi sáng thức
dậy, em thấy mình
hồn tồn khoẻ
mạnh
Sai Em tập thể dục
buổi sáng như
thường lệ
<i>Phép so sánh thường được sử dụng </i>
<i>như thế nào?</i>
* Dùng để biểu diễn các điều kiện
<i>Phép so sánh cho kết quả như thế nào?</i>
<i>Ví dụ 1: Chương trình in ra màn hình </i>
<i>có giá trị lớn hơn trong số hai giá trị </i>
<i>của các biến a và b. Khi đó giá trị của </i>
<i>biến a hoặc b được in ra phụ thuộc </i>
<i>vào phép so sánh a > b là đúng hay </i>
<i>sai.</i>
Nếu a>b, in giá trị của biến a ra màn hình;
<i>Trong ngơn ngữ lập trình, cấu trúc rẽ </i>
<i>nhánh được thể hiện bằng bao nhiêu </i>
<i>dạng̀? Kể ra?</i>
SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG THIẾU
Điều kiện Câu lệnh
Đúng
Sai
Lưu ý: sau <b>then</b> chỉ có 1 lệnh chương trình.
<i>Ví dụ 2: Một hiệu sách thực hiện đợt </i>
<i>khuyến mãi lớn với nội dung như sau: </i>
<i>nếu mua sách với tởng số tiền ít nhất </i>
<i>là 100.000 đồng, khách hàng sẽ được </i>
<i>giảm 30% tổng số tiền phải thanh </i>
<i>tốn. Hãy mơ tả hoạt động tính tiền </i>
<i>cho khách. </i>
thuật tốn
thuật tốn • Bước 1: Tính tổng số tiền T khách hàng đã <sub>mua sách.</sub>
• Bước 2: nếu T>100000, số tiền phải thanh
toán là 70% x T.
• Bước 3: in hố đơn
• Bước 1: Tính tổng số tiền T khách hàng đã
mua sách.
• Bước 2: nếu T>100000, số tiền phải thanh
toán là 70% x T.
SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG ĐỦ
Lưu ý: sau <b>then</b> và sau <b>else </b>chỉ có 1 lệnh chương trình.
Lưu ý: sau then và sau else chỉ có 1 lệnh chương trình.
Điều kiện
Câu lệnh 1
Đúng
Sai
<i>Ví dụ 3: Một hiệu sách thực hiện đợt </i>
<i>khuyến mãi lớn với nội dung như sau: </i>
<i>nếu mua sách với tởng số tiền ít nhất </i>
<i>là 100.000 đồng, khách hàng sẽ được </i>
<i>giảm 30% tổng số tiền phải thanh </i>
<i>tốn. Nếu mua sách với tởng số tiền </i>
<i>khơng đến 100.000 đồng. , khách </i>
<i>hàng sẽ được giảm 10% tởng số tiền </i>
<i>phải thanh tốn. Hãy mơ tả hoạt động </i>
<i>tính tiền cho khách.</i>
thuật tốn
thuật tốn • Bước 1: Tính tổng số tiền T khách hàng đã <sub>mua sách.</sub>
• Bước 2: nếu T>100000, số tiền phải thanh
toán là 70% x T; Ngược lại, số tiền phải thanh
toán là 30% x T.
• Bước 3: in hố đơn
• Bước 1: Tính tổng số tiền T khách hàng đã
mua sách.
• Bước 2: nếu T>100000, số tiền phải thanh
tốn là 70% x T; Ngược lại, số tiền phải thanh
toán là 30% x T.
<i><b>Trong ngơn ngữ lập trình, các cấu </b></i>
<i><b>trúc rẽ nhánh được thể hiện bằng </b></i>
<i><b>câu lệnh gì?</b></i>
CÂU LỆNH IF – THEN (DẠNG THIẾU)
CÂU LỆNH IF – THEN (DẠNG THIẾU)
<i>Hãy nêu dạng câu lệnh của cấu trúc rẽ nhánh </i>
<i>dạng thiếu?</i>
<b>If</b> <i><điều kiện</i>> <b>then </b><<i>câu lệnh</i>>;
<b>If </b><i><điều kiện</i>> then <<i>câu lệnh</i>>;
<i>Hãy trình bày ý nghĩa các câu lệnh của cấu </i>
<i>trúc dạng thiếu?</i>
• Khi gặp <b>câu lệnh điều kiện</b> này, chương trình sẽ kiểm tra <b>điều </b>
<b>kiện</b>. Nếu <b>điều kiện</b> được thoả mãn, chương trình sẽ thực hiện
<b>câu lệnh</b> sau từ khoá <b>then</b>. Ngược lại, <b>câu lệnh</b> đó bị bỏ qua
<i>Ví dụ 4: giả sử cần in số a ra màn hình </i>
<i>nếu a > b</i>
If a > b then write (a);
<i>Ví dụ 5: Chương trình u cầu người </i>
<i>dùng nhập một số hợp lệ, chẳng hạn </i>
<i>không lớn hơn 5, từ bàn phím. </i>
<i>Chương trình đọc số, kiểm tra tính hợp </i>
<i>lệ và thông báo nếu không hợp lệ. </i>
readln(a);
If a > 5 then write(‘So da nhap khong hop le.’);
thuật tốn
thuật tốn • Bước 1: Nhập số a;
• Bước 2: nếu a > 5 thì thơng báo lỗi
• Bước 1: Nhập số a;
CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)
CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)
<i>Hãy nêu dạng câu lệnh của cấu trúc rẽ nhánh </i>
<i>dạng đủ?</i>
<b>If</b> <i><điều kiện</i>> <b>then </b><<i>câu lệnh 1</i>> <b>else </b><<i>câu lệnh 2</i>>;
<b>If </b><i><điều kiện</i>> then <<i>câu lệnh 1</i>> else <<i>câu lệnh 2</i>>;
<i>Hãy trình bày ý nghĩa các câu lệnh của cấu </i>
<i>trúc dạng đủ?</i>
• Khi gặp <b>câu lệnh điều kiện</b> này, chương trình sẽ kiểm tra <b>điều </b>
<b>kiện</b>. Nếu <b>điều kiện</b> được thoả mãn, chương trình sẽ thực hiện
<b>câu lệnh 1</b> sau từ khố <b>then</b>.
• Trong trường hợp ngược lại, <b>câu lệnh 2</b> sẽ thực hiện
<i>Ví dụ 6: Chương trình viết kết quả của </i>
<i>a chia cho b, với a và b là hai số bất </i>
<i>kì. Phép tính chỉ thực hiện được khi b </i>
<i>≠ 0. Chương trình cần kiểm tra giá trị </i>
<i>của b. Nếu b ≠ 0 thì thực hiện phép </i>
<i>chia. Nếu b = 0 sẽ thông báo lỗi.</i>
If b<>0 then x:=a/b
else write(‘mau so bang 0, khong chia duoc’);
thuật toán
thuật toán Nếu b ≠ 0 thì tính kết quả
ngược lại thì thơng báo lỗi
Nếu b ≠ 0 thì tính kết quả
1. Cấu trúc rẽ nhánh được sử dụng để chỉ thị cho máy
tính thực hiện các hoạt động khác nhau tuỳ theo một
điều kiện cụ thể có được thoả mãn hay khơng.
2. Cấu trúc rẽ nhánh có hai dạng: dạng thiếu và dạng đủ.
3. Trong lập trình, điều kiện trong cấu trúc rẽ nhánh
thường được biểu diễn bằng các phép so sánh.
Hãy quan sát các ảnh sau
<i><b> Đánh răng mỗi ngày hai lần</b></i> <i><b>l</b><b>à </b><b>công việc l</b><b>ặp lại </b><b>với </b></i>
<i><b>số lần nh</b><b>ất định và biết trước</b><b>.</b></i>
<i><b> Mỗi </b><b>ngày t</b><b>ắm</b><b> m</b><b>ột</b><b> lần</b></i> <i><b>l</b><b>à </b><b>công việc l</b><b>ặp lại </b><b>với số </b></i>
<i><b>lần nh</b><b>ất định và biết trước</b><b>.</b></i>
<i><b> Đi h</b><b>ọc mỗi ngày một lần </b><b>l</b><b>à </b><b>công việc l</b><b>ặp lại </b><b>với </b></i>
<i><b>số lần nh</b><b>ất định và biết trước</b><b>.</b></i>
<i><b>Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi </b></i>
<i><b> Có những hoạt đợng mà chúng ta thường thực hiện lặp lại </b></i>
<i><b>với một số lần nhất định và biết trước, chẳng hạn đánh răng </b></i>
<i><b>mỗi ngày hai lần, mỗi ngày tắm mợt lần,…Chúng ta cịn lặp lại </b></i>
<i><b>công việc với số lần không thể xác định được: học cho đến khi </b></i>
<i><b>thuộc bài,nhặt từng cọng rau cho đến khi xong,…</b></i>
<i><b> Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho </b></i>
<i><b>máy thực hiện đúng công việc, trong nhiều trường hợp ta cũng </b></i>
<i><b>cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính </b></i>
<i><b>nhất định.</b></i>
<i><b>Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi </b></i>
<i><b>lặp lại nhiều lần.</b></i>
<i><b> Có những hoạt đợng mà chúng ta thường thực hiện lặp lại </b></i>
<i><b>với một số lần nhất định và biết trước, chẳng hạn đánh răng </b></i>
<i><b>mỗi ngày hai lần, mỗi ngày tắm mợt lần,…Chúng ta cịn lặp lại </b></i>
<i><b>công việc với số lần không thể xác định được: học cho đến khi </b></i>
<i><b>thuộc bài,nhặt từng cọng rau cho đến khi xong,…</b></i>
<i><b>Ví dụ 1</b></i>. <i><b>Giả sử ta cần vẽ ba hình vng có </b></i>
<i><b>cạnh 1 đơn vị như hình 33. Mỗi hình vng là </b></i>
<i><b>ảnh dịch chuyển của hình bên trái nó mợt </b></i>
<i><b>khoảng cách 2 đơn vị. Do đó, ta chỉ cần lặp lại </b></i>
•<i><b>Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:</b></i>
<i><b> Bước 1. Vẽ hình vng ( vẽ liên tiếp bốn cạnh và trở về đỉnh </b></i>
<i><b>ban đầu).</b></i>
<i><b> Bước 2. Nếu số hình vng đã vẻ được ít hơn 3, di chủn </b></i>
<i><b>bút vẻ về bên phải hai đơn vị và trở lại bước 1; ngược lại kết thúc </b></i>
<i><b>thuật toán.</b></i>
1
<b>...</b>
<i><b>Riêng bài tốn vẽ mợt hình vng (hình 34), </b></i>
<i><b>thao tác chính là vẽ bốn cạnh bằng nhau, hãy </b></i>
<i><b>lập lại bốn lần thao tác vẽ một đoạn thẳng. Sau </b></i>
<i><b>mỗi lần vẽ đoạn thẳng, thước kẻ được quay </b></i>
<i><b>mợt góc </b></i><b>90 </b> <i><b> sang phải tại vị trí của bút vẽ.</b></i>
<i><b>Thuật tốn sau đây sẽ mơ tả các bước để vẽ hình vng:</b></i>
<b>...</b>
<i>Bước1. K 0 ( là số đoạn thẳng đã </i>
<i>Bước2. K K+1. Vẽ đoạn thẳng 1 </i>
<i>đơn vị độ dài và quay thước </i>
<i>sang phải.</i>
<i>Bước3. Nếu K < 4 thì trở lại bước2; </i>
<i>Ngược lại, kết thúc thuật toán.</i>
<i><b>Ví dụ 2</b></i>. <i><b>Giả sử cần tính tổng của 100 số tự </b></i>
<i><b>nhiên đầu tiên, tức là tính:</b></i>
<i><b>S= 1+2+3+…+100.</b></i>
<i>Thuật tốn sau đây sẽ mơ tả việc thực hiện lặp lại phép cộng 100</i>
<i>lần:</i>
<i><b>Bước1. SUM 0; i 0.</b></i>
<i><b>Bước2. I i+1. </b></i>
<i><b>Bước3. Nếu i ≤ 100, thì SUM SUM + i và quay lại </b></i>
<i><b>bước 2.</b></i>
<i>Hãy nêu cấu trúc dạng lặp tiến?</i>
<i>Biến đếm: biến kiểu nguyên, kí tự </i>
<i>Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm.</i>
<i>Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.</i>
For <<i>biến đếm</i>><b>:= </b><<i>giá trị đầu</i>> to <<i>giá trị cuối</i>> do <<i>câu lệnh</i>>;
For <<i>biến đếm</i>>:= <<i>giá trị đầu</i>> to <<i>giá trị cuối</i>> do <<i>câu lệnh</i>>;
<i>Ví dụ S:=1;</i>
FOR i:=2 TO 100 DO S:=S+1/i;
<i>Câu lệnh: Không được làm thay đổi giá trị biến đếm, </i>
SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu
Biến đếm<=giá trị cuối
Lệnh cần lặp biến đếm tăng 1
Đúng
Sai
<i>Quan sát sơ </i>
<i>máy?</i>
• Bước 1: tính giá trị đầu, gán cho biến đếm.
• Bước 2: Nếu biến đếm <= giá trị cuối thì:
• thực hiện lệnh cần lặp.
<i><b>Chương trình sau sẽ in ra màn hình số lần </b></i>
<i><b>lặp</b></i>
<i><b>Program lap;</b></i>
<i><b> Uses crt;</b></i>
<i><b> Var i: integer;</b></i>
<i><b>Begin</b></i>
<i><b> For</b><b> i:= 1 </b><b>to</b><b> 10 </b><b>do</b></i>
<i><b> Writeln (‘Day la lan lap thu ’,i);</b></i>
<i><b> Readln</b></i>
<i><b>end.</b></i>
<i><b>Để in mợt chữ “O” trên màn hình, ta có thể </b></i>
<i><b>Program lap;</b></i>
<i><b> Uses crt;</b></i>
<i><b> Var i: integer;</b></i>
<i><b>Begin</b></i>
<i><b> For</b><b> i:= 1 </b><b>to</b><b> 20 </b><b>do</b></i>
<i><b> begin </b></i>
<i><b> Writeln (‘O’);</b></i>
<i><b> delay(100)</b></i>
<i><b> end;</b></i>
<i><b> Readln</b></i>
<i><b>end.</b></i>
<i>Hãy nêu cấu trúc dạng lặp lùi?</i>
<i>Biến đếm: biến kiểu nguyên, kí tự </i>
<i>Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm.</i>
<i>Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.</i>
for <<i>biến đếm</i>><b>:= </b><<i>giá trị cuối</i>> downto <<i>giá trị đầu</i>> do <<i>câu lệnh</i>>;
for <<i>biến đếm</i>><b>:= </b><<i>giá trị cuối</i>> downto <<i>giá trị đầu</i>> do <<i>câu lệnh</i>>;
<i>Ví dụ S:=1;</i>
SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu
Biến đếm>=giá trị cuối
Lệnh cần lặp biến đếm giảm 1
Đúng
Sai
<i>Quan sát sơ đồ </i>
<i>khối, hãy cho </i>
<i>biết sự thực hiện </i>
<i>của máy?</i>
• Bước 1: tính giá trị đầu, gán cho biến đếm.
• Bước 2: Nếu biến đếm >= giá trị cuối thì:
• thực hiện lệnh cần lặp.
Lưu ý:
+ Biến đếm là biến đơn, có kiểu ngun hoặc kí tự.
+ Giá trị đầu, giá trị cuối là các biểu thức có cùng kiểu với
biến đếm. Giá trị đầu phải nhỏ hơn giá trị cuối.
+ Giá trị của biến đếm được điều chỉnh tự động, vì vậy câu
lệnh viết sau DO khơng được thay đổi giá trị biến đếm
For i:=1 to 10 do write(i);
For i:=‘a’ to ‘z’ do write(i);
<i><b>Viết chương trình tính tổng </b></i>
<i><b>S=1+2+3+4+5</b></i>
<i><b>Program Tinh_tong;</b></i>
<i><b> Uses crt;</b></i>
<i><b> Var i: integer;</b></i>
<i><b> S: longint;</b></i>
<i><b> Begin</b></i>
<i><b> S:=0;</b></i>
<i><b> </b><b>For</b><b> i:= 1 </b><b>to</b><b> 5 </b><b>do</b><b> S:= S + 1;</b></i>
<i><b> Writeln (‘Tong cua S = ’,s);</b></i>
<i><b> Readln</b></i>
<i><b>Viết chương trình tính tổng của N số tự </b></i>
<i><b>nhiên đầu tiên, với N là số tự nhiên được </b></i>
<i><b>nhập vào từ bàn phím </b></i>
<i><b>Program Tinh_tong;</b></i>
<i><b> Uses crt;</b></i>
<i><b> Var N, i: integer;</b></i>
<i><b> S: longint;</b></i>
<i><b> Begin</b></i>
<i><b> write(‘Nhap so N = ‘); readln(N);</b></i>
<i><b> S:=0;</b></i>
<i><b> </b><b>For</b><b> i:= 1 </b><b>to</b><b> N </b><b>do</b><b> S:= S + i;</b></i>
<i><b> Writeln (‘Tong cua S = ’,N,’ So tu nhien dau tien S = ‘,S);</b></i>
<i><b> Readln</b></i>
<i><b>Ta kí hiệu N! là tích N số tự nhiên đầu tiên:</b></i>
<i><b>N! = 1.2.3…N</b></i>
<i><b> - Viết chương trình tính N! với N là số </b></i>
<i><b>tự nhiên được nhập vào từ bàn </b></i>
<i><b>phím.</b></i>
<i><b>Program Tính_Giai_thua;</b></i>
<i><b> Uses crt;</b></i>
<i><b> Var i, N: integer;</b></i>
<i><b> P: longint;</b></i>
<i><b> Begin</b></i>
<i><b> write (‘Nhap N = ‘); readln (N);</b></i>
<i><b> P:= 1;</b></i>
<i><b> </b><b>For</b><b> i:= 1 </b><b>to</b><b> N </b><b>do</b><b> P:= P*i;</b></i>
<i><b> Writeln (N,’! = ’,P);</b></i>
<i><b>Em hãy viết chương trình tính tổng các số </b></i>
<i><b>nguyên liên tiếp từ n đến m với n,m là các số </b></i>
<i><b>nguyên dương nhập vào từ bàn phím</b></i>
<i><b>Program tinh_tong;</b></i>
<i><b> Uses crt;</b></i>
<i><b> Var m, n, i: integer;</b></i>
<i><b> S: longint;</b></i>
<i><b> Begin</b></i>
<i><b> write (‘Nhap n = ‘); readln ( n);</b></i>
<i><b> write (‘Nhap m=‘); readln ( m);</b></i>
<i><b> S:=0;</b></i>
<i><b> For i:= n to m do S:= S + n; </b></i>
1. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực
hiện lặp lại một vài hoạt động nào đó cho đến khi một
điều kiện nào đó được thoả mãn.
2. Mọi ngơn ngữ lập trình đều có các câu lệnh lặp để thể
hiện cấu trúc lặp.
Thời gian 2 tiết
<b>...</b>
<i>Hãy đọc ví dụ 1 _ sách giáo khoa _ </i>
<i>Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, </i>
<i>3,…), ta sẽ được các kết quả T<sub>1</sub>=1, T<sub>2</sub>=1 + 2, T<sub>3</sub>=1 </i>
<i>+ 2 + 3, … tăng dần.</i>
<i>Cần cộng bao nhiêu số tự nhiên đầu tiên để ta </i>
<i>nhận được tổng T<sub>n </sub>nhỏ nhất lớn hơn 1000?</i>
<b>THUẬT TỐN</b>
<i>Nhận xét thuật tốn.</i>
* Bước 4: In kết quả: S và n là số tự nhiên nhỏ nhất sao cho
S > 1000. kết thúc thuật toán
* Bước 1: S ← 0; n ← 0; {Khởi tạo S và n}
* Bước 2: Nếu S ≤ 1000, n ← n + 1; ngược lại, chuyển đến bước 4;
* Bước 3: S ← S + n và quay lại bước 2;
Từ bước 2 đến bước 3 được lặp lại nhiều lần
nếu điều kiện S ≤ 1000 chưa được thoả mãn
và chỉ dừng khi điều kiện đó sai.
<i>Hãy nêu cấu trúc lặp với câu lệnh while - do?</i>
<i>Điều kiện: biểu thức quan hệ hoặc biểu thức logic</i>
<i>Câu lệnh: là môt câu lệnh trong Pascal</i>
<i>Quan sát sơ </i>
<i>đồ khối, hãy </i>
<i>cho biết sự </i>
<i>thực hiện của </i>
<i>máy?</i>
• Bước 1: tính giá trị của <điều kiện>.
• Bước 2: Nếu <điều kiện> có giá trị đúng thì:
• thực hiện lệnh cần lặp.
• quay lại bước 1.
SƠ ĐỒ KHỐI
Điều kiện
Câu lệnh
Đúng
Sai
<i>Chừng nào điều kiện cịn đúng thì câu lệnh còn thực hiện.</i>
<i>Với giá trị nào của n thì 1/n < 0.003?</i>
<i>Viết chương trình tính số n nhỏ nhất để 1/n </i>
<i>nhỏ hơn một sai số cho trước.</i>
Quan sát chương trình
<b>* Lần lượt thay điều kiện sai_so bằng các </b>
<b>giá trị 0.005; 0.002; 0.001, ta nhận các kết </b>
<i>Viết chương trình tính tởng T.</i>
<i>S=1 + 2 + 3 + … + n</i>
•<i> Cần cộng bao nhiêu số tự nhiên để ta </i>
<i>nhận được tổng Tn nhỏ nhất lớn hơn 1000.</i>
•<i> Tính tởng S</i>
<i>Viết chương trình tính tởng T.</i>
100
1
...
3
1
2
1
1
<i>T</i>
<i>Yêu cầu:</i>
<i>Viết chương trình theo hai dạng cấu trúc: </i>
<i>Quan sát đoạn chương trình sau:</i>
<i>Yêu cầu:</i>
<i>* Hãy cho biết chương trình trên sẽ lặp lại như thế </i>
<i>nào? </i>
1. Cấu trúc lặp với số lần chưa biết trước.
While <<i>điều kiện</i>> do <<i>câu lệnh</i> >;
2. Khi thực hiện vòng lặp, <i>điều kiện</i> trong câu lệnh phải
được thay đổi để sớm hay muộn giá trị của <i>điều kiện</i>
được chuyển từ <i>đúng</i> sang <i>sai, </i>thì chương trình sẽ
<i>Ví dụ 1: giả sử chúng ta cần viết </i>
<i>chương trình nhập điểm kiểm tra của </i>
<i>các học sinh trong một lớp và sau đó </i>
<i>in ra màn hình điểm số cao nhất.</i>
<i>1. Xác định Input, Output </i>
<i>2. Viết chương trình bài tốn trên?</i>
• Input: t1, t2, t3, t4, t5, t6, t7.
• Output: tb, dem.
<i>Ví dụ 2</i>:
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần,
1. Tính và đưa ra màn hình nhiệt độ trung bình của tuần.
2. Số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ
<i><b>Khi N lớn thì chương </b></i>
<i><b>trình có những hạn </b></i>
KHÁI NIỆM DỮ LIỆU KIỂU MẢNG
KHÁI NIỆM DỮ LIỆU KIỂU MẢNG
<i>Em hiểu như thế nào là dữ liệu kiểu mảng ?</i>
1 2 3 4 5 6 7
Trong đó
<sub>Khi tham chiếu đến phần tử thứ i - ta viết</sub><sub> A[i].</sub>
A[6] = 22.
<sub>Tên mảng : </sub>
<sub>Số phần tử của mảng: </sub>
Ví dụ:
<sub>Kiểu dữ liệu của các phần tử: </sub><sub>Kiểu nguyên</sub>
KHAI BÁO MẢNG TRONG PASCAL
KHAI BÁO MẢNG TRONG PASCAL
<i>Cấu trúc khai báo kiểu mảng trong Pascal?</i>
<b>Var</b> <i><tên biến mảng</i>><b>:</b> <b>array</b>[<<i>chỉ số đầu</i>><b>..</b><<i>chỉ số cuối</i>>] <b>of </b>
<<i>kiểu dữ liệu</i>>;
<b>Var </b><i><tên biến mảng</i>>: array[<<i>chỉ số đầu</i>>..<<i>chỉ số cuối</i>>] of
<<i>kiểu dữ liệu</i>>;
<i>Chỉ số đầu, chỉ số cuối: </i>là các hằng hoặc biểu thức nguyên.
<i>Chỉ số đầu ≤ chỉ số cuối</i>
<i>Giữa hai chỉ số là dấu <b>..</b></i>
Ví dụ: Var nhietdo : array[1..366] of integer;
<i>Ví dụ 1: giả sử chúng ta cần viết </i>
<i>chương trình nhập điểm kiểm tra của </i>
<i>các học sinh trong một lớp và sau đó </i>
<i>in ra màn hình điểm số cao nhất.</i>
<i>(khai báo biến mảng)</i>
<i>Ví dụ 2</i>:
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần,
1. Tính và đưa ra màn hình nhiệt độ trung bình của tuần.
2. Số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ
<i>Khai báo dữ liệu kiểu mảng</i>
<i>Nhập dữ liệu kiểu mảng</i>
<i>Tính tởng</i>
<sub>Nhập mảng tính tổng:</sub>
<i>Viết chương trình nhập N số nguyên từ </i>
<i>bàn phím và in ra màn hình số lớn nhất. N </i>
<i>Viết chương trình nhập N số nguyên từ </i>
<i>bàn phím và in ra màn hình số nhỏ nhất. N </i>
Kích thức của mảng phải
được khai báo bằng một con
1. Dữ liệu kiểu mảng là tập hợp hữu hạn các phần tử có
thứ tự và mọi phần tử đều có cùng một kiểu dữ liệu.
2. Việc gán giá trị, nhập giá trị và tính tốn với các giá trị
của một phần tử trong biến mảng được thực hiện thông
qua chỉ số tương ứng của phần tử đó.
Thời gian 1 tiết
<i>Làm quen với việc khởi động và </i>
<i>thực hiện các nội dung sau:</i>
• Khởi động Turbo Pascal.
• Quan sát màn hình của Turbo Pascal.
• Nhận biết các thành phần trên màn hình Turbo Pascal.
• Thao tác với thanh bảng chọn.
KHỞI ĐỘNG CHƯƠNG TRÌNH
KHỞI ĐỘNG CHƯƠNG TRÌNH
TURBO PASCAL
TURBO PASCAL
1. Chạy chương trình Turbo Pascal trên mơi trường MS_DOS
Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng
Trên màn hình desktop, double click vào biểu tượng
2. Chạy chương trình Turbo Pascal trên mơi trường WINDOWS
Trên màn hình desktop, chọn My Computer, chọn ổ đĩa C:, chọn
thư mục TP, chọn thư mục BIN, double click vào biểu tượng
Trên màn hình desktop, double click vào biểu tượng
MÀN HÌNH LÀM VIỆC CỦA
MÀN HÌNH LÀM VIỆC CỦA
TURBO PASCAL
TURBO PASCAL
Tên File chương trình
Con trỏ soạn thảo
Thanh menu <i>(thanh bảng chọn)</i>
Dịng hướng dẫn các phím chức năng
Dịng <sub>Cột</sub>
MENU BAR
MENU BAR
* Nhấn phím <b>F10 </b>để mở bảng chọn
* Sử dụng các phím
Di chuyển sang trái giữa
MENU BAR
MENU BAR
* Nhấn <b>ENTER </b>để mở bảng chọn
* Nhấn tổ hợp phím <b>Alt+E </b>để mở bảng chọn
* Nhấn tổ hợp phím <b>Alt+R </b>để mở bảng chọn
* Nhấn tổ hợp phím <b>Alt+D </b>để mở bảng chọn
* Nhấn tổ hợp phím <b>Alt+O </b>để mở bảng chọn
* Nhấn tổ hợp phím <b>Alt+H </b>để mở bảng chọn
* Sử dụng các phím
Di chuyển lên giữa các
lệnh trong một bảng chọn
THOÁT KHỎI TURBO PASCAL
THOÁT KHỎI TURBO PASCAL
* Nhấn tổ hợp phím <b>Alt+F </b>để mở bảng chọn
Click chọn
<i>Soạn thảo, lưu, dịch và chạy một </i>
<i>chương trình đơn giản. Em hãy </i>
<i>thực hiện các nội dung sau:</i>
• Khởi động Turbo Pascal.
• Gõ các dịng lệnh vào màn hình soạn thảocủa Turbo
Pascal.
* Nội dung chương trình
• Gõ đúng và khơng để sót dấu nháy đơn, dấu chấm phẩy và dấu chấm.
• Nhấn <b>ENTER </b>để xuống dịng mới.
• Nhấn phím <b>DELETE </b>hoặc <b>BACKSPACE </b>để xóa.
• <b>uses crt </b>: khai báo thư viện <b>crt</b>.
LƯU CHƯƠNG TRÌNH
LƯU CHƯƠNG TRÌNH
Nhập tên chương trình
<b>Click chọn </b>
DỊCH CHƯƠNG TRÌNH
DỊCH CHƯƠNG TRÌNH
* Nhấn tổ hợp phím <b>ALT+F9</b>
* Hoặc nhấn tổ hợp phím <b>ALT+C, </b>chọn lệnh <b>Compile</b>
CHẠY CHƯƠNG TRÌNH
CHẠY CHƯƠNG TRÌNH
* Nhấn tổ hợp phím <b>Crt+F9</b>
<i>Chỉnh sửa chương trình và nhận </i>
<i>biết một số lỡi. Em hãy thực hiện </i>
<i>các nội dung sau:</i>
• Xóa lệnh <b>begin</b>
* Xóa dịng lệnh <b>begin</b>
Thời gian 1 tiết
<i>Viết các biểu thức toán học sau </i>
<i>đây dưới dạng biểu thức trong </i>
<i>Pascal</i>
<i>Quan sát hình , hãy thực hiện các </i>
<i>cơng việc sau:</i>
Thực hiện:
1. Khởi động Turbo Pascal và gõ chương trình sau để tính các biểu
thức như trong hình.
Thực hiện:
1. Mở file mới với tên <b>CT3.pas</b>
2. Gõ chương trình như theo hình.
3. Dịch và chạy chương trình. Quan sát các kết quả nhận được và
cho nhận xét về các kết quả đó.
4. Thêm các câu lệnh <b>delay(5000) </b>vào sau mỗi câu lệnh <b>writeln </b>trong
chương trình trên. Dịch và chạy chương trình. Quan sát chương
trình tạm dừng 5 giây sau khi in từng kết quả trên màn hình.
<i>Quan sát hình , hãy thực hiện các </i>
<i>công việc sau:</i>
Thực hiện:
1. Mở file <b>CT2.pas</b>
2. Sửa ba lệnh cuối trước từ khóa end thành như hình.
3. Dịch và chạy lại chương trình.
Thời gian 2 tiết
<i>Một cửa hàng cung cấp dịch vụ bán hàng </i>
<i>thanh toán tại nhà. Khách hàng chỉ cần </i>
<i>đăng kí số lượng mặt hàng cần mua, nhân </i>
<i>viên của hàng sẽ trả hàng và nhận tiến </i>
<i>thanh toán tại nhà khách hàng. Ngồi trị </i>
<i>giá hàng hóa, khách hàng cịn phải trả </i>
<i>thêm phí dịch vụ. Hãy viết chương trình </i>
<i>Pascal để tính tiền thanh tốn trong trường </i>
<i>hợp khách hàng chỉ mua một mặt hàng </i>
<i>duy nhất.</i>
Công thức gợi ý
Thực hiện:
Thực hiện:
1. Lưu chương trình với tên <b>TINHTIEN.PAS.</b>
2. Dịch và chỉnh sửa các lỗi gõ, nếu có.
3. Chạy chương trình với các bộ dữ liệu <i>(đơn giá và số lượng) </i>như