Giải bài tập Tin học 11 trang 50, 51
Giải bài tập Tin học 11 trang 50, 51
Với Giải bài tập Tin học 11 trang 50, 51 hay, chi tiết được biên soạn bám sát nội dung sách giáo khoa Tin học lớp 11 giúp bạn dễ dàng trả lời câu hỏi từ đó đạt điểm cao trong các bài thi môn Tin học 11.
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 8 (trang 51 sgk Tin học lớp 11): Mỗi người gửi tiết kiệm không kì hạn với số tiền A đồng với lãi suất 0.3% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó rút hết tiền thì sẽ nhận được số tiền ít nhất là B đồng? Biết rằng việc gửi tiết kiệm không kì hạn thì lãi không được cộng vào vốn.
Trả lời:
program bai7; uses crt; var A,B,C:real; thang:integer; begin clrscr; writeln('nhap vao so tien A va so tien B'); readln(A,B); C:=A*0.3/100; thang:=0; while(A<B) do begin A:=A+C; thang:=thang+1; end; writeln('co the rut tien sau ',thang,' thang'); readln; end.