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[r]
(1)Giáo án điện tử Tin Học 8
Giáo án điện tử Tin Học 8
Lý thuyết
Lý thuyết Thực hànhThực hành PMHTPMHT
Phân phối chương trình
Phân phối chương trình
Mục tiêu CT&SGK Tin 8
(2)Bài 2
Bài 1 Bài 3 Bài 4
Bài 6
(3)Bài TH 2 Bài TH1
Bài TH4
Bài TH 3 Bài TH6 Bài TH5
(4)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
(5)Bài 1
MÁY TÍNH VÀ
MÁY TÍNH VÀ
CHƯƠNG TRÌNH MÁY TÍNH
(6)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 phần mềm hình phần mềm khởi động
* Khi nháy đúp chuột lên biểu tượng phần mềm hình phần mềm khởi động
* Trong soạn thảo văn bản, ta gõ phím chữ chữ tương ứng xuất hình ta lệnh cho máy tính in chữ
lên hình
* Trong soạn thảo văn bản, ta gõ phím chữ chữ tương ứng xuất hình ta lệnh cho máy tính in chữ
lên hình
•Khi thực lệnh chép văn từ vị trí sang vị trí khác
ta yêu cầu máy tính thực liên tiếp nhiều lệnh: * Lệnh chép văn vào nhớ máy tính
* Lệnh chép văn có nhớ vào vị trí
•Khi thực lệnh chép văn từ vị trí sang vị trí khác
ta yêu cầu máy tính thực liên tiếp nhiều lệnh: * Lệnh chép văn vào nhớ máy tính
* Lệnh chép văn có nhớ vào vị trí
Để dẫn máy tính thực cơng việc đó, người đưa cho máy tính hay nhiều lệnh, máy tính thực lệnh
(7)Quan sát hình 1_sách giáo khoa Để cho robot hồn thành tốt cơng việc, ta cần phải lệnh nào?
1 Tiến hai bước
2 Quay trái, tiến bước Nhặt rác
4 Quay phải, tiến ba bước Quay trái, tiến hai bước Bỏ vào thùng rác
1 Tiến hai bước
2 Quay trái, tiến bước Nhặt rác
(8)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
Viết chương trình gì?
Là viết lệnh cách để điều khiển máy tính làm việc
Là viết lệnh cách để điều khiển máy tính làm việc
Chương trình máy tính gì?
Chương trình máy tính dãy lệnh mà máy tính hiểu thực
(9)Khi thực chương trình ,máy tính hoạt động nào?
Máy tính thực lệnh có chương trình cách Thực xong lệnh thực lệnh tiếp theo, từ lệnh đến lệnh cuối
Máy tính thực lệnh có chương trình cách Thực xong lệnh thực lệnh tiếp theo, từ lệnh đến lệnh cuối
Hãy nhặt rác;
Bắt đầu
Tiến bước,
Quay trái, tiến bước; Nhặt rác;
Quay phải, tiến bước; Quay trái, tiến bước; Bỏ rác vào thùng;
Kết thúc
Hãy nhặt rác; Bắt đầu
Tiến bước,
Quay trái, tiến bước; Nhặt rác;
Quay phải, tiến bước; Quay trái, tiến bước; Bỏ rác vào thùng;
Kết thúc
Ví dụ chương trình
(10)Tại cần viết chương trình?
Việc viết nhiều lệnh tập hợp lại chương trình, giúp người điều khiển máy tính cách đơn giản hiệu
(11)CHƯƠNG TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH
CHƯƠNG TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH
Thơng tin đưa vào máy tính phải chuyển đổi thành dạng dãy số 1: dãy Bit
(12)Ngôn ngữ máy gì?
Ngơn ngữ máy ngơn ngữ dành cho máy tính Máy tính trực tiếp hiểu thực
Ngôn ngữ máy ngơn ngữ dành cho máy tính Máy tính trực tiếp hiểu thực
Ngơn ngữ lập trình gì?
Ngơn ngữ lập trình ngơn ngữ dùng để viết chương trình máy tính
(13)Chương trình dịch gì?
Là chương trình dịch từ ngơn ngữ khác ngơn ngữ máy
Là chương trình dịch từ ngôn ngữ khác ngôn ngữ máy
Tuy nhiên máy tính chưa thể hiểu chương trình viết ngơn ngữ lập trình Chương trình cần chuyển sang ngơn ngữ máy chương trình dịch
(14)Mơi trường lập trình gì?
Chương trình soạn thảo chương trình dịch với cơng cụ trợ giúp tìm kiếm, sửa lỗi thực chương trình kết hợp vào phần mềm: môi trường lập trình
Chương trình soạn thảo chương trình dịch với cơng cụ trợ giúp tìm kiếm, sửa lỗi thực chương trình kết hợp vào phần mềm: mơi trường lập trình
(15)MEMORIZE
MEMORIZE
1 Con người dẫn cho máy tính thực cơng việc thơng qua lệnh.
2 Viết chương trình hướng dẫn máy tính thực hiện cơng việc hay giải tốn cụ thể. 3 Ngơn ngữ dùng để viết chương trình máy
(16)DẶN DÒ
DẶN DÒ
(17)(18)Bài 2
Thời gian tiết
LÀM QUEN
LÀM QUEN
VỚI CHƯƠNG TRÌNH
VỚI CHƯƠNG TRÌNH
VÀ NGƠN NGỮ LẬP TRÌNH
(19)Quan sát chương trình sau?
VÍ DỤ VỀ CHƯƠNG TRÌNH
VÍ DỤ VỀ CHƯƠNG TRÌNH
Lệnh khai báo tên chương trình
Lệnh khai báo tên chương trình
Lệnh in hình dịng chữ ‘Chao cac ban’
(20)a BẢNG CHỮ CÁI
a BẢNG CHỮ CÁI
Loại kí tự Biểu diễn kí tự Mã
ASCII
Kí tự chữ in hoa ‘A’ ’Z’ 65 90 Kí tự chữ 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 ‘_’
Kí tự phép toá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 ‘;’, ‘’’, ‘@’, ‘^’, ‘$’, ‘#’, ‘&’
NGÔN NGỮ LẬP TRÌNH
(21)Bảng chữ ngơn ngữ lập trình khơng khác nhiều
Bảng chữ ngơn ngữ lập trình khơng khác nhiều
Thế bảng chữ cái?
Bảng chữ tập kí tự (qui định bảng chữ cái) được dùng để viết chương trình
Bảng chữ tập kí tự (qui định bảng chữ cái) được dùng để viết chương trình
Mỗi câu lệnh chương trình gồm từ kí hiệu viết theo quy tắc định
Mỗi câu lệnh chương trình gồm từ kí hiệu viết theo quy tắc định
b QUY TẮC
b QUY TẮC
Các quy tắc quy định cách viết từ thứ tự chúng
(22)TỪ KHÓA
TỪ KHĨA
Từ khóa ngơn ngữ lập trình 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.
• 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.
(23)Trong ngôn ngữ lập trình, có loại tên?
Tên chuẩn Tên chuẩn
Tên người lập trình đặt Tên người lập trình đặt
Được ngơn ngữ lập trình quy định dùng với ý nghĩa định, người lập trình đị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, người lập trình định nghĩa lại để dùng với ý nghĩa khác
• Được dùng với ý nghĩa riêng người lập trình
• Được khai báo trước sử dụng
• Khơng trùng với tên dành riêng
• Được dùng với ý nghĩa riêng người lập trình
• Được khai báo trước sử dụng
• Khơng 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
(24)Mọi đối tượng chương trình phải đặt tên theo quy tắc ngơn ngữ lập trình chương trình dịch cụ thể
Mọi đối tượng chương trình phải đặt tên theo quy tắc ngơn ngữ lập trình chương trình dịch cụ thể
Quy tắc đặt tên Turbo Pascal nào?
Quy tắc đặt tên:
• Gồm chữ số, chữ dấu gạch • Bắt đầu chữ dấu gạch • 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 tên • Khơng trùng với từ khóa
Quy tắc đặt tên:
• Gồm chữ số, chữ dấu gạch • Bắt đầu chữ dấu gạch • Một dãy liên tiếp khơng q 127 kí tự
(25)Em cho biết cấu trúc chung chương trình?
Một chương trình viết ngơn ngữ lập trình có cấu trúc : Một chương trình viết ngơn ngữ lập trình có cấu trúc :
[<phần khai báo>]
<phần thân chương trình>
CẤU TRÚC CHUNG CỦA CHƯƠNG TRÌNH
CẤU TRÚC CHUNG CỦA CHƯƠNG TRÌNH
Khai báo tên chương trình; Khai báo thư viện;
Khai báo biến;
Gồm câu lệnh mà máy tính cần thực
Gồm câu lệnh mà máy tính cần thực
Begin
[<dãy lệnh>] End
Begin
(26)Phần khai báo
(27)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 mơi trường MS_DOS
Trê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 hình desktop, double click vào biểu tượng
2 Chạy chương trình Turbo Pascal mơi trường WINDOWS
Trê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
(28)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 phím chức Dịng Cột
(29)Dùng bàn phím để soạn thảo chương trình
VÍ DỤ VỀ NGƠN NGỮ LẬP TRÌNH
(30)(31)(32)MEMORIZE
MEMORIZE
1 Ngơn ngữ lập trình tập hợp kí hiệu quy tắc
viết lệnh tạo thành chương trình hồn chỉnh thực máy tính
2 Nhiều ngơn ngữ lập trình có tập hợp từ khóa dành riêng cho mục đích sử dụng định
3 Một chương trình thường có hai phần: Phần khai báo phần thân chương trình
(33)DẶN DÒ
DẶN DÒ
(34)(35)Bài
Thời gian tiết
CHƯƠNG TRÌNH MÁY TÍNH
CHƯƠNG TRÌNH MÁY TÍNH
VÀ DỮ LIỆU
(36)• Các ngơn ngữ lập trình định nghĩa sẵn số kiểu liệu
• Kiểu liệu xác định giá trị liệu phép tốn thực giá trị
• Các ngơn ngữ lập trình định nghĩa sẵn số kiểu liệu
• Kiểu liệu xác định giá trị liệu phép tốn thực giá trị
Hãy trình bày kiểu liệu 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
(37)Tên kiểu Phạm vi giá trị
integer Số nguyên khoảng -215 đến 215 – 1
real Số thực có giá trị tuyệt đối khoảng 2,9x10-39 đến 1,7x1038 số 0
Char Một kí tự bảng chữ
String Xâu kí tự, tối đa gồm 255 kí tự
Kiểu liệu ngơn ngữ lập trình Pascal
Trong Pascal, chương trình dịch hiểu dãy chữ số kiểu xâu Ta phải đặt dãy số cặp dấu nháy đơn
(38)CÁC PHÉP TOÁN VỚI DỮ LIỆU KiỂU SỐ
CÁC PHÉP TỐN VỚI DỮ LIỆU KiỂU SỐ
Kí hiệu Phép toán Kiểu liệu
+ Cộng Số nguyên, số thực
- Trừ Số nguyên, số thực
* Nhân Số nguyên, số thực
/ Chia Số nguyên, số thực
div Chia lấy phần
nguyên Số nguyên
mod Chia lấy phần dư Số ngun
(39)• Các phép tốn ngoặc thực trước tiên • Trong dãy phép tốn khơng có dấu ngoặc, phép nhân, phép chia lấy phần nguyên (div) phép chia lấy phần dư (mod) được thực trước
• Phép cộng phép trừ thực theo thứ tự từ trái sang phải
• Trong ngơn ngữ lập trình sử dụng dấu ngoặc trịn
• Các phép tốn ngoặc thực trước tiên • Trong dãy phép tốn khơng có dấu ngoặc, phép nhân, phép chia lấy phần nguyên (div) phép chia lấy phần dư (mod) được thực trước
• Phép cộng phép trừ thực theo thứ tự từ trái sang phải
• Trong ngơn ngữ lập trình sử dụng dấu ngoặc trịn
(40)a x b – c + d a*b – c + d
15+5*(a/2)
15 + x
a
(x+5)/(a+3)-y(b+5)*(x+2)(x+2)
x 22
5 b y a x ((a+b)*(c-d)+)/3-a
a
3 d c b a
(41)CÁC PHÉP SO SÁNH
CÁC PHÉP SO SÁNH
Kí hiệu Phép so sánh Ví dụ
= Bằng 5 = 5
< Nhỏ 3 < 5
> Lớn 9 > 6
≠ Khác 6 ≠ 5
≤ Nhỏ
bằng ≤
≥ Lớn
bằng ≥
Kết phép so sánh ĐÚNG SAI
(42)Khi viết chương trình, để so sánh liệu (số, biểu thức, …) ta sử dụng kí hiệu ngơn ngữ lập trình quy định
Khi viết chương trình, để so sánh liệu (số, biểu thức, …) ta sử dụng kí hiệu ngơn ngữ lập trình quy định
Kí hiệu
Pascal Phép so sánh Kí hiệu tốn học
= Bằng =
< Nhỏ <
> Lớn >
<> Khác ≠
<= Nhỏ
bằng ≤
>= Lớn
bằng ≥
(43)GIAO TIẾP NGƯỜI – MÁY TÍNH
GIAO TIẾP NGƯỜI – MÁY TÍNH
a Thơng báo kết tính tốn a Thơng báo kết tính tốn
Thơng báo kết tính tốn gì?
• Là u cầu chương trình
(44)(45)b Nhập liệu b Nhập liệu
Nhập liệu gì?
• Là tương tác thường gặp chương trình u cầu nhập liệu.
• Chương trình tạm ngừng để chờ người dùng “ nhập liệu “ từ bàn phím
• Chương trình hoạt động tùy thuộc vào liệu nhập vào
• Là tương tác thường gặp chương trình u cầu nhập liệu.
• Chương trình tạm ngừng để chờ người dùng “ nhập liệu “ từ bàn phím
• Chương trình hoạt động tùy thuộc vào liệu nhập vào
GIAO TIẾP NGƯỜI – MÁY TÍNH
(46)(47)c Tạm dừng chương trình c Tạm dừng chương trình
GIAO TIẾP NGƯỜI – MÁY TÍ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 khoảng thời gian định.
• Tạm ngừng khoảng thời gian định.
•Tạm ngừng người dùng nhấn phím.
(48)d Hộp thoại d Hộp thoại
GIAO TIẾP NGƯỜI – MÁY TÍNH
GIAO TIẾP NGƯỜI – MÁY TÍNH
Chức hộp thoại nào?
• Hộp thọai sử dụng cơng cho việc giao tiếp người-máy tính chạy chương trình
(49)MEMORIZE
MEMORIZE
1 Các ngơn ngữ lập trình thường phân chia liệu cần xử lí theo kiểu khác nhau, với phép tốn thực kiểu liệu
(50)DẶN DỊ
DẶN DÒ
(51)(52)Bài 4
Thời gian tiết
SỬ DỤNG BIẾN TRONG
SỬ DỤNG BIẾN TRONG
CHƯƠNG TRÌNH
(53)Trong ngơn ngữ lập trình Pascal, cho biết phần khai báo chương
trình gồm khai báo nào?
Phần khai báo
Program <tên chương trình>;
Uses <tên thư viện>;
Const <tên hằng> = <giá trị hằng>;
Var <danh sách tên biến>: <kiểu liệu>;
(54)BIẾN LÀ CÔNG CỤ TRONG LẬP TRÌNH
BIẾN LÀ CƠNG CỤ TRONG LẬP TRÌNH
Thế Biến?
Biến (biến nhớ): là đại lượng đặt tên Dùng để lưu trữ liệu liệu biến lưu trữ thay đổi trình thực chương trình
Biến (biến nhớ): là đại lượng đặt tên Dùng để lưu trữ liệu liệu biến lưu trữ thay đổi trình thực chương trình
Giá trị biến gì?
(55)Ví dụ: giả sử cần in kết phép cộng 15+5 hình
(56)Ví dụ: giả sử cần in kết phép cộng hình hai số nhập từ bàn phím
(57)Ví dụ: giả sử cần in kết phép cộng 15+5 hình
(58)Biến có cần phải khai báo trước?
Các biến dùng chương trình phải khai báo tên biến
Các biến dùng chương trình phải khai báo tên biến
KHAI BÁO BIẾN
KHAI BÁO BIẾN
Trong ngôn ngữ lập trình Pascal, cho biết thao tác khai báo biến
của chương trình?
Khai báo tên biến;
(59)KHAI BÁO 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
nào?
Var <danh sách tên biến>:<kiểu liệu>;
Var <danh sách tên biến>:<kiểu liệu>;
Var: từ khoá dùng để khai báo biến Có thể khai báo nhiều danh sách tên biến có kiểu liệu khác
Danh sách tên biến: tên biến viết cách dấu phẩy “,”
(60)Ví dụ
Từ khó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)
(61)SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
SỬ DỤNG BIẾN TRONG CHƯƠNG TRÌNH
Trong ngơn ngữ lập trình Pascal, cho biết thao tác thực với
các biến nào?
Gán giá trị cho biến;
Tính tốn với giá trị biến
Trong ngơn ngữ lập trình Pascal, kiểu dữ liệu giá trị gán cho biến
biến nào?
(62)Trong ngơn ngữ lập trình Pascal, câu lệnh gán giá trị có dạng nào?
Tên biến ← Biểu thức cần gán giá trị cho biến
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
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ị –c/b)
(63)Lệnh 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 biến nhớ y vào biến nhớ x
x:=(a+b)/2; Thực phép tốn tính trung bình cộng hai giá trị nằm hai biến nhớ a b kết gán vào biến nhớ x
(64)HẰNG
HẰNG
Thế Hằng?
Hằng đại lượng có giá trị khơng thay đổi trình thực chương trình
Hằng đại lượng có giá trị khơng thay đổi trình thực chương trình
Hằng có cần phải khai báo trước?
• Các dùng chương trình phải khai báo tên
• Hằng phải gán giá trị sau khai báo
• Các dùng chương trình phải khai báo tên
(65)Ví dụ
Từ khóa ngơn ngữ lập trình dùng để khai báo
Hằng pi gán giá trị tương ứng 3.14
(66)CHÚ Ý
1.Khi cần thay đổi giá trị hằng, ta chỉ cần chỉnh sửa lần nơi khai báo mà khơng phải tìm sửa chương trình.
2.Khơng thể dùng câu lệnh để thay đổi giá trị vị trí
trong chương trình.
1.Khi cần thay đổi giá trị hằng, ta chỉ cần chỉnh sửa lần nơi khai báo mà tìm sửa chương trình.
2.Khơng thể dùng câu lệnh để thay đổi giá trị vị trí
(67)MEMORIZE
MEMORIZE
1 Biến đại lượng đặt tên dùng để lưu trữ liệu Giá trị biến thay đổi, giá trị giữ nguyên suốt trình thực chương trình
(68)DẶN DÒ
DẶN DÒ
(69)(70)Bài
Thời gian tiết
TỪ BÀI TOÁN ĐẾN
TỪ BÀI TỐN ĐẾN
CHƯƠNG TRÌNH
(71)Bài tốn gì?
BÀI TỐN VÀ XÁC ĐỊNH BÀI TOÁN
BÀI TOÁN VÀ XÁC ĐỊNH BÀI TOÁN
Là công việc hay nhiệm vụ cần phải giải
Là công việc hay nhiệm vụ cần phải giải
Để giải toán cụ thể, ta cần phải xác định rõ điều gì̀?
* Xác định điều kiện cho trước
* Xác định điều kiện cho trước
* Kết thu
* Kết thu
Xác định toán
(72)Ví dụ 1: Xét tốn “Tính diện tích hình tam giác”.
Điều kiện cho trước
Điều kiện cho trước
Kết cần thu
Kết cần thu
Một cạnh đường cao tương ứng
Một cạnh đường cao tương ứng
Diện tích hình tam giác
(73)Ví dụ 2: Xét tốn “Tìm đường tránh điểm nghẽn giao thông”.
Điều kiện cho trước
Điều kiện cho trước
Kết cần thu
Kết cần thu
• Vị trí điểm nghẽn giao thơng • Các đường từ vị trí tới vị trí cần tới
• Vị trí điểm nghẽn giao thơng • Các đường từ vị trí tới vị trí cần tới
Đường từ vị trí tới vị trí cần tới mà khơng qua điểm nghẽn giao thơng
(74)Q TRÌNH GIẢI BÀI TỐN TRÊN MÁY TÍNH
Q TRÌNH GIẢI BÀI TỐN TRÊN MÁY TÍNH
Thế giải tốn máy tính?
Là việc ta muốn máy tính thực để từ điều kiện cho trước ta nhận kết cần thu
Là việc ta muốn máy tính thực để từ
điều kiện cho trước ta nhận kết cần thu
Ví dụ: Tìm ước số chung lớn hai số nguyên dương M N Điều kiện cho trước: hai số nguyên dương M N.
Kết cần thu được: Ước số chung lớn M N. Em hiểu thuận toáǹ?
* Các bước để giải toán
(75)Q trình giải tốn máy tính như nào?
1 Xác định toán
1 Xác định 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 thơng tin cần tìm (OUTPUT)
• Xác định thơng tin cho (INPUT) • Tìm thơng tin cần tìm (OUTPUT)
• Tìm cách giải tốn
• Diễn tả lệnh cần phải thực
• Tìm cách giải tốn
• Diễn tả lệnh cần phải thực
• Dựa vào mơ tả thuật tốn, ta viết chương trình ngơn ngữ lập trình
(76)THUẬT TỐN VÀ MƠ TẢ THUẬT TỐN
THUẬT TỐN VÀ MƠ TẢ THUẬT TỐN
Xét tốṇ : Giải phương trình bậc nhất dạng tởng qt ax + b = 0
1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Các hệ số a b
Các hệ số a b
Nghiệm phương trình bậc
(77)2 Mơ tả thuật tốn
2 Mơ tả thuật toán
Bước1 : xác định hệ số a, b;
Bước : a = b = phương trình vơ số nghiệm B5;
Bước : a = b ≠ phương trình vơ nghiệm B5;
Bước : a ≠ phương trình có nghiệm x = -b/a B5;
Bước : Kết thúc
Thuận tốn gì?
* Dãy hữu hạn thao tác cần thực theo trình tự xác định để từ INPUT tốn ta nhận
OUTPUT cần tìm
* Dãy hữu hạn thao tác cần thực theo trình tự xác định để từ INPUT toán ta nhận
(78)MỘT SỐ VÍ DỤ VỀ THUẬT TỐN
MỘT SỐ VÍ DỤ VỀ THUẬT TỐ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
2a, chiều dài b mợt hình bán nguyệt bán kính a hình
b
(79)1 Xác định tốn
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Các hệ số b a
Các hệ số b a
Diện tích S hình A
Diện tích S 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 : Tính S1 ← 2ab;
Bước : S ← S1 + S2 Bước : Kết thúc
Bước : Tính S2 ← ;
2 a
(80)Ví dụ 2: Tính tởng 100 số tự nhiên đầu tiên
1 Xác định toán
1 Xác định 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ị tổng 1+2+…+100
(81)2 Mơ tả thuật tốn
2 Mơ tả thuật tốn
Bước1 : SUM ← 0; i ← 0; Bước : i ← i + 1;
(82)Ví dụ 3: Đởi giá trị hai biến x y
1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Hai biến x y có giá trị tương ứng a b
Hai biến x y có giá trị tương ứng a b
Hai biến x y có giá trị tương ứng b a
Hai biến x y có giá trị tương ứng b a
2 Mô tả thuật tốn
2 Mơ tả thuật tốn
(83)Ví dụ 4: Cho hai số thực a b Hãy cho biết kết so sánh hai số
dạng “a lớn b”, “a nhỏ b”, “a bằng b”,
1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Hai số thực a b
Hai số thực a b
Kết so sánh
Kết so sánh
2 Mơ tả thuật tốn
2 Mơ tả thuật toán
Bước1 : Nếu a > b, kết “a lớn b”;
Bước : Nếu a < b, kết “a nhỏ b”; ngược lại “a b”;
(84)Quả lớn
Quả lớn
nhất ?
Ồ ! Quả lớn
hơn
Tìm lớn
MAX
(85)1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
dãy số A số a1, a2, …,an (n≥1)
dãy số A 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 : i ← i + 1;
Bước : Nếu i > n, chuyển đến bước 5;
(86)MEMORIZE
MEMORIZE
1 Xác định toán việc xác định điều kiện ban đầu (thông tin vào – INPUT) và kết cần thu (thông tin – OUTPUT).
2 Giải toán máy tính đưa cho máy tính dãy hữu hạn thao tác đơn giản (thuật tốn) mà thực ta kết
3 Q trính giải tốn máy tính gồm
bước: xác định tốn; mơ tả thuật tốn; viết chương trình
(87)DẶN DỊ
DẶN DÒ
(88)(89)Bài
Thời gian tiết
CÂU LỆNH ĐIỀU KIỆN
(90)HOẠT ĐỘNG PHỤ THUỘC VÀO Đ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 ví dụ cho biết “Những hoạt động chỉ thực nào?
• Những hoạt động thực điều kiện cụ thể xảy
(91)TÍNH ĐÚNG HOẶC SAI CỦA CÁC ĐIỀU KIỆN
TÍNH ĐÚNG HOẶC SAI CỦA CÁC ĐIỀU KIỆN
Điều kiện Kiểm tra Kết Hoạt động
Trời mưa? Long nhìn ngồi trời thấy trời
mưa
Đúng Long nhà
(không đá bóng)
Em bị ốm? Buổi sáng thức dậy, em thấy
hồn tồn khoẻ mạnh
Sai Em tập thể dục buổi sáng
thường lệ
(92)ĐIỀU KIỆN VÀ PHÉP SO SÁNH
ĐIỀU KIỆN VÀ PHÉP SO SÁNH
Phép so sánh thường sử dụng như nào?
* Dùng để biểu diễn điều kiện
Phép so sánh cho kết nào?
(93)Ví dụ 1: Chương trình in hình có giá trị lớn số hai giá trị của biến a b Khi giá trị
biến a b in phụ thuộc vào phép so sánh a > b hay
sai.
Nếu a>b, in giá trị biến a hình;
(94)CẤU TRÚC RẼ NHÁNH
CẤU TRÚC RẼ NHÁNH
Trong ngôn ngữ lập trình, cấu trúc rẽ nhánh thể
dạng̀? Kể ra?
(95)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 then có lệnh chương trình
(96)Ví dụ 2: Một hiệu sách thực đợt khuyến lớn với nội dung sau:
nếu mua sách với tổng số tiền là 100.000 đồng, khách hàng sẽ
giảm 30% tổng số tiền phải tốn Hãy mơ tả hoạt động tính tiền
cho khách
thuật tốn
thuật tốn • Bước 1: Tính tổng số tiền T khách hàng mua sách.
• Bước 2: T>100000, số tiền phải tốn 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: T>100000, số tiền phải toán 70% x T
(97)SƠ ĐỒ KHỐI CẤU TRÚC RẼ NHÁNH DẠNG ĐỦ
Lưu ý: sau then sau else chỉ có lệnh chương trình
Lưu ý: sau then sau else có lệnh chương trình
Điều kiện
Câu lệnh Đúng
Sai
(98)Ví dụ 3: Một hiệu sách thực đợt khuyến lớn với nội dung sau:
nếu mua sách với tởng số tiền là 100.000 đồng, khách hàng sẽ
giảm 30% tổng số tiền phải 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ẽ giảm 10% tổng số tiền phải tốn Hãy mơ tả hoạt động
tính tiền cho khách.
thuật tốn
thuật tốn • Bước 1: Tính tổng số tiền T khách hàng mua sách.
• Bước 2: T>100000, số tiền phải toán 70% x T; Ngược lại, số tiền phải toán 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: T>100000, số tiền phải toán 70% x T; Ngược lại, số tiền phải toán 30% x T
(99)CÂU LỆNH ĐIỀU KIỆN
CÂU LỆNH ĐIỀU KIỆN
Trong ngơn ngữ lập trình, cấu trúc rẽ nhánh được thể bằng
câu lệnh gì?
(100)CÂU LỆNH IF – THEN (DẠNG THIẾU)
CÂU LỆNH IF – THEN (DẠNG THIẾU)
Hãy nêu dạng câu lệnh cấu trúc rẽ nhánh dạng thiếu?
If <điều kiện> then <câu lệnh>;
If <điều kiện> then <câu lệnh>;
Hãy trình bày ý nghĩa câu lệnh 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 kiểm tra điều kiện Nếu điều kiện thoả mãn, chương trình thực
câu lệnh sau từ khoá then Ngược lại, câu lệnh bị bỏ qua
(101)Ví dụ 4: giả sử cần in số a 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 số hợp lệ, chẳng hạn
không lớn 5, từ bàn phím
Chương trình đọc số, kiểm tra tính hợp lệ thơng báo khơng hợp lệ
readln(a);
If a > then write(‘So da nhap khong hop le.’);
thuật toán
thuật tốn • Bước 1: Nhập số a;
• Bước 2: a > thơng báo lỗi
• Bước 1: Nhập số a;
(102)CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)
CÂU LỆNH IF – THEN – ELSE (DẠNG ĐỦ)
Hãy nêu dạng câu lệnh cấu trúc rẽ nhánh dạng đủ?
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
Hãy trình bày ý nghĩa câu lệnh cấu trúc dạng đủ?
• Khi gặp câu lệnh điều kiện này, chương trình kiểm tra điều kiện Nếu điều kiện thoả mãn, chương trình thực
câu lệnh 1 sau từ khoá then
• Trong trường hợp ngược lại, câu lệnh 2 thực
(103)Ví dụ 6: Chương trình viết kết a chia cho b, với a b hai số bất kì Phép tính chỉ thực b
≠ Chương trình cần kiểm tra giá trị của b Nếu b ≠ thực phép
chia Nếu b = 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
thuật tốn Nếu b ≠ tính kết
ngược lại thơng báo lỗi
Nếu b ≠ tính kết
(104)MEMORIZE
MEMORIZE
1 Cấu trúc rẽ nhánh sử dụng để thị cho máy tính thực hoạt động khác tuỳ theo điều kiện cụ thể có thoả mãn hay khơng
2 Cấu trúc rẽ nhánh có hai dạng: dạng thiếu dạng đủ Trong lập trình, điều kiện cấu trúc rẽ nhánh
thường biểu diễn phép so sánh
(105)DẶN DÒ
DẶN DÒ
(106)(107)CÂU LỆNH LẶP
CÂU LỆNH LẶP Thời gian tiết
(108)CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
Hãy quan sát ảnh sau
Đánh ngày hai lần là công việc lặp lại với số lần nhất định 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 biết trước.
Đi học ngày một lần là công việc lặp lại với số lần nhất định biết trước.
(109)CÁC CÔNG VIỆC PHẢI THỰC HIỆN NHIỀU LẦN
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 lặp lại nhiều lần.
Có hoạt đợng mà chúng ta thường thực lặp lại với một số lần nhất định biết trước, chẳng hạn đánh mỗi ngày hai lần, 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 thuộc bài,nhặt từng cọng rau xong,…
Khi viết chương trình máy tính Để dẫn cho máy thực đúng công việc, nhiều trường hợp ta cần phải viết lặp lại nhiều câu lệnh thực một phép tính nhất định.
Trong cuộc sống hằng ngày, nhiều hoạt động được lặp lặp lại nhiều lần.
Có hoạt đợng mà chúng ta thường thực lặp lại với một số lần nhất định biết trước, chẳng hạn đánh mỗi ngày hai lần, 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 thuộc bài,nhặt từng cọng rau xong,…
(110)CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆ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 vng có cạnh đơn vị hình 33 Mỗi hình vng ảnh dịch chủn hình bên trái mợt khoảng cách đơn vị Do đó, ta cần lặp lại thao tác vẽ hình vng ba lần.
(111)•Việc vẽ hình có thể thực được bằng thuật toán sau đây:
Bước Vẽ hình vng ( vẽ liên tiếp bốn cạnh trở về đỉnh ban đầu).
Bước Nếu số hình vng vẻ được ít 3, di chuyển bút vẻ về bên phải hai đơn vị trở lại bước 1; ngược lại kết thúc thuật toán.
1
(112)
Riêng tốn vẽ mợt hình vng (hình 34), thao tác chính vẽ bốn cạnh bằng nhau, 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 vị trí bút vẽ.
CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
(113)Thuật tốn sau sẽ mơ tả bước để vẽ hình vng:
Bước1 K ( số đoạn thẳng vẽ được)
Bước2 K K+1 Vẽ đoạn thẳng đơn vị độ dài quay thước
sang phải.
Bước3 Nếu K < trở lại bước2; Ngược lại, kết thúc thuật toán.
(114)CÂU LỆNH LẶP_MỘT LỆNH THAY CHO NHIỀU LỆNH
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 100 số tự nhiên đầu tiên, tức tính:
S= 1+2+3+…+100.
Thuật tốn sau sẽ mơ tả việc thực lặp lại phép cộng 100 lần:
Bước1 SUM 0; i 0. Bước2 I i+1
Bước3 Nếu i ≤ 100, SUM SUM + i quay lại bước 2.
(115)CẤU TRÚC DẠNG LẶP TIẾ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 biểu thức cùng kiểu với biến đếm. Giá trị đầu phải nhỏ giá trị cuối.
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> <câu lệnh>;
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> <câu lệnh>;
Ví dụ S:=1;
FOR i:=2 TO 100 DO S:=S+1/i;
Câu lệnh: Không làm thay đổi giá trị biến đếm,
(116)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 Đúng
Sai
Quan sát sơ đồ khối, cho biết thực
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 lệnh cần lặp
(117)Chương trình sau sẽ in hình số lần lặp
Program lap; Uses crt;
Var i: integer; Begin
For i:= to 10 do
Writeln (‘Day la lan lap thu ’,i); Readln
end.
CẤU TRÚC DẠNG LẶP TIẾN
(118)Để in mợt chữ “O” hình, ta có thể sử dụng lệnh
Program lap; Uses crt;
Var i: integer; Begin
For i:= to 20 do
begin Writeln (‘O’); delay(100) end; Readln end.
CẤU TRÚC DẠNG LẶP TIẾN
(119)CẤU TRÚC DẠNG LẶP LÙI
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 biểu thức cùng kiểu với biến đếm. Giá trị đầu phải nhỏ giá trị cuối.
for <biến đếm>:= <giá trị cuối> downto <giá trị đầu> <câu lệnh>; for <biến đếm>:= <giá trị cuối> downto <giá trị đầu> <câu lệnh>;
Ví dụ S:=1;
(120)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 Đúng
Sai
Quan sát sơ đồ khối, cho biết thực
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 lệnh cần lặp
(121)Lưu ý:
+ Biến đếm biến đơn, có kiểu ngun kí tự
+ Giá trị đầu, giá trị cuối biểu thức có kiểu với biến đếm Giá trị đầu phải nhỏ giá trị cuối
+ Giá trị biến đếm điều chỉnh tự động, câu lệnh viết sau DO không thay đổi giá trị biến đếm
For i:=1 to 10 write(i); For i:=‘a’ to ‘z’ write(i);
(122)TÍNH TỞNG BẰNG CÂU LỆNH LẶP
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:= to do S:= S + 1; Writeln (‘Tong cua S = ’,s); Readln
(123)TÍNH TỞNG BẰNG CÂU LỆNH LẶP
TÍNH TỞNG BẰNG CÂU LỆNH LẶP
Viết chương trình tính tổng N số tự nhiên đầu tiên, với N 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:= to N do S:= S + i;
Writeln (‘Tong cua S = ’,N,’ So tu nhien dau tien S = ‘,S); Readln
(124)TÍNH TÍCH BẰNG CÂU LỆNH LẶP
TÍNH TÍCH BẰNG CÂU LỆNH LẶP
Ta kí hiệu N! 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 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:= to N do P:= P*i; Writeln (N,’! = ’,P);
(125)Em viết chương trình tính tổng số nguyên liên tiếp từ n đến m với n,m 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 S:= S + n;
(126)MEMORIZE
MEMORIZE
1 Cấu trúc lặp sử dụng để thị cho máy tính thực lặp lại vài hoạt động điều kiện thoả mãn
2 Mọi ngơn ngữ lập trình có câu lệnh lặp để thể cấu trúc lặp
(127)(128)LẶP VỚI SỐ LẦN
LẶP VỚI SỐ LẦN
CHƯA BIẾT TRƯỚC
CHƯA BIẾT TRƯỚC
Thời gian tiết
(129)
Hãy đọc ví dụ _ 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
(130)Nếu cộng n số tự nhiên (n= 1, 2, 3,…), ta sẽ kết T1=1, T2=1 + 2, T3=1 + + 3, … tăng dần.
Cần cộng số tự nhiên để ta nhận tổng Tn nhỏ lớn 1000?
CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(131)THUẬT TỐN
Nhận xét thuật tốn.
* Bước 4: In kết quả: S n số tự nhiên nhỏ cho S > 1000 kết thúc thuật toán
* Bước 1: S ← 0; n ← 0; {Khởi tạo S 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 quay lại bước 2;
Từ bước đến bước lặp lại nhiều lần điều kiện S ≤ 1000 chưa thoả mãn dừng điều kiện sai
CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(132)CÂU LỆNH WHILE - DO
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ệ biểu thức logic Câu lệnh: môt câu lệnh Pascal
While <điều kiện> <câu lệnh >;
(133)Quan sát sơ đồ khối, cho biết thực
máy?
• Bước 1: tính giá trị <điều kiện>
• Bước 2: Nếu <điều kiện> có giá trị thì: • thực lệnh cần lặp
• quay lại bước
SƠ ĐỒ KHỐI
Điều kiện
Câu lệnh Đúng
Sai
Chừng điều kiện cịn câu lệnh cịn thực hiện.
(134)Với giá trị n 1/n < 0.003? Viết chương trình tính số n nhỏ để 1/n
nhỏ sai số cho trước.
EXAMPLE
EXAMPLE
(135)Quan sát chương trình
* Lần lượt thay điều kiện sai_so giá trị 0.005; 0.002; 0.001, ta nhận kết
(136)Viết chương trình tính tởng T. S=1 + + + … + n
• Cần cộng số tự nhiên để ta nhận tổng Tn nhỏ lớn 1000. • Tính tởng S
EXAMPLE 2
(137)(138)EXAMPLE 3
EXAMPLE 3
Viết chương trình tính tởng T.
100
1
T
Yêu cầu:
Viết chương trình theo hai dạng cấu trúc:
(139)(140)(141)LẶP VÔ HẠN LẦN _ LỖI LẬP TRÌNH CẦN 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 sẽ lặp lại nào?
(142)MEMORIZE
MEMORIZE
1 Cấu trúc lặp với số lần chưa biết trước
While <điều kiện> <câu lệnh >;
2 Khi thực vòng lặp, điều kiện câu lệnh phải thay đổi để sớm hay muộn giá trị điều kiện
được chuyển từ đúng sang sai, thì chương trình
(143)(144)LÀM VIỆC VỚI DÃY SỐ
LÀM VIỆC VỚI DÃY SỐ Thời gian tiết
(145)Ví dụ 1: giả sử cần viết chương trình nhập điểm kiểm tra các học sinh lớp sau
in hình điểm số cao nhất.
DÃY SỐ VÀ BIẾN MẢNG
DÃY SỐ VÀ BIẾN MẢNG
(146)1 Xác định Input, Output
2 Viết chương trình tố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) ngày tuần, Tính đưa hình nhiệt độ trung bình tuần Số lượng ngày tuần có nhiệt độ cao nhiệt độ
(147)Khi N lớn chương trình có hạn
(148)Những hạn chế:
Phải khai báo q nhiều biến.
Chương trình tính tốn phải viết dài
Khắc phục hạn chế:
Ghép chung biến thành dãy.
Đặt chung tên đặt cho phần tử số.
(149)KHÁI NIỆM DỮ LIỆU KIỂU MẢNG
KHÁI NIỆM DỮ LIỆU KIỂU MẢNG
Em hiểu liệu kiểu mảng ?
Là tập hợp hữu hạn phần tử
có thứ tự, có kiểu liệu.
Mảng đặt tên phần tử
(150)17 20 24 10 16 22 18
A
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ử mảng: 7
Ví dụ:
Kiểu liệu phần tử: Kiểu nguyên
(151)KHAI BÁO MẢNG TRONG PASCAL
KHAI BÁO MẢNG TRONG PASCAL
Cấu trúc khai báo kiểu mảng Pascal?
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ số cuối>] of
<kiểu liệu>;
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>;
Chỉ số đầu, chỉ số cuối: là biểu thức nguyên
Chỉ số đầu ≤ chỉ số cuối Giữa hai chỉ số dấu
Ví dụ: Var nhietdo : array[1 366] of integer;
(152)Ví dụ 1: giả sử cần viết chương trình nhập điểm kiểm tra các học sinh lớp sau
in hình điểm số cao nhất. (khai báo biến mảng)
(153)Ví dụ 2:
Nhập vào nhiệt độ (trung bình) ngày tuần, Tính đưa hình nhiệt độ trung bình tuần Số lượng ngày tuần có nhiệt độ cao nhiệt độ
(154)Khai báo liệu kiểu mảng
Nhập liệu kiểu mảng Tính tởng
(155)(156)Nhập mảng tính tổng:
(157)(158)TÌM GIÁ TRỊ LỚN NHẤT CỦA DÃY SỐ
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 in hình số lớn N
(159)(160)TÌM GIÁ TRỊ NHỎ NHẤT CỦA DÃY SỐ
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 in hình số nhỏ N
(161)(162)Lưu ý
Kích thức mảng phải khai báo
(163)MEMORIZE
MEMORIZE
1 Dữ liệu kiểu mảng tập hợp hữu hạn phần tử có thứ tự phần tử có kiểu liệu Việc gán giá trị, nhập giá trị tính tốn với giá trị
của phần tử biến mảng thực thông qua số tương ứng phần tử
(164)(165)Bài thực hành Bài thực hành
Thời gian tiết
LÀM QUEN
LÀM QUEN
VỚI TURBO PASCAL
(166)EXERCISE 1
EXERCISE 1
Làm quen với việc khởi động thoát khỏi Turbo Pascal Em
thực nội dung sau:
• Khởi động Turbo Pascal
• Quan sát hình Turbo Pascal
• Nhận biết thành phần hình Turbo Pascal • Thao tác với bảng chọn
(167)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 mơi trường MS_DOS
Trê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 hình desktop, double click vào biểu tượng
2 Chạy chương trình Turbo Pascal mơi trường WINDOWS
Trê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 hình desktop, double click vào biểu tượng
SUPPLEMENT KNOWLEDGE
(168)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 (thanh bảng chọn)
Dòng hướng dẫn phím chức Dịng Cột
(169)MENU BAR
MENU BAR
* Nhấn phím F10 để mở bảng chọn
* Sử dụng phím
Di chuyển sang trái bảng chọn
(170)MENU BAR
MENU BAR
* Nhấn ENTER để mở bảng chọn
(171)* Nhấn tổ hợp phím Alt+E để mở bảng chọn
(172)* Nhấn tổ hợp phím Alt+R để mở bảng chọn
(173)* Nhấn tổ hợp phím Alt+D để mở bảng chọn
(174)* Nhấn tổ hợp phím Alt+O để mở bảng chọn
(175)* Nhấn tổ hợp phím Alt+H để mở bảng chọn
* Sử dụng phím
Di chuyển lên lệnh bảng chọn
(176)THOÁT KHỎI TURBO PASCAL
THOÁT KHỎI TURBO PASCAL
* Nhấn tổ hợp phím Alt+F để mở bảng chọn
Click chọn
(177)EXERCISE 2
EXERCISE 2
Soạn thảo, lưu, dịch chạy chương trình đơn giản Em
thực nội dung sau:
• Khởi động Turbo Pascal
• Gõ dịng lệnh vào hình soạn thảocủa Turbo Pascal
(178)SUPPLEMENT KNOWLEDGE
SUPPLEMENT KNOWLEDGE
* Nội dung chương trình
• Gõ khơng để sót dấu nháy đơn, dấu chấm phẩy dấu chấm • Nhấn ENTER để xuống dịng
• Nhấn phím DELETE hoặc BACKSPACE để xóa
• uses crt : khai báo thư viện crt
(179)LƯU CHƯƠNG TRÌNH
LƯU CHƯƠNG TRÌNH
Nhập tên chương trình
Click chọn
(180)DỊCH CHƯƠNG TRÌNH
DỊCH CHƯƠNG TRÌNH * Nhấn tổ hợp phím ALT+F9
* Hoặc nhấn tổ hợp phím ALT+C, chọn lệnh Compile
(181)CHẠY CHƯƠNG TRÌNH
CHẠY CHƯƠNG TRÌNH * Nhấn tổ hợp phím Crt+F9
(182)EXERCISE 3
EXERCISE 3
Chỉnh sửa chương trình nhận biết số lỗi Em thực
các nội dung sau:
• Xóa lệnh begin
(183)* Xóa dịng lệnh begin
(184)(185)MEMORIZE
MEMORIZE
• Lệnh writeln in thơng tin hình đưa trỏ xuống đầu dòng tiếp theo.
(186)DẶN DÒ
DẶN DÒ
1 Đọc phần đọc thêm _ trang 19 _ sách giáo khoa
(187)(188)Bài thực hành
Bài thực hành
Thời gian tiết
VIẾT CHƯƠNG TRÌNH ĐỂ
VIẾT CHƯƠNG TRÌNH ĐỂ
TÍNH TỐN
(189)EXERCISE 1A
EXERCISE 1A
Viết biểu thức toán học sau đây dạng biểu thức
Pascal 12 30 -15x4 1 5 18 1 3 5 10
3 1
2 10
3 1
2 10
(190)EXERCISE 1B
EXERCISE 1B
Quan sát hình , thực cơng việc sau:
Thực hiện:
1 Khởi động Turbo Pascal gõ chương trình sau để tính biểu thức hình
(191)EXERCISE 2
EXERCISE 2
(192)Thực hiện:
1 Mở file với tên CT3.pas
2 Gõ chương trình theo hình
3 Dịch chạy chương trình Quan sát kết nhận cho nhận xét kết
4 Thêm câu lệnh delay(5000) vào sau câu lệnh writeln trong chương trình Dịch chạy chương trình Quan sát chương trình tạm dừng giây sau in kết hình
(193)EXERCISE 3
EXERCISE 3
Quan sát hình , thực công việc sau:
Thực hiện:
1 Mở file CT2.pas
2 Sửa ba lệnh cuối trước từ khóa end thành hình Dịch chạy lại chương trình
(194)MEMORIZE
MEMORIZE
• Delay(x) tạm ngừng chương trình vịng x phần
nghìn giây, sau tự động tiếp tục chạy.
• Read hoặc Readln tạm ngừng chương trình
khi người dùng nhấn phím Enter.
• Câu lệnh writeln(<giá trị thực>:n:m) được dùng để điều khiển cách in số thực hình,
giá trị thực là số hay biểu thức số thực; n là số tự
(195)DẶN DÒ
DẶN DÒ
1 Đọc phần đọc thêm _ trang 19 _ sách giáo khoa
(196)(197)Bài thực hành
Bài thực hành
Thời gian tiết
KHAI BÁO
KHAI BÁO
VÀ SỬ DỤNG BIẾN
(198)EXERCISE 1
EXERCISE 1
Một cửa hàng cung cấp dịch vụ bán hàng thanh toán nhà Khách hàng chỉ cần đăng kí số lượng mặt hàng cần mua, nhân
viên hàng sẽ trả hàng nhận tiến thanh tốn nhà khách hàng Ngồi trị
giá hàng hóa, khách hàng cịn phải trả thêm phí dịch vụ Hãy viết chương trình Pascal để tính tiền tốn trường
hợp khách hàng chỉ mua mặt hàng duy nhất.
Công thức gợi ý
(199)Thực hiện:
(200)Thực hiện:
1 Lưu chương trình với tên TINHTIEN.PAS.
2 Dịch chỉnh sửa lỗi gõ, có
3 Chạy chương trình với liệu (đơn giá số lượng) như sau (1000, 20), (3500, 200), (18500, 123) Kiểm tra tính kết in