1. Trang chủ
  2. » Cao đẳng - Đại học

Chương trình ôn tập học kỳ II Tin học 8 - Năm học 2009-2010 - Phạm Tấn Phát

8 18 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 174,89 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vấn đề 5: Câu lệnh lặp For …do trọng tâm của chương trình - Cú pháp: For := to do ; Trong đó: + Biến đếm, giá trị đầu, giá trị cuối là các số nguyên + Giá trị đầu nhỏ hơn hoặc bằng giá [r]

Trang 1

Trang 1

CHƯƠNG TRÌNH ÔN TẬP HỌC KỲ II TIN HỌC 8

GV soạn: Phạm Tấn Phát

Ngày soạn: 10/04/2009, cập nhật lại lúc 19/04/2010

-A./ Nội dung các bài học cần xem:

 Bài 7: Câu lệnh lặp

 Bài TH5: Sử dụng lệnh lặp For … do

 Bài 8: Lặp với số lần lặp chưa biết trước

 Bài TH6: Sử dụng lệnh lặp While… do

 Bài 9: Làm việc với dãy số

 Bài TH7: Xử lý dãy số trong chương trình

 Xem lại nội dung HK1:

+ Các kiểu dữ liệu

+ Cách khai báo biến, khởi tạo và sử dụng biến, phép gán giá trị cho biến

+ Cấu trúc chung của một chương trình

+ Các phép toán: +, -, *, / , <>, >=, <=, >, <, mod, div, and, or và biểu thức điều kiện

+ Câu lệnh điều kiện if … then … else …

B./ Một số gợi ý ôn tập (Đây không phải là đề thi học kỳ II)

Vấn đề 1: Các kiểu dữ liệu và khai báo biến:

Byte

(Số nguyên) 0255 var diem:Byte;var thang:Byte; readln(diem); diem:=5;readln(thang); thang:=12;

Integer

(Số nguyên)

-215  215-1 (-3276832767)

var a:integer;

var so_luong:integer;

var i:integer;

var tong:integer;

readln(a); a:=28;

readln(so_luong); so_luong:= 4096;

i:=1;i:=i+1; tong:=0;

tong:=tong + i;

Real

(Số thực) -2,9x10

-39 1,7x1038 var diemtb:real;

var dvan,dtoan,dly:real; readln(dvan);readln(dtoan);

readln(dly);

diemtb:=(dvan*2+dtoan*2+dly)/5;

Char

(Một ký tự) ‘A’’Z’ Var kytu:char; readln(kytu);kytu:= ‘Y’;

String

(Xâu ký tự) ‘abc156’‘Hoang Van Thu’ var hoten:string; readln(hoten);Hoten:=’Hoang Van Thu’;

array

(Dãy/mảng)

Byte, Integer, Real,String,…

var a:array[1 10]of byte;

var diem:array[1 50] of real;

For i:=1 to 10 to readln(a[i]);

For i:=1 to 50 do readln(diem[i]);

A[5]:=10;

Max:=A[i];

Max:=diem[i];

Min:=diem[i];

Lưu ý:

+ Biến dùng để lưu giữ giá trị trong khi thực hiện chương trình, kết thúc chương trình biến đó sẽ bị xóa đi và giải phóng vùng nhớ được cấp phát

+ Trong quá trình thực hiện chương trình ta muốn thay đổi giá trị của biến bằng câu lệnh gán, còn có câu lệnh read(dstenbien) hoặc readln(dstenbien) hai câu lệnh này tương tác giữa người dùng và máy và kết thúc việc nhập giá trị cho biến ta phải nhấn phím Enter + Câu lệnh Writeln(‘Cau thong bao ra man hinh’,tenbien)  in ra màn hình câu thông báo và giá trị của tenbien sau khi tính toán xong

Vấn đề 2: Cấu trúc chung của một chương trình

Program Ten_chuong_trinh; {khai bao ten chuong trinh}

Uses crt; {khai bao thu vien lien quan den lenh xoa man hinh clrscr}

Var … {khai bao bien}

Begin

Clrscr; {lenh xoa man hinh}

……

Readln {lenh dung man hinh de xem ket qua cho nhan Enter}

End

Lưu ý: Trong chương trình có thể sử dụng nhiều câu lệnh begin … end; để thi hành nhiều lệnh lồng nhau, thường sử dụng trong các

câu lệnh

Phần thân chương trình + Nơi nhập giá trị cho biến + Xử lý và tính toán + In kết quả

Trang 2

Trang 2

if … then begin…end else begin …end;

Hoặc for … do begin … end;

Hoặc while … do begin …end;

Vấn đề 3: Biểu thức điều kiện

+ Biểu thức điều kiện là một biểu thức so sánh và cho kết quả là đúng hoặc sai tương ứng như một mệnh đề trong toán học + VD:

 Var a,b:integer;Begin If a > b then a:=a-b else b:=b-a; end

 Var a,b:integer;

Begin

If a mod b =0 then write(‘a chia cho b du la 0’) else write(‘a chia cho b du khac 0’);

end

 Var a,b:integer;

Begin

If a div b =5 then write(‘a chia cho b duoc thung la 5’) else write(‘a chia cho b duoc thuong khac5’);

end

 Var a,b,c:real;

Begin

If (a*a+b*b=c*c) or (b*b+c*c=a*a) or (c*c+a*a=b*b) then

write(‘Bo ba so (’,a,’,’,b’,’,c,’) la bo ba Pitago.’) else write(‘Bo ba so (’,a,’,’,b’,’,c,’) khong la bo ba Pitago.’) end

 Var a,b,c:real;

Begin

If (a+b>c) and (b+c>a) and (c+a>b) then

write(‘Bo ba so (’,a,’,’,b’,’,c,’) la ba canh cua mot tam giac.’) else write(‘Bo ba so (’,a,’,’,b’,’,c,’) khong la ba canh cua mot tam giac.’) end

Vấn đề 4: Câu lệnh điều kiện if … then … else …

+ Cú pháp:

If dieu_kien then cau_lenh;

If dieu_kien then cau_lenh_dung else cau_lenh_sai;

+ Ví dụ:

1./ VD1: Viết chương trình nhập vào một số và thông báo lên màn hình số đó là chẵn hay lẽ?

Program VD1;

Uses crt;

Var a:integer;

Begin

Clrscr;

Writeln(‘Nhap mot so nguyen:’);Readln(a);

If (a mod 2=0) then Writeln(‘So ‘, a,’ la so chan!’)

Else Writeln(‘So ‘, a,’ la so le!’);

Readln

End.

2./ VD2: Viết chương trình nhập vào ba số (a,b,c) và kiểm tra ba số này có là độ dài ba cạnh tam giác hay không ?

Program VD2;

Uses crt;

Var a,b,c:Real;

Begin

Clrscr;

Writeln(‘Nhap so a:’);Readln(a);

Writeln(‘Nhap so b:’);Readln(b);

Writeln(‘Nhap so c:’);Readln(c);

If (a>=0) and (b>=0) and (c>=0) then

If (a+b>c) and (b+c>a) and (c+a>b) then

write(‘Bo ba so (’,a,’,’,b’,’,c,’) la ba canh cua mot tam giac.’) else

write(‘Bo ba so (’,a,’,’,b’,’,c,’) khong la ba canh cua mot tam giac.’) else Writeln(‘Cac so tren muon la do dai ba canh tam giac phai la so duong’);

Readln

End.

3./ VD3: Viết chương trình nhập vào ba số, kiểm tra ba số đó có là độ dài ba cạnh của một tam giác vuông hay không ?

Program VD3;

Uses crt;

Trang 3

Trang 3

Var a,b,c:Real;

Begin

Clrscr;

Writeln(‘Nhap so a:’);Readln(a);

Writeln(‘Nhap so b:’);Readln(b);

Writeln(‘Nhap so c:’);Readln(c);

If (a>=0) and (b>=0) and (c>=0) then

If (a*a+b*b=c*c) and (b*b+c*c=a*a) and (c*c+a*a=b*b) then

write(‘Bo ba so (’,a,’,’,b’,’,c,’) la ba canh cua mot tam giac vuong.’) else

write(‘Bo ba so (’,a,’,’,b’,’,c,’) khong la ba canh cua mot tam giac vuong.’) else Writeln(‘Cac so tren muon la do dai ba canh tam giac phai la so duong’);

Readln

End.

Vấn đề 5: Câu lệnh lặp For …do (trọng tâm của chương trình)

- Cú pháp:

For <biendem>:=<gia tri dau> to <gia tri cuoi> do <cau lenh>;

Trong đó:

+ Biến đếm, giá trị đầu, giá trị cuối là các số nguyên

+ Giá trị đầu nhỏ hơn hoặc bằng giá trị cuối

+ Câu lệnh có thể là câu lệnh đơn giản (một câu lệnh) hoặc câu lệnh ghép (từ hai câu lệnh )

+ Mỗi lần lặp lại câu lệnh biến đếm sẽ tăng lên một đơn vị, cho đến khi vừa lớn hơn giá trị cuối thì dừng, số lần lặp lại bằng giá trị cuối-giá trị đầu +1

- Một số ví dụ minh họa:

+ VD1: Hãy cho biết các câu lệnh sau đúng hay sai, nếu sai sửa lại cho đúng ?

a./ Var i: real; Begin For i:=1 to 10 do write(i,’ ‘); readln end

Trả lời:………

b./Var i: byte; Begin For i:=1 to 257 do write(i,’ ‘); readln end

Trả lời:…+………

c./ Var i: integer; Begin For i:=1 to 32767 do write(i,’ ‘); readln end

Trả lời:………

d./ Var i: integer; Begin For i:=1 to 10.5 do write(i,’ ‘); readln end

Trả lời:………

e./ Var i: integer; Begin For i:=1 to 10 do begin write(i,’ ‘); S:=S+i; readln end

Trả lời:………

f./ Var k: integer; Begin For k:=10 to 10 do write(i,’ ‘); readln end

Trả lời:………

g./ Var k: integer; Begin For k:=10 to 9 do write(i,’ ‘); readln end

Trả lời:………

+ VD2: Hãy tính số lần lặp của câu lệnh sau ?

a./ S:=0; For i:=1 to 15 do S:=S+i;

Trả lời:………15-1+1=15………

b./ S:=0; For j:=5 to 11 do if (j mod 2=0) then S:=S+j;

Trả lời:…………11-5+1=7………

c./ S:=0; For k:=31 to 49 do if (k mod 2<>0) then S:=S+k;

Trả lời:………49-31+1=19………

d./ S:=0; For m:=9 to 11 do if (m>=10) then S:=S+m;

Trả lời:……11-9=3………

e./ S:=0; For n:=9 to1 do if (n>=4) then S:=S+n;

Trả lời:……0………

f./ S:=0; For n:=9 to9 do if (n>=5) then S:=S+n;

Trả lời:………9-9+1=1………

+ VD3: Chạy từng bước đoán kết quả và trả lời giá trị các biến được yêu cầu ?

a./ Var k,s: integer; Begin s:=0; For k:=13 to 19 do s:=s+k; readln end

Trả lời: S=…112…… ;k=……19………

b./ Var i: integer; Begin s:=0; For i:=2 to 7 do s:=s*i; readln end

Trả lời: S=……0… ;i=…7…………

c./ Var i: integer; Begin s:=1; For i:=2 to 5 do s:=s*i; readln end

Trả lời: S=……120… ;i=…5…………

d./ Var i: integer; Begin s:=0; For i:=1 to 5 do s:=s+i*i; readln end

Trả lời: S=…55…… ;i=……5………

e./ Var i: integer; Begin s:=0; For i:=4 to 5 do s:=s+1/i; readln end

Trả lời: S=…0,45…… ;i=………5……

f./ Var i: integer; Begin s:=0; For i:=5 to 8do s:=s+1/i*(i+2); readln end

Trả lời: S=…1637/420…… ;i=……8………

+ VD4: Hãy cho biết đoạn chương trình sau làm nhiệm vụ gì ?

Trang 4

Trang 4

a./ Var i: integer; Begin s:=0; For i:=1 to 5 do if (i mod 2=0) then s:=s+i*i; readln end

Trả lời: S=……… ;i=………Kết luận:…………

b./ Var i: integer; Begin s:=0; For i:=1 to 5 do if (i mod 2<>0) then s:=s+i*i; readln end

Trả lời: S=……… ;i=………Kết luận:…………

c./ Var i: integer; Begin s:=0; For i:=1 to 5 do if (i mod 2=0) then s:=s+i; readln end

Trả lời: S=……… ;i=………Kết luận:…………

d./ Var i: integer; Begin s:=0; For i:=1 to 5 do if (i mod 2<>0) then s:=s+i; readln end

Trả lời: S=……… ;i=………Kết luận:…………

+ VD5: Viết chương trình dùng câu lệnh For …do và if … then…

a./ Hãy viết đoạn chương trình xử lý tìm ra các số nguyên từ 1 đến 100 mà số đó phải thỏa mãn hai điều kiện là vừa chia hết cho 5 và vừa chia hết cho 7 ?

b./ Hãy viết đoạn chương trình tìm xem có bao nhiêu bộ số (a,b,c) là bộ 3 Pitago từ 1 đến 100 với a,b,c nguyên dương và a<=b<=c

Vấn đề 6: Câu lệnh lặp While … do……

- Cú pháp:

While <dieu kien> do <cau lenh>;

Trong đó:

+ Điều kiện là một biểu thức so sánh, tương tự điều kiện câu lệnh if <dieukien> then …

+ Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép begin….end;

+ Trong khi điều kiện còn đúng thì thực hiện câu lệnh, còn điều kiện sai thì thoát khỏi câu lệnh lặp while và thực hiện câu lệnh tiếp theo sau câu lệnh while

- Một số ví dụ minh họa:

+ VD1: Tính tổng các phần tử từ 1 đến 100

Program Tong;

Uses crt;

Var S,i:integer;

Begin

Clrscr;

S:=0; i:=1;

While i<=100 do Begin

end;

Readln

End.

+ VD2: Tính tổng các phần tử chẵn từ 1 đến 100

Program Tong_chan;

Uses crt;

Var Sc ,i:integer;

Begin

Clrscr;

Sc:=0; i:=1;

While i<=100 do Begin

If (i mod 2 =0) then

end;

Writeln(‘Tong cac phan tu chan tu 1 den 100 la: ‘,Sc);

Readln End.

+ VD3: Tính tổng các phần tử lẻ từ 1 đến 100

Program Tong_le;

Uses crt;

Var Sle ,i:integer;

Begin

Clrscr;

Sle:=0; i:=1;

While i<=100 do Begin

If (i mod 2 <>0) then

end;

Writeln(‘Tong cac phan tu le tu 1 den 100 la: ‘,Sle);

Readln

Trang 5

Trang 5

End.

+ VD4: In ra các ước của một số nguyên nhập từ bàn phím

Program Uocso;

Uses crt;

Var i,n:integer;

Begin

Clrscr;

Write(‘Nhập một số nguyên’);Readln(n);

i:=1;

Write(‘Cac uoc cua ‘ ,n,‘ la: ‘);

While ( i<=n) do

begin

if (n mod i)=0 then write(i,’ ‘);

i:=i+1;

end;

Readln

End.

+ VD5: Tính tổng các ước của một số nguyên nhập từ bàn phím

Program Tonguoc;

Uses crt;

Var S,n,i:integer;

Begin

clrscr;

S:=0; i:=1;

Write(‘Nhap so nguyen n’);readln(n);

while i<=n do

begin if n mod i=0 then S:= S+ i; i:= i+1; end;

Writeln(‘Tong cac uoc cua ’,n,’ la ’,S);

Readln

End.

+ VD6: Nhập vào một số kiểm tra xem số đó có là số hoàn chỉnh không

Program Sohoanchinh;

Uses crt;

Var S,n,i:integer;

Begin

clrscr;

S:=0; i:=1;

Write(‘Nhap so nguyen n’);readln(n);

while i<=n do

begin if n mod i=0 then S:= S+ i; i:= i+1; end;

Writeln(‘Tong cac uoc cua ’,n,’ la ’,S);

if S=2*n then Writeln(‘So ‘,n,’ la so hoan chinh’)

else Writeln(‘So ‘,n,’ khong la so hoan chinh’);

Readln

End.

+ VD7: In ra các số hoàn chỉnh từ 1 đến 1000 (hs tự làm)

Program Sohoanchinh;

Uses crt;

Var S,n,i:integer;

Begin

clrscr;

S:=0; i:=1;

Write(‘Nhap so nguyen n’);readln(n);

For n:=1 to 1000 do

Begin

i:=1;S:=0;

Writeln(‘Cac so hoan chinh tu 1 den 1000 la: ‘);

while i<=n do begin if n mod i=0 then S:= S+ i; i:= i+1; end;

if S=2*n then Writeln(n,’ ‘) ;

end;

Readln

End.

Vấn đề 7: Làm việc với dãy số, xử lý dãy số trong chương trình.

{Cau lenh in ra cac uoc bang For…do} Program Uocso;

Uses crt;

Var i,n:integer;

Begin Clrscr;

Write(‘Nhập một số nguyên’);Readln(n); i:=1;

Write(‘Cac uoc cua ‘ ,n,‘ la: ‘);

For i:=1 to n do

if (n mod i)=0 then write(i,’ ‘); Readln

End.

Trang 6

Trang 6

- Cú pháp:

Var Tenmang:array[chisodau chisocuoi] of Kieudulieu

Ví dụ cụ thể: Var a: array[1 10] of integer;

- Một số ví dụ: (Đọc tìm hiểu chương trình và làm phần bài tập phía sau)

+ VD1: Nhập các phần tử vào một dãy

Program VD1;

Uses crt;

Var a:array[1 10] of integer;

Begin

Clrscr;

For i:=1 to 10 do begin write(‘phan tu thu ‘,i); readln(a[i]); end; Readln

End.

+ VD2: Xuất các phần tử từ dãy đưa ra màn hình

Program VD2;

Uses crt;

Var a:array[1 10] of integer;

Begin

Clrscr;

Write(‘Cac phan tu cua mang: ‘);

For i:=1 to 10 do write(a[i],’ ‘);

Readln

End.

+ VD3: Tìm phần tử lớn nhất của dãy

Program VD3;

Uses crt;

Var a:array[1 10] of integer;

max:integer;

Begin

Clrscr;

max:=a[1];

For i:=1 to 10 do if a[i]>max then max:=a[i];

Write(‘Phan tu lon nhat cua mang: ‘,max);

Readln

End.

+ VD4: Tìm phần tử nhỏ nhất của dãy

Program VD4;

Uses crt;

Var a:array[1 10] of integer;

min:integer;

Begin

Clrscr;

min:=a[1];

For i:=1 to 10 do if a[i]<min then min:=a[i];

Write(‘Phan tu lon nhat cua mang: ‘,min);

Readln

End.

+ VD5: Tính tổng các phần tử của dãy

Program VD5;

Uses crt;

Var a:array[1 10] of integer;

S:integer;

Begin

Clrscr;

S:=0;

For i:=1 to 10 do S:=S+a[i];

Write(‘Tong cac phan tu cua mang: ‘,S);

Readln

End.

+ VD6: Tính trung bình cộng các phần tử của dãy

Program VD6;

Uses crt;

Trang 7

Trang 7

Var a:array[1 10] of integer;

S:real;

Begin

Clrscr;

S:=0;

For i:=1 to 10 do S:=S+a[i];

S:=S/10;

Write(‘Tong cac phan tu cua mang: ‘,S);

Readln

End.

+ VD7: Tính tổng các phần tử chẵn,tổng các phần tử lẻ

Program VD7;

Uses crt;

Var a:array[1 10] of integer;

TC,TL:integer;

Begin

Clrscr;

TC:=0;TL:=0;

For i:=1 to 10 do if (a[i] mod 2=0) then TC:=TC+a[i] else TL:=TL+a[i];

Writeln(‘Tong cac phan tu chan cua mang: ‘,TC);

Writeln(‘Tong cac phan tu le cua mang: ‘,TL);

Readln

End.

+ VD8: Trong các câu lệnh lặp, câu lệnh nào sai và sai ở đâu ?

a./ while i:=1 do t:=10;

b./ while a<=b; do write(‘b khong nho hon a’);

c./ while 1=1 do write(‘Toi lap trinh gioi’);

d./ i:=1; while i<10 do sum:=sum+1; i:=i+1;

e./ i:=1; x:=5; while i<x do i:=i+1; write(‘Gia tri cua i la ‘,i);

+ VD9: Đoạn lệnh sau đây sẽ cho kết quả gì ?

so:= 1;

while so<10 do writeln(so);

so:=so+1;

a./ In ra các số từ 1 đến 9;

b./ In ra các số từ 1 đến 10;

c./ In ra vô hạn các số 1, mỗi số trên một hàng;

d./ Không phương án nào đúng

+ VD10: Hãy chạy từng bước và đoán giá trị của biến x sau khi đoạn chương trình trên được thực hiện

x:=0; tong:=0;

while tong<=20 do

begin

writeln(tong);

tong:=tong+1;

end;

x:=tong;

Kết quả: x=………

+ VD11: Tìm hiểu đoạn chương trình sau và cho biết giá trị của các biến i, j, k

a./ i:=1; j:=2; k:=3;

while i<6 do i:=i+1; j:=j+1; k:=k+j;

space:=’ ‘;

writeln(i,space,j,space,k);

Kết quả: i =……; j =…… ; k =……

b./ i:=1; j:=2; k:=3;

while i<6 do begin i:=i+1; j:=j+1; k:=k+j; end;

space:=’ ‘;

writeln(i,space,j,space,k);

Kết quả: i =……; j =…… ; k =……

+ VD12: Hãy viết đoạn chương trình yêu cầu người sử dụng nhập một số thực trong khoảng từ 1 đến 10 và yêu cầu nhập lại nếu không thỏa mãn

+ VD13: Viết chương trình sử dụng câu lệnh lặp while …do để tính tổng

S = 1 + 1/2 + 1/3 + …+ 1/n

Với 1/n <, giá trị  là sai số cho trước và được nhập vào từ bàn phím

+ VD14: Viết chương trình tìm ước chung lớn nhất của hai số nguyên a và b được nhập từ bàn phím

+ VD15: Dựa vào ý tưởng của VD14 hãy viết chương trình tính tổng hai phân số a/b và c/d được nhập vào bàn phím theo cú pháp sau

Write(‘Nhap phan so a/b’);readln(a,b);

Write(‘Nhap phan so c/d’);readln(c,d);

Trang 8

Trang 8

Xuất ra màn hình tổng hai phân số theo cú pháp sau

Write(‘Tong hai phan so: ‘,a,’/’,b,’+’,c,’/’,d,’=’,tong);

Vấn đề 8: Một số câu hỏi tham khảo

+ VD1: Các lệnh khai báo mảng trong Pascal sau đây là đúng hai sai? Hãy giải thích

a./ var a: array[1…1000] of integer;

b./ var b: array[1 n] of real;

c./ var c: array[1:n] of real;

d./ var d: array[-7 7] of byte;

e./ var x: array[100 1] of real;

f./ var y: array(-1 10] of byte;

+ VD2: Các lệnh khai báo mảng trong Pascal sau đây là đúng hai sai, nếu sai hãy giải thích ?

a./ var a: array[1,20] of real;

b./ var xau: array[255 1] of longint;

c./ var so: array[1.1 1.10] of integer;

d./ var kitu: array(1 255) of real;

e./ var y: array[1,,100] of integer;

+ VD3: Các lệnh Pascal sau là đúng hay sai, hãy chỉ ra chổ sai nếu có ?

a./ for i:=1 to 10; do x:=x+1;

b./ for i:=10 to 1 do x:=x+1;

c./ for i:=1 to 10 do x:=x+1;

d./ for i:=1 to 10 do for j:=1 to 10 do x:=x+1;

e./ for i:=1 to 10 do for i:=1 to 10 do x:=x+1;

+ VD4: Hãy cho biết các biến i , j, k là nguyên Giá trị i,j , k được in ra màn hình là bao nhiêu ?

a./ i = …….; j =…… ;k = ………

j:=2; k:=3;

for i:=1 to 5 do j:=j+1;

k:=k+j;

cach:=’ ‘;

writeln(j,cach,k);

b./ i = …….; j =…… ;k = ………

j:=2; k:=3;

for i:=1 to 5 do begin j:=j+1; k:=k+j; end;

cach:=’ ‘;

writeln(j,cach,k);

c./ i = …….; j =…… ;k = ………

j:=2; k:=3;

for i:=1 to 5 do

if i mod 2 =0 then j:=j+1;

k:=k+j;

cach:=’ ‘;

writeln(j,cach,k);

+ VD5: Câu lệnh sau thực hiện bao nhiêu lần

For i:=1 to 10 do begin … end;

a./ không lần nào

b./ 1 lần

c./ 2 lần

d./ 10 lần

+ VD6: Đoạn chương trình sau đây làm việc gì (chạy thử n=5 và trả lời)?

a./ s:=0; for a:=1 to n do s:=s+a*a;

b./ for i:=1 to n do i:=i+2;

+ VD7: Sửa lỗi nếu có và cho biết chương trình sau đây làm việc gì ?

a./ for i:=0 to 1.5 do write(i:3:1);

b./ s:=0; for i:=2 to 3900 do if i mod 2=0 then s:=s+i;

Vấn đề 9: Một số bài tập gợi ý (dành cho hs giỏi, nếu muốn đạt 10 điểm)

a./ Số Fibonacci được ký hiệu là Fn

F1=F2=1; Fn=Fn-1+Fn-2 (với n>=3)

Hãy viết chương trình in ra màn hình các số Fibonacci từ1 đến 100

b./ Số Amstrong là số tổng lập phương các chữ số bằng chính nó, ví dụ 153=1^3+5^3+3^3

Hãy viết chương trình in ra các số Amstrong từ 0 đến 999

c./ In ra các số hoàn chỉnh <=1000 (xem VD)

d./ Số m và n là hai số bạn bè nếu tổng các ước thực sự của m bằng n và ngược lại tổng các ước thực sự của n bằng m Hãy viết chương trình tìm các số bạn bè từ 0 đến 1000

Ví dụ: 284 và 220 là cặp số bạn bè vì tổng các ước thực sự của 284 bằng 220 và ngược lại, tổng các ước thực sự của 220 bằng 284

Ước thực sự là không kể số 1 và chính nó như sau:

“Số nguyên dương p được gọi là ước thật sự của số nguyên n, nếu n chia hết cho p và p khác 1 và chính số n.”

e./ Viết chương trình tính x^n với x và n là hai số nguyên dương được nhập từ bàn phím ?

Ngày đăng: 29/03/2021, 16:58

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w