//
you're reading...
Bài tập huấn luyện, Dùng cho cấp THCS

Bài tập huấn luyện: Lệnh IF

Dạng câu lệnh điều kiện : IF..THEN..ELSE ..;

Bài tập 1:

Viết chương trình in ra số lớn hơn trong hai số (được nhập từ bàn phím).

HD :

–         Nhập hai số vào hai biến a, b.

–         Nếu a > b thì in a. Nếu a <= b thì in b.

– Hoặc: Nếu a > b thì in a. Ngược lại thì in b.

 

Program SO_SANH1;

uses crt;

var a,b: real;

begin

clrscr;

write(‘nhap so thu nhat: ‘); readln(a);

write(‘nhap so thu hai: ‘); readln(b);

if a> b then writeln(‘ So lon la:’,a);

if a<= b then writeln(‘ So lon la:’,b:10:2);

readln

end.

Hoặc

Program SO_SANH2;

uses crt;

var a,b: real;

begin

clrscr;

write(‘nhap so thu nhat: ‘); readln(a);

write(‘nhap so thu hai: ‘); readln(b);

if a> b then writeln(‘ So lon la:’,a:10:2)

else writeln(‘ So lon la:’,b:10:2);

readln

end.

 

Bài tập 2: Viết chương trình in ra số lớn nhất trong bốn số nhập từ bàn phím.

HD :

Nếu a³ b và a³ c và a³ d thì a là số lớn nhất.

Tương tự như thế xét các trường hợp còn lại để tìm số lớn nhất.

 

Program So_Lon_Nhat_1;

Uses crt;

Var a,b,c,d: real;

Begin

Clrscr;

Write(‘Nhap so thu nhat:’);readln(a);

Write(‘Nhap so thu hai:’);readln(b);

Write(‘Nhap so thu ba:’);readln(c);

Write(‘Nhap so thu tu:’);readln(d);

if (a>=b) and (a>=c) and (a>= d) then writeln(‘So lon nhat la:’,a:10:2);

if (b>=a) and (b>=c) and (b>= d) then writeln(‘So lon nhat la:’,b:10:2);

if (c>=a) and (c>=b) and (c>= d) then writeln(‘So lon nhat la:’,c:10:2);

if (d>=a) and (d>=b) and (d>= c) then writeln(‘So lon nhat la:’,d:10:2);

readln

end.

 

Bài tập 3: Viết chương trình in ra số lớn nhất trong bốn số nhập từ bàn phím với điều kiện chỉ được dùng hai biến.

HD :

Sử dụng một biến max và một biến a để chứa số vừa nhập. Cho max bằng số đầu tiên. Sau khi nhập một số thực hiện so sánh nếu số vừa nhập lớn hơn max thì lưu số vừa nhập vào max. Sau khi nhập xong ta có max là số lớn nhất

(Giải thuật này gọi là kỹ thuật lính canh cần hiểu rõ để sử dụng sau này

Program So_Lon_Nhat_2;

Uses crt;

Var a,max: real;

Begin

Clrscr;

Write(‘Nhap so thu nhat:’);readln(a);Max:=a;

Write(‘Nhap so thu hai:’);readln(a);if a>=Max then Max:=a;

Write(‘Nhap so thu ba:’);readln(a);if a>=Max then Max:=a;

Write(‘Nhap so thu tu:’);readln(a);if a>=Max then Max:=a;

Write(‘So lon nhat la:’,Max:10:2);

readln

end.

Bài tập 4 : Viết chương trình xét xem một tam giác có là tam giác đều hay không khi biết ba cạnh của tam giác

HD :

–         Nhập ba cạnh của tam giác vào ba biến a,b,c.

–         Nếu a = b và b = c thì tam giác là tam giác đều và ngược lại tam giác không là tam giác đều.

 

Program Tam_giac_deu;

uses crt;

var a,b,c: real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

if (a = b) and (b = c) then writeln(‘La tam giac deu’)

else

writeln(‘Khong phai la tam giac deu’);

readln

end.

Bài tập 5 : Viết chương trình xét xem một tam giác có là tam giác cân hay không khi biết ba cạnh của tam giác.

HD:

–         Nhập ba cạnh của tam giác vào ba biến a,b,c.

–         Nếu a = b hoặc b = c hoặc a = c thì tam giác là tam giác cân và ngược lại tam giác không là tam giác cân

Program Tam_giac_can;

uses crt;

var a,b,c: real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

if (a = b) or (b = c) or (a = c) then writeln(‘La tam giac can’)

else

writeln(‘Khong phai la tam giac can’);

readln

end.

Bài tập 6 : Viết chương trình xét xem một tam giác có là tam giác vuông hay không khi biết ba cạnh của tam giác.

HD:

–         Nhập ba cạnh của tam giác vào ba biến a,b,c.

–         Nếu a2 = b2 + c2 hoặc b2 = c2 + a2 hoặc c2 = a2+b2 thì tam giác là tam giác vuông và ngược lại tam giác không là tam giác vuông.

Program Tam_giac_can;

uses crt;

var a,b,c: real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

if (a*a = b*b+c*c) or (b*b = c*c+a*a) or (c*c= a*a+b*b) then writeln(‘La tam giac vuong’)

else

writeln(‘Khong phai la tam giac vuong’);

readln

end.

Bài tập 7: Viết chương trình giải phương trình ax + b = 0 (Các hệ số a, b được nhập từ bàn phím).

HD:

–         Nếu a ¹ 0 thì phương trình có nghiệm x =

–         Nếu a = 0 và b = 0 thì phương trình có vô số nghiệm

–         Nếu a = 0 và b ¹ 0 thì phương trình vô nghiệm

Hoặc:

–         Nếu a = 0 thì xét b. Nếu b = 0 thì phương trình có vô số nghiệm ngược lại (b ¹0) thì phương trình vô nghiệm ngược lại (a ¹0) phương trình có nghiệm x = .

Program Phuong_trinh_2;

uses crt;

var a,b:real;

begin

clrscr;

Writeln(‘          CHUONG TRINH GIAI PT ax + b = 0’);

Write(‘Nhap he so a = ‘);readln(a);

Write(‘Nhap he so b = ‘);readln(b);

if (a<>0) then writeln(‘phuong trinh’,a:10:2,’x + ‘,b:10:2,’= 0′,’ co nghiem x =;’,-b/a:10:2);

if (a=0) and (b=0) then writeln(‘Phuong trinh co vo so nghiem’);

if (a=0) and (b<>0) then writeln(‘Phuong trinh vo nghiem’);

readln

 

end.

Hoặc

Program Phuong_trinh_2;

uses crt;

var a,b:real;

begin

clrscr;

Writeln(‘         CHUONG TRINH GIAI PT ax + b = 0’);

Write(‘Nhap he so a = ‘);readln(a);

Write(‘Nhap he so b = ‘);readln(b);

if (a<>0) then writeln(‘phuong trinh’,a:10:2,’x + ‘,b:10:2,’= 0′,’ co nghiem x =;’,-b/a:10:2)

else

if (b=0) then writeln(‘Phuong trinh co vo so nghiem’)

else

writeln(‘Phuong trinh vo nghiem’);

readln

end.

 

Bài tập 8: (HSG lớp 8 -TP Huế 2006-2007)

Ba  bạn An, Bình và Cường cùng tham gia một trò chơi như sau: Mỗi bạn nắm trong tay một đồng xu,  mỗi đồng xu có hai trạng thái : sấp và ngửa. Theo hiệu lệnh, cả ba bạn cùng đưa đồng xu của mình ra phía trước. Nếu cả ba đồng xu cùng sấp hoặc cùng ngửa thì chưa phát hiện người thua cuộc (hòa nhau). Nếu một bạn có trạng thái đồng xu khác với hai bạn kia( nghĩa là đồng xu của bạn ấy sấp còn hai người kia ngửa và ngược lại đồng xu của bạn ấy ngửa thì hai người kia sấp) thì bạn đó thắng cuộc. Hãy viết chương trình mô phỏng trò chơi trên.

HD:

– Để mô phỏng trạng thái sấp, ngửa của đồng xu ta dùng hàm Random(1) hoặc dùng Random(n) mod 2 với n > 2.

– Xét tám trường hợp xãy ra để tìm người thắng cuộc.

Program Sap_ngua;

uses crt;

Var A, B, C: byte;

Begin

clrscr;

Writeln(‘Go phim de xem ket qua: ‘);

A:=Random(10); A:=A mod 2;

B:=Random(10); B:=B mod 2;

C:=Random(10); C:=C mod 2;

Write(‘Ket qua: ‘,a,b,c);

if (A=0) and (B=0) and (C=0) then Write(‘ Hoa’);

if (A=0) and (B=0) and (C=1) then Write(‘ C Thang’);

if (A=0) and (B=1) and (C=0) then Write(‘ B Thang’);

if (A=0) and (B=1) and (C=1) then Write(‘ A Thang’);

if (A=1) and (B=0) and (C=0) then Write(‘ A Thang’);

if (A=1) and (B=0) and (C=1) then Write(‘ B Thang’);

if (A=1) and (B=1) and (C=0) then Write(‘ C Thang’);

if (A=1) and (B=1) and (C=1) then Write(‘ Hoa’);

Readln;

Readln

End.

 

Bài tập 9: Viết chương trình dịch các ngày trong tuần sang tiếng anh

2 3 4 5 6 7 8
Monday Tuesday Wednesday Thursday Friday Saturday Sunday

HD:

–         Dùng biến a kiểu byte để chứa thứ (2 đến 8)

–         Trường hợp a = 2: Monday

–         Trường hợp a = 3: Thursday

–         …

–         Trường hợp a = 8: Sunday

–         Ngoài ra không còn thứ nào.

Program dich;

uses crt;

Var thu:byte;

begin

clrscr;

write(‘nhap thu can dich 2à8: ‘); readln(thu);

case thu of

2: Write(‘–> Monday’);

3: Write(‘–> Tuesday’);

4: Write(‘–> Wednesday’);

5: Write(‘–> Thursday’);

6: Write(‘–> Friday’);

7: Write(‘–> Saturday’);

8: Write(‘–> Sunday’);

else

Write(‘ Khong co thu nay’);

end;

readln

end.

 

Bài tập 10

Viết chương trình cho phép tính diện tích các hình: Hình vuông; Hình chữ nhật; Hình tròn; Tam giác; Hình thang. Người dùng chọn hình cần tính diện tích từ bảng chọn, sau đó khai báo các thông số liên quan và nhận được diện tích của hình:

MOI BAN CHON HINH CAN TINH  DIEN TICH

 

1. Hình vuông.

2. Hình chữ nhật.

3. Hình tròn.

4. Tam giác.

5. Hình thang.

Muốn tình diện tích tam giác, người dùng gõ 4 và khai báo đường cao, đáy. Chương trình tính và thông diện tích đến người dùng.

HD:

– Dùng cấu trúc chọn Case  chon of  với chon có kiểu Char để tạo bảng chọn.

– Dùng 3 biến a,b,c để lưu các thông số của hình; Biến S để lưu diện tích của hình.

– Thực hiện chung câu thông báo diện tích (Nằm ngoài Case . . . of) để gọn chưong trình.

 

Program Dien_Tich_cac_hinh;

uses crt;

var chon: byte;

a,b,c,S: real;

Begin

clrscr;

writeln(‘CHUONG TRINH TINH DIEN TICH CAC HINH’);

Writeln(‘          ————‘);

writeln(‘1.   DIEN TICH HINH TAM GIAC’);

writeln(‘2.   DIEN TICH HINH VUONG’);

writeln(‘3.   DIEN TICH HINH CHU NHAT’);

writeln(‘4.   DIEN TICH HINH THANG’);

writeln(‘5.   DIEN TICH HINH TRON’);

write(‘Moi ban chon hinh can tinh dien tich: ‘);readln(chon);

case chon of

1 : Begin

Write(‘Cho biet canh day: ‘); readln(a);

Write(‘Cho biet chieu cao: ‘); readln(b);

S:=(a*b)/2;

end;

2:Begin

Write(‘Cho biet chieu dai canh: ‘); readln(a);

S:=a*a;

end;

3:Begin

Write(‘Cho biet chieu dai: ‘); readln(a);

Write(‘Cho biet chieu rong: ‘); readln(b);

S:=a*b;

end;

4:Begin

Write(‘Cho biet day lon: ‘); readln(a);

Write(‘Cho biet day nho: ‘); readln(b);

Write(‘Cho biet chieu cao: ‘); readln(c);

S:=(a+b)*c/2;

End;

5:Begin

Write(‘Cho biet ban kinh: ‘); readln(a);

S:=a*a*pi;

End;

else

Writeln(‘Chon sai roi!!!’);

end;

Writeln(‘Dien tich cua hinh la: ‘,S:8:2);

readln

end.

 

Advertisements

About pascalteacher

Trang thông tin Toán học và Tin học

Thảo luận

Không có bình luận

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

Các tác giả

Chuyên mục

Tháng Mười Hai 2016
H B T N S B C
« Th11   Th1 »
 1234
567891011
12131415161718
19202122232425
262728293031  

NCT Computer

Flickr Photos

Thống kê

  • 255,206 lượt xem

pascalteacher.nct@gmail.com


Trang huấn luyện học sinh giỏi Tin học

%d bloggers like this: