Một chương trình pascal đơn giản có mấy phần

Khi mới học Pascal ai cũng thích thực hành viết chương trình luôn hơn là học lý thuyết và mình cũng vậy. Cho nên trong series này mình không viết riêng bài về lý thuyết mà lồng ghép nó vào trong các bài hướng dẫn viết chương trình cho các bạn luôn, mình thấy như vậy khá là dễ nhớ. Ngay trong bài thứ 2 thuộc series này, ta sẽ thực hành viết chương trình đơn giản đầu tiên luôn.

#1-Mục đích

Viết được một chương trình đơn giản sử dụng các lệnh như read, readln, write, writeln, clrscr
Biết cách khai báo biến, khai báo hằng
Biết sử dụng một số các phép toán cộng, trừ, nhân, chia...

#2-Cấu trúc một chương trình

Cấu trúc một chương trình gồm hai phần:
Ví dụ cấu trúc một chương trình Pascal 1. Phần khai báo
-Khai báo tên chương trình: program ;

Tên chương trình do người lập trình đặt, tên là một dãy liên tiếp không quá 127 ký tự bao gồm chữ số, chữ cái hoặc dấu gạch dưới và nó phải được bắt đầu bằng chữ cái hoặc dấu gạch dưới.
Ví dụ:
Program ten_chuong_trinh;
program _A21;

-Khai báo thư viện: uses crt;
Bạn chỉ sử dụng được lệnh clrscr; [lệnh xóa màn hình] khi đã khai báo thư viện crt nhé

-Khai báo biến: var a : integer;
-Khai báo hằng const pi=3.14;

2. Phần thân
Phần thân bắt đầu từ Begin cho tới End. [End có dấu chấm nhé], các bạn có thể thấy phần thân chưa có lệnh nào cả.

Đối với các bạn mới bắt đầu thì các bạn chỉ cần đảm bảo cấu trúc như hình dưới cho mình, chưa cần quan tâm tới biến và hằng, tên chương trình thì các bạn có thể thay đổi khác đi nhé
Cấu trúc chương trình đơn giản

#3-Một vài lệnh cơ bản

write[];
Danh sách kết quả ra có thể là tên biến, tên hằng, biểu thức, ví dụ:
write['Pascal']; Xuất ra màn hình hằng xâu Pascal, nói đơn giản là nó in ra màn hình chữ Pascal, Pascal quy định xâu ký tự cần được đặt trong dấu nháy đơn.


writeln[]; Giống lệnh write nhưng sau đó sẽ đưa con trỏ xuống dòng mới

read[]; Ngược lại với write - dùng để xuất ra một dòng chữ thì read có tác dụng lấy dữ liệu vào và lưu vào biến
Ví dụ: read[a]; Đọc dữ liệu và lưu vào biến a
read[a,b,c]; Đọc dữ liệu và lưu vào các biến a,b và c

readln[];  Giống lệnh read nhưng sau khi đọc xong thì đưa con trỏ xuống dòng dưới

clrscr; xóa màn hình, cái này cần khai báo thư viện crt

#4-Các ví dụ

#4.1-Ví dụ 1

Viết chương trình xuất ra màn hình dòng Hello World
Bước 1: Đầu tiên bạn hãy đảm bảo cấu trúc chương trình
Có dòng khai báo tên chương trình: program hello_world;
Tiếp theo là phần thân chương trình được bắt đầu bằng:
Begin

end.
Phần thân bây giờ đang rỗng nhé.

Bây giờ ta bắt đầu viết phần thân

Bước 2: Để xuất ra màn hình một dòng chữ ta dùng write, các bạn để ý là dòng chữ mình cần xuất ra nó nằm trong cặp nháy đơn nhé.
Ở bước này ta dùng lệnh write['Hello World']; để xuất ra màn hình dòng Hello World
Tất nhiên là nó phải nằm trong phần thân chương trình


Bước 3: Nhấn tổ hợp Alt + f9 để biên dịch chương trình nhé, nếu thấy có hộp thoại thông báo: Compile Successful là đã thành công nhé


Bây giờ ta nhấn tổ hợp crtl + f9 để chạy chương trình và xem kết quả;

Bước 4: Có phải là bạn không kịp nhìn thấy gì hết phải không, bây giờ bạn hãy bổ sung thêm lệnh readln; vào dưới lệnh write['Hello World']; lệnh này có tác dụng ngừng chương trình lại cho tới khi ta nhấn enter, chương trình khi này sẽ như dưới.


Bạn đừng nhầm lệnh readln; ta dùng ở đây với lệnh readln[a]; mà mình giới thiệu ở trên nhé

Khi chạy chương trình sẽ có mấy dòng linh tinh do chương trình nó tự viết ra, kiểu như dưới

Ta có thể xóa nó đi để chỉ còn chữ Hello World thôi, bằng cách sử dụng lệnh xóa màn hình clrscr; , ta sẽ đặt nó vào chỗ đầu tiên của phần thân


Bây giờ hãy nhấn alt + f9 để biên dịch. Ôi không, có lỗi gì đó!
Bạn hãy nhớ rằng, muốn dùng lệnh clrscr; ta phải khai báo thư viện crt đã nhé. Bây giờ hãy khai báo thư viện với lệnh uses crt; vào phần khai báo


Bây giờ nhấn alt + f9 để biên dịch lại nào, thành công phải không?
Bạn nhấn crtl + f9 để xem kết quả nhé
Bây giờ ta có thể thấy dòng Hello World hiện thị một mình trên màn hình


Giải thích chương trình:
Chương trình sẽ chạy từ trên xuống gặp dòng begin thì nó hiểu phần thân đã bắt đầu từ đó

1. Đầu tiên khi chạy chương trình thì màn hình sẽ như thế này, hoặc nếu bạn dùng Turbo Pascal thì sẽ hiển thị dòng khác, nói chung mấy dòng này không liên quan tới chương trình, nó chỉ là mấy dòng thông tin phiên bản của Turbo Pascal hay Free Pascal
Thông tin phiên bản2. Dòng đầu tiên là : Clrscr;
Trước đó ta khai báo thư viện crt đã nhé : uses crt;
Dòng này sẽ xóa sạch những gì có trên màn hình trước đó, tức là mấy dòng thông tin về phiên bản Turbo Pascal hay Free Pascal bị xóa sạch, chỉ còn lại màn hình đen thui

3. Dòng tiếp theo là : Writeln['Hello World'];
Nó sẽ in ra màn hình dòng chữ Hello World

4. Dòng tiếp theo Readln;
Dòng này sẽ dừng màn hình lại, mục đính cho bạn xem kết quả, khi bạn nhấn enter, chương trình chạy tiếp dòng tiếp theo

5. Dòng cuối cùng: End.
Khi chạy tới End. chương trình sẽ dừng lại, mọi dòng lệnh viết dưới end. sẽ vô nghĩa.

#4.2-Ví dụ 2

Để các bạn có hiểu hơn về lệnh Clrscr; các bạn hãy chạy chương trình sau:
Program vd2;
uses crt;
begin
clrscr;
write['Hello World 1'];
clrscr;
write['Hello World 2'];
readln;
end.
Kết quả là gì? Hello World 2 phải không nào. Thế còn lệnh write['Hello World 1']; thì sao? Chẳng lẽ nó không chạy.

Giải thích phần thân :
1. Đầu tiên là lệnh: clrscr;
Nó sẽ xóa mấy cái dòng thông tin phiên bản của Turbo Pascal hoặc Free Pascal. Kết quả là màn hình đen thui, chả có gì cả

2. Lệnh tiếp theo: write['Hello World 1'];
Nó sẽ viết ra màn hình dòng Hello World 1

3. Lệnh tiếp theo: Clrscr;
Nó sẽ xóa sạch màn hình, mà màn hình bây giờ chỉ có dòng Hello World 1, kết quả sau đó màn ình lại đen thui

4. Lệnh tiếp theo : write['Hello World 2'];
Tại vì dòng Hello World 1 vừa in ra đã bị xóa nên màn hình bây giờ chỉ còn Hello World 2

Các bạn đã hiểu rồi phải không nào, không phải do lệnh write['Hello World 1']; không chạy mà do nó vừa in kết quả ra thì đã bị lệnh Clrscr; phía dưới xóa mất.

#4.3-Ví dụ 3

Ở ví dụ này mình sẽ giúp cho các bạn hiểu được sự khác biệt của write và writeln. Nói sơ qua thì write sẽ in ra màn hình một dòng chữ và con trỏ sẽ nằm ở ngay sau dòng chữ được in ra, còn với writeln nó cũng in ra màn hình dòng chữ nhưng con trỏ sẽ được chuyển xuống dòng dưới

Các bạn lần lượt chạy hai chương trình sau cho dễ hiểu
Chương trình 1:
Program ct1;
uses crt;
begin
clrscr;
write['Hello'];
write['World'];
readln;
end.
Chương trình 2:
Program ct2;
uses crt;
begin
clrscr;
writeln['Hello'];
writeln['World'];
readln;
end.
Kết quả của chương trình 1 là: HelloWorld



Kết quả của chương trình 2 là:
Hello
World

Giải thích:

Vị trí của con trỏ là nơi mà dòng chữ sẽ được in ra nha các bạn [ con trỏ nó cứ nhấp nháy ấy], đối với Chương trình 1:
Sau khi lệnh write['Hello']; chạy xong, con trỏ nằm ngay sau chữ Hello, do đó khi lệnh write['World']; chạy thì chữ World nằm ngay sau chữ Hello.

Chương trình 2:
Sau khi lệnh write['Hello']; chạy xong, con trỏ sẽ được chuyển xuống dòng dưới, do đó khi lệnh write['World']; chạy thì chữ World nằm dưới chữ Hello.

Lưu ý: Nếu bạn dùng lệnh Writeln; thì nó có tác dụng để xuống dòng nhé.
Chạy ví dụ sau và bạn sẽ thấy nó có cùng kết quả của chương trình 2 phía trên.
program vd3;
uses crt;
begin
clrscr;
write['Hello'];
writeln;
write['World'];
readln;
end.

Giải thích:
write['Hello']; sẽ in ra dòng Hello nhưng không đưa con trỏ xuống dòng dưới
writeln; sẽ đưa con trỏ xuống dòng dưới, write['World']; sẽ in ra chữ World ở dòng dưới chữ Hello - Vị trí hiện tại của con trỏ

#4.4-Ví dụ 4

Ở ví dụ này sẽ hướng dẫn các bạn sử dụng lệnh readln[a]; nhé.
Đề bài đơn giản thôi: Nhập vào một số nguyên dương [

Chủ Đề