Tải bản đầy đủ (.doc) (16 trang)

Bài Giảng Tin Học Ngôn Ngữ Lập Trình Pascal

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 (240.71 KB, 16 trang )

BỘ QUỐC PHÒNG

HỌC VIỆN QUÂN Y

BÀI GIẢNG TIN HỌC

NGÔN NGỮ LẬP TRÌNH PASCAL

Bộ môn: Toán – Tin học
Người biên soạn: Hoàng Anh

NĂM HỌC 2009 - 2010

1


BỘ QUỐC PHÒNG

Mẫu 4PP

HỌC VIỆN QUÂN Y
K80

KẾ HOẠCH BÀI GIẢNG
I. PHẦN THỦ TỤC
Bộ môn:

Toán – Tin học

Đối tượng học viên:


Dài hạn

Tên bài giảng:

NGÔN NGỮ LẬP TRÌNH PASCAL

Người biên soạn:

Hoàng Anh

Thời gian giảng

180 phút

Năm học:

2009-2010

II. MỤC TIÊU HỌC TẬP
• Nắm được các bước giải quyết một bài toán trên máy tính điện tử.
• Hiểu và sử dụng được các công cụ diễn giải thuật toán: sơ đồ khối và ngôn
ngữ mô phỏng.
• Biết cách làm việc với môi trường làm việc tích hợp của Turbo Pascal.
• Nắm vững những khái niệm cơ bản của ngôn ngữ: bảng chữ cái, tên, từ khoá,
tên chuẩn, hằng, biến, cách chú giải chương trình.
• Hệ thống hoá được các kiểu dữ liệu của Pascal. Nắm vững và có thể sử dụng
được các kiểu dữ liệu vô hướng chuẩn: số nguyên, số thực, logic, ký tự khi
viết chương trình.
• Nắm được cấu trúc cơ bản của một chương trình Pascal. Biết cách khai báo
hằng, biến, kiểu. Sử dụng được toán tử gán, các toán tử vào ra dữ liệu

• Viết được những chương trình tính toán đơn giản theo cấu trúc tuần tự

III. KỸ THUẬT TIẾN HÀNH
Loại bài giảng:

Lý thuyết

Phương pháp dạy học:

Trình chiếu + Diễn giảng

Hình thức tổ chức dạy học:

Tập trung tại phòng giảng

Phương tiện dạy học:

Máy tính; Máy chiếu; Bảng; Phấn

2


IV. PHÂN BỐ THỜI GIAN
5’

I. CÁC BƯỚC GIẢI BÀI TOÁN TRÊN
MTĐT
1. Thiết kế bài toán
2. Thuật toán
3. Lập chương trình

Diễn giải thuật toán sang sơ đồ khối hoặc ngôn
ngữ mô phỏng
Ngôn ngữ mô phỏng
Sơ đồ khối
Ví dụ: Hai thuật toán tính tổng n số tự nhiên đầu
tiên
Lập chương trình
Giới thiệu môi trường soạn thảo & biên dịch của
Pascal
Biên dịch
Hiệu chỉnh
Thực hiện chương trình

Thời
gian

Phương
pháp

Phương
tiện

5’
5’
10’

20’
24’

1’



của
học
sinh
Nghe giảng; Ghi chép; Tham gia ý kiến xây dựng bài

Nội dung bài giảng

170’

Bảmg phấn, máy chiếu

Giới thiệu nội dung bài giảng:

Diễn giảng

Tổ chức lớp:

II. NGÔN NGỮ LẬP TRÌNH PASCAL
1. Một số khái niệm cơ bản
Bảng chữ cái
Tên
Tên chuẩn
Dấu chầm phẩy
Chú giải chương trình
Từ khoá
Hằng, biến
dữ liệu
2. Các kiểu dữ liệu

Phân loại các kiểu dữ liệu
Kiểu số nguyên
Kiểu số thực
Kiểu logic
Kiểu ký tự
Khái niệm đếm được, không đếm được

20’

45’

3


3. Cấu trúc một chương trình PASCAL
4. Khai báo biến, hằng, kiểu
5. Biểu thức
6. Toán tử gán
7. Các toán tử vào ra
8. Một số thủ tục thường sử dụng
9. Ví dụ
Tính tổng của 3 số a, b, c cho trước
Tính tổng của n số tự nhiên đầu tiên

5’
4’
1’
5’
9’
1’

10’
10’

Tóm tắt bài, nhấn mạnh những điểm quan trọng cần lưu ý

5’

V. KIỂM TRA ĐÁNH GIÁ (thông tin phản hồi)
VI. TỔNG KẾT BÀI GIẢNG
VII. NHẬN XÉT RÚT KINH NGHIỆM
VIII. BỔ SUNG

Thông qua

Ngày 12 tháng 12 năm 2009

Chủ nhiệm bộ môn

Người làm kế hoạch

Vũ Quang Thường

Hoàng Anh

4


BỘ QUỐC PHÒNG

Mẫu 5PP


HỌC VIỆN QUÂN Y
DUYỆT CỦA CHỦ NHIỆM
Ngày 12 tháng 12 năm 2009

Vũ Quang Thường

Bộ môn, khoa:

Toán – Tin học

Môn học:

Tin học cơ sở

Tên bài giảng:

NGÔN NGỮ LẬP TRÌNH PASCAL

Mã hiệu bài giảng:
Thời gian giảng:

180 phút

Năm học:

2008-2009

Người biên soạn:


Hoàng Anh

5


NỘI DUNG
I. CÁC BƯỚC GIẢI BÀI TOÁN TRÊN MÁY TÍNH ĐIỆN TỬ.
1. Thiết kế bài toán.
• Tìm hiểu vấn đề cần giải quyết.
• Dữ liệu đầu vào.
• Dữ liệu đầu ra.
• Các tham số, điều kiện có liên quan.
• Phương tiện cho phép sử dụng để giải quyết vấn đề.
Người cán bộ tin học cần khái quát, tổng hợp những thông tin thu nhận được và xây
dựng được bài toán mà mình cần phải giải quyết một cách rõ ràng, chính xác và khoa
học.
2. Tìm phương pháp giải quyết vấn đề và thuật toán.
Sau khi đã thiết kế xong bài toán, cần tìm được phương pháp giải quyết bài toán.
Trong tin học, phương pháp giải quyết vấn đề được mô tả bằng thuật toán.
Thuật toán là những mô tả đến chi tiết về phương pháp và cách thức giải quyết một
vấn đề. Những mô tả này chi tiết đến mức mà người thực hiện không cần hiểu gì về
nội dung và bản chất của vấn đề, chỉ cần theo đúng những bước đã mô tả thì sau một
số hữu hạn bước là có thể giải quyết được vấn đề một cách chính xác và hoàn thiện.
Yêu cầu cơ bản đối với một thuật toán là:
• Phải đúng.
• Sau một số hữu hạn bước phải dừng và cho kết quả đúng.
3. Lập chương trình.
a. Diễn giải thuật toán sang dạng sơ đồ khối hoặc ngôn ngữ mô phỏng.
Ngôn ngữ mô phỏng là ngôn ngữ mà nguời lập trình quy định để mô tả thuật giải
của minh. Tuỳ theo ý muốn của người lập trinh mà có thể có nhiều dạng khác nhau.

Có thể dùng tiếng việt, có thể dùng ngôn ngữ phỏng Pascal hoặc kết hợp. Khi sử
dụng ngôn ngữ mô phỏng, người sử dụng chỉ tập trung chú ý đến việc diễn đạt thuật
toán mà không cần chú ý đến những quy định về syntax của một ngôn ngữ cụ thể
nào.
Ví dụ: Ngôn ngữ PceudoPascal (Phỏng Pascal)
Read(x)

Đọc biến x

Write(x)

Viết ra giá trị của x

If b then việc 1 else việc 2

Nếu b là đúng thì làm việc 1, nếu không thì làm
việc 2
6


For i = 1 to n do <việc 1>

Làm việc 1 n lần

While b do <việc 1>

Làm việc 1 cho đến khi b nhận giá trị sai

Sơ đồ khối là một trong những cách mà người lập trình hay dùng để mô tả thuật
toán. Sơ đồ khối thường được diễn giải bằng những phương tiện mô tả chính sau:

Có thể tính theo hai cách là cộng dồn hoặc tính theo công thức
- Tổng = Σ i

(0 ≤ i ≤ n)

- Tổng = n(n+1)/2
Thuật toán được diễn đạt theo dạng sơ đồ khối như sau:
Begin
Begin
Đọc n
Đọc n

S := 0; i:=1

S := n(n+1)/2
In ra S

True

i <=
n

False

S := S + i

In ra S

i:= i + 1


End

End

b. Lập chương trình.
Các bước lập chương trình bao gồm:
• Chọn ngôn ngữ.
• Phân bố bộ nhớ.
• Phiên dịch thuật giải từ ngôn ngữ mô phỏng hoặc sơ đồ khối sang ngôn ngữ
đã chọn (viết chương trình nguồn).
• Nhập chương trình nguồn vào máy.
Chương trình nguồn được soạn thảo và biên dịch nhờ môi trường phát triển
tích hợp (IDE – Integrated Development Environment) của Turbo Pascal. File
chương trình chính có tên là Turbo.exe.
Một số chức năng chính cần chú ý là:
Khởi động: Turbo ↵
Thoát: Alt + X
Lưu chương trình nguồn: File -> Save (F2)

7


Mở chương trình mới: File -> Open (F3)
Di chuyển giữa các cửa sổ: F6
Trên mỗi cửa sổ chỉ soạn thảo và biên dịch một chương trình. Mỗi
chương trình nên lưu trữ vào một file riêng biệt trên đĩa.
Các phím soạn thảo: Arrows, Insert, Delete, Home, End, Page Up,
Page Down, Back Space, Enter.
Đánh dấu khối: Shift + Arrow.
Các thao tác sao chép, cắt dán, xoá khối: Ctrl+K+C, Ctrl+K+V,

Ctrl+K+Y, Ctrl+K+H.
• Dịch chương trình nguồn sang ngôn ngữ máy (F9). Khi dịch ta sẽ được thông
báo về các lỗi cú pháp (nếu có) để sửa chữa.
• Hiệu chỉnh chương trình:
Sửa các lỗi cú pháp
Sửa lỗi thuật toán
Sửa lỗi do khả năng của máy.
c. Thực hiện chương trình: Ctrl + F9

II. NGÔN NGỮ LẬP TRÌNH PASCAL.
Ngôn ngữ Pascal do Niklaus Wirth (Đại học kỹ thuật Zurich, Thụy sĩ) sáng tạo ra và
công bố vào đầu những năm 70. Ngôn ngữ được đặt tên bằng tên nhà toán học
người Pháp Blaise Pascal. Tồn tại rất nhiều phiên bản của Pascal trong đó có phiên
bản Turbo Pascal của hãng Borland (Mỹ). Pascal là ngôn ngữ lập trình có cấu trúc.
Dễ học và được dùng để dạy lập trình trong rất nhiều trường đaị học.
Một trong những định nghĩa nổi tiếng của tác giả là:
Cấu trúc dữ liệu + Giải thuật = Chương trình

1. Một số khái niệm cơ bản:
Bảng chữ cái:

Ký tự: A-Z, a-z
Ký số: 0 – 9
Dấu gạch nối: _ (Chú ý phân biệt với dấu trừ - )
Các ký hiệu toán học thông dụng: + - * / Div Mod
Các phép toán quan hệ, logic: <>, =, >, <, >=, <=, AND, OR, NOT

8



Tên:

Là một dãy các ký tự (chữ cái, chữ số) bắt đầu bằng chữ cái, không chứa các
dấu cách). Ví dụ: Delta, X1, X2, Epsilon. Độ dài của tên phụ thuộc vào
Version của Pascal.
Các đối tượng trong chương trình (hằng, biến, hàm, chương trình con) đều
được đặt tên để truy cập.
Để lám sáng sủa tên, người ta dùng các dấu gạch nối (vì không được phép sử
dụng dấu cách).
Tên chuẩn:

Tên chuẩn là những tên được định nghĩa từ trước. Người lập trình không được
phép đặt trùng.
Ví dụ: Boolean, Char, Integer, Real, Bytes, Text, False, True, MaxInt, ABS,
Arctan, Chr, Cos, Sin, Ord, Pred, Succ
Dấu chấm phẩy. Dùng để ngăn cách câu lệnh
Lời giải thích (Comment):

Dùng để chú giải cho các đoạn mã của chương trình
Nằm trong cặp ngoặc {

..........

} hoặc (*

.............

*)

Từ khoá:


Là những từ mang ý nghĩa nhất định đã được ngôn ngữ định nghĩa sẵn và
người lập trình không được sử dụng với ý nghĩa mới
Ví dụ: Begin, End, Program ...
Hằng, Biến:

Hằng và biến là những ô nhớ trong RAM được truy cập bằng tên. Sự khác
biệt giữa chúng là hằng có giá trị không đổi từ khi khởi tạo còn giá trị của biến
có thể thay đổi được theo thời điểm.

9


Dữ liệu.

Số liệu ban đầu
Nguyên (Integer)

Các ký tự.
Các hồ sơ nghiêm chỉnh.
2. Các kiểu dữ liệu

Thực (Real)
Chuẩn

Logic (Boolean)
Ký tự (Char)

Vô hướng
Người

dùng
định
nghĩa

Dữ liệu

Dạng liệt kê
Khoảng con

Mảng (array)
Tập hợp (Set)

Có cấu trúc

Bản ghi (Record)
Tệp (File)
Kiểu xâu ký tự (String)
Kiểu con trỏ (pointer)

Kiểu số nguyên (Integer)

Pascal chuẩn sử dụng 2 byte để lưu trữ một số nguyên. Từ version 5.0 trở lên
dùng 4 byte để lưu trữ
Các phép tính số học với số nguyên: +, -, *, /, DIV, MOD
Các phép toán quan hệ dùng để so sánh số nguyên với nhau và với số thực:
<>, =, >, <, >=, <=.
Hàm ODD(n) Cho giá trị True nếu n lẻ, False nếu n chẵn).
Các kiểu số nguyên chuẩn:
Integer


-32 768 ÷ 32 767 = MaxInt

Byte

0 ÷ 255

ShortInt

-128 ÷ 127

Word

0 ÷ 65 355

LongInt

- 2 147 483 648 ÷ 2 147 483 647

10


Kiểu thực (REAL)

Tương tự như với kiểu Integer
Không tồn tại phép DIV và MOD với số thực.
Dạng biểu diễn: Có hai dạng là dấu phẩy tĩnh và dấu phảy động.
Các hàm số học chuẩn dùng cho cả số nguyên và số thực: ABS(x), SQR(x),
Sin(x), Cos(x), Arctan(x), Ln(x), Exp(x), SQRT(x).
Frac(x): cho phần phân số của x. Frac(2.05) = 0.05
RanDom(n): Cho một số nguyên ngẫu nhiên nằm trong khoảng 0 ÷ n.

Trunc(x): Cho phần nguyên của x. Trunc(3.95) = 3.
Round(x): Làm tròn x. Round(3.67) = 4; Round(3.25) = 3
Các kiểu số thực mở rộng:
Kiểu

Số byte dùng để lưu trữ

Số chữ số có nghĩa

Single

4

7 - 8

Real

6

11 – 12

Double

8

15 - 16

Extended

10


19 - 20

Kiểu logic

Chỉ nhận hai giá trị là True và False.
Các phép toán: AND OR NOT.
Các phép toán quan hệ cho kết quả kiểu logic: <>, =, >, <, >=, <=.
Kiểu ký tự (Char)

Là các chữ viết: A – Z, a – z, 0 – 9.
Hằng ký tự được viết trong dấu nháy đơn ‘a’.
Bộ mã ASCII dùng 1 byte để mã hoá toàn bộ các ký tự. -> có thể biểu diễn tới
256 ký tự
A = 65, B = 66, ... Z = 90
a = 97, b = 98, ... z = 122
0 = 48, 9 = 57
Các ký tự nằm trong bảng mã từ 0 đến 9 là các ký tự điều khiển.
Không in được.
Ký tự 7 là Bell. 13 là Enter. 27 là Escape.
Các hàm ký tự chuẩn thường dùng
ORD(ch): cho số thứ tự của ch trong bộ mã
CHR(n): Cho ký tự có số thứ tự là n trong bảng mã
11


PRED(ch): cho ký tự nằm liền trước (Pred(ch) = CHR(ORD(ch) – 1)
SUCC(ch): cho ký tự nằm liền sau (Succ(ch) = CHR(ORD(ch) + 1)
Khái niệm về đếm được, không đếm được


Trong các kiểu dữ liệu chuẩn, Chỉ có kiểu Real là kiểu không đếm được.
3. Cấu trúc một chương trình Pascal.

Một chương trình bất kỳ bao giờ cũng gồm ba thành phần cấu trúc sau
Phần tên chương trình

Program <tên chương trình>;

Phần khai báo, mô tả

Khai báo các nhãn (Label)
Khai báo các hằng (Const)
Khai báo các kiểu (Type)
Khai báo các biến (Var)
Khai báo các chương trình con (Procedure,
Function)

Phần thân chương trình

Begin
Dòng lệnh 1;
Dòng lệnh 2;
..............
Dòng lệnh n;
End.

Khai báo các nhãn (Label) thường đi với toán tử Go To là một trong những toán tử
thường không được khuyến khích sử dụng trong các ngôn ngữ lập trình có cấu trúc.
4. Khai báo biến, hằng và kiều.


Hằng được khai báo như sau
Const
Tên hằng 1 = <Giá trị hằng 1>;
Tên hằng 2 = <Giá trị hằng 2>;
Biến được khai báo như sau
Var
Tên biến 1, Tên biến 2, ... Tên biến n: <Kiểu>;

12


Kiểu dữ liệu mới được mô tả và khai báo như sau
Type
Color = (Red, Green, Blue);
Var
C: Color;
5. Biểu thức:

Biểu thức phải được viết dưới dạng dòng ký tự
Ví dụ:

ax2 + bx + c
(a*x*x + b*x + c)/(e*x + f)

cx + f
6. Toán tử gán.

Cú pháp:

Tên biến := Biểu thức;


Biểu thức và biến phải cùng kiểu dữ liệu
Nguyên lý làm việc: Tính toán giá trị cuả biểu thức bên phải và gán giá trị cho biến
có tên nằm ở bên trái.
Ví dụ:
A := 4;
A := A + 1; Kết quả là biến A có giá trị bằng 5
Chú ý: Nếu bên trái không phải là biến máy sẽ báo lỗi.
7. Các toán tử vào ra.

Toán tử:
Write

Viết ra một giá trị

Writeln

Viết ra một giá trị và đưa con trỏ xuống dòng

Read

Đọc vào một giá trị

Readln

Đọc vào một giá trị và đưa con trỏ xuống dòng

Cú pháp chung: T(b1, b2, ..., bn) trong đó T là một trong các toán tử nói trên.
Ví dụ:
Với a = 2, b = 4

Dùng lệnh Write(‘Nghiem kep = ‘, -b/(a+a));
Trên màn hình sẽ xuất hiện:

Nghiem kep = -1

Chú ý: trong lệnh Read, nếu đọc vào cùng lúc nhiều biến, người thực hiện chương
trình phải gõ đủ các giá trị lệnh mới kết thúc. Sau khi gõ xong giá trị một biến thì
phải nhấn Enter.

13


Cách viết có quy cách trong lệnh Write, Writeln:
Số thực: Writeln(‘x = ‘, x:8:2); sẽ viết số thực x bằng một con số có 8 chữ số
với 2 chữ số thập phân nằm sau dấu phẩy.
Số nguyên: Writeln(‘x = ‘, x:8); sẽ viết số nguyên x với 8 khoảng cách và
được căn lề về bên phải
Muốn in kết quả ra máy in cần viết lệnh: Write(lst, ‘Nghiem kep = ‘, -b/(a+a)); Trên
đầu chương trình phải khai báo: Uses Printer;
Cách dùng kết hợp giữa Read và Write để nhắc người dùng biết là đang gõ vào số
liệu gì:
Write(‘a = ‘); Readln(a);
Write(‘b = ‘); Readln(b);
8. Một số thủ tục thường sử dụng.

clrscr()

Xoá màn hình và đưa con trỏ về góc trên bên trái.

Readkey()


Cho ký tự mà người dùng vừa gõ vào bàn phím.

Keypressed()

Cho giá trị đúng nếu người sử dụng vừa nhấn phím.

9. Một số ví dụ chương trình đơn giản.

Ví dụ 1: Tính tổng của ba số a, b, c cho trước.
Program Tinh_Gia_Tri;
Uses ctr;
Const
A = 1;
B = 2;
C = 3;
Var
X: Integer;
Begin
X := a + b + c;
End.

14


Ví dụ 2: Tính tổng của n số tự nhiên đầu tiên.
Program Tinh_tong;
Uses ctr;
Var
n: Integer;

Begin
Write(‘n = ‘); Readln(n);
S := n*(n+1)/2;
Write(‘S = ‘, S);
Readln;
End.

III. BÀI TẬP
1. Viết chương trình tính diện tích các hình: chữ nhật, vuông, tròn, thang, tam
giác
2. Viết chương trình tính thể tích các hình: lập phương, cầu, hộp chữ nhật. trụ.
3. Viết chương trình tính giá trị các biểu thức đơn giản:
P = a2 + 2a3 – 2bc
∆ = b2 – 4ac
4. Viết chương trình đọc vào: họ tên, điểm toán, điểm lý, điẻm hoá và in ra phiếu
điểm của học sinh đó trong đó có cả tổng điểm và điểm trung bình.
Họ và tên:

Lê văn Nam

Điểm toán:

7.0

Điểm Lý:

6.0

Điểm Hoá:


8.0

Tổng điểm:

21.0

Điểm trung bình:

7.0

TÀI LIỆU THAM KHẢO
Quách Tuấn Ngọc, Ngôn ngữ lập trình PASCAL, NXB Thống kê, Hà nội, 2001.
Phạm Văn Ất, Turbo Pascal, Trường đại học Giao thông vận tải, Hà nội, 1993.

15


16



×