Toán tử NOT - Những vấn đề không thể hay có thể

5 590 1
Toán tử NOT - Những vấn đề không thể hay có thể

Đang tải... (xem toàn văn)

Thông tin tài liệu

Toán tử NOT - Những vấn đề không thể hay có thể

Những vấn đề không thể hay thể?Nguyễn Hiếu cườngVấn đề 1: Toán tủ NOTToán tử NOT thường dùng để phủ định một giá trị kiểuBoolean:NOT True=FalseNOT False=TrueNhưng Pascal cũng cho phép thực hiện toán tử NOT với cáctoán hạng kiểu Integer. Khi đó phép phủ định được mở rộng thực hiện đồng thờitrên 16 bit.Ví dụ:NOT 0 = -1NOT 1 = -2NOT -15 = 14Vấn đề 2: Kết quả trả về của một hàmMột số bạn hay phát biểu: hàm trả về một giá trị thông quatên hàm, do đó họ hay hiểu lầm rằng kết quả trả về của hàm là một giá trị,tức là một số nào đó (Integer, Real, .). Đúng là trong các bài toán chúng tathường hay gặp điều này nhưng không phải luôn luôn như vậy, kết quả của hàmcũng thể là một kiểu cấu trúc, chỉ cần kiểu đó phải được định nghĩatrước.Ví dụ:Type Chuoi4=string[4];Var s:Chuoi4;Function HamChuoi: Chuoi4;BeginHamChuoi:=****;End; Begins:= HamChuoi;write(s);End.Vấn đề 3: Kích cỡ chữ trên màn hình đồ họaĐể viết chữ trên màn hình đồ hoạ, ta cần theo các bước:Chọn kiểu, hướng và kích cỡ chữ: SetTextStyle(Font,Direction, CharSize);Viết chữ từ toạ độ (X,Y): OutTextXY(X, Y, TextString);Tại đây, CharSize là kích cỡ của chữ, giá trị từ 1 đến10. Chúng ta thường chỉ dùng phạm vi nàu nên ít để ý rằng thể thay đổi kíchcỡ chữ ngoài phạm vi đó. Để thực hiện được chúng ta dùng lệnh:SetUserCharSize(MultX,DivX, MultY, DivY);Nếu muốn chữ rộng ra thì chọn MultX gấp nhiều lần DivX cònnếu muốn chữ cao lên thì chọn MultY gấp nhiều lần DivY (các giá trị này đều làsố nguyên).Chú ý: Trướckhi dùng lệnh SetUserCharSize cần dùng lệnh SetTextStyle để xác định font chữ,nếu không lệnh SetTextStyle hoặc nhưng giá trị Font = 0 thì font chữ mặcđịnh được sử dụng. Trong trường hợp này SetUserCharSize không tác dụng.Ví dụ:Uses graph;Vargd,gm, x, y: integer;Begin . x:=GetMaxX div 2;y:=GetMaxY div 2;SetTextStyle(1,0,1); OutTextXY(x-200,y,Short);SetUserCharSize(3,1,1,1);OutTextXY(x-150,y,Wide);SetUserCharSize(11,1,6,1);OutTextXY(x-350,y+50,Lage); .End.Vấn đề 4: Tham số hình thức không xác định kiểuCác chương trình con trong Pascal được khai báo theocông thức sau:ProcedureTên_thủ_tục(khai báo các tham số hình thức);FunctionTên_hàm(khai báo các tham số hình thức): Kiểu_hàm;Thường thì trong phần khai báo, tham số hình thức phảiđược xác định một kiểu nhất định, theo công thức:Tên_tham_số:Kiểu;HoặcVarTên_tham_số: Kiểu;Nhưng kiểu của tham số hình thức cũng thể không xácđịnh, tức là định nghĩa kiểuđược bỏ qua trong phần mô tả tham số đầu của chươngtrình con. Trong trường hợp này tham số thực sự tương ứng thể thuộc bất kỳkiểu nào. Tham số hình thức không xác định kiểu tự bản thân nó không tương hợpvới tất cả các kiểu do đó chỉ được dùng trong những hoàn cảnh mà ở đó kiểu dữliệu không ý nghĩa, chẳng hạn để làm tham số địa chỉ của biến địa chỉ tuyệtđối.Ví dụ:typea=array[1 20] of byte;Procedure HV(var a1p,a2p; n:integer); Var {Các biếnđịa chỉ tuyệt đối: các biến thể được khai báo để được bố trí vào các địa chỉbộ nhớ cố định nào đó}a1:a absolute a1p;a2:a absolute a2p;tg: byte;i: integer;Beginfor i:=1 to n dobegintg:=a1[i];a1[i]:=a2[i];a2[i]:=tg;end;End;Var n, i, x, y:byte;c, d: a;Begin{Nhap 2 so} write(`x,y= `);readln(x,y);{Hoan vi2 so}HV(x,y,1);writeln(x,,y); {Nhap 2mang}write(n= );readln(n);for i:=1to n dobeginwrite(c,d,i,=);readln(c[i],d[i]);end;{Hoan vi2 mang}HV(c,d,n);for i:=1to n dowriteln(c[i],,d[i]);readln;End.Nguyễn Hiếu Cường . Những vấn đề không thể hay có thể? Nguyễn Hiếu cườngVấn đề 1: Toán tủ NOTToán tử NOT thường dùng để phủ định một giá trị kiểuBoolean :NOT True=FalseNOT. toán tử NOT với cáctoán hạng kiểu Integer. Khi đó phép phủ định được mở rộng thực hiện đồng thờitrên 16 bit.Ví dụ :NOT 0 = - 1NOT 1 = - 2NOT -1 5 = 1 4Vấn đề

Ngày đăng: 10/09/2012, 15:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan