Chương 3: Cấu trúc rẽ nhánh và lặp

Xem toàn bộ tài liệu Lớp 11: tại đây

Giải Bài Tập Tin Học 11 – Sách Giải bài tập Tin học 11 trang 50, 51 giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    Bài 1 (trang 50 sgk Tin học lớp 11): Hãy cho biết sự giống và khác nhau của hai dạng câu lệnh if-then.

    Trả lời:

    Nhắc lại hai dạng câu lệnh if-then.

    Dạng thiếu: if<điều kiện> then <câu lệnh>;

    Dạng đầy đủ: if<điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

    Sự giống nhau: Điều kiện được tính và kiểm tra. Nếu điều kiện đúng thì nhánh câu lệnh sau then (<câu lệnh > trong dạng thiếu và <câu lệnh 1> trong dạng đầy đủ)

    Sự khác nhau:

    + Ở dạng thiếu thì nếu điều kiện sai thì nó sẽ thoát khỏi cấu trúc rẽ nhánh .Thực hiện câu lệnh tiếp theo của chương trình.

    + Ở dạng đầy đủ thì nếu điều kiện sai nó sẽ thực hiện nhánh câu lệnh sau else (<câu lệnh 2> trong dạng đầy đủ). Sau đó mới thoát khỏi rẽ nhánh rồi thực hiện các câu lệnh tiếp theo của chương trình.

    Bài 2 (trang 50 sgk Tin học lớp 11): Câu lệnh ghép là gì? Tại sao lại phải có câu lệnh ghép?

    Trả lời:

    – Câu lệnh ghép là: Gộp một dãy các câu lệnh lại với nhau Trong Pascal câu lệnh ghép có dạng:

    Begin
    	<các câu lệnh>;
    End;
    

    – Lý do có câu lệnh ghép: Vì sau một số từ khóa (như then hoặc else) phải là một câu lệnh. Nhưng trong nhiều trường hợp, các thao tác sau những tên dành riêng phức tạp, đòi hỏi không phải chỉ một mà là nhiều câu lệnh để mô tả. Trong những trường hợp như vậy ta phải sử dụng câu lệnh ghép.

    Bài 3 (trang 51 sgk Tin học lớp 11): Có thể dùng cậu lệnh while-do để thay cho câu lệnh for-do được không? Nếu được hãy thực hiện điều đó với chương trình Tong_1a.

    Trả lời:

    – Có thể sử dụng câu lệnh while-do để thay cho câu lệnh for-do được. Vì ta có thể sử dụng các câu lệnh giúp thoát khỏi vòng lặp, hoặc có thể sử dụng những câu lệnh để thoát lặp.

    – Sửa chương trình tong_1a;

    program Tongtien;
    uses crt;
    var S:real;
        a,n: integer;
    begin
    	clrscr;
    	writeln('hay nhap gia tri cua a ');
    	readln(a);
    	S:=1.0/a;
    	while N<=100 do
    	begin
    		S:=S+1.0/(a+N);
    		N:=N+1;
    	end;
    	writeln('Tong S la:',S:8:4);
    	readln;
    end.
    

    Kết quả:

    Giống với kết quả của chương trình sử dụng for

    Bài 4 (trang 51 sgk Tin học lớp 11):


    Trả lời:

    Câu lệnh rẽ nhánh như sau:

    a)

    If (sqr(x)+sqr(y))<=1
    Then
    z:=sqr(x)+sqr(y)
    else
    if y>=x
    then
    z:=x+y
    else
    z:=0.5;
    

    b)

    If sqr(x-a)+sqr(y-b)<=sqr(r)
    Then
    z:=abs(x)+abs(y);
    Else
    z:=x+y;
    

    Bài 5 (trang 51 sgk Tin học lớp 11):

    Trả lời:

    b)

    program bai5;
    uses crt;
    var n:integer;
        y:real;
    begin
    	clrscr;
    	y:=0;
    	for n:=1 to 50 do
    	y:=y+n/(n+1);
    	writeln('y=',y:8:4);
    	readln;
    end.
    

    Kết quả:

    b)

    program bai5;
    uses crt;
    var n,dem:integer;
        e:real;
        gt:longint;
    begin
    	clrscr;
    	e:=1;
    	gt:=1;
    	dem:=1;
    	while 1.0/gt >2*0.000001 do
    	begin
    	e:=e+1.0/gt;
    	gt:=gt*dem;
    	dem:=dem+1;
    	end;
    	writeln('e=',e:8:4);
    	readln;
    end.
    

    Kết quả:

    Bài 6 (trang 51 sgk Tin học lớp 11): Lập trình để giải bài toán cổ sau:

    Vừa gà vừa chó.

    Bó lại cho tròn.

    Ba mươi sáu con.

    Một trăm chân chẵn.

    Hỏi mỗi loại có bao nhiêu con ?

    Trả lời:

    Ta có tổng 2 loại là 36 con . Như vậy số con gà sẽ nằm trong khoảng từ 0 đến 36. Số còn lại sẽ là chó.

    Theo giả thiết đề bài ta có số gà*2+số chó *4 =100.

    Như vậy ta sẽ có code như sau:

    program bai6;
    uses crt;
    var ga,cho:integer;
    begin
    	clrscr;
    	for ga:=0 to 36 do
    		if ga*2+(36-ga)*4=100
    		then
    		writeln('so ga la ',ga,' so cho la ',36-ga);
    	readln;
    end.
    

    Kết quả:

    Bài 7 (trang 51 sgk Tin học lớp 11): Nhập từ bàn phím tuổi của cha và con (hiện tại tuổi cha lớn hơn hai lần tuổi con và tuổi cha hơn tuổi con ít nhất là 25 ). Đưa ra màn hình câu trả lời cho câu hỏi “Bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con ?”.

    Trả lời:

    program bai7;
    uses crt;
    var tcha,tcon,nam:integer;
    begin
    	clrscr;
    	writeln('nhap vao tuoi cha va tuoi con ');
    	readln(tcha,tcon);
    	nam:=0;
    	while(tcha<>tcon*2) do
    	begin
    	tcha:=tcha+1;
    	tcon:=tcon+1;
    	nam:=nam+1;
    	end;
    	writeln('sau ',nam,' nam nua thi tuoi cha gap 2 lan tuoi con');
    	readln;
    end.
    

    Kết quả:

     

    Bài giải này có hữu ích với bạn không?

    Bấm vào một ngôi sao để đánh giá!

    Đánh giá trung bình 5 / 5. Số lượt đánh giá: 1086

    Chưa có ai đánh giá! Hãy là người đầu tiên đánh giá bài này.

    --Chọn Bài--

    Tài liệu trên trang là MIỄN PHÍ, các bạn vui lòng KHÔNG trả phí dưới BẤT KỲ hình thức nào!

    Tải xuống