- Vận dụng được các lệnh và kiểu dữ liệu đã học để lập trình giải các bài toán một cách trọn vẹn.. II.[r]
(1)Ng y 05/05/2012à Tiết 50
ÔN TẬP I Mục tiêu:
1 Kiến thức:
- Nắm toàn kiến thức học từ đầu năm học. 2 Kĩ năng:
- Vận dụng lệnh kiểu liệu học để lập trình giải tốn cách trọn vẹn.
II Phương pháp – đồ dùng dạy học:
- Phương pháp: Thuyết trình, vấn đáp, gợi mở, trắc nghiệm. - Phương tiện: sgk, máy chiếu, phòng máy tính.
III Hoạt động dạy học: 1.Ổn định tổ chức:
2.Kiểm tra cũ: lồng vào học. 3.Bài ơn tập:
Néi dung – H§ cđa GV H§ cđa HS
Bài tập 1:Nhập a,b,c hệ số hàm số bậc Sau ta nhập X liên tục, ứng với giá trị X, ta in giá trị Y tơng ng
Chơng trình kết thúc ta nhập Hớng dẫn
Viết chơng trình tính Y t¬ng øng X uses crt;
var
a,b,c,x:real;{a,b,c,x kiÓu real} function y(x:real):real;
begin
y:=a*x*x+b*x+c;{TÝnh y theo x} end;
begin
clrscr;{Xoá hình}
write('A, B, C = ');readln(a,b,c);{Nhập a,b,c} repeat
write('X = ');readln(x);{NhËp X}
if x<>0 then writeln('Y = ',y(x):0:2);{NÕu x<>0 th× in ra Y t¬ng øng}
until x=0; end.
Bµi tËp 2:
{ Nhập N Sau nhập N toạ độ A,B N đờng thẳng In hình đờng thẳng có độ dài lớn Hớng dẫn
Viết hàm tính độ dài đoạn thẳng với tham số toạ độ}
uses crt;
var max,xa,ya,xb,yb:real;{max,xa,ya,xb,yb kiÓu real} i,n:integer;{i,n kiÓu integer}
HS suy nghĩ thực hiện theo yêu cầu GV.
HS suy nghÜ vµ thùc hiƯn.
(2)function dodai(xa,ya,xb,yb:real):real; begin
dodai:=sqrt(sqr(xa-xb)+sqr(ya-yb));{Gán dodai bằng độ dài đoạn AB}
end; begin
clrscr;{Xoá hình}
write('N = ');readln(n);{Nhập N} max:=0;{G¸n max b»ng 0}
for i:=1 to n do{Cho i chạy từ đến N} begin
write('XA, YA, XB, YB = ');readln(xa,ya,xb,yb);{Đọc toạ độ A,B}
if max<dodai(xa,ya,xb,yb)then
max:=dodai(xa,ya,xb,yb);{Nếu max nhỏ độ dài AV cập nhật max}
end;
writeln('Do dai doan thang dai nhat : ',max:0:2); {XuÊt max}
readln; end. Bµi tËp 3:
{ Nhập N Sau nhập N số hạng Tính UCLN BCNN N số
Híng dÉn
ViÕt hµm tÝnh UCLN,BCNN gi÷a sè
UCLN (A1 An) = UCLN( UCLN(A1 An-1) ,An) BCNN (A1 An) = BCNN( BCNN(A1 An-1) ,An)} uses crt;
var
a,i,n:integer;{a,i,n kiÓu integer}
u,b:integer;{u,b kiÓu integer (biÕn lu UCNN,BCNN)} function ucln(a,b:integer):integer;
begin
while a<>b do{Trong a<>b th×}
if a>b then a:=a-b else b:=b-a;{NÕu a>b gán a=a-b ngợc lại gán b=b-a}
ucln:=a;{G¸n ucln b»ng a} end;
function bcnn(a,b:integer):integer; begin
bcnn:=a*b div ucln(a,b);{TÝnh bcnn} end;
begin
clrscr;{Xoá hình}
write('N = ');readln(n);{Đọc N}
write('So thu : ');readln(a);{Đọc phần tử thứ vào a}
u:=a;b:=a;{Gán u,b b»ng a}
for i:=2 to n do{Cho i chạy từ đến n} begin
write('So thu ',i,' : ');readln(a);{NhËp sè thø i vµo a} u:=ucln(u,a);{Gán u UCLN u a}
b:=bcnn(b,a);{Gán b BCNN u b} end;
writeln('UCLN = ',u); writeln('BCNN = ',b); readln;
end.
HS theo dõi chay chơng trình máy chiếu.
HS suy nghĩ thực hiện theo yêu cầu GV.
HS suy nghĩ thực hiÖn.
HS suy thảo luận để xậy dựng chơng trình
(3)Bµi tËp 4:
{ Nhập N In hình số nguyên tố từ đến N Hớng dẫn
ViÕt hàm NGUYENTO(N) trả giá trị TRUE N nguyên tè}
uses crt; var
i,n:integer;{i,n kiÓu integer} function nt(n:integer):boolean;
var i:integer;{Khai b¸o i kiĨu integer} begin
for i:=2 to trunc(sqrt(n))do{Cho i chạy từ đến trunc(sqrt(n))}
if n mod i=0 then begin nt:=false;exit;end;{NÕu n chia hÕt cho i gán nt=false;thoát khỏi CT exit}
nt:=true;{G¸n nt b»ng TRUE} end;
begin
clrscr;{Xoá hình}
write('N = ');readln(n);{Đọc N}
for i:=2 to n do{Cho i chạy từ đến N} if nt(i)then write(i:5);{Nếu i ntố xuất I} readln;
end. Bµi tËp 5:
{ Nhập số N Sau nhập N phần tử In phần tử có số ớc lớn
Hớng dẫn
Viết hàm TINH(N) trả vỊ sè íc cđa N
Lu ý r»ng sè cã sè íc lín nhÊt tÊt c¶ mäi sè} uses crt;
var
i,n:integer;{i,n kiÓu integer}
a,max,luua:integer;{a,max,luua kiÓu integer} function tinh(n:integer):integer;
var i,souoc:integer;{Khai b¸o i,souoc kiĨu integer} begin
if n=0 then tinh:=maxint{Nếu N=0 thì} else{Ngợc lại}
begin
souoc:=0;{G¸n souoc b»ng 0}
for i:=1 to n do{Cho i chạy từ đến N}
if n mod i=0 then inc(souoc);{NÕu n chia hết cho i thì tăng souoc}
tinh:=souoc;{Gán tinh b»ng souoc} end;
end; begin
clrscr;{Xoá hình}
write('N = ');readln(n);{Đọc N} max:=0;{G¸n max b»ng 0}
for i:=1 to n do{Cho i chạy từ đến N} begin
write('So thu ',i,' : ');readln(a);{NhËp sè thø i vµo a} if max<tinh(a)then{nÕu max < sè íc cđa a th×} begin
max:=tinh(a);{CËp nhËt max} luua:=a;{G¸n luua b»ng a}
HS suy nghÜ thùc hiƯn theo yêu cầu GV.
HS suy nghĩ thùc hiÖn.
HS suy thảo luận để xậy dựng chơng trình
(4)end; end;
writeln('So co nhieu uoc nhat la :',luua);{XuÊt luua} if luua=0 then write('Co vo so uoc')else writeln('Co ',max,' uoc');{Nếu luua=0 xuất có vô số ớc ngợc lại xuất max}
readln; end.
IV Củng cố: