Trang chính Đăng Kí Hướng dẫn Tìm Kiếm
 
Tuyen Quang Online

Quay Lại   Diễn đàn Tuyên Quang Online CÁC CÂU LẠC BỘ CLB TIN HỌC CLB Pascal

Tq: Hà nội - tp hcm bán Iphone 4, 4s, 5 - 16 - 64 gb nhập từ mỹ



Gửi trả lời
 
Công Cụ Xếp Bài
  #1  
Old 01-28-2008, 05:28 PM
Avatar của Trần Thanh Tâm
Trần Thanh Tâm Trần Thanh Tâm is offline
Thành viên danh dự
 
Gia nhập: May 2007
Đến từ: Cùng nhà với Ếch xanh
Bài gửi: 587
Đã cảm ơn: 7
Được cảm ơn 4 lần trong 4 bài viết
Default Lý thuyết Pascal đơn giản cho người mới bắt đầu!

Chương 1. Những chương trình đầu tiên

Ta bắt đầu bằng việc phân tích một chương trình Pascal đơn giản:


PHP Code:
1.Program VD_01_01;
2.Begin
3.     Write
('Xin chao tat ca cac ban.');
4.     Readln;
5.     {Chờ gõ Enter}
6.End
Để thử nghiệm chương trình, bạn khởi động môi trường lập trình Turbo Pascal (xin xem tài liệu để biết chi tiết về sử dụng môi trường lập trình Turbo Pascal) rồi soạn thảo, dịch và chạy thử. Bạn chú ý không gõ số số dòng, đó là tác giả thêm vào để tiện giải thích hoạt động của chương trình.

Đây là một chương trình Pascal rất đơn giản, chỉ thực hiện mỗi một việc là in ra màn hình dòng chữ “Xin chào tất cả các bạn” rồi chờ người dùng (user) nhấn Enter. Tuy vậy chúng ta cũng nên phân tích nó:

Dòng 1 của chương khai báo tên của chương trình. Khai báo bắt đầu bằng từ khoá (keyword) Program và theo sau đó là một định danh (còn gọi đơn giản là tên - identifier) dùng để đặt cho chương trình. Chương trình trên được đặt tên là “VD_01_01”.
Khai báo Program thường là không cần thiết nên rất ít khi xuất hiện, bạn có thể bỏ qua trong các chương trình riêng của mình.

Dòng 2 và dòng 6 là 2 từ khoá “Begin End.” khai báo nội dung chương trình.

Dòng 3 là một câu lệnh của chương trình, write là tên chuẩn (tên đã được khai báo sẵn) trong Pascal dùng để đưa thông tin ra thiết bị ngoài. Trong chương trình này câu lệnh có ý nghĩa: viết ra màn hình dòng chữ “Xin chao tat ca cac ban”.

Dòng 4 là câu lệnh tiếp theo của chương trình, nó chỉ làm mỗi việc là chờ người dùng gõ Enter.
Dòng 5 là một dòng chú thích. Chú thích là những văn bản mà lập trình viên (programmer) thêm vào nhằm mục đích giúp người đọc chương trình dễ hiểu hơn. Chẳng hạn trong trường hợp này là giải thích ý nghĩa của dòng lệnh readln ở trên.

Chú thích được đặt giữa cặp ngoặc {} hay giữa cặp (* *). Chú thích giúp chương trình dễ hiểu hơn nhưng không làm tăng kích thước chương trình (vì Turbo Pascal không dịch phần văn bản được đánh dấu là chú thích. Vì thế đôi khi người ta đánh dấu chú thích phần chương trình còn sai để kiểm tra các phần khác mà không cần thiết phải xoá những đoạn chương trình ấy).

Sau quá trình phân tích chúng ta rút ra một số điều sau:

1- Từ khoá Program dùng để khai báo tên chương trình. Khai báo đó không nhất thiết phải có. Nếu có thì tên chương trình phải đặt theo các quy tắc đặt tên.

2- Nội dung chương trình nằm giữa cặp từ khóa Begin End. Chú ý có dấu chấm sau từ End.

3- Đơn vị cấu trúc nên nội dung chương trình là các câu lệnh. Đó có thể là cấu trúc điều khiển, lệnh gọi chương trình con hay lệnh gán trị (chúng ta sẽ nghiên cứu về chúng trong những phần sau). Mỗi lệnh đều kết thúc bằng dấu ;. Chương trình thực hiện các câu lệnh tuần tự từ đầu đến cuối.
3.1- Lệnh write có thể dùng để viết ra màn hình các câu thông báo. Chú ý câu thông báo đặt trong cặp dấu “nháy” trên (' '). Ví dụ 'This is Turbo Pascal'.
3.2- Lệnh readln; (đọc là read-line) sẽ chờ người dùng nhấn Enter rồi mới chạy tiếp.

4- Chú thích có thể thêm vào chương trình giúp chương trình dễ hiểu hơn. Chú thích nằm giữa cặp dấu { } hay giữa (* và *).

5- Tên (identifier) trong Pascal không phân biệt chữ hoa hay chữ thường. Chẳng hạn bạn gõ WRITE hay write Pascal đều coi chúng như nhau. Tuy nhiên người ta thường đặt tên trong Pascal theo cách ngắn gọn, dễ đọc, gợi nhớ (chẳng hạn trong tiếng Anh write có nghĩa là “viết”)…

Cấu trúc của một chương trình Pascal có dạng như sau:



program <tên chương trình>;
<các khai báo>
begin
<nội dung chương trình>
end.Trong đó các khai báo gồm có:
1. khai báo sử dụng unit.
2. khai báo hằng số.
3. khai báo kiểu dữ liệu.
4. khai báo biến
5. khai báo chương trình con.
… (và một số khai báo không phổ biến khác)
Ngoài khai báo unit luôn phải đặt đầu tiên, ngay sau dòng khai báo program, các khai báo còn lại có thể đặt trình tự tuỳ ý, không nhất thiết phải giống như thứ tự ở trên.

Nội dung chương trình là dãy các câu lệnh. Có các 3 câu lệnh sau:
1. lệnh tính toán biểu thức.
2. lệnh gọi chương trình con.
3. cấu trúc điều khiển.

Các câu lệnh trong chương trình khi chạy sẽ được thực hiện theo trình tự từ đầu đến cuối.
Các khai báo và các câu lệnh phân tách nhau bằng dấu ;. Nghĩa là phải gõ ; ở cuối mỗi câu lệnh hay khai báo (ngoại trừ trước từ khoá end và else).

Một chương trình đầy đủ có dạng như sau:


PHP Code:
program          ...; { tiêu đề chương trình }
uses             ...; { khai báo các unit sử dụng}
label            ...; { khai báo các nhãn}
const            ...; { 
khai báo các hằng}
type             ...; { khai báo các kiểu dữ liệu }
var              ...; { 
khai báo các biến}
procedure        ...; { khai báo chương trìnhthủ tục}
function         ...; { 
v�  hàm}
begin
   statement
;    { dãy các câu lệnh}
    ...
end
__________________

Sửa lần cuối bởi Trần Thanh Tâm (04:55 AM 02-17-2008)
Trả lời ngay kèm theo trích dẫn này
Click quảng cáo ủng hộ diễn đàn
  #2  
Old 01-28-2008, 05:31 PM
Avatar của Trần Thanh Tâm
Trần Thanh Tâm Trần Thanh Tâm is offline
Thành viên danh dự
 
Gia nhập: May 2007
Đến từ: Cùng nhà với Ếch xanh
Bài gửi: 587
Đã cảm ơn: 7
Được cảm ơn 4 lần trong 4 bài viết
Default

Chương 2 : Biến và kiểu dữ liệu

Trong chương trình bạn rất hay gặp nhu cầu phải lưu trữ và xử lý những dữ liệu nào đó. Chẳng hạn trong chương trình giải phương trình thì bạn cần phải ghi nhớ các hệ số và tính toán các nghiệm của nó. Các biến(varible) trong Pascal được sử dụng trong trường hợp này.

Biến trong chương trình có thể hiểu là một vùng nhớ có kích thước thích hợp để lưu trữ dữ liệu theo một cấu trúc nào đó. Thông tin về cấu trúc ấy tạo ra khái niệm về kiểu dữ liệu của biến. Như vậy kiểu là tập hợp nhiều đối tượng có cấu trúc giống nhau và có thể xử lý theo cùng một cách.

Pascal là ngôn ngữ có cấu trúc về mặt dữ liệu: đó là Pascal cung cấp cho bạn một số kiểu dữ liệu cơ sở (còn gọi là vô hướng chuẩn) và bạn có thể xây dựng những kiểu dữ liệu mới dựa trên những kiểu dữ liệu đã xác định bằng cách khai báo cấu trúc và các cách thức xử lý chúng.

Mỗi biến trong chương trình sẽ chứa 2 thông tin: địa chỉ (là vị trí của nó trong bộ nhớ) và giá trị nó đang lưu trữ. Địa chỉ của mỗi biến cố định và không thay đổi được. Còn giá trị của nó thì có thể thay đổi được.

Cách khai báo biến trong chương trình:

Biến được khai báo sau từ khoá var trong phần khai báo của chương trình (trước từ khoá begin khai báo bắt đầu nội dung lệnh).

Khai báo biến có dạng:


PHP Code:
var
  <
tên> : <kiểu>; 
Trong đó <tên> là tên (identifier) ta đặt cho biến,
<kiểu> là kiểu dữ liệu của biến.
Chú ý dấu : và dấu ; Nếu bạn muốn khai báo nhiều biến cùng một kiểu dữ liệu thì bạn đặt tên chung tách nhau bởi dấu ,

Ví dụ đoạn chương trình khai báo biến hợp lệ:


PHP Code:
Var
   
n   Integer;
   
a,Real;{integerreal là những kiểu dữ liệu cơ sở của Pascalta sẽ xét trong phần sau }. 
Có những giá trị không thay đổi trong quá trình chương trình chạy, chúng ta có thể coi chúng là những hằng số và gọi chúng là các hằng (constant). Chẳng hạn 0, 1, pi, e…

Chúng ta có thể khai báo các hằng số trong chương trình của mình bằng từ khoá const. Phần khai báo const cần được đặt trước nội dung chương trình chính, có dạng sau:



PHP Code:
Const 
<
tên> = <biểu thức>; 
Ví dụ khai báo một hằng max = 100, một hằng ký tự esc = #27:


PHP Code:
Const
    
max 100;
    
esc #27; 

Biểu thức được tạo từ tổ hợp các biến, hằng và phép toán thích hợp.

Để gán giá trị cho một biến ta dùng lệnh gán với toán tử :=


PHP Code:
<biến> := <biểu thức cùng kiểu>; 
Những kiểu dữ liệu cơ sở của Turbo Pascal:

1.Kiểu nguyên:
Các số nguyên trong máy tính được lưu trữ một cách chính xác và hữu hạn. Nghĩa là tập số nguyên mà máy biểu diễn được chỉ là một tập con của tập các số nguyên mà thôi.
Tuỳ vào kích thước vùng nhớ dành lưu trữ biến mà khoảng biểu diễn lớn hay nhỏ. Bảng sau đây là thông tin các kiểu nguyên trong Turbo Pascal:

Tên Kích thước (byte) Khoảng biểu diễn
Integer 2 -32768..32767
LongInt 4 -231..231-1
Byte 1 0..255
Word 2 0..65535
ShortInt 1 -128..127

Danh sách trên xếp theo thứ tự giảm dần mức độ trường dùng. Trong đó Integer được dùng thường xuyên nhất khi các số không quá lớn. Và LongInt được dùng để lưu các số lớn hơn.

Các phép toán thường dùng trên dữ liệu kiểu nguyên:

1- Các phép toán số học +, - , * div và mod. Trong đó + (cộng ), - (trừ), * (nhân) là các phép toán số học thông thường; div, mod là phép chia lấy phần nguyên và số dư.
ví dụ: 5 div 2=2, 5 mod 2 =1.

2- Các phép toán so sánh logic: = (bằng ), < (nhỏ hơn ), > (lớn hơn), <= (nhỏ hơn hoặc bằng), >= (lớn hơn hoặc bằng),<> (khác)…

Ví dụ: chương trình sau nhập vào một số nguyên dương n và đưa ra s là tổng các phần tử từ 1 đến n.


PHP Code:
var n,integer;
BEGIN 
   write
('Nhap vao n='); readln(n);
   
:= * (n+1div 2;
   
writeln('Tong cac so tu 1 den n la s=',s);
   
readln;
END
__________________

Sửa lần cuối bởi Trần Thanh Tâm (04:57 AM 02-17-2008)
Trả lời ngay kèm theo trích dẫn này
  #3  
Old 08-07-2009, 08:36 AM
changgio9x changgio9x is offline
Mới tham gia
 
Gia nhập: Aug 2009
Đến từ: khác
Bài gửi: 7
Đã cảm ơn: 0
Được cảm ơn 0 lần trong 0 bài viết
Default

cho em hỏi vậy kiểu Qword + Real giới hạn của nó là như thế nào ạ ( FP 2.2.4)
Trả lời ngay kèm theo trích dẫn này
  #4  
Old 08-07-2009, 01:28 PM
Avatar của Ngô Tấn Quang
Ngô Tấn Quang Ngô Tấn Quang is offline
Thành viên thường xuyên
 
Gia nhập: Nov 2008
Đến từ: Yên Sơn
Tuổi: 17
Bài gửi: 190
Đã cảm ơn: 0
Được cảm ơn 2 lần trong 1 bài viết
Default

Qword từ 0 đến ... (khoảng 18 chữ số).
Real thì hình như vẫn thế.
Trả lời ngay kèm theo trích dẫn này
  #5  
Old 09-18-2009, 01:19 PM
bi2005 bi2005 is offline
Mới tham gia
 
Gia nhập: Sep 2009
Đến từ: khác
Bài gửi: 2
Đã cảm ơn: 0
Được cảm ơn 0 lần trong 0 bài viết
Default khoảng giới hạn real

khoảng giời hạn real
real: |2.9*10^-39 đến 1.7*10^38|
Trả lời ngay kèm theo trích dẫn này
  #6  
Old 10-13-2010, 10:52 AM
thanh hai thanh hai is offline
Mới tham gia
 
Gia nhập: Oct 2010
Đến từ: ht
Tuổi: 22
Bài gửi: 1
Đã cảm ơn: 0
Được cảm ơn 0 lần trong 0 bài viết
Default thask

[ cam on bac nhieu,con chuơng nao bac post luon cho a e cung hoc dc ko?
Trả lời ngay kèm theo trích dẫn này
  #7  
Old 10-20-2010, 04:10 PM
khanhanh_2203 khanhanh_2203 is offline
Mới tham gia
 
Gia nhập: Dec 2008
Đến từ: Tuyên Quang
Bài gửi: 16
Đã cảm ơn: 7
Được cảm ơn 1 lần trong 1 bài viết
Angry

Trích dẫn:
Nguyên văn bởi thanh hai Xem Bài Gởi
[ cam on bac nhieu,con chuơng nao bac post luon cho a e cung hoc dc ko?
Ui trời đầy gia không chịu học lại còn lắm chuyện
Trả lời ngay kèm theo trích dẫn này
Gửi trả lời

Công Cụ
Xếp Bài


Diễn đàn Tuyên Quang Online
Phát triển bởi tất cả các thành viên
Code by vBulletin - Published on 8/2006.
TuyênQuangOnline.Net - Vì một ngày mai !