Mình may mắn biết hơn mấy bạn chút pascal, nên theo ý kiến admin thì mình xin chia sẽ chút hiểu biết nhỏ mọn này.
1.
Về câu lệnh write và writeln:Lệnh này cũng hay hay, cú pháp chắc ai cũng biết: write(<ND>); hoặc đối với writeln là writeln(<ND>);
<ND> có thể là chuỗi ký tự hoặc một biểu thức, nói tóm lại, nếu bạn cho những cái gì bạn nhập, vào trong cặp dấu nháy ( ' ' ) thì pascal sẽ hiểu đó là chuỗi ký tự, nghĩ là trong cặp dấu nháy có gì thì nó hiện ra giống hệt thế.
Còn thành phần thứ 2 là biểu thức, theo sách vở là biểu thức số học, cái này không đặt trong cặp dấu nháy, hiển nhiên rồi, khi đó, pascal sẽ thực hiện chuỗi phép tính số học rồi cái mà nó hiện ra là KQ. Nhớ là giữa các thành phần, tức là giữa các chuỗi, các phép tính đều phải có dấu phẩy ( , ).
Cụ thể thế này:
write('Phuong trinh co nghiem la x1 = ',1); ----> KQ: Phuong trinh co nghiem la x1 = 1
write('Phuong trinh co nghiem la x1 =',1); ----> KQ: Phuong trinh co nghiem la x1 =1
x1:=5;
write('pt co nghiem bang, x1'); ----> KQ: pt co nghiem bang, x1 (vì cả câu chỉ là một chuỗi ký tự nên máy ghi ra y như bạn đánh)
x1:=5;
write('pt co nghiem bang ', x1); ---- KQ: pt co nghiem bang 5
Phân tích: Phần đầu trong dấu nháy là chuỗi, máy ghi giống y lại, phần thứ 2 là x1 , không có trong dấu nháy nên máy thực hiện việc tính, đưa ra kết quả là 5, tức nó đưa ra chuỗi đầu, rồi tiếp đến KQ của phép tính thứ 2.
Về phần câu lệnh writeln thì giống y rứa, chỉ khác là sau khi đưa ra xong <ND> thì con trỏ nó xuống dòng, vd thế này:
write('abc');
write('cde');
---> KQ: abccde
writeln('abc');
write('cde');
---> KQ: abc
cde
2. Về câu lệnh read và readlnRead: dùng để đưa giá trị vào biến
Phần này chắc mọi người hiểu hết rồi
còn readln thì tương tự, chỉ là thực hiện xong câu lệnh này thì con trỏ cũng xuống dòng.[/list]
3. Phần cuối là câu lệnh If <Biểu thức logic> then <CL> else <CL>;Y như cách bạn hiểu, Nếu <ĐK> thì làm cái chi đó, ngược lại làm cái chi đó.
Chắc các bạn nghe thầy nói cũng hiểu hết rồi, mình nói thêm về câu lệnh ghép thôi
If <ĐK> then tới câu lệnh, nhưng nếu bạn muốn: nếu đk đúng, bạn muốn thực hiện hơn hai câu lệnh thì phải dùng
begin
<dãy các lệnh>
end;
thì pascal coi tập những lệnh trên chỉ là một lệnh.
Nhớ là khi bạn dung lệnh if thiếu, sau phần then <CL> là dấu chấm phẩy ( ; ). Pascal sẽ hiểu câu lệnh if tới đây là hết, cồn nếu dùng if đủ thì phải là then <CL> else <CL>;
Cơ bản là thế, chắc mình nói thì cũng chưa rõ, để mình ghi lại vài bài tập, mọi người không hiểu chỗ nào thì nói, thế dễ hơn.
* Viết chương trình nhập vào từ bàn phím 2 số nguyên dương a,b, đưa ra màn hình kết quả trị tuyệt đối ( a-b), nhưng không dùng abs();
* Viết chương trình nhập vào số a nguyên dương, đưa ra màn hình các ước số tự nhiên của a
* Viết chương trình nhập vào số nguyên dương a, đưa ra màn hình kq a có phải là số nguyên tố hay không.
* Chương trình sau đưa ra kết quả như thế nào:
program abc;
uses crt;
var
x: integer;
begin
clrscr;
write(' Moi ban nhap mot so nguyen: ');
readln(x);
if x<0 then writeln(' Khong xac dinh');
if x=0 then writeln(' Ket qua bang 1'); else
begin
x:=x*3;
if x>9 then writeln(' Ket qua la ,x);
end;
end;
readln
end.
Các bạn cố gắng giải hỉ, 3 người giải xong nhanh nhất tất cả các bài trên, nộp đáp án cho ban Nguyệt để lĩnh thưởng.