2/Viết chương trình nhập vào số N rồi phân tích số N ra thừa số nguyên tố... Hãy cho biết đâu là câu lệnh lặp với số lần chưa biết trước hợp lệ?. Trong ngôn ngữ lập trình Pascal muốn chạ
Trang 1ĐỀ CƯƠNG ÔN THI HỌC KÌ 2 MÔN TIN HỌC LỚP 8 (2010-2011) I/TỰ LUẬN
1/Viết chương trình tính tổng A = 1 +
1 2
1
5
1 3
1
n , với n là số tự nhiên được nhập từ bàn phím
Program Tong_nghich_dao_cac_so_le;
Var i,n:integer; s: real;
Begin
WriteLN(`CHUONG TINH TINH TONG S = 1 + 1/3 + 1/5 + + 1/2n-1 `);
Write(`Nhap n = `); Readln(n);
For i:=1 to n do s:=s+1/(2*i-1) ;
Write(`Tong can tim la: `,s:8:1);
Readln;
End
2/Viết chương trình nhập vào số N rồi phân tích số N ra thừa số nguyên tố.
Program Phantichra_thua_so_nguyen_to;
Var n,i:word;
Begin
Write('Nhap so n = '); readln(n);
i:=2; write(n,' = ');
While i<n do if n mod i = 0 then
Begin
write(i,'.') ; n:=n div i;
end else i:=i+1;
write(i); readln;
end
3/Viết chương trình nhập vào N số nguyên rồi xuất ra: Số số chẵn, số số lẻ.
Program Dem_so_chan_so_le;
Var i,n,demchan,demle:word;
a:array[1 100] of word;
Begin
Write('Nhap n = ');readln(n);
For i:=1 to n do
Begin
Write('a[',i,']=');readln(a[i]);
if a[i] mod 2 = 0 then demchan:=demchan+1
else demle:=demle+1; end;
write('Trong ',n,' so ban nhap co ', demchan,' so chan,',demle,' so le');
readln;
End
4/Viết chương trình nhập n số nguyên từ bàn phím In ra màn hình giá trị trung bình cộng của dãy số vừa nhập Biết n là một giá trị nguyên được nhập từ bàn phím?
Program tbc;
Var a: array[1 100] of integer;
i, n, tong: integer;
tbc: real;
Begin
Write(‘Nhap vao so phan tu cua mang n= ’); readln(n);
Write(‘Nhap so nguyen:’);
For i:=1 to n do
Begin
write(‘a[‘,i,’]:’);
readln(a[i]);
end;
Tong:=0;
For i:=1 to n do tong:=tong+a[i];
tbc:=tong/n;
Trang 2Writeln(‘Trung binh cong cua mang la:’, tbc:10:2);
Readln;
End
II/ TRẮC NGHIỆM: 6 điểm (Mỗi câu đúng 0,5 điểm)
1 Câu lệnh nào sau đây là câu lệnh nhập cho phần tử thứ 10 của biến mảng A?
2 Hãy cho biết đâu là câu lệnh lặp với số lần chưa biết trước hợp lệ?
A X:=10; While X=10 do X:=X+5;
B S:=0; n:=0; While S<=10 do begin n:=n+1; S:=S+n; end;
C X:=10; While X:=10 do X=X+5;
D Tất cả đều không hợp lệ
3 Trong số các hoạt động dưới đây, hoạt động nào sẽ được thực hiện lặp lại với số lần chưa biết trước?
A Tính tổng của 20 số tự nhiên đầu tiên
B Nhập 1 số hợp lệ, ví dụ số nguyên trong khoảng từ 0 đến 10 vào máy tính Nếu số nhập vào không hợp lệ thì được yêu cầu nhập lại
C Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số
D Không có hoạt động nào
4 Hãy cho biết đâu là phần khai báo biến mảng A gồm 20 phần tử thuộc kiểu dữ liệu số nguyên?
A var A: array[11 30] of integer; B var A: array[1 20] of real;
C var A: array[1 20] of integer; D var A: array[11 30] of real;
5 Đoạn chương trình Pascal sau in ra màn hình kết quả là gì?
Begin for i:=1 to 100 do; End;
6 Khai báo nào sau đây không hợp lệ:
A Var a: array [1 10] of real; B Var a: array [10 10] of integer;
C Var a: array [11 20] of integer; D Var a: array [1…100] of real;
7 Trong Pascal, cách khai báo mảng đúng là:
A Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu>;
B Tên mảng : array[<chỉ số đầu>: <chỉ số cuối>] of <kiểu dữ liệu>;
C Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] : <kiểu dữ liệu>;
D Tên mảng : array[<chỉ số đầu>, <chỉ số cuối>] of <kiểu dữ liệu>;
8 Nêu lợi ích của việc khai báo và sử dụng biến mảng?
A Có thể thay thế nhiều câu lệnh nhập B In dữ liệu ra màn hình bằng một câu lệnh lặp
9 Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào không hợp lệ?
10 Hãy cho biết đâu là lệnh lặp hợp lệ?
A For i:=10 to 1 do writeln('B'); B For i:=1 to 10 do; writeln('B');
C For i:=1 to 50 do writeln('Tong S= ',S:8:2); D For i:=1.5 to 20 do writeln('B');
11 Hãy cho biết đâu là lệnh lặp For do để in chữ O?
A For i:=1.5 to 10.5 do writeln('O'); B For i:=1 to 10 do writeln('O');
C For i:=100 to 1 do writeln('O'); D For i:=1 to 10 do; writeln('O';
12 Cho đoạn chương trình Pascal sau:
For i:= 0 to 25 do begin … end;
Đoạn chương trình trên thực hiện lặp bao nhiêu lần?
Trang 3ĐỀ 2:
I Phần trắc nghiệm: Khoanh tròn vào các chữ cái A, B, C, D trước đáp án đúng.
Câu 1 Trong ngôn ngữ lập trình Pascal muốn chạy chương trình ta nhấn tổ hớp phím
Câu 2: Em hiểu câu lệnh lặp theo nghĩa nào dưới đây?
A Các câu lệnh được viết lặp đi lặp lai nhiều lần C Vì câu lệnh đã có tên là lệnh lặp
Câu 3 Cách viết câu lệnh lặp với số lần biết trước như sau:
A For <biến đếm> = <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
B For <biến đếm>: = <gía trị cuối> to <giá trị đầu> do <câu lệnh>;
C For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
D For <biến đếm> = <giá trị cuối> to <giá trị đầu> do <câu lệnh>
Câu 4 Đoạn chương trình 1, sau khi thực hiện xong kết quả là:
Câu 5 Câu lệnh viết đúng cú pháp là:
A While <điều kiện> to <câu lệnh>;
B While <điều kiện>; do <câu lệnh>;
C While <điều kiện> to <câu lệnh1> do <câu lệnh 2>;
D While <điều kiện> do <câu lệnh>;
Câu 6 Đoạn chương trình 2, sau khi thực hiện xong kết
quả của biến “tong” có giá trị bằng bao nhiêu?
Câu 7 Để khai báo biến mảng a gồm 10 phần tử,
mỗi phần tử có kiểu dữ liệu là real ta khai báo:
A var a: array[10] of real; B var a: array[1 10] of real;
C var a: array[1:10]: of real; D var a: array[1;10] of real;
Câu 8 Cho đoạn chương trình 3:
Khi thực hiện chương trình câu “ xin chao” được viết ra màn hình
mấy lần?
II/TỰ LUẬN:
1/Viết chương trình nhập vào 1 dãy gồm n số (n được nhập từ bàn phím) Đếm xem trong dãy có bao nhiêu số âm, bao nhiêu số dương (Biết số âm là những số < 0, số dương là những số >0)
2/Viết chương trình tính tổng sau: S=1+ 2 + 3 + + n sao cho tổng S nhỏ nhất >500 (với n là số nguyên được nhập vào từ bàn phím).
1/program DE3;
uses crt;
Var
i, n, Am, Duong: integer;
A: array[1 100] of integer
Begin
clrscr;
write('Hay nhap do dai cua day so, N = '); readln(n);
writeln('Nhap cac phan tu cua day so:');
For i:=1 to n do Begin
write('a[',i,']='); readln(a[i]);
End;
Am:=0; Duong:=0;
for i:=1 to n do begin
if a[i]>0 then Duong:=Duong+1
else Am:=Am+1;
end;
Đoạn chương trình 1
S:=0;
for i:=1 to 4 do S:=S* i;
Đoạn chương trình 2
i:=1; tong:=0;
While i<=5 do Begin
tong:= tong + i; i:= i + 1; End;
Đoạn chương trình 3
n:=1;
While n<10 do Begin n:=n+1;
Writeln(‘ xin chao’); end;
Trang 4write(‘Day so vua nhap co’,Am, ‘so am’);
write(‘Day so vua nhap co’,Duong, ‘so duong’);
readln
End.
2/ Program cau_2;
var S,n: integer;
begin
S:=0; n:=1;
while S<=500 do begin n:=n+1; S:=S+n
end;
writeln('So n nho nhat de tong > 500 la ',n);
writeln('Tong dau tien > 550 la ',S); Readln;
end.
Chúc các pạn làm bài tốt!