- Thực hành nhiều để viết đúng cú pháp các lệnh Pascal sẽ bắt lỗi cú pháp cho bạn và kiểm tra tính chính xác của chương trình.. BÀI 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ - Là tập hợp các ký tự
Trang 10
SỞ GIÁO DỤC VÀ ĐÀO TẠO TPHCM TRƯỜNG THPT NGUYỄN TẤT THÀNH
VỞ GHI BÀI TIN HỌC 11
Lớp:
Họ và tên: Năm học:
Trang 2BÀI 1: KHÁI NIỆM LẬP TRÌNH VÀ
Lập trình là sử dụng ngôn ngữ lập trình để mô tả dữ liệu và diễn đạt đúng thuật toán
Trang 32
III Phương pháp học và tài liệu tham khảo
1 Phương pháp học
- Nắm vững cú pháp và các hoạt động của các câu lệnh
- Không học thuộc lòng các chương trình mẫu mà phải hiểu rõ ý nghĩa từng câu lệnh trong chương trình để áp dụng cho các chương trình khác
- Làm nhiều bài tập, và tự đưa ra bài tập (là các bài toán
ở chương trình lớp 10)
- Thực hành nhiều để viết đúng cú pháp các lệnh (Pascal
sẽ bắt lỗi cú pháp cho bạn) và kiểm tra tính chính xác của chương trình
2 Tài liệu tham khảo
a Chương trình mẫu: Trên internet rất nhiều, hoặc có thể download tại địa chỉ:
https://www.dropbox.com/sh/r9wjkw8emr9izd5/LntjxvnQ9r
b Chương trình cài đặt thực hành: Hiện nay có rất nhiều
chương trình hổ trợ ngôn ngữ Pascal như Turbo Pascal,
Borland Pascal, Free Pascal,… Các bạn nên dùng Free Pascal
- Link download Free Pascal: dung lượng file 22Mb
http://sourceforge.net/projects/freepascal/files/Win32/2.6.2/fpc-2.6.2.i386-win32.exe/download
- Hiệu chỉnh sau khi cài đặt xong: Click chuột phải vào biểu tượng Free Pascal trên màn hình và chọn Properties, cửa
sổ Properties hiện lên, chọn vào thẻ Font và chọn Size là 10 x
18, click Ok
Trang 4BÀI 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ
- Là tập hợp các ký tự dùng để viết chương trình, không
được dùng bất kỳ kí tự nào ngoài các ký tự qui định trong
bảng chữ cái
+ Bảng chữ cái bao gồm + 10 chữ số: + Các ký hiệu đặc biệt:
2 Cú pháp:
- Là bộ các qui tắc để viết chương trình, người lập trình phải
II Một số khái niệm
Trang 54
a Tên dành riêng (……….)
Ví dụ:
b Tên chuẩn:
Ví dụ: Tên các kiểu dữ liệu, các hàm của ngôn ngữ lập trình…
c Tên do người lập trình đặt: - Trong chương trình thường có nhiều đối tượng (như hằng số, biến số, tên chương trình con, tên hàm…), vì vậy để phân biệt các đối tượng thì
nhưng phải tuân thủ
và được khai báo
- Qui tắc đặt tên trong Turbo Pascal:
Trang 6
2 Hằng số
Pascal có định nghĩa sẳn một số hằng trong thư viện và người dùng có thể định nghĩa các hằng mới phục vụ cho chương trình
3 Biến số
Là một đại lượng được người dùng đặt tên, dùng để
- Phải nằm trước phần thân
- Từ đầu trước từ khoá BEGIN
- Là phần nhưng thường phải có
- Dùng để khai báo:
+ Tên chương trình: + Thư viện:
Trang 76
+ Hàm, chương trình con
2 Phần thân
- Bắt đầu bằng từ khoá ………… và kết thúc bằng …………
- Là phần bắt buộc phải có - Bao gồm các câu lệnh (
)
và lời gọi hàm hoặc gọi chương trình con - Các câu lệnh
và từ trên xuống dưới - Phần thân thường được chia thành 3 phần:
+ thường dùng thụ tục ………
+ Xử lý dữ liệu thường dùng câu lệnh:
+ thường dùng thủ tục …………
III Ví dụ chương trình đơn giản 1 Chương trình Pascal hiển thị thông tin cá nhân
Trang 8
2 Chương trình Pascal hiện câu chào “Hello World”
Lưu ý: Pascal cho phép sử dụng cặp dấu { } để chú thích cho câu lệnh trong chương trình Câu hỏi: 1 Hãy chỉ ra phần khai báo và phần thân của 02 chương trình trên và ý nghĩa từng dòng lệnh 2 Tên chương trình và tên biến phải tuân theo qui tắc nào?
Trang 9
8
Bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Do thông tin có nhiều dạng khác nhau, nên các ngôn ngữ lập trình thường xây dựng nhiều kiểu dữ liệu để thuận lợi trong việc lưu trữ, xử lý và tiết kiệm bộ nhớ
Ngôn ngữ lập trình Pascal có các kiểu dữ liệu cơ bản như sau: Kiểu số nguyên, kiểu số thực, kiểu logic, kiểu ký tự, kiểu chuổi…
Tuỳ theo nhu cầu bài toán mà người sử dụng chọn kiểu dữ liệu thích hợp sao cho đáp ứng được bài toán mà kích thước bộ nhộ nhớ lưu trữ biến là nhỏ nhất
I Kiểu sổ nguyên
Tên kiểu Kích thước
bộ nhớ
Phạm vi giá trị
II Kiểu số thực
Tên kiểu Kích thước
bộ nhớ
Phạm vi giá trị
Trang 10III Kiểu Ký tự
Tên kiểu Kích thước
bộ nhớ
Phạm vi giá trị
IV Kiểu logic
Tên kiểu Kích thước
bộ nhớ
Phạm vi giá trị
V Kiểu xâu
Tên kiểu Kích thước bộ nhớ
Yêu cầu bài học:
Cần nắm rõ tên, kích thước bộ nhớ và phạm vi của các kiểu dữ liệu
Bài tập:
1 Trong các khai báo biến sau, khai báo nào là sai?
2 Bộ nhớ cần cấp phát bao nhiêu byte để lưu trữ các biến sau: VAR X , Y : Boolean;
D: Integer;
A,B : LongInt;
Trang 1110
3 Giả sử biến p mang các giá trị từ 10 đến 256, thì khai báo nào sau đây là đúng và it tốn bộ nhớ nhất?
4 Giả sử biến p mang các giá trị từ -10 đến 256, thì khai báo nào sau đây là đúng và it tốn bộ nhớ nhất?
•-•-•
BÀI 5: KHAI BÁO BIẾN
người dùng nhập vào một hay nhiều giá trị, sau đó chúng ta mới thực hiện việc tính toán và hiển thị kết quả lại cho người
sử dụng Để lưu trữ các giá trị hoặc kết quả đó thì Pascal cung cấp cho người lập trình các “biến”
I Cú pháp khai báo
II Ví dụ
- Nhận xét: Bài toán này muốn giải được thì cần phải có giá trị của a, b và c nên ta cần phải tạo ra 3 biến để lưu các giá trị này Để giải ta phải tính delta nên ta cần một biến nữa để lưu
Trang 12giá trị delta Nếu thấy cần thiết ta có thể tạo 2 biến nữa để lưu giá trị X1 và X2
- Khai báo biến như sau:
III Các lưu ý khi khai báo biến
IV Bài tập: Hãy khai báo biến cho các bài toán sau Giải thích? 1 Viết chương trình tính S = 1 + 2 + 3 + … + n 2 Viết chương trình tính điểm trung bình HKI của hs lớp 11 3 Viết chương trình tìm số lớn nhất của 02 số
Trang 13
Bảng mô tả cách chuyển đổi từ toán học sang Pascal
Với số nguyên + , - , x , chia lấy phần dư,
chia lấy phần nguyên
Trong Pascal, biểu thức số học là sự liên kết của các
biến, giá trị, các hằng thông qua các phép toán
Trang 14Nguyên tắc thực hiện phép toán trong Pascal
- Ví dụ: Toán học Pascal 2a + b2 – (a+b)2 ………
……… n*x/a + (n*(n-1) + x*x)/(b-c) (a ≥ 3) ⋀ (b ≠ a – 2) ………
III Một số hàm cơ bản: Xem SGK trang 26 - Bình phương: ………
- Căn bậc 2: ………
- Giá trị tuyệt đối: ………
IV Biểu thức quan hệ - Cú pháp: <biểu thức 1> <phép toán quan hệ> <biểu thức 2>; - Hai biểu thức cùng kiểu dữ liệu liên kết với nhau bằng phép toán quan hệ sẽ cho ta một biểu thức quan hệ - Kết quả của biểu thức quan hệ sẽ có giá trị là ……
Trang 15- ……… là sự liên kết của hai biểu thức
quan hệ bằng các phép toán logic
- Kết quả của biểu thức logic sẽ có giá trị là …… ………
- Biến phải có kiểu phù hợp (………
………… ……… ……… ) với giá trị của biểu thức
- Ví dụ:
X1 := (-b – sqrt(b*b – 4*a*c))/2*a ;
i := i – 1;
Trang 16VII Bài tập
1 Cho biết kết quả trả về của các biểu thức sau:
a (20 mod 4) div 2 + (16 div sqr(4))
b (20 div 4) mod 2 + (15 div 4)
c abs(sqrt(16) – sqr(3)) + 2
2 Viết các biểu thức sau bằng Pascal
a Sin(5x) + cos(3x+y)=12
b 5 ≤ x ≤ 8
c
Trang 17
16
BÀI 7: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
Để khởi tạo giá trị ban đầu cho biến ta có thể dùng lệnh gán, tuy nhiên cách làm này làm cho chương trình chỉ sử dụng được một bộ dữ liệu vào Như vậy chương trình mất đi tính linh hoạt nên chúng ta sẽ tìm hiểu cách nhập dữ liệu từ bàn phím thông qua hàm Read và Readln
I Nhập dữ liệu từ bàn phím
tục chuẩn READ hoặc READLN
+ Lệnh Read kết thúc khi nhận đủ giá trị các biến
+ Lệnh Readln kết thúc khi nhận đủ các biến và người dùng nhấn phím Enter, lệnh Readln thường được dùng hơn lệnh Read
Trang 18II Đưa dữ liệu ra màn hình
Để đưa dữ liệu ra màn hình, Pascal cung cấp thủ tục WRITE hoặc WRITELN:
1 Viết chương trình giải phương trình bậc 2 với Delta>0
2 Viết chương trình xuất ra hình chữ nhật bằng các dấu *
Trang 1918
Trang 2120
BÀI 8: SOẠN THẢO – DỊCH – THỰC HIỆN
CHƯƠNG TRÌNH
Các bước thực hiện: 6 bước
B1: Khởi động chương trình Pascal
B3: Tiến hành soạn thảo chương trình
- Nếu không lỗi (Complier Successful) thì qua B6
- Nếu có lỗi cú pháp (Compiler Faile) thì Pascal sẽ hiển thị thông báo lỗi và ta tiến hành sửa và quay lại B4
Lưu ý:
+ Nên sử dụng thủ tục Readln hoặc Delay(thoi gian) hoặc
Readkey ở cuối chương trình để chương trình dừng lại cho ta xem kết quả
Trang 22Hoặc khi cần kiểm tra tính chính xác của biến, nếu biến chính xác thì ta tiến hành xử lý, còn biến không chính xác thì ta yêu cầu thay đổi và không tiến hành xử lý,…
Để giải quyết vấn đề trên Pascal cung cấp cấu trúc rẽ
- Dạng đủ
Trang 23
22
Lưu ý:
<điều kiện> thường là
Câu lệnh là các câu lệnh của Pascal
Ví dụ:
2 Cách hoạt động của If – Then
Khi gặp câu lệnh này Pascal sẽ tiến hành thực hiện trình
tự các bước như sau:
- Tiến hành tìm giá trị của biển thức logic <điều kiện>
- Nếu biểu thức <điều kiện> có giá trị …… …… ……
… thì <câu lệnh 1> sẽ được thực hiện
- Nếu biểu thức <điều kiện> có giá trị ……… thì Pascal sẽ không thực hiện <câu lệnh> và thực hiện câu lệnh
kế tiếp trong chương trình (nếu là dạng thiếu) Nếu là dạng đủ thì Pascal sẽ không thực hiện ……… mà thực hiện ………, sau đó thực hiện câu lệnh kế tiếp trong chương trình
III Câu lệnh ghép
Theo cú pháp thì sau một số từ khoá như “then”, “else”,
“do”,… phải là một câu lệnh, nhưng trong nhiều trường hợp
chúng ta muốn thực hiện nhiều câu lệnh thì Pascal cho phép
chúng ta gộp nhiều câu lệnh thành một câu lệnh ghép bằng
cách sử dụng từ khoá
Trang 24Ví dụ: xét đoạn chương trình sau:
IV Bài tập
1 Viết chương trình nhập vào 2 số và xuất ra số lớn nhất
2 Viết chương trình nhập vào 3 số và xuất ra số lớn nhất
3 Viết chương trình giải phương trình bậc 2
4 Viết chương trình để xét tính chẳn lẻ của một số nguyên được nhập vào từ bàn phím
5 Viết chương trình tính số ngày của năm với số ngày nhập vào từ bàn phím
Trang 2524
Trang 2726
Trang 28NỘI DUNG KIỂM TRA 1 TIẾT LẦN 1
Trang 2928
Trang 3130
Trang 3332
Trang 34BÀI 10: CẤU TRÚC LẶP
I Tính lặp trong thuật toán
Xét bài toán sau:
Bạn Nam tết năm 2014 nhận được 1.000.000Đ tiền mừng tuổi Bạn đem số tiền trên gửi ngân hàng Sau 1 năm bạn nhận được bao nhiêu tiền Nếu bạn tiếp tục gửi ngân hàng trong 2 năm nữa thì số tiền bạn sẽ nhận được bao nhiêu (Nam không rút tiền lời ra) với lãi xuất là 0.5%/tháng
Trang 35
Dạng lặp lùi:
Trong đó:
+ <biến đếm> thường có kiểu ……… + <Giá trị đầu> và <giá trị cuối> là các biểu thức …… …
…… … ……….…… và thường là kiểu số nguyên
+ <Giá trị đầu> phải … …… <giá trị cuối> thì câu lệnh For – Do được thực hiện Ngược lại câu lệnh For – Do
sẽ không được thực hiện
+ <câu lệnh> có thể thay bằng ……… + Số lần lặp được xác định: ………
2 Cách thức, trình tự hoạt động
- Ở dạng lặp tiến:
- Ở dạng lặp lùi:
Trang 36
3 Ví dụ: Để tính tổng tiền cho bạn Nam nhận được sau 1
năm ta có thể dùng câu lệnh For – Do như đoạn chương trình
sau:
Lưu ý quan trọng: Giá trị biến đếm sẽ tự động điều
chỉnh Do đó sau câu lệnh “Do” không được thay đổi giá trị của biến đếm
III Lặp với số lần chưa biết trước – câu lệnh While – Do
1 Cú pháp lệnh
Trong đó:
- <điều kiện>
Trang 3736
Lưu ý:
- <Câu lệnh> thường phải là câu lệnh ghép
- Phải có lệnh làm thay đổi giá trị <điều kiện>
3 Ví dụ: Để tính tổng tiền cho bạn Nam nhận được sau 1
năm ta có thể dùng câu lệnh While – Do như đoạn chương
trình sau:
Trang 38
3 Viết chương trình bắt buộc người dùng phải nhập vào một số nguyên lẻ
4 Viết chương trình tính ước chung lớn nhất của 2 số nguyên dương nhập vào từ bàn phím
Trang 39
38
Trang 40
Trang 41
40
Trang 42
Trang 43
42
Trang 44
Trang 45
44
Bài 11: MẢNG MỘT CHIỀU
I Đăc điểm mảng một chiều:
+ Là một dãy hữu hạn các phần tử + Được đặt tên và mỗi phần tử có để truy cập
- Cách truy cập phần tử của mảng một chiều
II Cách khai báo
a Khai báo trực tiếp
Ví dụ:
Trang 46
Lưu ý:
+ Chỉ số đầu <= chỉ số cuối, chỉ số đầu có thể là số âm,
nhưng thường là số ……
b Khai báo gián tiếp
Ví dụ:
Lưu ý:
+ Có thể khai báo nhiều biến cùng lúc
+ Cách khai báo rõ ràng, minh bạch
+ Từ khóa Type dùng để định nghĩa kiểu dữ liệu mới
III Xử lý dữ liệu của mảng
a Gán giá trị
* Cú pháp:
Trang 48Chương trình hoàn chỉnh
Trang 49
48
2 Viết chương trình tìm phần tử lớn nhất của dãy số nguyên gồm N phần tử (N<=250)
Các bước thực hiện:
Chương trình hoàn chỉnh
Trang 50
3 Viết chương trình sắp xếp dãy số nguyên bằng thuật toán tráo đổi
Các bước thực hiện:
Trang 5150
Chương trình hoàn chỉnh
Trang 52
Trang 53
52
Trang 54
Trang 55
54
Trang 56
Trang 57
56
Trang 58
BÀI 12: KIỂU XÂU
I Kiểu dữ liệu xâu và cách khai báo:
Xâu là dãy các kí tự trong bảng mã ASCII Số lượng kí tự trong một xâu được gọi là độ dài của xâu Xâu có độ dài 0 gọi là xâu rỗng Để khai báo kiểu dữ liệu xâu ta sử dụng từ khoá
……… tiếp theo là ……… của xâu (không vượt quá 255) được ghi trong cặp ngoặc ………
Khai báo:
Ví dụ:
Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, chẳng hạn :
Khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là ……
II Nhập, xuất dữ liệu cho biến xâu:
Dùng các lệnh ……… để nhập và ………
để xuất như nhập xuất dữ liệu bình thường
Ví dụ: