PDA

View Full Version : Pascal - linh tinh !



cauberungxanh
01-10-2002, 20:55
Xin hỏi moi người :
+Overlays là gì ?
+Các kiểu thủ tục là gì ?

cauberungxanh
03-10-2002, 18:42
À, cho hỏi luôn về cái này nha : Thằng bạn tui nó mới cài Pascal 7.o, khi viết chương trình xong, dịch không có vấn đề gì, nhưng khi chạy thi hiện thông báo lỗi : Devision error by zero (hình như là vậy, tui nhớ không rõ) Vậy nghĩa là sao ?

cauberungxanh
05-10-2002, 16:10
Trời ơi, sao không có ai trả lời hết vậy nè !!!!!!!!!!!!!!!!!!!!!!!!

Zero
05-10-2002, 18:38
Lỗi đó là lỗi chia cho 0 bạn thử coi có phép toán nào chia cho 0 không hoặc bạn đang sử dụng unit CRT bản cũ nó sẽ gây lỗi này trong quá trình khởi tạo của unit CRT cho hàm delay trên những máy tốc độ cao.

cauberungxanh
07-10-2002, 15:48
Mình nhắc lại là không có lỗi nào cả. Lúc biên dịch (compile) thì không có lỗi nhưng lúc chạy thì không chạy được.
Mà thôi, cám ơn bạn đã trả lời câu hỏi đó, dù sao thì việc đó chỉ liên quan đến thằng bạn mình. Còn câu hỏi của mình, nếu biết thì trả lời gấp nha !

Enchanter
07-10-2002, 20:45
U post lên bài đó đi!
Nếu tui ko nhầm thì u nên xem lại các phép tính đi! có phép tính chia cho 0 đấy (xem lại vòng lặp đi);)

real_time
08-10-2002, 15:31
hình như mình gặp trường hợp này rồi thì phải! Nếu bạn của bạn ở hà nội bạn có thể đến chỗ mình mình cho cái file turbo.tpl copy về chạy là được. Còn vấn đề bạn hỏi thì tạm trả lời thế này nhé!
+ vấn đề thứ nhất mình không rõ lam!
+ vấn đề thứ hai thủ tục là gì:
thì tam goi thủ tục là chương trình con (nói gọn lại là thế) chương trình con này sẽ chứa khá nhiều công việc bạn định nghĩa hoặc viết sẵn rồi. Đến khi viết chương trình chính thì bạn không cần gõ lại đoạn lệnh đó nữa mà chỉ cần gọi tên của chương trình con đó là một loạt các thao tác sẽ thực hiện và dùng chương trình con có ưu điểm là bạn sẽ không phải viết đi viết lại nhiều lần một đoạn mã lệnh và như vậy sẽ tốn ít thời gian và dung lương chương trình!
còn nhiều vấn đề với chương trình con như truyền tham số, tham trị ......... tôi không nhiều thời gian nên không viết được nhiều bạn tự tìm hiểu tiếp nghen

cauberungxanh
08-10-2002, 19:52
Bạn real_time_program nói về cái file turbo.tpl thì mình biết rồi (hôm qua mới hỏi thầy xong) nhưng dù sao cũng cám ơn câu trả lời.
Còn về các kiểu thủ tục thì cũng muốn nói luôn là mình biết chức năng của chương trìng con là gì rồi. Vấn đề ở đây là kiểu của một biến dưới dạng thủ tục. Ví dụ :
{} Var x:Integer;
nhưng thay vì khai báo biến x theo kiểu Integer thì khai báo :
{} Type kieu_1:Function(n:real) : real;
{} Var x:kieu_1;
hay
{} Type kieu_2:Procedure;
{} Var x:kieu_2;
Mình chỉ biết đến đó thôi, nếu bạn biết hơn thì giải thích dùm ! Cám ơn !

real_time
09-10-2002, 10:39
ồ đó là thế là bạn muốn hỏi gì đầy? sự khác nhau giữa function với procedure hay sao? với chương trình con procedure bạn hiểu nôm na là thủ tục bạn viết sẵn chương trình rồi khi gọi là nó chạy! còn funtion là hàm coi nó như một cái biến lớn và ban có thể (viết giá tri, gán giá trị ...){mình cũng dùng nhiều nhưng để hiểu rõ có lẽ bạn nên đọc sách ấy sách nói rõ lắm: cuốn turbo pascal 7.0 cua Quách Tuấn Ngọc hay Bui Thế Tâm ấy}
còn về biến theo mình nghĩ bạn hỏi về tham biến và tham trị chắc trong chương trình con có hai loại là tham biến và tham trị!
có lẽ ban cũng đã được học nhưng mình cứ nói chắc là không thừa.
Tham số là khi truyền vào chương trình con thì khi ra khỏi chương trình biến được truyền vào sẽ không trả lại giá trị tính toán mà giữ nguyên giá trị ban đầu.
Tham trị là khi truyền biến vào chương trình con thì khi ra khỏi chương trình con nõ sẽ giữ nguyên giá trị đã tính toán.

cauberungxanh
09-10-2002, 19:23
Không phải vậy ! Ý mình là.... Bạn có biết các kiểu số nguyên và kiểu số thực chứ gì ? Ví dụ như là integer, longint, shortint, real, extened.... Các kiểu đó là để khai báo biến. Tương tự như vậy, thay vì khai báo như thế, người ta khai báo biến có kiểu Procedure hoặc Function. Mình thắc mắc ở chỗ đó đó....

CrazyBabe
10-10-2002, 09:31
Kiểu này gọi là procedural, xí dụ là bạn có hàm A, B, nếu máy 308 gọi hàm A, máy 486 gọi hàm B mà không muốn cứ mỗi lần gọi lại check lại thì làm thế nè:
If 386 then GlobalCall:=A Else GlobalCall:=B;
Sau đó gọi hàm GlobalCall, ok ?
Kĩ thuật này xây dựng nhằm thiết kế ct có thể tuỳ biến một cách mềm dẻo hơn..

danceswithwolves
10-10-2002, 10:12
some kind of function pointer/delegate ? is "procedural" a Delphi's terminology meaning something like that ?

CrazyBabe
10-10-2002, 11:34
Á á á, viết tiếng Việt đi bạn ơi, trình độ anh ngữ của tôi không hỉu được câu bạn vít...
Nếu tôi không hỉu nhầm câu hỏi của bạn thì: BP, Delphi gần như tương tự về mặt này, nhưng Delphi cho phép gọi con trỏ như hàm còn BP thì hình như không (không rõ lúm), mà cái này dường như là do ép kiểu của Delphi ngon hơn thì phải ?

real_time
10-10-2002, 14:51
bạn gì gì ơi lại nhầm rồi! procedure và function không phải là biến! và kiểu biến mà cũng không phải kiểu biến như integer hay real hay longint mà function và procedure không dùng để khai báo biến mà nó đơn giản nó chỉ là những thủ tục và hàm để khi cần thiết mình sẽ gọi lại cho đỡ viết vất vả hơn thôi.

cauberungxanh
10-10-2002, 18:47
Ne`, ban CrazyBabe noi ro hon duoc khong ?