PHÒNG GD & ĐT BẾN CÁT TRƯỜNG THCS PHÚ AN
ĐỀ CƯƠNG HKII TIN HỌC 8
NĂM HỌC 2019 -2020 I. Lý thuyết
1/ Kết quả S của đoạn chương trình sau có giá trị là:
s:=0;
while s<=3 do s:=s+1;
a 3 b 1 c 2 d 4
2/ Cấu trúc của câu lệnh lặp với số lần biết trước:
a for <biến đếm>:= <giá trị đầu > to <giá trị cuối> do <câu lệnh>;
b for <biến đếm>:= <giá 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 3. Kết quả của đoạn chương trình sau là gì:
a:=1;
while a<=5 do begin
writeln('O');
a:=a+1;
end;
a In ra màn hình 6 kí tự O b In ra màn hình 10 kí tự O c In ra màn hình 5 kí tự O d b In ra màn hình 4 kí tự O 4/ Cú pháp khai báo biến mảng nào trong Pascal sau đây đúng:
a Var <Tên mảng>:array[<chỉ số cuối>..<chỉ số đầu>] of <Kiểu dữ liệu>;
b Var <Tên mảng>:array[<chỉ số đầu>..<chỉ số cuối>] of <Kiểu dữ liệu>;
c Var <Tên mảng>:=array[<chỉ số cuối>..<chỉ số đầu>] of <Kiểu dữ liệu>;
d Var <Tên mảng>=array[<chỉ số đầu>...<chỉ số cuối>] of <Kiểu dữ liệu>;
5/ Kiểu dữ liệu real thuộc kiểu dữ liệu:
a Kiểu số nguyên b Kiểu kí tự c Xâu kí tự dKiểu số thực 6/ Cú pháp của câu lệnh lặp với số lần chưa biết trước có dạng:
a while <câu lệnh> do <điều kiện>; b while [câu lệnh] do [điều kiện];
c while <điều kiện> do <câu lệnh>; d while [điều kiện] do [câu lệnh];
7/ Câu lệnh ghép trong Pascal được viết trong cặp từ:
a write và writeln; b begin ... end; c read và readln; d begin....end.
8/ Số phần tử tối đa trong khai báo mảng sau đây là bao nhiêu:
Var A:array[1..30] of Real;
a 30 b 29 c 31 d 32
9/ Trong câu lệnh lặp với số lần biết trước, số lần lặp được tính:
a Giá trị đầu - Giá trị cuối +1 b Giá trị đầu - Giá trị cuối -1 c Giá trị cuối - Giá trị đầu +1 d Giá trị cuối - Giá trị đầu -1 10/ Kiểu dữ liệu longint thuộc kiểu dữ liệu:
a Kiểu số nguyên b Kiểu kí tự c Kiểu số thực d Xâu kí tự 11/ Chỉ ra câu lệnh đúng trong các câu lệnh sau đây:
a x=10; while x:10 do x= x+5; b x=10; while x=10 do x= x+5;
c x:=10; while x:=10 do x= x+5; d x:=10; while x<=10 do x:=x+5;
12/ Số phần tử tối đa trong khai báo mảng sau đây là bao nhiêu:
Var A:array[1..20] of Real;
a 19 b 21 c 20 d 22
13/ Tính số lần lặp của câu lệnh sau là bao nhiêu?
P:=1; for i:=1 to 5 do P:=P*i;
a 6 lần b 7 lần c 5 lần d 4 lần
14/ Vòng lặp với số lần biết trước thì mỗi lần biến đếm tăng lên:
a 3 đơn vị b 1 đơn vị c 2 đơn vị d Tùy câu lệnh 15/ Chỉ ra câu lệnh đúng trong các câu lệnh sau:
a for i=10 to 1 do writeln('A'); b for i:=10 to 1 do writeln('A');
c for i=1 to 10 do writeln('A'); d for i:=1 to 10 do writeln('A');
16/ Khai báo biến mảng nào sau đây đúng:
a Var A: =array[1..30] of Integer; b Var A: array[1..10] of Integer;
c Var A: array[1..30.5] of Integer; d Var A:= array[1...10.5] of Integer;
17/ Cho câu lệnh sau:
P:=1; for i:=1 to 4 do P:=P*i;
Sau khi thực hiện câu lệnh giá trị của P bằng bao nhiêu?
a 24 b 120 c 100 d 12
18/ Cho câu lệnh sau:
S:=1; for i:=1 to 3 do S:=S+i;
Sau khi thực hiện câu lệnh giá trị của S bằng bao nhiêu?
a 7 b 8 c 4 d 10
19/ Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu:
j:=0;
for i:=0 to 4 do j:=j+2;
a 8 b 10 c 12 d 6
20/ Chỉ ra câu lệnh đúng trong các câu lệnh sau đây:
a x:=10; while x:=10 do x= x+5; b x=10; while x:10 do x= x+5;
c x=10; while x=10 do x= x+5; d x:=10; while x<=10 do x:=x+5;
21/ Cấu trúc của câu lệnh lặp với số lần biết trước:
a for <biến đếm>: <giá trị đầu > to <giá trị cuối> do <câu lệnh>;
b for <biến đếm>:= <giá trị đầu > to <giá trị cuối> do <câu lệnh>;
c for <biến đếm>:= <giá trị cuối > to <giá trị đầu> do <câu lệnh>;
d for <biến đếm>= <giá trị cuối > to <giá trị đầu> do <câu lệnh>;
22/ Giữa chỉ số đầu, chỉ số cuối trong khai báo biến mảng là:
a .. b := c ... d :
23/ Chỉ ra câu lệnh đúng trong các câu lệnh sau:
a for i:=10 to 1 do writeln('A'); b for i=10 to 1 do writeln('A');
c for i:=1 to 10 do writeln('A'); d for i=1 to 10 do writeln('A');
24/ Cú pháp của câu lệnh lặp với số lần chưa biết trước có dạng:
a while [câu lệnh] do [điều kiện]; b while [điều kiện] do [câu lệnh];
c while <điều kiện> do <câu lệnh>; d while <câu lệnh> do <điều kiện>;
II. Thực hành
Đề 1. Viết chương trình tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím bằng câu lệnh với số lần lặp biết trước. (for… do).
Program tinh_tong;
Uses crt;
Var N,i: Integer;
S: longint;
Begin
Clrscr;
Writeln(‘nhap so N =’);
Readln(N);
S:=0;
For i:=1 to N do S:=S+i;
Writeln(‘tong la:’,S);
Readln;
End.
Đề 2. Viết chương trình tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím bằng câu lệnh với số lần lặp chưa biết trước. (while … do…)
Program tinh_tong;
Uses crt;
Var N,i: Integer;
S: Longint;
Begin
Clrscr;
Writeln(‘nhap so N =’);
Readln(N);
S:=0;
i:=1;
while i<= N do Begin
S:=S+i;
i:=i+1;
End;
Writeln(‘tong la:’,S);
Readln End.
Đề 3: Viết chương trình tính tổng nghịch đảo N số tự nhiên đầu tiên A = 1+1/2+1/3+...1/N với N nhập từ bàn phím bằng câu lệnh với số lần lặp biết trước. (for… do).
Program tinh_tong;
Uses crt;
Var N,i: Integer;
S: Real;
Begin
Clrscr;
Writeln(‘nhap so N =’);
Readln(N);
S:=0;
For i:=1 to N do S:=S+1/i;
Writeln(‘tong la:’,S);
Readln End.
Đề 4. Viết chương trình tính tổng nghịch đảo N số tự nhiên đầu tiên A = 1+1/2+1/3+...1/N với N nhập từ bàn phím bằng câu lệnh với số lần lặp chưa biết trước. (while … do…)
Program tinh_tong;
Uses crt;
Var N,i: Integer;
S: Real;
Begin
Clrscr;
Writeln(‘nhap so N =’);
Readln(N);
S:=0;
i:=1;
while i<= N do
Begin
S:=S+1/i;
i:=i+1;
End;
Writeln(‘tong la:’,S);
Readln End.
Đề 5. Viết chương trình tính tích N số tự nhiên đầu tiên với N nhập từ bàn phím bằng câu lệnh với số lần lặp biết trước. (for… do).
Program tinh_giai_thua;
Uses crt;
Var N,i: Integer;
P: Longint;
Begin
Clrscr;
Write(‘N =’); readln(N);
P:=1;
For i:=1 to N do P:=P*i;
Writeln(N,’!=’,P);
Readln;
End.
Đề 6. Viết chương trình tính tích N số tự nhiên đầu tiên với N nhập từ bàn phím bằng câu lệnh với số lần lặp chưa biết trước. (while … do…)
Program tinh_tich;
Uses crt;
Var N,i: Integer;
P: Longint;
Begin
Clrscr;
Writeln(‘nhap so N =’);
Readln(N);
P:=1;
i:=1;
while i<= N do Begin
P:=P*i;
i:=i+1;
End;
Writeln(‘Tich la:’,P);
Readln End.
Đề 7. Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất trong mảng vừa nhập.
Program nho_nhat;
Uses crt;
Var
i, n, Min: integer;
A: array[1..100] of integer;
Begin
Clrscr;
Write('Hay nhap do dai cua day so, = '); readln(n);
Writeln('Nhap cac phan tu cua day so:');
For i:=1 to n do Begin
write('a[',i,']='); readln(a[i]);
End;
Min:=a[1];
For i:=2 to n do begin
if Min>a[i] then Min:=a[i]
end;
Write(' So nho nhat la Min = ',Min);
Readln;
End.
Đề 8. Viết chương trình nhập N số nguyên từ bàn phím và tính tổng các phần tử trong mảng vừa nhập.
Program Tinh_tong;
Uses crt;
Var
i, n, Sum: integer;
A: array[1..100] of integer;
Begin
Clrscr;
Write('Hay nhap do dai cua day so, = '); readln(n);
Writeln('Nhap cac phan tu cua day so:');
For i:=1 to n do Begin
Write('a[',i,']='); readln(a[i]);
End;
Sum:=0;
For i:=1 to N do Sum:=Sum+a[i];
Write('Tong cac phan tu cua day so: ',Sum);
readln;
End.
Đề 9. Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số lớn nhất trong mảng vừa nhập.
Program lon_nhat;
Uses crt;
Var
i, n, Max: integer;
A: array[1..100] of integer;
Begin
Clrscr;
Write('Hay nhap do dai cua day so, = '); readln(n);
Writeln('Nhap cac phan tu cua day so:');
For i:=1 to n do Begin
write('a[',i,']='); readln(a[i]);
End;
Max:=a[1];
For i:=2 to n do begin
if Max<a[i] then Max:=a[i]
end;
Write(' So lon nhat la Max = ',Max);
Readln;
End.
---HẾT---