Với sự phát triển nhanh chóng đó, các lập trình viên, đặc biệt là những người mới bước vào cuộc chơi này có thể bị choáng ngợp bởi sự đa dạng, phong phú của các ngôn ngữ lập trình.. Ngôn
Trang 1( NGAN HÀNG NHÀ NƯỚC VIỆT NAM
TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP HÒ CHÍ MINH
KHOA HE THONG THONG TIN QUAN LÝ —~*
«+
TIỂU LUẬN NHÓM
TIM HIEU MOT NGON NGU LAP TRINH KHAC C
Lớp :TTS318 2211 D03
Giảng viên : Phó Hải Đăng & Nguyễn Hoàng Ân
Năm học : 2022-2023
Sinh viên thực hiện: Bùi Kim Thanh 030237210165
Phan Kim Ngân 030237210121
Tô Hoàng Mỹ Linh 030237210100
Nguyễn Thi Anh Thư 030237210180
TP Hồ Chí Minh, ngày 24 thắng 10 năm 2022
tw <®>>>=.*>¬ OED)
Trang 2
BANG PHAN CONG NHIEM VU
HO VA TEN MSSV CONG VIEC
Bùi Kim Thanh | 030237210165 -1.Téng quan về ngôn ngữ lập trinh Pascal
-2.Cac thanh phan trong Pascal
Phan Kim Ngan | 030237210121 -Bìa, giới thiệu, chỉnh sửa chung
-1.4.Ưu, nhược điểm
-2.2 Các kiểu đữ liệu cơ bản
-2.3 Các dạng câu lệnh trong Pascal
Tô Hoàng Mỹ Linh | 030237210100 Í _L;1- nén chương trình
-3.Chương trình con -4.Mảng 1 chiều, đoạn chương trinh vi du 1,
2,3
Nguyễn thịAnh 030237210180 -Đoạn chương trình ví dụ 4, 5, 6
Trang 3
2.2 Các kiểu dữ liệu cơ bản 2s: 22 22, 2211212111221112211112111 1 ru 7
2.3.Các dạng câu lệnh trong Pascal ¿1 2222211211111 11111 1111211111511 1112111211 xk 9
2.4 Cách khai báo hăng, biến và biểu thức s- 5 + S21 12151121 11111212122 H x2 9
Trang 4Giới thiệu
Một thế kỷ mới, mở ra một thời đại mới, một thời đại mà công nghệ phát triển vượt bậc và sự đòi hỏi nhiều hơn về những nhu cầu mới phát sinh những công nghệ mới Ngày nay các ứng dụng thương mại với yêu cầu xử lý một số lượng rất lớn đữ liệu đang là động lực thúc đây các nhà phát triển máy tính và phần mềm tạo ra các máy tính với công nghệ tính toán với tốc độ ngày một nhanh hơn
Với sự phát triển nhanh chóng đó, các lập trình viên, đặc biệt là những người mới bước vào cuộc chơi này có thể bị choáng ngợp bởi sự đa dạng, phong phú của các ngôn ngữ lập trình Ngôn ngữ lập trình rất quan trọng trong việc xây dựng nên những ứng dụng chạy trên máy tính điện tử, những ngôn ngữ lập trình cấp cao hiện nay đều
hỗ trợ những phương pháp lập trình mới giúp cho lập trình viên đơn giản hơn trong
việc xây dựng chương trinh
Với hơn 700 loại ngôn ngữ lập trình trên thế giới Các loại ngôn ngữ ngày càng ra đời với nhiều đặc trưng mới phù hợp hơn với các ứng dụng cụ thế, hỗ trợ những công việc khác nhau và hỗ trợ giải quyết các vấn đề ngày càng nhanh chóng hơn Theo khảo sát cua Stack Overflow 2020 va 2021, JavaScript, HTML/CSS, Python va SQL 1a nhtmg ngôn ngữ lập trình phổ biến nhất thể giới Trong các loại ngôn ngữ đang được sử dụng phỏ biến và rộng rãi hiện nay thì Pascal lại là một ngôn ngữ không quá thông dụng trong thực tế
Tuy nhiên ngôn ngữ này đa phần sử dụng từ khóa thay vì các ký tự và dấu ngoặc phức tạp như các loại ngôn ngữ lập trình khác, chẳng han nhu C, C++ Vi vậy, đây được coi
là một trong những ngôn ngữ lập trình đơn giản nhất để người mới có thê học và bắt
đầu tìm hiểu về cách xây dựng chương trình cơ bản
Phạm vi nghiên cứu
Trong phạm vi nghiên cứu của đề tài này, nhóm nghiên cứu tập trung vào các khái niệm cơ bản về ngôn ngữ lập trình Pascal song song với việc giới thiệu các thuật toán
cơ bản Sau đó nhóm tập trung nghiên cứu ngôn ngữ một cách cụ thế hơn với các ví
dụ cụ thê về các đoạn mã hoàn chỉnh và đầy đủ hơn để xử lý các bải toán cơ ban trong
lập trình
1 Tổng quan về ngôn ngữ lập trình Pascal
Trang 51.1 Pascal là gi?
Pascal là một ngôn neữ lập trình cho máy tính thuộc dạng mênh lệnh và thủ tục, Đây
là ngôn ngữ lập trình đặc biệt thích hợp với kiêu lập trình cau trúc và cầu trúc dữ liệu Pascal, giỗng như nhiều ngôn ngữ lập trình ngày nay (nhưng không giống như hầu hết
các ngôn ngữ trong họ C), cho phép định nghĩa quy trình lồng nhau ở bất kỳ mức độ sâu nào Điều này cho phép tạo một cú pháp rất đơn giản và mạch lạc trong đó một chương trình hoàn chỉnh là gan nhu giống hệt với một thủ tục hoặc hàm duy nhất 1.2, Lịch sử hình thành
Pascal là một ngôn ngữ lập trình cấp cao do giáo sư Niklaus Wirth — Trường Đại Học
Ky Thuat Zurich — Thuy Si dé xuat nim 1970 và đặt tên là Pascal để tưởng nhớ nhà
toán học, triết học nôi tiếng người Pháp: Blaise Pascal
Pascal được phát triển theo khuôn mẫu của ngôn ngữ ALGOL 60 Wirth đã phát triển một số cải tiến cho ngôn ngữ này như một phần của các đề xuất ALGOL X, nhưng chúng không được chấp nhận do đó ngôn ngữ Pascal được phát triển riêng biệt và phát hành vào năm 1970
Dù được phát triển độc lập nhưng ngôn ngữ lập trình Pascal cũng có vô củng nhiều biến thê khác nhau Tiêu biểu trong đó phải kế đến:
® Pascal-P: Đây là bộ công cụ chuyền mã được viết tại Zurich được với mục đích biên địch ngôn ngữ lập trình sang hệ thống máy ảo và bộ giả lập Các trình biên dịch hệ thông P được gọi là Pascal-PI, Pascal-P2, Pascal-P3 và Pascal-P4 Phiên bản Pascal-P5 được tạo ra sau này, độc lập với quá trình nghiên cứu của nhom Zurich
© Object Pascal: Duoc biét dén voi kha nang dinh hung tinh vi, phức tạp Apple
Computer git công lớn trong việc phát triển biến thê ngôn ngữ lập trinh Pascal nay
¢ Turbo Pascal: Trinh bién dich néi tiéng VỚI Sự mở rộng về thuật toán, khả năng kết nối chương trình, đữ liệu, Turbo Pascal phiên bản đầu tiên được cho rằng
xuất hiện từ những năm 1986 Phiên bản sau cùng Turbo Pascal 7.2 ra đời
những năm 2000
Trang 61.3 Mục đích ra đời và mức độ phố biến
Pascal được phát triển như một ngôn ngữ phù hợp dé day lập trình như một môn học
có hệ thống, mà việc triển khai có thê vừa đáng tin cậy vừa hiệu quả Là một ngôn ngữ
có hiệu quả cả trong trình biên dịch và thời gian chạy, cho phép phát triển các chương trình có cấu trúc tốt và hữu ích cho việc dạy học sinh lập trình có cấu trúc Một thế hệ sinh viên đã sử dụng Pascal như một ngôn ngữ vỡ lòng trong các chương trình học đại
Cương
Dù không được sử dụng rộng rãi như C, Java hay Python, nhưng Pascal vấn là lựa chọn hàng đầu để bước những bước đầu tiên vào thế giới lập trình Thế nên, ở Việt Nam Pascal được đưa vào giảng đạy ở chương trình tin học cấp THCS để tập trung rèn luyện kỹ năng tư duy logic, tư duy hệ thông và sáng tạo cho học sinh
1.4 Ưu và nhược điềm của Pascal
s® Ưu điểm
e _ Cấu trúc nên dễ dảng phân tích, nghiên cứu và học tập
© - Tạo ra các chương trình hiệu quả, rõ ràng và tương đối an toan
®© - Pascal có thể biên dịch thành các loại ngôn nøữ lập trình khác nhau
¢ Kiém tra lỗi rộng rãi
©_ Sử dụng trên nhiều nền tảng, hệ thống máy tính khác nhau thông qua thao tác biên dịch, chuyền đổi
se - Hỗ trợ lập trình hướng đối tượng (OOP— object oriented programming) Pascal một ngôn ngữ lập trình cấp cao được phát triên độc lập đã phần nào khắc phục được những hạn chế trước đây Tuy nhiên ngôn ngữ này vẫn tồn tại một số nhược điểm
Trang 7Tên dùng với ý nghĩa nảo đó, nhưng người lập trình có thể khai báo và dùng chúng với
ý nghĩa và mục đích khác Ý nghĩa của chúng được quy định trong các thư viện của
Ví dụ: battapl, bai thị, baithuchanh
Trong Pascal không phân biệt chữ thường và chữ hoa Do đó các tên hay danh hiệu
viết thường hay viết hoa đều có giá trị tưrơng đương
Vị dụ: “BAITAP” và “baitap” là hai danh hiệu có giá trị tương đương nhau
» Ngoài ra còn có các ký tự:
® Khoảng trắng “ “: Dùng đề cách biệt 2 từ trong chuỗi
e Dau cham phẩy “:”: Dùng sau tên chương trình, sau các câu lệnh
® Dấu móc “ƒ }”: Trong Pascal những øì đặt trong hai dấu móc sẽ là phần ghi chú
e Dấu nháy đơn “””: Dùng đề bao một chuỗi
® Toan tu: Dat gitra hai toan hang Vi du: x+2, y=8, 7>3, x<7, z>=y vay +, =,
>, <, <= là các toán tử, còn hai bên sẽ là các toán hạng
2.2 Các kiểu dữ liệu cơ bản
Kiểu logic: Kiểu logic trong Pascal chỉ có hai giá trị là true và false, được dùng khi kiểm tra một điều kiện hoặc tìm 1á trị của một biểu thức logic Kiéu logic cting la kiéu thứ tự đếm được
Trang 8Kiéu Bộ nhớ lưu trữ một giá trị Phạm vi giá trị
Lưu ý : Người lập trình cân tìm hiệu đặc trưng của các kiêu đữ liệu chuân được xác định bởi bộ dịch và sử dụng đề khai báo biến
Ví dụ: Đề lưu trữ giá trị nguyên mang giá trị 65537 thi ta không thể sử dụng kiểu byte,
inteper, word mà phải dùng longint Tuy nhiên nếu ta chỉ lưu trữ giá trị tối đa nhỏ hơn
32767 thi ta nên sử dụng kiêu Integer đề tiết kiệm bộ nhớ.Mỗi kiểu đữ liệu được đặc trưng bởi tên kiểu miền giá trị, kích thước trong bộ nhớ, các phép toán, các hàm và thủ tục sử dụng chúng
Một số kiêu đữ liệu chuẩn thường dùng cho các biến chẵn trong Pascal, đó là:
Kiểu nguyên: Các kiểu nguyên được lưu trữ và kết quả tính toán là số nguyên nhưng
có hạn chê về miền øi1á trị Tập số nguyên là vô hạn là có thứ tự, đêm được
Kiểu thực: Các kiểu thực được lưu trữ và kết quả tinh toán chỉ là gần đúng với sai số không đáng kể, nhưng miễn giá trị được mở rộng hơn so với kiểu nguyên Số thực trong máy tính rời rạc và hữu hạn Phép toán chia các toán hạng gồm cả kiểu nguyên
và kiêu thực sẽ cho kết quả là kiểu thực
Kiéu | Bộ nhớ lưu trữ Phạm vi giá trị
Real 6 byte 0 hoặc có g1á trị tuyệt đối nằm trong phạm vi từ 2= đến 2»
Extende l0b 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 2“ đến
yte
D932
Kiểu kí tự: Kiểu kí tự có tập hợp giá trị là các kí tự trong bang ma ASCII, duge ding
khi thông tin là các kí tự, xdu (string) Kiéu ki tự là kiêu có thứ tự, đếm được Kí tự
Trang 9đặc biệt dùng đề thê hiện sự ngăn cách giữa hai từ viết liên tiếp trong các văn bản, là dau cach
Trang 10Kiểu ¡ Bộ nhớ lưu trữ một giá trị Phạm vi giá trị
2.3.Cac dang cau lệnh trong Pascal
Một số dạng câu lệnh phỏ bién trong Pascal:
Program khai báo tên chương trình
ReadIn() doc biến; dừng màn hình và đọc file
Type bắt đầu các phần cho các loại biến xác định cho người dùng
Clrser xóa cửa sô hiện tại (giữ nguyên màu chữ đang được thiết đặt)
Begin phần thân chương trình
Var phần khai báo biến trong chương trình lập trình Pascal
Procedure thủ tục ( chương trình con)
Function ham( chuong trình con)
Write() in ra man hinh lién sau ky ty cudi; ghi file
Ngoài các câu lệnh được sử dụng phổ biến,các thư viện thường được sử dụng và chứa các câu lệnh trên: CRT, GRAPH và thư viện DOS
2.4 Cách khai báo hăng, biến và biểu thức
Logic = ODD(5); {Logic =TRUE}
Chú ý: Chỉ các hàm chuân dưới đây mới được cho phép sử dụng trong một biểu thức hằng:
Trang 11PTR ROUND PRED SUCC SIZEOF SWAP TRUNC
¢ Khai bao bién
Bién 1a mét dai lượng mà gia tri cua no co thé thay đôi trong quá trinh thực hiện
chương trỉnh
Cú pháp:
VAR <Tên biến>[,<Tên biến 2>, ]: <Kiểu đữ liệu>;
Ví dụ:
VAR x,y: Real; {Khai bao hai biến x, y có kiểu là Real}
a, b: Integer; {Khai bao hai biến a, b có kiểu integer}
Chú ý: Ta có thế vừa khai báo biến, vừa gán giá trị khoi dau cho biến bằng cách
Biểu thức (expression) là một công thức gồm có một hay nhiều thành phần được kết
nối với nhau bởi các phép toán Mỗi thành phần (ay oán hạng) có thế là hằng, là biến
hay là hàm Kiểu dữ liệu của biểu thức là kiêu của kết quả sau khi tính biểu thức
Ví dụ
3*5 div2+7 mod 4 : biếu thức nguyên, có kết quả là 10
(‘A' ='a') And (5-2=3) : biểu thức logic, có kết quả là True
5 + sin(p1⁄2) : biểu thức thực, có kết quả là 6.0
Chú ý : Các thành phần trong biếu thức cần phải có kiểu đữ liệu phù hợp để cho các phép toán thực hiện được, nếu không máy sẽ báo lỗi Chẳng hạn, biểu thức : 2 + chr(67) là sai vì ta không thê cộng một số nguyên với một ký tự
0 Chương trình con
Trong lập trình ta thường bắt gặp các đoạn chương trình được lặp đi lặp lại Để tránh
sự lặp lại và tiết kiệm thời gian nhờ vào việc tái sử dụng lại các đoạn chương trinh
Trang 12Đồng thời giúp hỗ trợ việc sửa lỗi các chương trình đễ dàng hơn.Chương trình con ra
đời và được sử dụng rộng rãi trong các ngôn ngữ lập trình
3.1 Khái niệm
Chương trình con là một chương trình nằm bên trong một chương trình khác Chương trinh con có 2 loại: Thủ tục (Procedure) và hàm (Function):
® - Thủ tục (PROCEDURE): Dùng đề thực hiện một hay nhiều nhiệm vụ nào đó
e Ham (FUNCTION): Tra vé mét gia trị nào đó (có kiểu vô hướng, kiểu string hoặc kiểu con trỏ) Hàm có thể sử dụng trong các biếu thức
Chương trình con được dùng rộng rãi khi xây dựng các chương trình lớn nhằm làm cho chương trình đễ theo dõi, dễ sửa chữa, có thể phân mảnh chương trình cho nhiều người làm Một đặc điểm nỗi bật của chương trình con là nó có tính đệ quy nhờ thế mà nhiều bài toán được giải quyết dé dàng
3.2 Cầu trúc chung của một chương trình có sử dụng chương trình con:
PROGRAM Tên chương trình;
USES CRT;
PROCEDURE THUTUC|(Cac tham s6)];
[Khai báo Const, Type, Var]
BEGIN
FUNCTION HAMJ[(Cac tham số)]:<Kiêu đữ liệu>:
[Khai báo Const, Type, Var]
BEGIN
HAM:=<Giá trị>;
END;
Trang 13- Kết quả của bài toán trả về | giá
trị duy nhất (kiêu vô hướng, kiểu
strine hoặc kiểu con trỏ)
- Lời gọi CHƯƠNG TRÌNH CON
- Lời gọi CHƯƠNG TRÌNH CON không năm
trong các biểu thức tính toán
Trang 14if delta>0 then delta_duong
else if delta = 0 then delta_khong