Giáo án lớp 9 môn Tin học - Chương 4: Các lệnh có cấu trúc

Giáo án lớp 9 môn Tin học - Chương 4: Các lệnh có cấu trúc

I/ Lệnh cấu trúc rẽ nhánh(lệnh IF):

1/ Dạng không đầy đủ:

 Cú pháp: IF < điều="" kiện=""> THEN < công="" việc="">

 Ý nghĩa: Nếu điều kiện đúng thì thực hiện công việc

 Lưu đồ cú pháp:

 

doc 15 trang Người đăng HoangHaoMinh Lượt xem 1493Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án lớp 9 môn Tin học - Chương 4: Các lệnh có cấu trúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 4: 
CÁC LỆNH CÓ CẤU TRÚC
I/ Lệnh cấu trúc rẽ nhánh(lệnh IF):
1/ Dạng không đầy đủ:
	Cú pháp: IF THEN 
	Ý nghĩa: Nếu điều kiện đúng thì thực hiện công việc
ĐK
CV
S
Đ
KTL
	Lưu đồ cú pháp:
	Ví dụ: Trong việc thực hiện phép chia số a cho số b, phải có điều kiện b 0. Điều đó được thể hiện trong chương trình sau:
	Var
	a,b: integer;
	Begin
	Write(‘Nhap so a: ’);readln(a);
	Write(Nhap so b: ’);readln(b);
	IF b 0 THEN Writeln(‘Thuong cua hai so la: ’, a/b:5:2);
	readln;
	End.
2/ Dạng đầy đủ:
	Cú pháp: IF THEN ELSE 
	Ý nghĩa: Nếu điều kiện đúng thì thực hiện Công việc 1 ngược lại thực hiện Công việc 2
ĐK
CV1
S
Đ
KTL
CV2
Lưu đồ cú pháp:
Ví dụ 1: Chẳng hạn trong ví dụ trên ta có thể bổ sung thành dạng đầy đủ như sau:
	Var	
	a,b: integer;
	Begin
	Write(‘Nhap so a: ’);readln(a);
	Write(‘Nhap so b: ’);readln(b);
	IF b 0 THEN 
	 Writeln(‘Thuong cua hai so la: ’,a/b:5:2)
	 ELSE
	Writeln(‘So chia bang 0, phep chia khong co nghia’);
	 Readln;
	 	 End.
Chú ý: 
- Trước từ khoá ELSE không có dấu chấm phẩy
- Công việc có thể chỉ là một lệnh hoặc nhiều lệnh. Trong trường hợp nhiều lệnh thì phải để chúng trong cặp Begin và End (tạo nên một lệnh hợp thành).
Ví dụ 2: Nhập vào hai số a và b. Tìm giá trị lớn nhất trong hai số đó:
	Var
	a,b: real;
	Begin
	Write(‘Nhap so a: ’);readln(a);
	Write(‘Nhap so b: ’);readln(b);
IF a>b THEN 
	begin
	Writeln(a:5:2, ‘la so lon nhat’);	
	Writeln(b:5:2, ‘la so nho nhat’);
	end
ELSE
	begin
	Writeln(b:5:2, ‘la so lon nhat’);
	Writeln(a:5:2, ‘la so nho nhat’);
	end
	Readln;
	End.
II/ Lệnh cấu trúc lựa chọn(Lệnh CASE):
1/ Dạng không đầy đủ:
Cú pháp:
	CASE OF
	Hằng 1a, hằng 1b,.....,hằng 1x: ;
	Hằng 2a, hằng 2b,.....,hằng 2x: ;
	............................
	Hằng Na, hằng Nb,....,hằng Nx: ;
	END;
Ý nghĩa: Trước hết kiểm tra xem giá trị của có phải là một trong các hằng 1a, 1b,.....1x hay không. Nếu đúng thì thực hiện rồi kết thúc lệnh (thực hiện lệnh tiếp theo sau END;), cứ tiếp tục như vậy, nếu giá trị của không thuộc tập hợp các hằng từ 1a đến Nx thì lệnh kết thúc mà không thực hiện bất kỳ một công việc nào cả.
Ví dụ 1: Viết chương trình nhập điểm của một học sinh theo thang điểm 10 và tiến hành xếp loại văn hoá theo điểm sau đây:
	9, 10	: loại giỏi	7,8	: loại khá
	5,6	: loại trung bình	3,4	: loại yếu
	0,1,2	: loại kém
	Program Xeploai1;
	Var
	diem: integer;
	Begin
	Write(‘Bai dat bao nhieu diem ?’);readln(diem);
	Case	diem Of
	9,10: 	writeln(‘Đat loai gioi’);
	7,8:	writeln(‘Đat loai kha’);
	5,6:	writeln(‘Đat loai trung binh’);
	3,4:	writeln(‘Đat loai yeu’);
	0,1,2:	writeln(‘Đat loai kem’);
	End;
	Readln;
	End.
2/ Dạng đầy đủ:
Cú pháp:	CASE OF
	Hằng 1a, hằng 1b,.....,hằng 1x: ;
	Hằng 2a, hằng 2b,.....,hằng 2x: ;
	............................
	Hằng Na, hằng Nb,....,hằng Nx: ;
	ELSE
	;
	END;
Ý nghĩa: Khác dạng không đầy đủ ở chỗ: Khi giá trị của không thuộc tập hợp các hằng từ 1a đến Nx thì sẽ thực hiện (các lệnh sau từ khoá Else) rồi kết thúc lệnh.
Ví dụ 2: Cũng như ví dụ 1 trên nhưng yêu cầu thêm là nếu số điểm nhập vào không nằm trong các số từ 0 đến 10 thì in ra câu: “ Nhap diem sai”
Program Xeploai2;
	Var
	diem: integer;
	Begin
	Write(‘Bai dat bao nhieu diem ?’);readln(diem);
	Case	diem Of
	9,10: 	writeln(‘Đat loai gioi’);
	7,8:	writeln(‘Đat loai kha’);
	5,6:	writeln(‘Đat loai trung binh’);
	3,4:	writeln(‘Đat loai yeu’);
	0,1,2:	writeln(‘Đat loai kem’);
	Else
	writeln(‘Nhap diem sai’);
	End;
	Readln;
	End.
III/ Lệnh lặp với số lần lặp xác định(Lệnh FOR):
1/ Dạng 1:
	Cú pháp: 
FOR := TO DO 
	Ý nghĩa: Các bước thực hiện lệnh như sau:
	Bước 1: Kiểm tra xem giá trị đầu <= giá trị cuối. Nếu đúng thì gán giá trị đầu cho biến và thực hiện công việc.
	Bước 2: Kiểm tra xem giá trị của biến giá trị cuối. Nếu đúng thì tăng thêm cho biến một “đơn vị” rồi thực hiện công việc.
	Lặp lại bước 2 cho đến khi giá trị của biến = giá trị cuối thì kết thúc lệnh.
Chú ý: 
	+ Biến sau từ khoá FOR gọi là biến đếm, biến đếm phải có kiểu đếm được và 
giá trị đầu <= giá trị cuối.
	+ Trong các lệnh của công việc không được có các lệnh làm thay đổi giá trị của biến đếm.
	+ Như vậy sau khi vòng lặp kết thúc thì giá trị của biến là giá trị cuối.
Ví dụ 1: Viết chương trình in ra màn hình 15 câu như sau: 
 Đây là vòng lặp thứ 1	
 Đây là vòng lặp thứ 2
Đây là vòng lặp thứ 15
Var
 i:integer;
Begin
 For i:=1 To 15 Do
 writeln('Day la vong lap thu ',i);
 readln;
End.
Ví dụ 2: Viết chương trình tính tổng của n số, số n và các số hạng của tổng nhập từ bàn phím khi chạy chương trình.
 Begin
 writeln('Nhap so thu',i,':');readln(so);
 s:=s+so;
 End;
 writeln('Tong cua day so la S= ',s);
 readln;
End.
Var	
 n,i,s,so:integer;
Begin
 writeln('day co bao so ?');readln(n);
 s:=0;
 For i:=1 To n Do
Ví dụ 3: Viết chương trình tính giai thừa của số n nhập từ bàn phím.
Program Giaithua;
Var
 i,n:Integer;
 gt:longint;
Begin
 writeln('Cho biet so n ');readln(n);
 gt:=1;
 For i:=1 To n Do
 gt:=gt*i;
 writeln(n,'!= ',gt);
 readln;
End.
2/ Dạng 2:
	Cú pháp: 
FOR := DOWNTO DO 
	Ý nghĩa: Tương tự như dạng 1 nhưng sau mỗi lần lặp thì biến bị giảm một “đơn vị”.
	Trong trường hợp này thì điều kiện để vòng lặp thực hiện là giá trị đầu >= giá trị cuối.
Ví dụ 4: Tìm các số nguyên dương là ước của n
Program Uocso;
Uses crt;
Var
 i,n:Integer;
Begin
 Clrscr;
 Writeln('Nhap so n : ');readln(n);
 For i:=n DownTo 1 Do
 If n mod i = 0 then
 Write(i:8);
 Readln;
End.
IV/ Lệnh lặp với số lần lặp không xác định(Lệnh WHILE):
1/ Dạng 1:
	Cú pháp: 
WHILE DO 
	Ý nghĩa: Vào lệnh sẽ kiểm tra . Nếu đúng thì thực hiện 
 sau đó quay lại kiểm tra . Cứ tiếp tục như thế cho tới khi nào 
 sai thì kết thúc lệnh.
ĐK
Công việc
S
Đ
	Lưu đồ cú pháp:
Ví dụ1: Tính tổng S = 1 + 2 + . + n sao cho S>1000. Hỏi khi đó S bằng bao nhiêu ?
Program Tong;
Uses crt;
Var
i,s:Integer;
Begin
 	clrscr;
 	s:=0;
 	i:=1;
 While s<=1000 Do
 begin
 	s:=s+i;
 	 i:=i+1;
 end;
 Writeln('Khi do tong s= ',s);
 Readln;
End.
Ví dụ 2: Tìm USCLN của hai số a và b được nhập vào từ bàn phím.
Program USCLN;
Uses crt;
Var
 a,b,ucln:Integer;
Begin
 clrscr;
 Write('Nhap so a: ');readln(a);
 Write('Nhap so b: ');readln(b);
 If a<b then
 ucln:=a
 Else
 ucln:=b;
 While (a mod ucln 0) or (b mod ucln 0) Do
 ucln:=ucln-1;
 Writeln('USCLN cua hai so ',a,'va ',b,'la: ',ucln);
 Readln;
End.
Chú ý: Trong vòng lặp phải có một lệnh có khả năng làm thay đổi điều kiện sau từ khoá WHILE để đến một lúc nào đó thì điều kiện này không còn đúng nữa thì vòng lặp kết thúc. Trong ví dụ 6.6 đó là lệnh S:=S+I còn trong ví dụ 6.7 đó là lệnh ucln:=ucln-1.
2/ Dạng 2:
	Cú pháp:
REPEAT UNTIL 
Ý nghĩa: Vào lệnh sẽ thực hiện sau đó kiểm tra . Nếu 
 sai thì tiếp tục thực hiện , sau đó lại kiểm tra . Quá trình trên cứ tiếp tục cho đến khi nào đúng thì kết thúc.
	Lưu đồ cú pháp:
ĐK
Công việc
S
Đ
	Ví dụ 1: Viết chương trình nhập vào một số nguyên dương n và xác định xem nó có phải là số nguyên tố hay không ?
Program Nguyento;
Uses crt;
Var
 i,n:Integer;
Begin
 clrscr;
 Write('Hay nhap vao so n:');readln(n);
 i:=1;
 Repeat
 i:=i+1;
 Until (n mod i = 0) or (i*i>n);
 If i*i>n then
 Writeln(n,'la so nguyen to')
 Else
 Writeln(n,' la hop so');
 Readln;
End.
3/ Sự khác nhau giữa WHILEDO và REPEATUNTIL:
	Giữa hai loại lệnh này có sự khác nhau như sau:
	+ Trong lệnh WhileDo thì điều kiện kiểm tra trước, nếu đúng thì thực hiện . Còn trong lệnh RepeatUntil thì ngược lại sẽ được làm trước rồi mới kiểm tra , nếu đúng thì vòng lặp kết thúc.
	+ Nếu dùng hai loại lệnh lặp này để giải cùng một bài toán với cùng một giải thuật như nhau thì sau WHILE và sau UNTIL là phủ định của nhau.
BÀI TẬP
Bài 1: Viết chương trình nhập 3 số từ bàn phím, tìm số lớn nhất trong 3 số đó, in kết quả ra màn hình.
Program Soln;{Tim so lon nhat trong 3 so}
Uses crt;
Var
 a,b,c,max:real;
Begin
 Clrscr;
 Writeln('Nhap 3 so a,b va c: ');
 Write('a= ');readln(a);
 Write('b= ');readln(b);
 Write('c= ');readln(c);
 max:= a;
 If b>max then max:=b;
 If c>max then max:=c;
 Write(max,' la so lon nhat');
 Readln;
End.
Bài 2: Viết lại chương trình tính chu vi, diện tích của tam giác nhưng với yêu cầu sau khi nhập 3 số a,b,c phải kiểm tra lại xem a,b,c có tạo thành một tam giác không ? Nếu có thì tính chu vi, diện tích. Nếu không thì in ra câu “ Không tạo thành tam giác”.
Program CVDTTG_1;
Uses crt;
Var
 a,b,c,CV:Integer;
 p,s:real;
Begin
 Clrscr;
 Writeln('Nhap 3 canh cua tam giac: ');Readln(a,b,c);
 If(a+b>c) and (b+c>a) and (c+a>b) then
 begin
 Cv:=a+b+c;
 p:=CV/2;
 s:=Sqrt(p*(p-a)*(p-b)*(p-c));
 Writeln('Chu vi cua tam giac la: ',CV);
 Writeln('Dien tich cua tam giac la: ',s:8:2);
 end
 Else
 Writeln('Khong tao thanh tam giac ');
 Readln;
End.
Bài 3: Viết chương trình giải phương trình bậc nhất ax + b = 0, với a,b nhập từ bàn phím.
Program Gptb1;{Giai phuong trinh bac nhat}
Uses crt;
Var
 a,b:real;
Begin
 Clrscr;
 Writeln('Nhap cac he so a va b cua phuong trinh: ');
 Write('a= ');readln(a);
 Write('b= ');readln(b);
 If a=0 then
 If b=0 then
 Write('Phuong trinh vo dinh')
 Else
 Write('Phuong trinh vo nghiem')
 Else
 Writeln('Phuong trinh co duy nhat mot nghiem x = ',-b/a:8:2);
 Readln;
End.
Bài 4: Viết chương trình giải phương trình bậc hai ax2 + bx + c = 0 , với a,b,c nhập từ bàn phím.
Program Giaiptb2;
 Uses crt;
 Var
 a,b,c,delta,x1,x2:real;
 Begin
 clrscr;
 Writeln('Cho biet he so a = ');readln(a);
 Writeln('Cho biet he so b = ');readln(b);
 Writeln('Cho biet he so c = ');readln(c);
 If a=0 then {phuong trinh bac nhat}
 If b=0 then
 If c=0 then
 Writeln('Phuong trinh vo dinh')
 Else
 Writeln('Phuong trinh vo nghiem')
 Else
 Writeln('Phuong trinh co nghiem duy nhat x =',-c/b:8:2)
 Else
 Begin
 delta:=b*b-4*a*c;
 If delta<0 then
 Writeln('Phuong trinh vo nghiem')
 Else
 If delta=0 then
 Writeln('Phuong trinh co nghiem kep x0 =',-b/(2*a):8:2)
 Else
 begin
 x1:=(-b-sqrt(delta))/(2*a);
 x2:=(-b+sqrt(delta))/(2*a);
 Writeln('Phuong trinh co hai nghiem phan biet:');
 Writeln('x1 = ',x1:8:2,' va x2 = ',x2:8:2);
 end;
 End;
 readln;
 End.
Bài 5: Viết chương trình nhập từ bàn phím hai số a,b và một ký tự Ch. Nếu:
	Ch là ‘+’ thì in kết a+b
	Ch là ‘-’ thì in kết a-b
	Ch là ‘*’ thì in kết a*b
	Ch là ‘/’ thì in kết a/b
Program Ptoan;{thuc hien tinh toan +,-,*,:}
Uses crt;
Var
 a,b:Integer;
 pheptoan:char;
Begin
 Clrscr;
 Writeln('Cho biet hai so a va b: ');readln(a,b);
 Write('Cho biet phep toan: ');readln(pheptoan);
 Case pheptoan of
 '+':Writeln('Tong cua hai so la: ',(a+b));
 '-':Writeln('Hieu cua hai so la: ',(a-b));
 '*':Writeln('Tich cua hai so la: ',(a*b));
 '/':Writeln('Thuong cua hai so la: ',(a/b));
 end;
Readln;
End.
Bài 6: Viết chương trình nhập vào hai số là tháng và năm của một năm. Xét xem tháng đó có bao nhiêu ngày ? biết rằng:
	Nếu tháng là 4,6,9,11 thì số ngày là 30.
	Nếu tháng là 1,3,5,7,8,10,12 thì số ngày là 31.
	Nếu tháng là 2 và năm chia hết cho 4 (năm nhuận) thì số ngày là 29, ngược lại là 28.
Program TSNTT;{Cho biet so ngay trong thang}
Uses crt;
Var
 thang,nam:Integer;
Begin
 Clrscr;
 Write('Xin cho biet thang: ');readln(thang);
 Case thang of
 4,6,9,11:Writeln('Thang ',thang,' co 30 ngay ');
 1,3,5,7,8,10,12:Writeln('Thang ',thang,' co 31 ngay');
 2:begin
 Write('Xin cho biet nam :');readln(nam);
 If nam mod 4 = 0 then
 Writeln('Nam nhuan thang 2 co 29 ngay')
 Else
 Writeln('Nam thuong thang 2 co 28 ngay');
 end;{begin}
 end;{case}
Readln;
End.
Bài 7: Có hai phương thức gửi tiền tiết kiệm: Gửi không kỳ hạn lãi suất 2.4%/tháng, mỗi tháng tính lãi một lần, gửi có kỳ hạn 3 tháng lãi suất 4%/tháng, 3 tháng tính lãi một lần.
Viết chương trình tính tổng cộng số tiền cả vốn lẫn lời sau một thời gian gửi theo mỗi phương thức. Vốn, phương thức và thời gian gửi nhập từ bàn phím.
Program Tinhtien;
Uses crt;
Const
 lt = 0.024; {lai thang 2,4%}
 lk = 0.12; {lai ky 12%}
Var
 t: Integer;
 von,tong:real;
 loai:char;
Begin
 Write('Ban muon goi co ky han hay khong co ky han?(C/K)');
 readln(loai);
 Case loai of
 'K':begin
 Write('So von cua ban bao nhieu?');readln(von);
 Write('Thoi gian ban goi bao nhieu?');readln(t);
 tong:=von*Exp(t*ln(1+lt));
 Writeln;
 Write('Ban da goi so tien la: ',round(von));
 Writeln('trong thoi gian ',t,' thang');
 Write('Ban se co so tien ca von va lai la: ');
 Writeln(tong:12:2,' dong');
 end
 else
 begin
 Write('So von cua ban bao nhieu?');readln(von);
 Write('Goi bao nhieu ky? (moi ky 3 thang) ');readln(t);
 tong:=von*Exp(t*ln(1+lk));
 Writeln;
 Write('Ban da goi so tien la: ',round(von));
 Writeln('trong thoi gian ',3*t,' thang');
 Write('Ban se co so tien ca von va lai la: ');
 Writeln(tong:12:2,' dong');
 end;
 end;
 readln;
End.
Bài 8: Viết chương trình tính các tổng sau:
S = 1+ 2 + .+ n
S = 1/2+ 2/3 + ..+ n/(n+1)
Program tinhtong;
Uses crt;
Var
 i,n,s: Integer;
 s1:real;
Begin
 Writeln('CHUONG TRINH TINH TONG THU NHAT ');
 Write('Tong co bao nhieu so hang:');readln(n);
 s:=0;
 for i:=1 to n do
 s:=s+i;
 Writeln('Tong cua day s1= ',s);
 Writeln;
 Writeln('CHUONG TRINH TINH TONG THU HAI');
 Write('Tong co bao nhieu so hang:');readln(n);
 s1:=0;
 for i:=1 to n do
 s1:=s1+i/(i+1);
 Writeln('Tong cua day s2= ',s1:8:2);
 Writeln;
 Readln;
End.
Bài 9: Viết chương trình nhập một dãy n số, tìm số lớn nhất của dãy và xác định vị trí của số lớn nhất trong dãy.
Program somax;
Uses crt;
Var
 i,n,vitri:Integer;
 so,max:real;
Begin
 Clrscr;
 Write('Day co bao nhieu so ?');readln(n);
 Write('Nhap so thu 1: ');readln(so);
 max:=so;
 vitri:=1;
 For i:=2 to n do
 begin
 Write('Nhap so thu ',i,':');readln(so);
 If max<so then
 begin
 max:=so;
 vitri:=i;
 end;
 end;
 Writeln('So lon nhat cua day la: ',max:10:2);
 Writeln('Duoc dat tai vi tri thu ',vitri,' cua day');
 readln;
End.
Bài 10: Cho 2 số a và b nhập vào từ bàn phím. Làm thế nào để đổi chỗ 2 giá trị chứa trong a và b 
Bài 11: Nhập vào N số bất kì. Đếm các số lớn hơn 10 và nhỏ hơn 20 và tính tổng của chúng, sau đó đưa ra màn hình: 
	So cac so > 10 và < 20 la : (gia tri)
	Tong cua chung la : (gia tri)
Program dem;
Uses crt;
Var
 i,n,d,so:Integer;
 tong:Real;
Begin
 Clrscr;
 tong:=0;
 d:=0;
 Writeln('Day so co bao nhieu so: ');readln(n);
 For i:=1 to n do
	Begin
 	Writeln('Nhap vao so thu ',i,'la: ');readln(so);
 	If (so>10) and (so<20) then
 	begin
 	d:=d+1;
 	tong:=tong+so;
 	end;
	End;
 Writeln('So cac so >10 va <20 la: ',d);
 Writeln('Tong cua chung la: ',tong);
 Readln;
End.
Bài 12: VCT Nhập 3 số a, b, c nguyên dương.
Hãy kiểm tra xem ba số đĩ cĩ thể là độ dài các cạnh của một tam giác khơng?
Sau đĩ kiểm tra và thơng báo về kiểu tam giác: nĩ là kiểu tam giác gì trong số các kiểu sau: tam giác đều, tam giác cân, tam giác vuơng.
Hướng dẫn: 
- Nếu tổng hai số bất kì sẽ lớn hơn số cịn lại thì a, b,c là 3 cạnh của một tam giác.
- Nếu a=b=c đĩ là tam giác đều.
- Nếu một trong hai cạnh bằng nhau và đương nhiên cạnh thứ ba cĩ độ dài khác hai cạnh kia thì tam giác đĩ là tam giác cân.
- Nếu tổng bình phương hai cạnh bằng bình phương cạnh thứ ba thì tam giác đĩ là tam giác vuơng.
Bài 13: VCT nhập vào ngày tháng năm sau đĩ viết ra màn hình đĩ là ngày thứ mấy trong tuần.
Hướng dẫn: 
- Nếu tháng < 3 thì tháng:=tháng +12 và năm:=năm-1
- Thứ = ABS(ngày + 2*tháng + 3*(tháng + 1) div 5 + năm + năm div 4) mod 7
- Trong đĩ thứ =0 tương ứng với ngày chủ nhật, 1 tương ứng với ngày thứ hai,.
- Ngày áp dụng từ ngày 1/3/1900.
Bài 14: VCT tính thời gian của một cơng việc nào đĩ là X giây. Hãy chuyển đổi và viết ra trên màn hình số thời gian trên dưới dạng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây.
Hướng dẫn:
- Giờ sẽ bằng X chia cho 3600 giây lấy phần nguyên (Div)
- Phút sẽ bằng X chia cho 60 giây lấy phần nguyên(Div), (X lúc này sẽ là phần dư sau khi đã tính xong giờ)
- Giây sẽ bằng X chia cho cho 60 lấy phần dư (Mod), (X lúc này sẽ là phần dư sau khi đã tính phút).
Bài 15: VCT đọc từ bàn phím độ dài 3 cạnh của tam giác ABC rồi tính diện tích và các đường cao của tam giác.
Hướng dẫn: Dùng cơng thức Hêrơng:	
S = Sqrt(p(p-a)(p-b)(p-c)) với p = (a+b+c)/2
	Ha = 2*S/a	Hb = 2*S/b	Hc = 2*S/c
Bài 16: VCT đọc từ bàn phím độ dài 3 cạnh của tam giác ABC rồi tính bán kính đường trịn ngoại tiếp tam giác ABC theo cơng thức R=abc/4s , với s là diện tích.
Bài 17: VCT nhập vào toạ độ ba điểm A,B và O. Tính tích vơ hướng của hai vectơ OA,OB và tính độ dài các đoạn thẳng OA, OB, AB
Hướng dẫn: 
	+ Toạ độ vectơ AB trong mặt phẳng là: X = Xb – Xa ; Y = Yb - Ya
	+ Cơng thức tính tích vơ hướng theo toạ độ: a.b = X1X2 + Y1Y2
	+ Độ dài đoạn thẳng AB chính là độ dài vectơ AB: AB = Sqrt(x*x+y*y)
Bài 18: VCT giải bất phương trình bậc nhất ax + b > 0.
Bài 19: VCT nhập từ bàn phím một số nguyên n (1<= n <=10) rồi đưa ra tiếng Anh của số đĩ. Chẳng hạn, nếu gõ vào n=2 thì đưa ra: 2à two
Bài 20: VCT để máy tính nĩi chuyện với người:
+ Máy “nĩi” bằng các câu trên màn hình.
+ Người “nĩi” bằng cách gõ từ bàn phím.
Nội dung cuộc trị chuyện như sau:
Máy hỏi “Bạn cĩ gia đình chưa?”. Nếu chưa thì khuyên “Bạn hãy bình tĩnh và thận trọng!”, nếu rồi thì hỏi xem cĩ mấy con. Nếu cĩ dưới 3 con thì bảo “Tốt”, nếu cĩ 3 con thì bảo “Hơi bị nhiều!”, nếu trên 3 con thì bảo “Nhiều quá!”.
Bài 21: Đọc vào số n (Kw/h) của một hộ tiêu thụ điện. Tính số tiền mà hộ đĩ phải trả, biết giá một Kw/h xác định như sau nhằm khuyến khích dùng điện để bào vệ mơi trường.
Giá 1 Kw/h = 450 đồng nếu n < 100
Giá 1 Kw/h = 400 đồng nếu 100<= n < 500
Giá 1 Kw/h = 350 đồng nếu n > 500
(Lưu hành nội bộ)

Tài liệu đính kèm:

  • docGiao trinh Tinhoc9Pascal Chuong 4.doc