Hàm và thủ tục khác nhau ở chỗ:
Kiểu dữ liệu của hàm
Chương trình con là một dãy lệnh mô tả một số thao tác… và có thể được thực hiện từ nhiều vị trí khác nhau trong chương trình. Trong dấu ( …) là cụm từ?
Phần đầu của thủ tục được bắt đầu với từ dành riêng…
Trong khai báo danh sách tham số hình thức của chương trình con, các tham số có từ khóa var là:
Các biến được khai báo trong chương trình con và chỉ có tác dụng trong chương trình con đó được gọi là các….
Giả sử có thủ tục Procedure Vidu(x: real; var y: integer); thì
Các biến được khai báo trong chương trình chính được gọi là các…
Giả sử có hàm Function dientich(m,n: real); thì
….không trả về giá trị nào thông qua tên ….
Từ khóa khai bào hàm là:
Cho đoạn chương trình sau:
Program baitap;
Var a,b,S :Byte;
Procedure VD(x:byte; Var y:byte);
Var i:byte;
Begin
i:=5;
writeln(x , ‘ ‘, y);
x:=x*i;
y:=y*i;
s:=x+y;
writeln(x , ‘ ‘, y);
end;
Begin
Write(‘nhap vao 2 so a,b ‘); Readln(a,b);
VD(a,b);
writeln(a , ‘ ‘, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các biến toàn cục là:
Cho đoạn chương trình sau:
Program baitap;
Var a,b,S :Byte;
Procedure VD(x:byte; Var y:byte);
Var i:byte;
Begin
i:=5;
writeln(x , ‘ ‘, y);
x:=x*i;
y:=y*i;
s:=x+y;
writeln(x , ‘ ‘, y);
end;
Begin
Write(‘nhap vao 2 so a,b ‘); Readln(a,b);
VD(a,b);
writeln(a , ‘ ‘, b, ‘ ’, S);
Readln;
End.
Giả sử khi chạy chương trình trên ta nhập a = 5, b = 7 thì kết quả:
Cho chương trình con:
Program Maxbaso;
Var a, b, c: integer;
Function Max(a, b:integer) : integer;
Begin
If a>b then max: = a else ….. ;
End;
Begin
Write(‘nhap 3 so: ’);readln(a, b, c);
Writeln(‘so lon nhat la: ‘, max(max(a, b), c));
Readln
End.
Chương trình trên dùng để cho biết số lớn nhất trong ba số nhập từ bàn phím. Trong dấu (…) còn thiếu câu lệnh gì?
Cho chương trình con:
Program Maxbaso;
Var a, b, c: integer;
Function Max(a, b:integer) : integer;
Begin
If a>b then max: = a else ….. ;
End;
Begin
Write(‘nhap 3 so: ’);readln(a, b, c);
Writeln(‘so lon nhat la: ‘, max(max(a, b), c));
Readln
End.
Kiểu dữ liệu trả về của hàm trên là?
Cho chương trình con:
Program Maxbaso;
Var a, b, c: integer;
Function Max(a, b:integer) : integer;
Begin
If a>b then max: = a else ….. ;
End;
Begin
Write(‘nhap 3 so: ’);readln(a, b, c);
Writeln(‘so lon nhat la: ‘, max(max(a, b), c));
Readln
End.
Các biến a, b, c là các biến:
Cho chương trình sau:
Program VD_thbien_thtri;
Var a , b: Integer;
Procedure VD(x: Integer; Var y : Integer);
Begin
x := x + y;
y : = y + x;
Writeln(x : 6, y : 6);
End;
Begin
a := 20; b := 6;
Writeln(a : 5 , b : 5);
VD(a , b);
Writeln(a : 5 , b : 5);
Readln;
End.
Trong chương trình trên, sử dụng:
Cho chương trình sau:
Program VD_thbien_thtri;
Var a , b: Integer;
Procedure VD(x: Integer; Var y : Integer);
Begin
x := x + y;
y : = y + x;
Writeln(x : 6, y : 6);
End;
Begin
a := 20; b := 6;
Writeln(a : 5 , b : 5);
VD(a , b);
Writeln(a : 5 , b : 5);
Readln;
End.
Kết quả sau khi thực hiện là:
Cho chương trình sau:
Program VD_thbien_thtri;
Var a , b: Integer;
Procedure VD(x: Integer; Var y : Integer);
Begin
x := x + y;
y : = y + x;
Writeln(x : 6, y : 6);
End;
Begin
a := 20; b := 6;
Writeln(a : 5 , b : 5);
VD(a , b);
Writeln(a : 5 , b : 5);
Readln;
End.
Nếu trong chương trình trên,nếu thay thủ tục Procedure VD(x :Integer; Var y : Integer); bằng thủ tục Procedure VD(x :Integer; y : Integer); thì kết quả sau khi thực hiện chương trình là:
Cho chương trình sau:
Program VD_thbien_thtri;
Var a , b: Integer;
Procedure VD(x: Integer; Var y : Integer);
Begin
x := x + y;
y : = y + x;
Writeln(x : 6, y : 6);
End;
Begin
a := 20; b := 6;
Writeln(a : 5 , b : 5);
VD(a , b);
Writeln(a : 5 , b : 5);
Readln;
End.
Nếu trong chương trình trên,nếu thay thủ tục Procedure VD(x :Integer; Var y : Integer); bằng thủ tục Procedure VD(var x :Integer; var y : Integer); thì kết quả sau khi thực hiện chương trình là:
Cho biết chương trình sau dùng để làm gì?
program inso;
var m, n, i: integer;
begin
m:= 0; n:= 0;
for i:= 1 to 10000 do
begin
if (i mod 3 = 0) then m:= m+1;
if (i mod 3 = 0) and (i mod 5 = 0) then n:= n+1;
end;
writeln (m, ‘ ’, n);
end.
Cho câu lệnh: For a:= 5 downto 1 do write(a); Kết quả thực hiện lệnh trên là:
Cú pháp câu lệnh lặp với số lần chưa biết trước?
Có mấy lỗi cú pháp trong đoạn chương trình sau?
If 3*a >0 then a:=1; else a:=2
Biểu thức nào sau đây có thể sử dụng làm biểu thức điều kiện trong cấu trúc rẽ nhánh?
Câu lệnh nào sau đây là chưa đúng khi tìm giá trị nhỏ nhất (x) của a và b?
Cho đoạn chương trình:
A:=0; B:=0;
IF A>0 then A:=1 ELSE Begin A:=2; B:=1; End;
C:=A+B;
Sau khi thực hiện, C có giá trị là:
Trong ngôn ngữ lập trình Pascal, câu lệnh ghép nào sau đây là đúng cú pháp?
Cấu trúc câu lệnh rẽ nhánh có dạng:
Trong ngôn ngữ lập trình Pascal, nhấn phím Alt + F3 có tác dụng:
Trong ngôn ngữ lập trình Pascal, nhấn phím F7 có tác dụng:
Tổ hợp phím để chạy chương trình trong Pascal?
Cho biết kết quả sau khi thực hiện chương trình sau. Giả sử x:= 0; y:= -1;
begin
readln(x, y); T:= x; x:= y; y:= T;
write(‘x = ‘, x, ‘, y = ‘, y);
end.
Cho câu lệnh: write(‘1 + 3 + . . . + ‘ ,2*n - 1, ‘ = ‘, sqr(n)) và n = 5. Cho biết kết quả sau khi thực hiện câu lệnh:
Để nhập giá trị từ bàn phím cho 2 biến x, y không là kiểu Boolean ta dùng lệnh:
Biến Y có giá trị 7.593. Kết quả thực hiện câu lệnh Write('Tong la: Y = ',Y:6:2); là:
Ý nghĩa của thủ tục Write(<Danh sách kết quả>); trong Pascal?
Biểu thức 0 < N ≤ 103 được biểu diễn trong Pascal là:
Cho khai báo: Var c: char; i,j: integer; x,y: real; p,q: Boolean;. Phép toán gán nào sau đây không hợp lệ:
Cho chương trình sau:
Var c: char; i,j: integer; x,y: real; p,q: Boolean;
begin
i:= 3; j:=2* i+1; c:='A'; x:=0.5; q:=j>i;
end.
Giá trị của q sau khi thực hiện chương trình là:
Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *