Bài tập Chương VI môn Tin học 11

docx 9 trang Người đăng duyenlinhkn2 Ngày đăng 10/12/2025 Lượt xem 24Lượt tải 0 Download
Bạn đang xem tài liệu "Bài tập Chương VI môn Tin học 11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bài tập Chương VI môn Tin học 11
BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
BÀI 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CTC
Nhận biết:
Câu 1: Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi 
A. Kiểu của các tham số
B. Kiểu giá trị trả về	
C. Tên hàm
D. Địa chỉ mà hàm trả về
Câu 2: Mô tả nào dưới đây về hàm là sai ?
A. Phải trả lại kết quả
B. Phải có tham số
C. Trong hàm có thể gọi lại chính hàm đó
D. Có thể có các biến cục bộ
Câu 3: Mô tả nào dưới đây về tham số là sai ?
A. Một hàm có thể có cả tham số giá trị và tham số biến;
B. Có thể truyền biến số cho tham số giá trị;
C. Có thể truyền giá trị cho tham số biến;
D. Có thể dùng tham số biến để nhận kết quả;
Câu 4: Trong các cách sử dụng thủ tục sau, cách nào là phù hợp nhất ?
A. Khai báo lại thủ tục và gọi nó mỗi khi cần sử dụng;
B. Khai báo thủ tục duy nhất một lần và gọi nó một lần duy nhất;
C. Chỉ cần khai báo;
D. Khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng;
Câu 5: Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
A. Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
B. Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.
C. Phần đầu có thể có hoặc không có cũng được.
D. Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Câu 6: Khẳng định nào sau đây là đúng?
A. Một chương trình con nhất thiết phải có tham số hình thức.
B. Một chương trình con nhất thiết phải có biến cục bộ.
C. Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.
D. Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục bộ.
Câu 7: Kiểu dữ liệu của hàm
A. Chỉ có thể là kiểu integer.
B. Chỉ có thể là kiểu real.
C. Có thể là các kiểu integer, real, char, boolean, string.
D. Có thể là integer, real, char, boolean, string, record, kiểu mảng.
Câu 8: Khẳng định nào sau đây là đúng?
A. Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính.
B. Biến cục bộ là biến chỉ được dùng trong chương trình chính.
C. Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.
D. Biến toàn bộ chỉ được sử dụng trong chương trình chính và không được sử dụng trong các chương trình con.
Câu 9: Phát biểu nào dưới đây về biến là sai ?
A. Biến toàn cục có thể được sử dụng ở trong một thủ tục;
B. Biến cục bộ phải có tên khác với tên của biến toàn cục;
C. Biến cục bộ có thể có kiểu khác với kiểu của biến toàn cục có cùng tên;
D. Một hàm có thể có nhiều tham số biến;
Câu 10: Mô tả nào dưới đây về chương trình có cấu trúc là phù hợp nhất ?
A. Chương trình có sử dụng cấu trúc mảng và bản ghi;
B. Sử dụng các hàm và thủ tục thư viện chuẩn;
C. Được chia thành nhiều chương trình con;
D. Là một chương trình bình thường
Câu 11: Khẳng định nào sau đây là đúng?
A. Cả thủ tục và hàm đều có thể có tham số hình thức.
B. Chỉ có thủ tục mới có thể có tham số hình thức.
C. Chỉ có hàm mới có thể có tham số hình thức.
D. Thủ tục và hàm nào cũng phải có tham số hình thức.
Câu 12: Khẳng định nào sau đây là đúng?
A. Lời gọi hàm nhất định phải có tham số thực sự còn lời gọi thủ tục không nhất thiết phải có tham số thực sự.
B. Lời gọi thủ tục nhất thiết phải có tham số thực sự còn lời gọi hàm không nhất thiết phải có tham số thực sự.
C. Cả lời gọi hàm và lời gọi thủ tục đều phải có tham số thực sự.
D. Lời gọi hàm và lời gọi thủ tục có thể có tham số thực sự hoặc không có tham số thực sự tùy thuộc vào từng thủ tục.
Câu 13: Để khai báo hàm trong Pascal bắt đầu bằng từ khóa
A. Program.
B. Procedure.
C. Function.
D. Var.
Câu 14: Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
A. Program.
B. Procedure.
C. Function.
D. Var.
Thông hiểu:
Câu 15: Hàm chuẩn nào dưới đây biến giá trị thực 6.6 thành 7 ?
A. Odd;
B. Round;
C. Trunc;
D. Abs;
Câu 16: Trong các chương trình chuẩn sau đây, chương trình chuẩn nào là thủ tục chuẩn?
A. Sin(x);
B. Length(S);
C. Sqrt(x);
D. Delete(S,5,1);
Câu 17: Giả sử có hai biến xâu x và y ( y đã có giá trị ) câu lệnh nào sau đây là không hợp lệ?
A. x := Copy(y,5,3);
B. x := y;
C. x := Delete(y,5,3);
D. Delete(y,5,3);
Câu 18: Muốn khai báo x là tham số giá trị và y, z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “ViduTT” thì khai báo nào sau đây là sai?
A. Procedure ViduTT( x : Byte ; Var y, z : Byte) ;
B. Procedure ViduTT( x : Byte ; Var y : Byte ; Var z : Byte) ;
C. Procedure ViduTT( x : Byte ; Var y : Byte ; z : Byte) ;
D. Procedure ViduTT( Var y : Byte ; x : Byte ; Var z : Byte) ;
Câu 19: Hãy chọn phương án ghép đúng. Cho thủ tục sau :
Procedure p ;
	Var n : integer ;
Begin
End ;
Phạm vi của biến n là :
A. Trong toàn bộ chương trình;
B. Trong nội bộ thủ tục p;
C. Trong toàn bộ tệp chương trình nguồn;
D. Tùy thuộc vào vị trí sử dụng thủ tục p;
Câu 20: Cho khai báo của một hàm:
    Function F( k : Integer) : String ;
      Begin
        If k mod 2=0 then F:=’Chan’ else F:=’Le’;
      End;
    Muốn gán X:= F(5); thì biến X phải khai báo kiểu gì :
A. Var X: Real;
B. Var X: String;
C. Var X: Integer;
D. Var X : Char; 
Câu 21: Cho khai báo đầu của một hàm:
    Function F( k : Integer) : String ;
      Begin
        If k mod 2=0 then F:=’Chan’ else F:=’Le’;
      End;
    Muốn in Write( F(y) ); thì biến y phải khai báo kiểu gì :
A. Var y : Real;
B. Var y : String;
C. Var y : Integer;
D. Var y : Char;
Câu 22: Cho khai báo biến và khai báo đầu của thủ tục TT: 
    Var
      x, y : Integer ; St :String ;
    Procedure TT( Var a : Integer ; b : String);
    -Lệnh nào đúng :
A. TT(x +1, St) ;
B. TT(10, St) ;
C. TT(x, St) ;
D. y:= TT(St, x) ;
Vận dụng:
Câu 23: Khi chạy chương trình :
    Var x, y : Real;
    Function F(x, y:Real):Real;
      Begin
        F:=x;
        If x < y then F := y;
      End;
    BEGIN
      x:=10; y:=15;
      Write(F(x, y): 0:0);
    END.
    -Kết qủa in ra:
A. 10
B. 15
C. 0
D. F(x,y) 
Câu 24: Cho a là biến nguyên a=3, và khai báo thủ tục :
    Procedure TT( x : Integer) ;
      Begin
        x:=x+2;
      End;
    Sau khi gọi thủ tục TT(a); thì Giá trị của biến a là : 
A. 2
B. 5
C. 3
D. 0 
Câu 25: Cho x, y là hai biến nguyên và khai báo thủ tục :
    Procedure Doicho( Var a : Integer; b : Integer);
    Var z : Integer;
    Begin
      z:=a; a:=b; b:=z;
    End;
    -Sau khi thực hiện các lệnh:
    x:=7; y:=3;
    Doicho(x, y);
thì giá trị của x, y là:
A. x=7, y=7
B. x=3, y=3
C. x=3, y=7
D. x=7, y=3 
Câu 26: Cho khai báo hàm đệ quy :
    Function F( a : Integer) : Integer;
      Begin
        If a=1 then F:=1 else F:= a*a+ F(a-1);
      End;
    Giá trị của hàm F(4) là:
A. 1	
B. 25
C. 14
D. 30 
Câu 27: Khi chạy chương trình :
    Var x : Integer;
    Procedure TT ;
      Begin
      x:=4; x:= x+5;
      End;
    BEGIN
      x:=0; TT; Write(x);
    END.
    -Kết quả in ra là:
A. 4	
B. 5
C. 9
D. 0 
Câu 28: Khi chạy chương trình :
    Var x : Integer;
    Procedure TINH ;
      Var  x: Integer ;
      Begin
        x:=1; x:= x+12;
      End;
    BEGIN
      x:=10; TINH; Write(x);
    END.
    -Kết quả in ra là:
A. 10
B. 12
C. 22
D. 13 
Câu 29: Khi chạy chương trình :
    Var x : Integer;
    Procedure TTA ;
      Var x : Integer;
      Begin
        x:= 7* 5; Write(x, ‘,’);
      End;
    BEGIN
      x:=4; TTA; Write(x:2);
    END.
    -Kết quả in ra là:
A. 35, 4
B. 4, 35
C. 4, 75
D. 354 
 Câu 30: Muốn khai báo x là tham số giá trị và y, z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “ViduTT” thì khai báo nào sau đây là sai?
A. Procedure ViduTT( x : Byte ; Var y, z : Byte) ;
B. Procedure ViduTT( x : Byte ; Var y : Byte ; Var z : Byte) ;
C. Procedure ViduTT( x : Byte ; Var y : Byte ; z : Byte) ;
D. Procedure ViduTT( Var y : Byte ; x : Byte ; Var z : Byte) ;
 Câu 31: Cho chương trình sau :
Program Thidu ;
Var s : string[50] ;
Procedure foo(s : string);
       Var i : integer;
       Begin
             i :=  1 ;
             while ( i <= length(S) ) do
                       begin
                               writeln( s[ i ] ) ;
                               i := i + 1 ;
                       end ;
      end;
Begin
            s := ‘tinhoc’ ;
            foo(s) ;
End .
Số dòng chương trình in ra màn hình là bao nhiêu ?
A. 50 dòng
B. 6 dòng
C. 7 dòng
D. Vô số dòng
 Câu 32: Cho chương trình sau :
Program Thi_du ;
 Var Mess : string ;
 Procedure StopHere;
 Var Mess : string ;
 Begin
 Mess := ‘StopHere’ ;
 Write(Mess) ;
 End ;
Begin
 Mess := ‘StartHere’ ;
 StopHere ;
 Write(Mess) ;
End.
Phương án nào dưới đây là kết quả thực hiện chương trình trên ?
A. StopHere StartHere;
B. StartHere StopHere;
C. StartHere StopHere StartHere;
D. StopHere StopHere;
Câu 33: Cho chương trình sau :
Program Vi_du ;
Var x, y : integer ;
Procedure godoit( x, y : integer ) ;
	Begin
	x := y ;
	y := 0 ;
	Write( x, y ) ;
	End ;
Begin
	x := 1 ;
	y := 2 ;
	godoit( x, y ) ;
	writeln( x, y ) ;
End.
Chương trình trên in ra dãy số nào ?
A. 2001
B. 1020
C. 2012
D. 1234
Câu 34: Chương trình sau sẽ in ra kết quả nào ?
Program ViDu ;
Var x, y : integer ;
Procedure thaydoi(x, y : integer) ;
	Begin 
	x := y ;
	y := 0 ;
	writeln( x, y ) ;
	End ;
Begin
	x := 1 ;
	y := 2 ;
	writeln( x, y ) ;
	thaydoi( x, y ) ;
	writeln( x, y)
End.
Hãy chọn câu trả lời đúng .
A. 1 2 2 0 1 2
B. 1 2
2 0
1 2
C. 1 2
1 2
D. 1 2
Câu 35: Đoạn chương trình sau có lỗi gì ?
Procedure End ( key : char ) ;
	Begin
	If key = ‘ q ’ then writeln( ‘ Ket thuc ’ )
	End;
A. Thiếu dấu “ ; ” sau từ khóa Begin ;
B. Không thể dùng câu lệnh if trong thủ tục;
C. Thiếu dấu “ ; ” sau lệnh writeln ;
D. End không thể dùng làm tên của thủ tục ;
Câu 36: Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; 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(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các biến cục bộ là:
A. x và y.
B. i.
C. a và b.
D. S.
Câu 37: Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; 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(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các biến toàn bộ là:
A. x và y.
B. i.
C. a và b.
D. a, b, S.
Câu 38: Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; 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(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các tham số thực sự là:
A. x và y.
B. i.
C. a và b.
D. a, b, S.
Câu 39: Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; 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(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các tham số hình thức là:
A. x và y.
B. i.
C. a và b.
D. a, b, S.

Tài liệu đính kèm:

  • docxbai_tap_chuong_vi_mon_tin_hoc_11.docx