PHÒNG GIÁO DỤC ĐÀO TẠO HUYỆN TÂN THẠNH
TRƯỜNG TRUNG HỌC CƠ SỞ LÊ HỮU NGHĨA
Giáo viên: NGÔ NGỌC TRÚC LINH
Giáo án điện tử Tin Học 8
Lý thuyết
Thực hành
PMHT
Bài 2
Bài 1
Bài 4
Bài 3
Bài 6
Bài 5
Bài 8
Bài 7
Bài 9
Bài TH 2
Bài TH1
Bài TH4
Bài TH 3
Bài TH6
Bài TH5
Bài TH7
LUYỆN GÕ PHÍM NHANH VỚI FINGER BREAK OUT
TÌM HIỂU THỜI GIAN VỚI PHẦN MỀM SUN TIMES
QUAN SÁT HÌNH KHÔNG GIAN VỚI PHẦN MỀM YENKA
HỌC VẼ HÌNH VỚI PHẦN MỀM GEOGEBRA
Bài 1
MÁY TÍNH VÀ
CHƯƠNG TRÌNH MÁY TÍNH
Thời gian 1 tiết
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
* 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.
Để 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 đó.
Quan sát hình 1_sách giáo khoa. Để cho robot hoàn thành tốt công việc, ta cần phải ra các lệnh nào?
Tiến hai bước.
Quay trái, tiến một bước.
Nhặt rác.
Quay phải, tiến ba bước.
Quay trái, tiến hai bước.
Bỏ vào thùng 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 là gì?
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
Chương trình máy tính là gì?
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
Khi thực hiện chương trình ,máy tính hoạt động như thế nào?
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.
Hãy nhặt rác;
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
Tại sao cần viết chương trình?
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.
CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
010101001001
110101011011
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
Ngôn ngữ máy là gì?
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ữ lập trình là gì?
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.
Chương trình dịch là gì?
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.
Môi trường lập trình là gì?
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
Ví dụ: các ngôn ngữ lập trình như Pascal, C, Java, Basic,…
MEMORIZE
Con người chỉ dẫn cho máy tính thực hiện công việc thông qua các lệnh.
Viết chương trình là hướng dẫn máy tính thực hiện các công việc hay giải một bài toán cụ thể.
Ngôn ngữ dùng để viết các chương trình máy tính được gọi là ngôn ngữ lập trình.
DẶN DÒ
1. Trả lời câu hỏi 1, 2, 3, 4, 5 _ trang 08 _ sách giáo khoa .
Thực hiện tháng 8 năm 2009
Bài học đã
KẾT THÚC
Thân Ái Chào Các Em
Bài 2
Thời gian 1 tiết
LÀM QUEN
VỚI CHƯƠNG TRÌNH
VÀ NGÔN NGỮ LẬP TRÌNH
Quan sát chương trình sau?
VÍ DỤ VỀ CHƯƠNG TRÌNH
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
NGÔN NGỮ LẬP TRÌNH
Bảng chữ cái của các ngôn ngữ lập trình không khác nhau nhiều.
Thế nào là bảng chữ cái?
Bảng chữ cái là tập các kí tự (qui định trong bảng chữ cá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.
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
TỪ KHÓA
Từ khóa của một ngôn ngữ lập trình là gì?
Là từ dành riêng.
Được ngôn ngữ lập trình quy định dùng với ý nghĩa riêng xác định, người lập trình không được dùng với ý nghĩa khác.
Ví dụ: Trong Pascal:program, uses, const, type, var, begin, end..
Trong ngôn ngữ lập trình, có bao nhiêu loại tê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 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.
Ví dụ: Trong Pascal: abs, sqr, sqrt, interger, real, byte.
Ví dụ: Delta, CT_Vidu, …
TÊN
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ể.
Quy tắc đặt tên trong Turbo Pascal như thế nào?
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 quá 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.
Em hãy cho biết cấu trúc chung của chương trình?
Một chương trình được viết bằng ngôn ngữ lập trình có cấu trúc :
[]

CẤU TRÚC CHUNG CỦA CHƯƠNG TRÌNH
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
Begin
[]
End.
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
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 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
Cột
Vùng soạn thảo
Dùng bàn phím để soạn thảo chương trình
VÍ DỤ VỀ NGÔN NGỮ LẬP TRÌNH
Nhấn tổ hợp phím Alt+F9
Nhấn tổ hợp phím Ctrl+F9 để chạy chương trình
MEMORIZE
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 hoàn chỉnh và thực hiện được trên máy tính.
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.
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.
Tên được dùng để phân biệt các đại lượng trong chương trình và do người lập trình đặt.
DẶN DÒ
1. Trả lời câu hỏi 1, 2, 3, 4, 5, 6 _ trang 13 _ sách giáo khoa .
Bài học đã
KẾT THÚC
Thân ái chào các em
Bài 3
Thời gian 1 tiết
CHƯƠNG TRÌNH MÁY TÍNH
VÀ DỮ LIỆU
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ị đó
Hãy trình bày các kiểu dữ liệu cơ bản trong ngôn ngữ lập trình?
Kiểu số nguyên.
Kiểu số thực.
Kiểu xâu kí tự.
DỮ LIỆU VÀ KIỂU DỮ LIỆU
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
Ví dụ: ‘Chao cac ban’; ‘5324’
CÁC PHÉP TOÁN VỚI DỮ LIỆU KiỂU SỐ
Kí hiệu các phép toán số học trong ngôn ngữ Pascal
Các phép toán trong ngoặc được thực hiện trước tiên.
Trong dãy các phép toán không có dấu ngoặc, các phép nhân, phép chia lấy phần nguyên (div) và phép chia lấy phần dư (mod) đượ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
Trình bày quy tắc tính các biểu thức số học trong ngôn ngữ Pascal?
a x b – c + d
a*b – c + d
15+5*(a/2)
(x+5)/(a+3)-y(b+5)*(x+2)(x+2)
((a+b)*(c-d)+)/3-a
PHÉP TOÁN
PHÉP TOÁN TRONG PASCAL
CÁC PHÉP SO SÁNH
Kết quả của phép so sánh chỉ có thể là ĐÚNG hoặc SAI
Trong toán học
Khi viết chương trình, để so sánh dữ liệu (số, biểu thức, …) ta sử dụng các kí hiệu do ngôn ngữ lập trình quy định.
Trong ngôn ngữ Pascal
GIAO TIẾP NGƯỜI – MÁY TÍNH
a. Thông báo kết quả tính toán
Thông báo kết quả tính toán là gì?
Là yêu cầu đầu tiên đối với mọi chương trình
Ví dụ:
b. Nhập dữ liệu
Nhập dữ liệu là gì?
Là một trong những tương tác thường gặp là chương trình yêu cầu nhập dữ liệu.
Chương trình sẽ tạm ngừng để chờ người dùng “ nhập dữ liệu “ từ bàn phím.
Chương trình hoạt động tiếp theo tùy thuộc vào dữ liệu được nhập vào.
GIAO TIẾP NGƯỜI – MÁY TÍNH
Ví dụ:
c. Tạm dừng chương trình
GIAO TIẾP NGƯỜI – MÁY TÍNH
Tạm ngừng chương trình có bao nhiêu chế độ? Kể ra?
Tạm ngừng trong một khoảng thời gian nhất định.
Tạm ngừng cho đến khi người dùng nhấn phím.
d. Hộp thoại
GIAO TIẾP NGƯỜI – MÁY TÍNH
Chức năng của hộp thoại như thế nào?
Hộp thọai được sử dụng như một công cho việc giao tiếp người-máy tính trong khi chạy chương trình
MEMORIZE
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 toán có thể thực hiện trên từng kiểu dữ liệu đó.
Quá trình trao đổi dữ liệu hai chiều giữa người và máy tính khi chương trình hoạt động thường được gọi là giao tiếp hoặc tương tác người máy.
DẶN DÒ
1. Trả lời câu hỏi 1, 2, 3, 4, 5, 6, 7 _ trang 26 _ sách giáo khoa .
Thực hiện tháng 8 năm 2009
Bài học đã
KẾT THÚC
Thân ái chào các em
Bài 4
Thời gian 2 tiết
SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
Trong ngôn ngữ lập trình Pascal, hãy cho biết phần khai báo của chương trình gồm những khai báo nào?
BIẾN LÀ CÔNG CỤ TRONG LẬP TRÌNH
Thế nào là Biến?
Biến (biến nhớ): 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.
Giá trị của biến là gì?
Giá trị của biến là dữ liệu do biến lưu trữ
Ví dụ: giả sử cần in kết quả của phép cộng 15+5 ra màn hình
Câu lệnh của phép công
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
Câu lệnh dùng để nhập giá trị x, y
Ví dụ: giả sử cần in kết quả của phép cộng 15+5 ra màn hình
Nhập giá trị x bất kì, sau đó enter
Nhập giá trị y bất kì, sau đó enter
Biến có cần phải khai báo trước?
Các biến dùng trong chương trình đều phải được khai báo tên của biến.
KHAI BÁO BIẾN
Trong ngôn ngữ lập trình Pascal, hãy cho biết các thao tác khi khai báo biến của chương trình?
Khai báo tên biến;
Khai báo kiểu dữ liệu của biến
KHAI BÁO BIẾN
Trong ngôn ngữ lập trình Pascal, việc khai báo biến có dạng như thế nào?
Var :;
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)
Biến có kiểu xâu (string)
SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
Trong ngôn ngữ lập trình Pascal, hãy cho biết các thao tác khi thực hiện với các biến như thế nào?
Gán giá trị cho biến;
Tính toán với giá trị của biến
Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu của giá trị được gán cho biến biến như thế nào?
Kiểu dữ liệu của giá trị gán cho biến phải giống như với kiểu của biến
Trong ngôn ngữ lập trình Pascal, câu lệnh gán giá trị có dạng như thế nào?
Tên biến ← Biểu thức cần gán giá trị cho biến
SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
Trong đó dấu ← biểu thị phép gán
Ví dụ
x← -c/b (biến x nhận giá trị bằng –c/b)
i← i + 5 (biến I được gán giá trị hiện tại của I cộng thêm 5 đơn vị)
HẰNG
Thế nào là Hằng?
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 có cần phải khai báo trước?
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.
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
Hằng bankinh được gán giá trị tương ứng là 2
CHÚ Ý
Khi cần thay đổi giá trị của hằng, ta chỉ cần chỉnh sửa một lần tại nơi khai báo mà không phải tìm sửa trong cả chương trình.
Không thể dùng câu lệnh để thay đổi giá trị của hằng ở bất kì vị trí nào trong chương trình.
MEMORIZE
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.
Biến và hằng phải được khai báo trước khi sử dụng.
DẶN DÒ
1. Trả lời câu hỏi 1, 2, 3, 4, 5, 6 _ trang 33 _ sách giáo khoa .
Thực hiện tháng 8 năm 2009
Bài học đã
KẾT THÚC
Thân ái chào các em
Bài 5
Thời gian 4 tiết
TỪ BÀI TOÁN ĐẾN
CHƯƠNG TRÌNH
Bài toán là gì?
BÀI TOÁN VÀ XÁC ĐỊNH BÀI TOÁN
Là công việc hay một nhiệm vụ cần phải giải quyết
Để giải quyết được một bài toán cụ thể, ta cần phải xác định rõ điều gì̀?
* Xác định các điều kiện cho trước.
* Kết quả thu được
Xác định bài toán
Ví dụ 1: Xét bài toán “Tính diện tích hình tam giác”.
Điều kiện cho trước
Kết quả cần thu được
Một cạnh và đường cao tương ứng
Diện tích hình tam giác
Ví dụ 2: Xét bài toán “Tìm đường đi tránh các điểm nghẽn giao thông”.
Điều kiện cho trướ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
Đườ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.
QUÁ TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Thế nào là giải bài toán trên máy tính?
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
Ví dụ: Tìm ước số chung lớn nhất của hai số nguyên dương M và N
Điều kiện cho trước: hai số nguyên dương M và N.
Kết quả cần thu được: Ước số chung lớn nhất của M và N.
Em hiểu như thế nào là thuận toáǹ?
* Các bước để giải một bài toán
Quá trình giải bài toán trên máy tính như thế nào?
1. Xác định bài toán
2. Mô tả thuật toán
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)
Tìm cách giải bài toá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 toán, ta viết chương trình bằng một ngôn ngữ lập trình
THUẬT TOÁN VÀ MÔ TẢ THUẬT TOÁN
Xét bài toáṇ : Giải phương trình bậc nhất dạng tổng quát ax + b = 0
1. Xác định bài toán
INPUT
OUTPUT
Các hệ số a và b
Nghiệm của phương trình bậc nhất
2. Mô tả thuật toá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.
Thuận toán là gì?
* 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 OUTPUT cần tìm.
MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN
Ví dụ 1: Một hình A được ghép từ một hình chữ nhật với chiều rộng là 2a, chiều dài là b và một hình bán nguyệt bán kính a như hình
1. Xác định bài toán
INPUT
OUTPUT
Các hệ số b và a
Diện tích S của hình A
2. Mô tả thuật toá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.
Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên
1. Xác định bài toán
INPUT
OUTPUT
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 toán
Bước1 : SUM ← 0; i ← 0;
Bước 2 : i ← i + 1;
Bước 3 : Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2 ;
Bước 4 : Thông báo kết quả và kết thúc bài toán.
Ví dụ 3: Đổi giá trị của hai biến x và y
1. Xác định bài toán
INPUT
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à b và a
2. Mô tả thuật toán
Bước1 : z ← x;
Bước 2 : x ← y;
Bước 3 : y ← z;
Ví dụ 4: Cho hai số thực a và b. Hãy cho biết kết quả so sánh hai số đó dưới dạng “a lớn hơn b”, “a nhỏ hơn b”, “a bằng b”,
1. Xác định bài toán
INPUT
OUTPUT
Hai số thực a và b
Kết quả so sánh
2. Mô tả thuật toá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”;
Bước 3 : Kết thúc thuật toán;
Quả này lớn nhất
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
Ví dụ 5: Tìm số lớn nhất trong dãy số A các số a1, a2, …,an
1. Xác định bài toán
INPUT
OUTPUT
dãy số A các số a1, a2, …,an (n≥1)
Giá trị MAX = max{a1, a2, …,an}
2. Mô tả thuật toá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;
Bước 4 : Nếu ai > MAX, MAX ← ai, Quay lại bước 2;
Bước 5 : Kết thúc thuật toán;
MEMORIZE
Xác định bài toán là việc xác định các điều kiện ban đầu (thông tin vào – INPUT) và các kết quả cần thu được (thông tin ra – OUTPUT).
Giải bài toá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 toán) mà nó có thể thực hiện được để cho ta kết quả.
Quá trính giải một bài toán trên máy tính gồm các bước: xác định bài toán; mô tả thuật toán; viết chương trình.
Thuật toán là dãu hữu hạn các thao tác cần thực hiện theo một trình tự xác định để nhận được kết quả cần tìm từ những điều kiện cho trước.
DẶN DÒ
1. Trả lời câu hỏi 1, 2, 3, 4, 5, 6 _ trang 45 _ sách giáo khoa .
Thực hiện tháng 8 năm 2009
Bài học đã
KẾT THÚC
Thân ái chào các em
Bài 6
Thời gian 2 tiết
CÂU LỆNH ĐIỀU KIỆN
HOẠT ĐỘNG PHỤ THUỘC VÀO ĐIỀU KIỆN
Sách giáo khoa trang 46_phần 1, em hãy đọc các ví dụ và cho biết “Những hoạt động chỉ được thực hiện khi nào?
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 thường là một sự kiện được mô tả sau từ “nếu”
TÍNH ĐÚNG HOẶC SAI CỦA CÁC ĐIỀU KIỆN
Khi kết quả kiểm tra là đúng, ta nói điều kiện được thoả mãn, còn khi kết quả kiểm tra sai, ta nói điều kiện không thoả mãn
ĐIỀU KIỆN VÀ PHÉP SO SÁNH
Phép so sánh thường được sử dụng như thế nào?
* Dùng để biểu diễn các điều kiện
Phép so sánh cho kết quả như thế nào?
Kết quả Đúng khi điều kiện được thoả mãn
Ngược lại, điều kiện không được thoả mãn
Ví dụ 1: Chương trình in ra màn hình có giá trị lớn hơn trong số hai giá trị của các biến a và b. Khi đó giá trị của biến a hoặc b được in ra phụ thuộc vào phép so sánh a > b là đúng hay sai.
Nếu a>b, in giá trị của biến a ra màn hình;
ngược lại, in giá trị của biến b ra màn hình
CẤU TRÚC RẼ NHÁNH
Trong ngôn ngữ lập trình, cấu trúc rẽ nhánh được thể hiện bằng bao nhiêu dạng̀? Kể ra?
Cấu trúc rẽ nhánh dạng thiếu
Cấu trúc rẽ nhánh dạng đủ
SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG THIẾU
Lưu ý: sau then chỉ có 1 lệnh chương trình.
Ví dụ 2: Một hiệu sách thực hiện đợt khuyến mãi lớn với nội dung như sau: nếu mua sách với tổng số tiền ít nhất là 100.000 đồng, khách hàng sẽ được giảm 30% tổng số tiền phải thanh toán. Hãy mô tả hoạt động tính tiền cho khách.
thuật toá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.
Bước 3: in hoá đơn
SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG ĐỦ
Lưu ý: sau then và sau else chỉ có 1 lệnh chương trình.
Ví dụ 3: Một hiệu sách thực hiện đợt khuyến mãi lớn với nội dung như sau: nếu mua sách với tổng số tiền ít nhất là 100.000 đồng, khách hàng sẽ được giảm 30% tổng số tiền phải thanh toán. Nếu mua sách với tổng số tiền không đến 100.000 đồng. , khách hàng sẽ được giảm 10% tổng số tiền phải thanh toán. Hãy mô tả hoạt động tính tiền cho khách.
thuật toá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; Ngược lại, số tiền phải thanh toán là 30% x T.
Bước 3: in hoá đơn
CÂU LỆNH ĐIỀU KIỆN
Trong ngôn ngữ lập trình, các cấu trúc rẽ nhánh được thể hiện bằng câu lệnh gì?
Câu lệnh điều kiện
CÂU LỆNH IF – THEN (DẠNG THIẾU)
Hãy nêu dạng câu lệnh của cấu trúc rẽ nhánh dạng thiếu?
If <điều kiện> then ;
Hãy trình bày ý nghĩa các câu lệnh của cấu trúc dạng thiếu?
Khi gặp câu lệnh điều kiện này, chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thoả mãn, chương trình sẽ thực hiện câu lệnh sau từ khoá then. Ngược lại, câu lệnh đó bị bỏ qua
điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
câu lệnh: là một lệnh nào đó của Pascal
Ví dụ 4: giả sử cần in số a ra màn hình nếu a > b
If a > b then write (a);
Ví dụ 5: Chương trình yêu cầu người dùng nhập một số hợp lệ, chẳng hạn không lớn hơn 5, từ bàn phím. Chương trình đọc số, kiểm tra tính hợp lệ và thông báo nếu không hợp lệ.
readln(a);
If a > 5 then write(‘So da nhap khong hop le.’);
thuật toán
Bước 1: Nhập số a;
Bước 2: nếu a > 5 thì thông báo lỗi
CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)
Hãy nêu dạng câu lệnh của cấu trúc rẽ nhánh dạng đủ?
If <điều kiện> then else ;
Hãy trình bày ý nghĩa các câu lệnh của cấu trúc dạng đủ?
Khi gặp câu lệnh điều kiện này, chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thoả mãn, chương trình sẽ thực hiện câu lệnh 1 sau từ khoá then.
Trong trường hợp ngược lại, câu lệnh 2 sẽ thực hiện
điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
câu lệnh 1, câu lệnh 2 : là một lệnh nào đó của Pascal
Ví dụ 6: Chương trình viết kết quả của a chia cho b, với a và b là hai số bất kì. Phép tính chỉ thực hiện được khi b ≠ 0. Chương trình cần kiểm tra giá trị của b. Nếu b ≠ 0 thì thực hiện phép chia. Nếu b = 0 sẽ thông báo lỗi.
If b<>0 then x:=a/b
else write(‘mau so bang 0, khong chia duoc’);
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
MEMORIZE
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.
Cấu trúc rẽ nhánh có hai dạng: dạng thiếu và dạng đủ.
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.
Mọi ngôn ngữ lập trình đều có câu lệnh điều kiện để thể hiện các cấu trúc rẽ nhánh.
DẶN DÒ
1. Trả lời câu hỏi 1, 2, 3, 4, 5, 6 _ trang 51 _ sách giáo khoa .
Thực hiện tháng 8 năm 2009
Bài học đã
KẾT THÚC
Thân ái chào các em
CÂU LỆNH LẶP
Thời gian 2 tiết
Bài 7
CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
Hãy quan sát các ảnh sau
Đánh răng mỗi ngày hai lần là công việc lặp lại với số lần nhất định và biết trước.
Mỗi ngày tắm một lần là công việc lặp lại với số lần nhất định và biết trước.
Đi học mỗi ngày một lần là công việc lặp lại với số lần nhất định và biết trước.
Học cho đến khi thuộc bài là công việc lặp lại với số lần không thể xác định được.
CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi lặp lại nhiều lần.

Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng 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 công việc với số lần không thể xác định được: học cho đến khi thuộc bài,nhặt từng cọng rau cho đến khi xong,…

Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy thực hiện đúng công việc, trong nhiều trường hợp ta cũng 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 nhất định.
CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị. Do đó, ta chỉ cần lặp lại thao tác vẽ hình vuông ba lần.
Hình 33
Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:

Bước 1. Vẽ hình vuông ( vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
Bước 2. Nếu số hình vuông đã vẻ được ít hơn 3, di chuyển 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 thuật toán.
1
2
2
.....
Riêng bài toán vẽ một hình vuông (hình 34), thao tác chính là vẽ bốn cạnh bằng nhau, hãy lập lại bốn lần thao tác vẽ một đoạn thẳng. Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 90 sang phải tại vị trí của bút vẽ.
CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
Hình 34
Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:
CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
Ví dụ 2. Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính:
S= 1+2+3+…+100.
Thuật toán sau đây sẽ mô tả việc thực hiện lặp lại phép cộng 100
lần:
CẤU TRÚC DẠNG LẶP TIẾN
Hãy nêu cấu trúc dạng lặp tiến?
Biến đếm: biến kiểu nguyên, kí tự
Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm.
Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
For := to do ;
Ví dụ S:=1;
FOR i:=2 TO 100 DO S:=S+1/i;
Câu lệnh: Không được làm thay đổi giá trị biến đếm, Nếu có nhiều hơn một lệnh thì phải đặt trong cặp từ khoá Begin ... end;
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
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.
tăng biến đếm 1 đơn vị, quay lại bước 2
Chương trình sau sẽ in ra màn hình số lần lặp
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 10 do
Writeln (‘Day la lan lap thu ’,i);
Readln
end.
CẤU TRÚC DẠNG LẶP TIẾN
Để in một chữ “O” trên màn hình, ta có thể sử dụng lệnh
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
Readln
end.
CẤU TRÚC DẠNG LẶP TIẾN
CẤU TRÚC DẠNG LẶP LÙI
Hãy nêu cấu trúc dạng lặp lùi?
Biến đếm: biến kiểu nguyên, kí tự
Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm.
Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
for := downto do ;
Ví dụ S:=1;
FOR i:=100 DOWNTO 2 DO S:=S+1/i;
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
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.
giảm biến đếm 1 đơn vị, quay lại bước 2
Lưu ý:
+ Biến đếm là biến đơn, có kiểu nguyên 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);
For i:= 100 to 200 do write(i);
TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Viết chương trình tính tổng
S=1+2+3+4+5
Program Tinh_tong;
Uses crt;
Var i: integer;
S: longint;
Begin
S:=0;
For i:= 1 to 5 do S:= S + 1;
Writeln (‘Tong cua S = ’,s);
Readln
end.
TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Viết chương trình tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn phím
Program Tinh_tong;
Uses crt;
Var N, i: integer;
S: longint;
Begin
write(‘Nhap so N = ‘); readln(N);
S:=0;
For i:= 1 to N do S:= S + i;
Writeln (‘Tong cua S = ’,N,’ So tu nhien dau tien S = ‘,S);
Readln
end.
TÍNH TÍCH BẰNG CÂU LỆNH LẶP
Ta kí hiệu N! là tích N số tự nhiên đầu tiên:
N! = 1.2.3…N
- Viết chương trình tính N! với N là số tự nhiên được nhập vào từ bàn
phím.
Program Tính_Giai_thua;
Uses crt;
Var i, N: integer;
P: longint;
Begin
write (‘Nhap N = ‘); readln (N);
P:= 1;
For i:= 1 to N do P:= P*i;
Writeln (N,’! = ’,P);
Readln
end.
Em hãy viết chương trình tính tổng các số nguyên liên tiếp từ n đến m với n,m là các số nguyên dương nhập vào từ bàn phím
Program tinh_tong;
Uses crt;
Var m, n, i: integer;
S: longint;
Begin
write (‘Nhap n = ‘); readln ( n);
write (‘Nhap m=‘); readln ( m);
S:=0;
For i:= n to m do S:= S + n;
Writeln (‘Tong cua S = ’,s); Readln
end.
MEMORIZE
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.
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.
Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh For … do
Thực hiện tháng 01 năm 2009
Bài học đã
KẾT THÚC
Thân ái chào các em
LẶP VỚI SỐ LẦN
CHƯA BIẾT TRƯỚC
Thời gian 2 tiết
Bài 8
.....
Hãy đọc ví dụ 1 _ sách giáo khoa _ trang 67
CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, 3,…), ta sẽ được các kết quả T1=1, T2=1 + 2, T3=1 + 2 + 3, … tăng dần.
Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
THUẬT TOÁN
Nhận xét thuật toán.
* 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.
CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
CÂU LỆNH WHILE - DO
Hãy nêu cấu trúc lặp với câu lệnh while - do?
Điều kiện: biểu thức quan hệ hoặc biểu thức logic
Câu lệnh: là môt câu lệnh trong Pascal
While <điều kiện> do ;
Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy?
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.
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
Với giá trị nào của n thì 1/n < 0.003?
Viết chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước.
EXAMPLE 1
Nếu n (n>0) càng lớn thì 1/n càng nhỏ, nhưng luôn luôn lớn hơn 0
Quan sát chương trình
* Lần lượt thay điều kiện sai_so bằng các giá trị 0.005; 0.002; 0.001, ta nhận các kết quả khác nhau.
Viết chương trình tính tổng T.
S=1 + 2 + 3 + … + n
Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000.
Tính tổng S
EXAMPLE 2
Quan sát chương trình
EXAMPLE 3
Yêu cầu:
Viết chương trình theo hai dạng cấu trúc:
for .. do
while .. do
Quan sát chương trình
Quan sát chương trình
LẶP VÔ HẠN LẦN _ LỖI LẬP TRÌNH CẦN TRÁNH
Quan sát đoạn chương trình sau:
Yêu cầu:
* Hãy cho biết chương trình trên sẽ lặp lại như thế nào?
Vòng lặp vô tận
MEMORIZE
Cấu trúc lặp với số lần chưa biết trước.
While <điều kiện> do ;
2. Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai, thì chương trình sẽ không “rơi” vào “vòng lặp vô tận”
Bài học đã
KẾT THÚC
Thân ái chào các em
LÀM VIỆC VỚI DÃY SỐ
Thời gian 2 tiết
Bài 9
Ví dụ 1: giả sử chúng ta cần viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất.
DÃY SỐ VÀ BIẾN MẢNG
Đọc sách giáo khoa _ trang 75
Xác định Input, Output
Viết chương trình bài toán trên?
Input: t1, t2, t3, t4, t5, t6, t7.
Output: tb, dem.
Ví dụ 2:
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần,
Tính và đưa ra màn hình nhiệt độ trung bình của tuần.
Số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần.
Khi N lớn thì chương trình có những hạn chế nào?
Những hạn chế:
Phải khai báo quá nhiều biến.
Chương trình tính toán phải viết khá dài
Khắc phục những hạn chế:
Ghép chung 7 biến trên thành một dãy.
Đặt chung 1 tên và đặt cho một phần tử một chỉ số.
Sử dụng: KIỂU DỮ LIỆU MẢNG
KHÁI NIỆM DỮ LIỆU KIỂU MẢNG
Em hiểu như thế nào là dữ liệu kiểu mảng ?
Là một tập hợp hữu hạn các phần tử có thứ tự, có cùng kiểu dữ liệu.
Mảng được đặt tên và mỗi phần tử mang một chỉ số.
A
1 2 3 4 5 6 7
Trong đó
Khi tham chiếu đến phần tử thứ i - ta viết A[i].
A[6] = 22.
Tên mảng : A
Số phần tử của mảng: 7.
Ví dụ:
Kiểu dữ liệu của các phần tử: Kiểu nguyên
22
KHAI BÁO MẢNG TRONG PASCAL
Cấu trúc khai báo kiểu mảng trong Pascal?
Var : array[..] of ;
Chỉ số đầu, chỉ số cuối: là các hằng hoặc biểu thức nguyên.
Chỉ số đầu ≤ chỉ số cuối
Giữa hai chỉ số là dấu ..
Ví dụ: Var nhietdo : array[1..366] of integer;
Kiểu phần tử: kiểu của các phần tử mảng
Ví dụ 1: giả sử chúng ta cần viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất.
(khai báo biến mảng)
Đọc sách giáo khoa _ trang 76, 77
Ví dụ 2:
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần,
Tính và đưa ra màn hình nhiệt độ trung bình của tuần.
Số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần.
Khai báo dữ liệu kiểu mảng
Nhập dữ liệu kiểu mảng
Tính tổng
Đếm số phần tử thỏa mãn điều kiện
Khai báo dữ liệu kiểu mảng
Nhập mảng tính tổng:
Đếm số phần tử thỏa mãn điều kiện
Quan sát chương trình chạy và các kết quả như sau
TÌM GIÁ TRỊ LỚN NHẤT CỦA DÃY SỐ
Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số lớn nhất. N cũng được nhập từ bàn phím.
Quan sát chương trình
TÌM GIÁ TRỊ NHỎ NHẤT CỦA DÃY SỐ
Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất. N cũng được nhập từ bàn phím.
Quan sát chương trình
Lưu ý
Kích thức của mảng phải được khai báo bằng một con số cụ thể
MEMORIZE
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.
Việc gán giá trị, nhập giá trị và tính toá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ử đó.
Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn và dể dàng hơn.
Bài học đã
KẾT THÚC
Thân ái chào các em
Bài thực hành 1
Thời gian 1 tiết
LÀM QUEN
VỚI TURBO PASCAL
EXERCISE 1
Làm quen với việc khởi động và thoát khỏi Turbo Pascal. Em hãy thực hiện các nội dung sau:
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.
Thoát khỏi Turbo Pascal
KHỞI ĐỘNG CHƯƠNG
nguon VI OLET