[Pascal] học hỏi.

C

cafekd

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Mình muốn thay đổi màu chữ trong Pascal.
Mình làm bài này: Nhập xâu, đưa ra màn hình xâu vs mỗi kí tự viết trên 1 dòng và chữ màu đỏ. (Mình cho thêm).

Bài đây, sai chỗ nào nhỉ? :D

Var S:string[30];
i:byte;

BEGIN

Write('Nhap xau S:'); Readln(S);
Textcolor(red);
For i:=1 to length(S) do writeln(S:15);
Readln;

END.
 
M

megamanxza

Bài này sai ở chỗ: Hàm tạo màu cho kí tự có cấu trúc là TextColor(n), trong đó n là số nguyên chỉ giá trị của màu trong Pascal, chứ không phải là tên màu trong tiếng Anh.
Mình sẽ cung cấp cho bạn một số giá trị:
Đen 0
Xanh lam 1
Lục 2
Lục lam 3
Đỏ 4
Tím 5
Nâu 6
Xám sáng 7
Xám tối 8
Xanh lam sáng 9
Lục sáng 10
Lục lam sáng 11
Đỏ sáng 12
Tím sáng 13
Vàng 14
Trắng 15
VD: Muốn cho chữ màu đỏ, ta gõ: TextColor(4).
Cũng xin nói thêm, ngoài hàm tạo màu cho kí tự, còn có hàm tạo màu cho nền nữa! Đó là hàm Textbackground(n), trong đó n là số nguyên chỉ giá trị màu trong Pascal. Các giá trị đó cũng giống như trên vậy!
Bạn có thể tham khảo link sau: http://vi.wikipedia.org/wiki/Danh_s%C3%A1ch_m%C3%A0u
Good Luck for you! Nhớ nháy "Thanks" và "Đúng" cho mình nhá! ;)
 
  • Like
Reactions: realme427
C

cafekd

Lúc đầu thì mình cũng làm như cách của cậu, ghi số chứ không ghi tiếng anh nhưng mà sao máy vẫn báo lỗi nhỉ?
Máy báo lỗi: Tên gọi chưa dc mô tả và nháy chuột nằm ở đầu chữ textcolor đó.
Sửa kiểu gì cho máy chạy dc bây giờ? :)
 
M

megamanxza

Úi trời! Bạn chưa khai báo thư viện crt thì làm sao mà nó hiểu hàm textcolor chứ! :eek:
Mình sẽ cung cấp cho bạn một số thông tin về nó:
Thư viện crt là thư viện mà những người mới học lập trình Pascal chúng ta thường dùng.
Cách khai báo: Uses crt;
Nếu bạn không khai báo thư viện nào cả, máy tính chỉ có thể hiểu được những lệnh sau:
• write(): in ra màn hình liền sau kí tự cuối.
• writeln(): in xuống một hàng.
• read(): đọc biến.
• readln(' '): đọc biến và xuống dòng
Chỉ khi bạn khai báo thư viện crt thì máy mới hiểu được những lệnh sau:
clrscr : xoá toàn bộ màn hình.
textcolor() : in chữ màu.
textbackground() : tô màu cho màn hình.
sound() : tạo âm thanh.
delay(n) : tạm ngưng trong n/1000 giây (VD: nếu bạn gõ delay(5000) thì nó sẽ ngưng 5 giây)
nosound : tắt âm thanh.
windows(x1,y1,x2,y2) : thay đổi cửa sổ màn hình.
highvideo : tăng độ sáng màn hình.
lowvideo : giảm độ sáng màn hình.
normvideo : màn hình trở lại chế độ sáng bình thường.
gotoxy(x,y) : đưa con trỏ đến vị trí cột x, dòng y trên màn hình.
deline : xoá một dòng đang chứa con trỏ.
clreol : xoá các ký tự từ vị trí con trỏ đến cuối mà không di chuyển vị trí con trỏ.
insline : chèn thêm một dòng vào vị trí của con trỏ hiện hành.
exit : thoát khỏi chương trình
textmode(co40) : tạo kiểu chữ lớn.
randomize : khởi tạo chế độ ngẫu nhiên.
move(var 1,var 2,n) : sao chép trong bộ nhớ một khối n byte từ biến Var 1 sang biến Var 2.
halt : Ngưng thực hiện chương trình và trở về hệ điều hành.
Abs(n) : Giá trị tuyệt đối của n
Arctan(x) : cho kết quả là hàm Arctan(x).
Cos(x) : cho kết quả là cos(x).
Exp(x) : hàm số mũ cơ số tự nhiên ex.
Frac(x) : cho kết quả là phần thập phân của số x.
int(x) : cho kết quả là phần nguyên của số thập phân x.
ln(x) : Hàm logarit cơ số tự nhiên.
sin(x) : cho kết quả là sin(x), với x tính bằng Radian.
Sqr(x) : bình phương của số x.
Sqrt(x) : cho kết quả là căn bậc hai của x.
pred(x) : cho kết quả là số nguyên đứng trước số nguyên x.
Suuc(x) : cho kết quả là số nguyên đứng sau số nguyên x.
odd(x) : cho kết quả là true nếu x số lẻ, ngược lại là false.
chr(x) : trả về một kí tự có vị trí là x trong bảng mã ASCIL.
Ord(x) : trả về số thứ tự của kí tự x trong bảng mã ASCIL.
round(n) : Làm tròn số thực n.
Random(n) : cho một số ngẫu nhiên trong phạm vi n.
upcase(n) : đổi kí tự chữ thường sang chữ hoa (còn nếu là kí tự chữ hoa thì nó giữ nguyên)
assign(f,'<đường dẫn><tên file>.<phần mở rộng>') : tạo file.
rewrite(f) : ghi file lên đĩa.
append(f) : chèn thêm dữ liệu cho file.
close(f) : tắt file.
erase(f) : xóa.
rename() : đổi tên.
length(s) : cho kết quả là chiều dài của xâu.
copy(s,a,b) : copy b kí tự trong xâu s tính từ vị trí a.
insert(s,a) : chèn thêm cho xâu s xâu con a.
delete(s:string,a:integer,b:integer) : xóa b ký tự từ vị trí a trong xâu s.
Còn rất nhiều kiểu thư viện khác như DOS, Graph, Guess...
Good Luck for you! Don't forget to press "Thanks"! &gt;:D&lt;
 
Last edited by a moderator:
  • Like
Reactions: realme427
C

cafekd

Uk, đúng rồi! :D Mình quên tại thường ngày mình quen không nhập uses chương trình vẫn chạy dc! Tks nhé! ;)
 
M

megamanxza

Theo mình thì bạn nên có thói quen khai báo thư viện khi lập trình (nhất là thư viện crt) vì càng học lên cao bạn sẽ càng phải dùng nhiều lệnh. Phần lớn lệnh phải dùng thư viện crt đấy! Good Luck!
 
N

nghiahung2000

Lúc đầu thì mình cũng làm như cách của cậu, ghi số chứ không ghi tiếng anh nhưng mà sao máy vẫn báo lỗi nhỉ?
Máy báo lỗi: Tên gọi chưa dc mô tả và nháy chuột nằm ở đầu chữ textcolor đó.
Sửa kiểu gì cho máy chạy dc bây giờ? :)
ban phai khai bao
uses Crt;
tu van cho ban them:
textcolor(20) la mau do nhap nhay day
 
D

devilin

bài 1: cho số tự nhiên n (n<=50). Hãy viết ct thực hiện:
câu 1: nhập số n, sau đó nhập n số nguyên vào từ bàn phím. thứ tự các số gọi là chỉ số
câu 2: tìm tất cả các số chẵn trong dãy số đó
câu 3: Tìm (các) chỉ số của giá trị âm lớn nhất của dãy số nếu có.
câu 4: tìm dãy số dài nhất khác không cùng dấu
 
Last edited by a moderator:

buiadnhduc

Học sinh mới
Thành viên
14 Tháng mười 2017
1
0
1
29
TP Hồ Chí Minh
bạn ơi mình thử làm cách bạn nói rùi mà sao lệnh textbackground ko thay đổi màu nền vậy
 
Top Bottom