Viết chương trình pascal tình yêu đơn giản
Show 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 #2-Cấu trúc một chương trìnhCấu trúc một chương trình gồm hai phần:
1. Phần khai báo 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. -Khai báo thư viện: uses
crt; -Khai báo biến: var a : integer; 2. Phần thân Đố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é
#3-Một vài lệnh cơ bảnwrite( writeln( read( 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ây giờ ta bắt đầu viết phần thân
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ây
giờ nhấn alt + f9 để biên dịch lại nào, thành công phải không? Giải thích chương trình: 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
2. Dòng đầu tiên là : Clrscr; 3. Dòng tiếp theo là : Writeln('Hello World'); 4. Dòng tiếp theo Readln; 5. Dòng cuối cùng: End. #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 : 2. Lệnh tiếp theo: write('Hello World 1'); 3. Lệnh tiếp theo: Clrscr; 4. Lệnh tiếp theo : write('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 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à: 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: Chương trình 2: Lưu ý: Nếu bạn dùng lệnh Writeln; thì nó có tác dụng để
xuống dòng nhé. program vd3; uses crt; begin clrscr; write('Hello'); writeln; write('World'); readln; end. Giải thích: #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ước 1: Đầu tiên các bạn hãy đảm bảo cấu trúc chương trình
Bước 3: Khi nhập vào một số từ bàn phím thì ta cần phải lưu nó lại? Vậy phải lưu vào đâu? Ta sẽ phải lưu nó vào biến, mà muốn sử dụng biến ta phải báo cho nó một cái tên để gọi. Lấy một ví dụ cho các bạn hiểu hơn về biến nhé: chẳng hạn nhà bạn đăng tin cần thuê một người làm việc gì đó, thì người đó sẽ đến và khai báo với bố mẹ bạn về tên, tuổi,... của anh ta rồi mới vào làm đúng không. Biến cũng tương tự, nó cần đi vào phần thân chương trình để làm một công việc là lưu trữ thông tin, vậy đầu tiên ta phải khai báo tên, kiểu dữ liệu của nó trước rồi mới được dùng. Mỗi biến sẽ
lưu được 1 giá trị. Ví dụ: Nói thêm về chỗ chọn kiểu dữ liệu, bạn cần chọn kiểu dữ liệu cho phù hợp, chẳng hạn nếu biến đó chỉ để lưu số nguyên thì bạn có thể chọn Integer, nhưng nếu lưu số thực thì bạn phải chọn là real Bạn cũng có thể khai báo nhiều danh sách biến, ví dụ: Ta đã biết các khai báo biến, vậy bạn đã biết phải đặt đoạn khai báo này ở đâu chưa? Theo như cấu trúc một chương trình mà mình đã nói ở trên thì ta sẽ đặt đoạn khai báo biến ở phần khai báo (trước phần thân); Ok, bây giờ quay lại ví dụ, người ta yêu cầu nhập vào một số nguyên, vậy ta cần một biến, ta sẽ chọn cho nó một cái tên để gọi và một kiểu dữ liệu. tên thì tùy bạn, mình chọn là biến a. Còn kiểu dữ liệu, người ta bảo là số nguyên, vậy bạn hãy tìm trong bài trước xem kiểu số nguyên gồm những kiểu dữ liệu nào. Bạn có thể chọn integer hoặc longint hoặc byte hoặc word, tùy vào độ lớn của số mà bạn nhập vào. Như vậy sẽ là : var a : integer;
Lệnh readln(a); sẽ đọc một số người dùng nhập từ bàn phím và lưu vào biến a (biến cần phải được khai báo trước), sau đó con trỏ sẽ nhảy xuống dòng dưới. Lệnh read(a); thì tương tự như readln(a); chỉ khác nó không đưa con trỏ xuống dòng tiếp theo, bạn thử thay readln(a); thành read(a); để thấy sự khác biệt. Bước 5: In ra một thông báo về số đã nhập vào. Vậy ta dùng lệnh write (hoặc writeln) để in ra thông báo, nhưng làm sao để in ra số vừa nhập vào? Ta dùng lệnh sau: Ở trên mình đã đưa cho các bạn cáu trúc lệnh Writeln( Bạn cần hiểu có hai thành phần được in ra (màu đỏ với màu xanh ) và hai thành phần này được ngăn cách bằng dấu phẩy và chuỗi ký tự cần in ra nó nằm trong cặp dấu nháy kép. Như vậy, lệnh write (hay writeln) có thể in ra một lúc nhiều thứ nhé, và các thành phần sẽ phân cách nhau bằng dấu phẩy. Ví dụ nếu bạn có 3 biến a,b và c bạn có thể in một lúc 3 biến như sau write( a , b , c ); Bước 6: Bạn cần phải dừng chương trình để có thể xem kết quả nên ta dùng readln; Vậy là xong, bây giờ hãy chạy xem sao, bạn cũng có thể dùng thêm lệnh clrscr; cho dễ nhìn. Bạn nhập vào một số bằng bàn phím sau đó enter Đây là kết quả #4.5-Ví dụ 5 Ví dụ này mình sẽ giúp các bạn hiểu hiểu thêm về read và readln Ví dụ: Viết chương trình nhập vào 3 số nguyên dương (<30000) và hiện thị một đoạn thông báo về 3 số vừa nhập. Bước 2: Khai báo biến.
Bước 4: Bước này là sự khác biệt Bạn có thể dùng read(a,b,c); hoặc readln(a,b,c); để đọc hết 3 biến cùng một lúc. Nếu dùng read(a,b,c); thì cách bạn nhập số vào như sau: bạn viết 3 số cách nhau bằng một khoảng trắng rồi enter. Số đầu tiên nhập vào được lưu vào biến a, số thứ hai lưu vào biến b và số thứ 3 lưu vào biến c, cái này tương tự cho readln(a,b,c); Nếu dùng readln(a,b,c); Bạn nhập số đầu tiên vào rồi enter , bạn sẽ thấy con trỏ nhảy xuống dòng dưới phải không, tiếp tục nhập số rồi enter, như vậy là nhập được số thứ nhất, tiếp tục cho hai số còn lại. Nếu dùng read(a); read(b); read(c); Nếu
dùng readln(a); readln(b); readln(c); Bạn hãy thử hết cả 4 cách để cảm nhận sự khác biệt. Mình chọn read(a,b,c); nhé. Bước 5: Ta sẽ in ra một đoạn thông báo kiểu như 3
so vua nhap vao la 1 2 3 (giả sử 3 số nhập vào lần lượt là 1,2 và 3) Bước 6: Dùng lệnh readln; để dừng chương trình, xem kết quả. Bây giờ bạn hãy chạy chương trình đi nhé. Mình định viết hết trong một bài luôn nhưng do nó dài quá nên tạm ngắt ở đây, các bạn hãy làm đi làm lại cho nhuần nhuyển hết các ví dụ, quan trọng phải hiểu được ý nghĩa của các lệnh trong chương trình. Nếu có gì không hiểu hãy để lại bình luận hoặc gửi tin nhắn qua Facebook cho mình để được giải đáp. Nhớ nhé, không hiểu thì hỏi liền, đây là những cái rất nền tảng, bạn không được những cái này thì qua bài sau sẽ không hiểu gì đâu, hãy học tới đâu chắc tới đó. |