Chủ nhật, 28/04/2024
IMG-LOGO
Trang chủ Lớp 11 Tin học Giải SGK Tin học 11 Chương 3: Cấu trúc rẽ nhánh và lặp

Giải SGK Tin học 11 Chương 3: Cấu trúc rẽ nhánh và lặp

Giải bài tập Tin học 11 trang 50, 51

  • 1456 lượt thi

  • 8 câu hỏi

  • 30 phút

Danh sách câu hỏi

Câu 1:

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.

Xem đáp án

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.


Câu 2:

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?

Xem đáp án

- 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 lnh>;
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.


Câu 3:

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.

Xem đáp án

- 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

Giải bài tập Tin học 11 | Để học tốt Tin học 11

Câu 4:

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

Giải bài tập Tin học 11 | Để học tốt Tin học 11Giải bài tập Tin học 11 | Để học tốt Tin học 11

Xem đáp án

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;

Câu 5:

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

Giải bài tập Tin học 11 | Để học tốt Tin học 11

Xem đáp án

a)

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ả:

Giải bài tập Tin học 11 | Để học tốt Tin học 11


Câu 6:

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 ?

Xem đáp án

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ả:

Giải bài tập Tin học 11 | Để học tốt Tin học 11


Câu 7:

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 ?”.

Xem đáp án
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ả:

Giải bài tập Tin học 11 | Để học tốt Tin học 11

Bắt đầu thi ngay

Bài thi liên quan