Giải bài tập Tin học 11: Bài tập và thực hành 2

Thứ sáu - 28/09/2018 04:45
Giải bài tập Tin học 11: Bài tập và thực hành 2
- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh.
- Làm quen với việc hiệu chỉnh chương trình.
Câu 1: 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:
1. Sự giống và khác nhau của hai dạng câu lệnh if-then
Hai dạng cầu lệnh if-then như sau:
a) Dạng thiếu
If<điều kiện> then <câu lệnh>;
if <điều kiện> then <câu lệnh 1 >else <câu lệnh 2 > ;

trong đó:
Điều kiện biểu thức quan hệ hoặc lôgic.
Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal.
Giống nhau: đều cùng là câu lệnh rẽ nhánh và khi gặp một điều kiện nào đó thì chọn lựa thực hiện thao tác thích hợp.
Khác nhau: Trong câu lệnh if-then dạng thiếu, nếu điều kiện không đúng thì 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, còn trong câu if-then dạng đủ, nếu điều kiện không đúng thì thực hiện công việc 2, sau đó mói 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.

Câu 2: Câu lệnh ghép là gì? Tại sao phải có câu lệnh ghép?
Trả lời
Câu lệnh ghép là một câu lệnh được hợp thành từ nhiều câu lệnh thành phần (đơn hoặc kép). Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành phần. Mỗi thao tác thành phần tương ứng với một câu lệnh đơn hoặc câu lệnh ghép khác. Về mặt ngôn ngữ lập trình, câu lệnh ghép là một trong các yếu tố để tạo khả năng chương trình có cấu trúc.
Câu lệnh ghép trong Pascal.
Begin
<các câu lệnh>
End;


Câu 3: Có thể dùng câu lệnh while-đo để 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.
Trả lời
Có thể thay thế đoạn chương trình chứa câu lệnh for-đo (dạng lặp tiến) for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
bằng đoạn chương trình chứa câu lệnh while-do như sau:
i:= <giá trị đầu>;
while <i< = <giá trị cuối> do
begin
<câu lệnh>;
<tăng i một đơn vị>,
end;


Như vậy, chương trình tính Tong_la viết bằng lệnh for-do
program Tong__la;
uses crt;
var S:real,
a, N: integer;
begin
clrscr;
write('Hay nhap gia tri a vao!'); readln(a);
S:= 1.0/a;
for N:=1 to 100 do S: = S+1.0/ (a+N);
 writeln('Tong S la:', S:8:4); readln;
End.


được viết lại bằng lệnh while-do như sau:
Program Tong_la;
uses crt;
var S:real;
a, N: integer;
Begin
clrscr;
write('Hay nhap gia tri a vao!'); readln(a);
S:= 1.0/a;
N:= 1;
while N<=100 do begin
S:= s + 1.0/(a+N);
N:= N + 1; end;
writeln('Tong s la:', S:8:4); readln;
End.


Câu 4: Viết câu lệnh if tính:


Trả lời

if sqr(x) + sqr(y)<= 1 then z:= sqr(x) + sqr (v)
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)ì+afc)S(y/) else z:= X + y; 

Câu 5: Lập trình tính:
Trả lời:
a) program Tong_5a,
uses crt,
var y: real;
n: byte;
Begin
clrscr
y : 0;
for n :=1 to 50 do
y : = y + n / ( n +1 ) ;
writeln('Tong y la: y:0:18);
readln ;
End.


Nếu biến y khai báo theo kiểu extended thì chương trình tính tổng y sẽ là như sau:
($e+, N+}
program Tong_5a;
uses crt;
var y: real;
n :byte;
Begin clrscr;
y : = 0 ;
for n:= 1 to 50 do
y:= y + n/(n+1);
writeln('Tong y la: y:0:18);
readln
End.


b) 
program Tong_5b;
uses crt;
var n: longint;
e, sh: real;
Begin
clrscr;
sh:= 1/2,
n: = 2 ;
e:= 2 + sh;
while sh>= 2*1E-16 do
begin
inc (n) ,
sh: = sh*(1/n) ,
e:= e + sh;
end;
writeln('Gia tri e(n)la: ',e:10:6);
readln
End.


Câu 6: 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 bao nhiêu con mỗi loại?

Trả lời
program Tim_ga_cho;
uses crt;
var ga, cho: integer;
Begin
clrscr;
for cho:= 1 to 24 do
begin
ga:= 3 6 - cho,
if ga + 2*cho = 50 then writeln('Ga:',ga,' Cho:',cho); end;
readln
End.


Câu 7: Nhập từ bàn phím tuổi của cha và con (tuổi của cha hơn tuổi con ít nhất là 25). Đưa ra màn hình bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con.
Trả lời
Chương trình về tuổi cha và tuổi con:
program tuoi_cha_con;
uses crt;
var tuoicha, tuoicon, nam: longint;
begin
clrscr;
write('Nhap tuoi cha va con(tuoicha-tuoicon>=25) ;
readln(tuoicha,tuoicon); nam:= 0;
while tuoicha<>2*tuoicon do begin
tuoicha:= tuoicha + tuoicon := tuoicon + 1; nam:= nam +1;
end;
writeln ( ' Sau ' , nam, ' nam, tuoi cha gap doi tuoi con' );
readln
End.


Câu 8: Một 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,2% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó rút tiền thì sẽ nhận được số tiền là bao nhiêu. Biết rằng tiền gửi tiết kiệm không ki hạn không được tính cộng vào vốn.
Trả lời
Chương trình gửi tiền tiết kiệm
program Gui_tiet_kiem;
uses crt;
const laisuat = 0.002;
var tiengui, tienrutve, luu: real;
thang : integer;
Begin
clrscr;
write ('Nhap vao so tien gui:'),
readln(tiengui);
luu:= tiengui;
write('So tien co khi rut ve: ’);
readln(tienrutve);
thang : = 0 ;
while Tiengui < tienrutve> do begin
tiengui:= tiengui + tiengui* laisuat ; thang:= thang + 1 ;
end;
write('Gui',luu: 0 : 0, ' dong, sau thang, thang');
writeln('se nhan duoc so tien',tienrutve:0 : 0,' dong');
readln
End .

Khi chạy chương trình, với số tiền gửi ban đầu là 20000000 đồng. Muốn có được số tiền sau khi rút về là 25000000 đồng thì phải mất 112 tháng.

Kết quả chương trình cho như hình 25 dưới đây:

  Ý kiến bạn đọc

THÀNH VIÊN

Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Kênh Bóng đá trực tiếp hôm nay miễn phí ⇔ j888
Kênh 90Phut TV full HD ⇔ Gemwin
https://iwin33.com/ ⇔ Jun88
truc tiep bong da xoilac tv mien phi
link trực tiếp
bóng đá xôi lạc tv hôm nay ⇔ link xem truc tiep bong da xoilac tv ⇔ https://104.248.99.177/
18win ⇔ xem bóng đá cà khịa tv trực tuyến hôm nay
hitclub ⇔ https://nhatvip.rocks ⇔ ok365
ABC8 ⇔ https://ww88.supply/ ⇔ W88
sin88.run ⇔ TDTC ⇔ 789BET ⇔ BJ88
33win ⇔ https://789clubor.com/ ⇔ BJ88
https://789betcom0.com/ ⇔ https://hi88.baby/
https://j88cem.com/ ⇔ https://iwin20.com/
iwin ⇔  ⇔ https://iwin683.com/ ⇔ ko66
bet88 ⇔ https://iwin89.com/ ⇔ 23win
FB88 ⇔ Hb88 ⇔ BJ88 ⇔ Fun222
789Bet ⇔ 789Bet ⇔ 33WIN
qh88 ⇔ nhà cái ok365 ⇔ VIPwin
Go88 ⇔ 23win ⇔ 789club ⇔ 69VN
BJ88 ⇔ Kuwin ⇔ hi88 ⇔ 789BET
BJ88 ⇔ https://okvipno1.com/
8K BET ⇔ Go88 ⇔ 789club
69vn ⇔ hi88 ⇔ j88
99OK ⇔ 789win ⇔ Bet88
https://789bethv.com/ ⇔ https://88clb.promo/
Kuwin ⇔  ⇔ 33WIN
https://f8bet0.tv/ ⇔ https://choangclub.bar
https://vinbet.fun ⇔ https://uk88.rocks
Hay88 ⇔ https://33win.boutique/
789club ⇔ BJ88 ⇔ ABC8 ⇔ iwin
sunwin ⇔ sunwin ⇔ hi88 ⇔ hi88
go 88 ⇔ go88 ⇔ go88 ⇔ sun win
sun win ⇔ sunwin ⇔ sunwin ⇔ iwinclub
iwin club ⇔ iwin ⇔ iwinclub ⇔ iwin club
iwin ⇔ hitclub ⇔ hitclub ⇔ v9bet
v9bet ⇔ v9 bet ⇔ v9bet ⇔ v9 bet
v9 bet ⇔ rikvip ⇔ hitclub ⇔ hitclub
Go88 ⇔ Go88 ⇔ Sunwin ⇔ Sunwin
iwin ⇔ iwin ⇔ rikvip ⇔ rikvip
 v9bet ⇔ v9bet ⇔ iWin ⇔ 23WIN
https://j88.so/ ⇔ https://projectelpis.org/
https://33win103.com/ ⇔ SV66 ⇔
888B ⇔ 188BET ⇔ J88
https://ww88vs.com/ ⇔ 789BET
https://188bethnv.com/ ⇔ nhà cái win79
Cakhiatv ⇔ CakhiaTV ⇔ Cakhia TV
https://timnhaonline.net/ ⇔ https://vididong.com/
https://obrigadoportugal.org/ ⇔ 
https://thoibaoso.net/ ⇔ https://hi88.report/
go 88 ⇔ https://sunwin214.com/
789winmb.black ⇔ 789win ⇔ https://iwin886.com/
https://88clb.lawyer/ ⇔ https://olicn.com/
https://iwin.locker/ ⇔ https://gettysburgghostgals.com/
https://iwinvn.cc/ ⇔ https://iwinvn.app/
https://iwinvn.live/ ⇔ https://iwinvn.shop/
https://iwinvn.store/ ⇔ https://iwinvn.online/
https://actioncac.org/ ⇔ https://betvisacom2.com/
https://margaretjeanlangstaff.com/ ⇔
https://69vncom.pro/ ⇔ https://mendusa.org/
https://xaydungwebsite.com/ ⇔ qh 88
https://wellensteyn.com.co/ ⇔ https://classictvhits.com/
https://bet88.football/ ⇔
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây