Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (106.86 KB, 4 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Bài tập 1:Nhập a,b,c là hệ số của một hàm số bậc 2. </b>
Sau đó ta nhập X liên tục, ứng với mỗi giá trị của X, ta
in ra giá trị của Y tng ng.
Chơng trình kết thúc khi ta nhập 0
Hớng dẫn
Viết chơng trình con tính Y t¬ng øng X
<i>uses crt;</i>
<i>var</i>
<i> a,b,c,x:real;{a,b,c,x kiĨu real}</i>
<i>function y(x:real):real;</i>
<i> begin</i>
<i> y:=a*x*x+b*x+c;{TÝnh y theo x}</i>
<i> end;</i>
<i>begin</i>
<i> clrscr;{Xoá màn hình}</i>
<i> write('A, B, C = ');readln(a,b,c);{NhËp a,b,c}</i>
<i> repeat</i>
<i> write('X = ');readln(x);{NhËp X}</i>
<i> if x<>0 then writeln('Y = ',y(x):0:2);{Nếu x<>0 thì in</i>
<i>ra Y tơng ứng}</i>
<i> until x=0;</i>
<i>end.</i>
<b>Bµi tËp 2:</b>
{ Nhập N. Sau đó nhập N toạ độ A,B của N đờng
thẳng. In ra màn hình đờng thẳng có độ dài lớn nhất.
Hớng dẫn
Viết hàm tính độ dài đoạn thẳng với tham số là 2 toạ
độ}
<i>uses crt;</i>
<i>var max,xa,ya,xb,yb:real;{max,xa,ya,xb,yb kiÓu real}</i>
<i> i,n:integer;{i,n kiÓu integer}</i>
<i>function dodai(xa,ya,xb,yb:real):real;</i>
<i> begin</i>
<i> dodai:=sqrt(sqr(xa-xb)+sqr(ya-yb));{Gán dodai bằng</i>
<i>độ dài on AB}</i>
<i> end;</i>
<i>begin</i>
<i> clrscr;{Xoá màn hình}</i>
<i> write('N = ');readln(n);{Nhập N}</i>
<i> max:=0;{G¸n max b»ng 0}</i>
<i> for i:=1 to n do{Cho i chạy từ 1 đến N}</i>
<i> begin</i>
<i> write('XA, YA, XB, YB = ');readln(xa,ya,xb,yb);{Đọc </i>
<i>toạ độ A,B}</i>
<i> if max<dodai(xa,ya,xb,yb)then </i>
<i>max:=dodai(xa,ya,xb,yb);{Nếu max nhỏ hơn độ dài </i>
<i>AV thì cập nhật max}</i>
<i> end;</i>
<i> writeln('Do dai doan thang dai nhat : ',max:0:2);</i>
<i>{XuÊt max}</i>
<i> readln;</i>
<i>end.</i>
<b>Bµi tËp 3:</b>
{ Nhập N. Sau đó nhập N số hạng. Tính UCLN và
BCNN của N số đó.
Híng dÉn
Viết hàm tính UCLN,BCNN giữa 2 số
UCLN (A1..An) = UCLN( UCLN(A1..An-1) ,An)
BCNN (A1..An) = BCNN( BCNN(A1..An-1) ,An)}
<i>uses crt;</i>
<i>var</i>
<i> a,i,n:integer;{a,i,n kiÓu integer}</i>
<i> u,b:integer;{u,b kiÓu integer (biÕn lu UCNN,BCNN)}</i>
<i>function ucln(a,b:integer):integer;</i>
<i> begin</i>
<i> while a<>b do{Trong khi a<>b th×}</i>
<i> if a>b then a:=a-b else b:=b-a;{Nếu a>b thì gán </i>
<i>a=a-b ngợc lại gán b=b-a}</i>
<i> ucln:=a;{G¸n ucln b»ng a}</i>
<i> end;</i>
<i>function bcnn(a,b:integer):integer;</i>
<i> begin</i>
<i> bcnn:=a*b div ucln(a,b);{Tính bcnn}</i>
<i> end;</i>
<i>begin</i>
<i> clrscr;{Xoá màn hình}</i>
<i> write('N = ');readln(n);{Đọc N}</i>
<i> write('So thu 1 : ');readln(a);{Đọc phần tử thứ 1 vào </i>
<i>a}</i>
<i> u:=a;b:=a;{G¸n u,b b»ng a}</i>
<i> for i:=2 to n do{Cho i chạy từ 2 đến n}</i>
<i> begin</i>
<i> write('So thu ',i,' : ');readln(a);{Nhập số thứ i vào a}</i>
<i> u:=ucln(u,a);{Gán u bằng UCLN của u và a}</i>
<i> b:=bcnn(b,a);{Gán b bằng BCNN của u vµ b}</i>
<i> end;</i>
<i> writeln('UCLN = ',u);</i>
<i> writeln('BCNN = ',b);</i>
<i> readln;</i>
<i>end.</i>
<b>Bµi tËp 4:</b>
{ Nhập N. In ra màn hình các số nguyên tố từ 1 đến N
Hng dn
Viết hàm NGUYENTO(N) trả về giá trị TRUE nếu N
nguyên tố}
<i>uses crt;</i>
<i>var</i>
<i> i,n:integer;{i,n kiểu integer}</i>
<i>function nt(n:integer):boolean;</i>
<i> var i:integer;{Khai b¸o i kiĨu integer}</i>
<i> begin</i>
<i> for i:=2 to trunc(sqrt(n))do{Cho i chạy từ 2 đến </i>
<i>trunc(sqrt(n))}</i>
<i> if n mod i=0 then begin nt:=false;exit;end;{NÕu n </i>
<i>chia hÕt cho i thì gán nt=false;thoát khỏi CT con bằng </i>
<i>exit}</i>
<i> nt:=true;{Gán nt bằng TRUE}</i>
<i> end;</i>
<i>begin</i>
<i> clrscr;{Xoá màn hình}</i>
<i> write('N = ');readln(n);{Đọc N}</i>
<i> for i:=2 to n do{Cho i chạy từ 2 đến N}</i>
<i> if nt(i)then write(i:5);{Nếu i ntố thì xuất I}</i>
<i> readln;</i>
<i>end.</i>
<b>Bµi tËp 5:</b>
{ Nhập số N. Sau đó nhập N phần tử. In ra phần tử có
số ớc là lớn nht
Hớng dẫn
Viết hàm TINH(N) trả về số íc cña N
Lu ý r»ng sè 0 cã sè íc lín nhÊt trong tÊt c¶ mäi sè}
<i>uses crt;</i>
<i>var</i>
<i> i,n:integer;{i,n kiĨu integer}</i>
<i> a,max,luua:integer;{a,max,luua kiĨu integer}</i>
<i>function tinh(n:integer):integer;</i>
<i> var i,souoc:integer;{Khai b¸o i,souoc kiểu integer}</i>
<i> begin</i>
<i> if n=0 then tinh:=maxint{Nếu N=0 thì}</i>
<i> else{Ngợc lại}</i>
<i> begin</i>
<i> souoc:=0;{Gán souoc bằng 0}</i>
<i> for i:=1 to n do{Cho i chạy từ 1 đến N}</i>
<i> if n mod i=0 then inc(souoc);{Nếu n chia hết cho i thì</i>
<i>tăng souoc}</i>
<i> tinh:=souoc;{Gán tinh bằng souoc}</i>
<i> end;</i>
<i> end;</i>
<i>begin</i>
<i> clrscr;{Xoá màn hình}</i>
<i> write('N = ');readln(n);{Đọc N}</i>
<i> max:=0;{Gán max bằng 0}</i>
<i> for i:=1 to n do{Cho i chạy từ 1 đến N}</i>
<i> begin</i>
<i> write('So thu ',i,' : ');readln(a);{NhËp sè thø i vµo a}</i>
<i> if max<tinh(a)then{nÕu max < sè íc cđa a th×}</i>
<i> begin</i>
<i> max:=tinh(a);{CËp nhËt max}</i>
<i> luua:=a;{G¸n luua b»ng a}</i>
<i> end;</i>
<i> end;</i>
<i> writeln('So co nhieu uoc nhat la :',luua);{XuÊt luua}</i>
<i> if luua=0 then write('Co vo so uoc')else writeln('Co </i>
<i>',max,' uoc');{Nếu luua=0 thì xuất có vô số ớc ngợc lại</i>
<i>xuất max}</i>
<i> readln;</i>
<i>end.</i>