1.
For I = 2 to 12 Do write ('O'), câu lệnh in ra bao nhiêu chữ O?
2.
For I = 1 to 20 Do If (...) Then write (I,'');
chỗ trống cần điền để liệt kê ra các SỐ LẺ từ 1 đến 20 là?
3.
để tính tổng 1 + 2 + ... + 100 ta thực hiện For I = 1 to 100 Do S:=......
... cần điền?
4.
S;=0; For I:=4 to 12 Do If (I mod 12=1) Then S:=S +I;
giá trị của S?
5.
S;=0; For I:=1 to 5 Do S:=S +I;
giá trị của S?
6.
For I = 1 to 10 Do If (I mod 3 = 0) Then write (I,'');
kết quả?
7.
a:= 354 If (a mod 3 = 0) them write (a mod 3) Else Write (a Div 3);
kết quả?
8.
để in ra màn hình 20 chữ C cần thực hiện?
ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC:
* ĐỀ 1:
Câu 1:
CÂU 1:
const fi='uc.inp'
fo='uc.out'
var f: text;
a,b,c : integer;
function uc(x,y): integer;
var z: integer;
begin
while y<>0 do
begin
z:=x mod y;
x:=y;
y:=z;
end;
uc:=x;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,a,b,c);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,uc(uc(a,b),c);
close(f);
end;
begin
ip;
out;
end.
Câu 2:
const fi='SN.inp'
fo='SN.out'
var
f:text;
i,n:integer;
s:real;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
s:=0;
for i:= 1 to n do
begin
if i mod 2 <> 0 then
s:=s+(i/(i+1));
if i mod 2 = 0 then
s:=s-(i/(i+1));
end;
write(f,s:0:2);
close(f);
end;
BEGIN
ip;
out;
END.
Câu 3:
const fi='SSNT.inp'
fo='SSNT.out'
var
f:text;
n,i,max,j:integer;
s:string;
a:array[1..32000] of integer;
function nt(x:integer):boolean;
var
i:integer;
begin
nt:=false;
if x < 2 then exit;
for i:= 2 to trunc(sqrt(x)) do
if x mod i = 0 then exit;
nt:=true;
end;
function snt(x:integer):boolean;
begin
snt:=false;
if x= 0 then exit;
while nt(x) = true do
x := x div 10;
if x = 0 then snt:=true;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
max:=a[1];
readln(f,n);
for i:= 1 to n do
begin
read(f,a[i]);
if( a[i] < max ) and (nt(a[i]) = true) then
max:=a[i];
end;
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
writeln(f,max);
max:=0;
for i:= 1 to n do
begin
if snt(a[i]) = true then
begin
str(a[i],s);
if length(s) = 2 then
max:=max+a[i];
s:=''
end
else
a[i]:=-32000;
end;
writeln(f,max);
for i:= 1 to n-1 do
for j :=i+1 to n do
if a[i] > a[j] then
begin
max:=a[i];
a[i]:=a[j];
a[j]:=max;
end;
for i:= 1 to n do
if (a[i] > 0) and (a[i] <> a[i-1]) then write(f,a[i],' ');
close(f);
end;
BEGIN
ip;
out;
END.
CÂU 4:
const fi='TUOI.INP'
fo='TUOI.OUT'
var f: text;
a,b: byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,a,b);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
if (x=y*2) and (x>18) and (x-y>=18) then write(f,'CO') else write(f,x-y*2);
close(f);
end;
begin
ip;
out;
end.
const fi='CM.INP'
fo='CM.OUT'
var f: text;
a,n,b,k: integer;
a1: array[1..32000] of integer;
function nt(x: integer): boolean;
var i: integer;
begin
nt:=false;
if x<2 then exit;
for i:=2 to trunc(sqrt(x)) do if x mod i=0 then exit;
nt:=true;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
d:=0;
for a:=1 to k do
if nt(a) then
begin
inc(d);
a1[d]:=a;
end;
for a:=1 to d do
for b:=x to d do
if a1[a]+a1[b]=k then writeln(f,a1[a],'+',a1[b]);
end;
close(f);
end;
begin
ip;
out;
end.
*ĐỀ 2 :
BÀI LÀM CỦA BẠN LÊ HOÀNG THẮNG:
//----------------------------CAU 1--------------------------------
var s,d,n,i,u:longint;
a:array[0..32001] of longint;
f:text;
function ucln(x,y:longint):longint;
begin
if y=0 then exit(x) else exit(ucln(y,x mod y));
end;
begin
assign(f,'ucln.inp');reset(f);
readln(f,n);
for i:=1 to n do read(f,a[i]); close(f);
u:=a[1];
for i:=2 to n do u:=ucln(u,a[i]);
assign(f,'ucln.out');rewrite(f);
write(f,'UCLN: ',u,' UC: ');
for i:=1 to u do if u mod i=0 then
begin
if i<>u then write(f,i,',') else write(f,i);
if i<10 then inc(d) else inc(s,i);
end;
writeln(f);
writeln(f,d); write(f,s);
close(f);
end.
//----------------------------CAU 2--------------------------------
var n,i:longint;
s:real;
f:text;
begin
assign(f,'sn.inp');reset(f);
readln(f,n); close(f);
for i:=1 to n do if odd(i) then s:=s-i/(i+1) else s:=s+i/(i+1);
assign(f,'sn.out');rewrite(f);
write(f,s:0:2);
close(f);
end.
//----------------------------CAU 3--------------------------------
var a:array[0..1000000] of boolean;
b:array[0..1000000] of longint;
i,j,k,n,d:longint;
f:text;
procedure taosang(n:longint);
var i,j:longint;
begin
for i:=2 to trunc(sqrt(n)) do if not(a[i]) then
begin
j:=i*i;
while j<=n do begin a[j]:=true; inc(j,i); end;
end;
end;
begin
assign(f,'boso.inp');reset(f);
readln(f,n); taosang(n); close(f);
assign(f,'boso.out');rewrite(f);
for i:=2 to n do if not(a[i]) then
begin
inc(d);
b[d]:=i;
end;
for i:=1 to d do
for j:=i to d do
if (n-b[i]-b[j]>=b[j]) and not(a[n-b[i]-b[j]]) then
writeln(f,b[i],' ',b[j],' ',n-b[i]-b[j]);
close(f);
end.
//----------------------------CAU 4--------------------------------
THAM KHẢO ĐỀ 1.
//----------------------------CAU 5--------------------------------
var n,i,s,t:longint;
f:text;
begin
assign(f,'u.inp');reset(f);
readln(f,n); t:=n; close(f);
assign(f,'u.out');rewrite(f);
for i:=2 to trunc(sqrt(n)) do
begin
if n mod i=0 then
begin
write(f,i,' ');
repeat n:=n div i until n mod i>0;
end;
if t mod (i*i)=0 then inc(s,i*i);
end;
writeln(f);
write(f,s+1);
close(f);
end.
*ĐỀ CHUNG:
BÀI LÀM CỦA BẠN ĐÀO XUÂN SƠN :
Câu 1:
const fi='TCS.inp'
fo='TCS.out'
var
f:text;
x:char;
tg:byte;
s:integer;
CODE:integer;
procedure ip;
begin
assign(f,fi);
reset(f);
s:=0;
while not(eof(f)) do
begin
read(f,x);
if x in ['0'..'9'] then
begin
val(x,tg,CODE);
s:=s+tg;
end;
end;
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,s);
close(f);
end;
BEGIN
ip;
out;
END.
Câu 2:
const fi='t.inp'
fo='t.out'
var
f:text;
s:string;
i:byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,s);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
s[1]:=upcase(s[1]);
for i:= 2 to length(s) do
if s[i-1] <> #32 then
s[i]:=lowercase(s[i]) else
s[i]:=upcase(s[i]);
write(f,s);
close(f);
end;
BEGIN
ip;
out;
END.
TỔ TOÁN-TIN MÔN: TIN HỌC 8
I. TRẮC NGHIỆM
Câu 1: Lệnh lặp nào sau đây là đúng?
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ị đầu>to<câu lệnh> do <giá trị cuối>;
Câu 2: Câu lệnh pascal nào sau đây là hợp lệ?
a) For i:=10 to 1 do write(‘A’); c) For i:=1.5 to 10 do write(‘A’);
b) For i= 1 to 10 do write(‘A’); d) For i:= 1 to 10 do write(‘A’);
Câu 3: Vòng lặp while ..do là vòng lặp:
a) Biết trước số lần lặp c) Chưa biết trước số lần lặp
b) Biết trước số lần <=100 d) Biết trước số lần là >=100
Câu 4: Câu lệnh lặp while…do có dạng đúng là:
a) While <đk> do; <câu lệnh>; c) While <đk> <câu lệnh> do;
b) While <câu lệnh> do <đk>; d) While <đk>do <câu lệnh>;
Câu 5: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0; for i:=1 to 5 do s := s+i;
Kết quả cuối cùng của s là : a) 11 b) 55 c) 101 d) 15
Câu 6: Trong đọan chương trình pascal sau đây x có giá trị là mấy
Begin x:= 3 ; If (45 mod 3) =0 then x:= x +2;
If x > 10 then x := x +10 ; End.
a) 3 b) 5 c) 15 d) 10
Câu 7: Trong chương trình pascal sau đây:
var a, b :integer;
s,cv :real ;
begin a:= 10; b:= 5; s:= a*b ; cv:= (a +b ) * 2 ; end.
Biến s và cv có giá trị là mấy:
a) s = 10 ; cv = 5 ; c) s= 30 ; cv = 50 ;
b) s = 50 ; cv = 40 ; d) s = 50 ; cv = 30 ;
Câu 8: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì giá trị in ra màn hình là? a) 4 b) 6 c) 8 d) 10
Câu 9: Để tính tổng S=1+3 + 5 + … + n; em chọn đoạn lệnh: |
|
a) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; |
c) for i:=1 to n do if (i mod 2) <> 0 then S:=S+i; |
b) for i:=1 to n do if ( i mod 2)<>0 then S:=S + 1/i |
d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i; |
Câu 10: Để tính tổng S=1/2+1/4 + 1/6 + … +1/ n; em chọn đoạn |
|
a) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; |
c) for i:=1 to n do if (i mod 2) <> 0 then S:=S+i; |
b) for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i |
d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i |
Câu 11: Để đếm các số lẻ <= n ; em chọn đoạn lệnh: |
|
a) for i:=1 to n do if ( i mod 2)< >0 then S:=S + 1; |
c) for i:=1 to n do if (i mod 2) =0 then S:=S + 1; |
b) for i:=1 to n do if ( i mod 2)=0 then S:=S + i ; |
d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i; |
Câu 12: Câu lệnh nào sau đây lặp vô hạn lần |
|
a) s:=5; i:=0; While i<=s do s:=s + 1; |
a) s:=5; i:=1; While i<=s do i:=i + 1; |
b) s:=5; i:=1; While i> s do i:=i + 1; |
d) s:=0; i:=0; While i<=s do S:=S + i; |
Câu 13: Chọn khai báo hơp lệ |
|
a) Var a: array[1..n] of real; |
c) Var a: array[1:n] of real; |
b) Var a: array[1..100] of real; |
d) Var a: array[1…n] of real; |
Câu 14: Chọn khai báo hơp lệ |
|
a) Const n=5; Var a,b: array[1..n] of real; |
c) Var n: real; Var a,b: array[1:n] of real; |
b) Var a,b: array[100..1] of real; |
d) Var a:array[1.5.10] of real; |
Câu 15: Thực hiện đoạn lệnh:
a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1;
Giá trị của t là: a) t=1 b) t=3 c) t=2 d) t=6
II. TỰ LUẬN
1) Nhập số tự nhiên n từ bàn phím, in ra các số chẵn từ 1 đến n và tổng của chúng?
2) Nhập số tự nhiên n từ bàn phím, in ra các số chia hết cho 5 từ 1 đến n và tổng của chúng?
3) Tính trung bình cộng của n số nguyên nhập từ bàn phím?
4) Tìm số lớn nhất trong dãy n số nguyên nhập từ bàn phím?
5) Sửa lỗi cho các câu lệnh Pascal sau:
a. For i=1 to 10 do s= s+i; b. While i:=5 do s:= s+i;
c. Var a:array[100..1] of real; d. If a>b; then max:=a;
6) Kẻ bảng thể hiện các câu lệnh lặp sau:
a. s:=0; b. s:=0; i:=10;
For i:= 1 to 20 do While i>0 do
If I mod 5=0 then s:=s+i; begin s:=s+i; i:=i-1end;
7) Sau khi thực hiện các đoạn chương trình sau, giá trị của biến s và biến i bằng bao nhiêu?
a. s:=1; b. s:=0; i:=0;
For i:= 1 to 5 do s:=s*i; While i<5 do begin i:=i+1; s:=s+i end;
8) Cho biết kiểu dữ liệu của biến a và b trong các đoạn chương trình sau:
a. a:= 0; b:=0;
while a<5 do begin a:=a+1; b:=b+1/a end;
b. b:=1;
For a:= 1 to 5 do b:=b*a;
2, Kêt quả của câu lệnh For i:=1 to 20 do if i mod 3=2 then write(i:3); *
A.In ra các số lẻ từ 1 đến 20; B. In ra các số chẵn từ 1 đến 20; C. In ra các số chia hết cho 3 từ 1 đến 20; D. In ra các số chia hết cho 3 dư 2 từ 1 đến 20;
3, Trong câu lệnh lặp For i:=3 to 15 do s:=s+i; Có bao nhiêu vòng lặp? *
A. 15; B. 12; C. 13 D. 3;
4, Cho k,m,n nhận giá trị tương ứng 4,5,6; kết thúc câu lệnh sau:X:=n; If ((x mod 2=0)) or (x<=5) then x:=m*k else x:=m div k; thì x có giá trị là ? *
A. 1 B. 0 C. 5. D. 20 5, Cho biết đoạn chương trình Pascal sau đây chương trình thực hiện bao nhiêu vòng lặp?s:=0; n:=0; while s<=5 do n:= n+1;s:= s+n; * A. 3 B. 6 C. 10 D. kết quả khác 6, Cho a,b,c lần lượt nhận giá trị 10,30,20 . Hỏi sau đoạn chương trình Begin X:=a; If x>a then x:=a; if x>b then x:=b;if x>c then x:=c;end; x có giá trị là? * A. 20 B. 10 C. 30 D. Cả ba đáp án đều sai. 7, Cho x:=7; kết thúc câu lệnh If ((x mod 3=0)) and (x<=8) then x:=x+10; thì x có giá trị là ? * A. 8 B. 10 C. 17 D. 7 8, Cho s và i là biến nguyên. Khi chạy đoạn chương trình s := 1; for i:=1 to 5 do s := s+i; Kết quả in lên màn hình là của s là ? * A. 15 B. 16 C. 11 D. 22 9, Cho biết đoạn chương trình Pascal sau đây, khi kết thúc giá trị của S bằng bao nhiêu? S:=0; n:=0;while S<=3 do begin n:= n+1;S:= s+n; end; * A. 15 B. 10 C. 6 D. 3ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC
Câu 1:
const fi='tong.inp'
fo='tong.out'
var
f:text;i,n:integer;t:real;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
t:=abs(sqrt(4)*1/2);
for i:= 1 to n do
t:=t+(i/(i+1));
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,t:0:3);
close(f);
end;
BEGIN
ip;
out;
END.
Câu 2: Bài làm của bạn Lê Hoàng Thắng :
var a:array[1..10000000] of longint; min,vtmin,vtmax,n,i,k,demk,max,sum:longint; sm:boolean;
function nguyento(x:longint):boolean;
var demuoc,t:longint;
begin
demuoc:=0;
for t:=1 to x do if (x mod t = 0) then inc(demuoc);
if demuoc=2 then nguyento:=true else nguyento:=false;
end;
function hoanhao(y:longint):boolean;
var tong,g:longint;
begin
tong:=0;
for g:=1 to y-1 do if (y mod g=0) then tong:=tong+g;
if tong=y then hoanhao:=true else hoanhao:=false;
end;
begin
assign(input,'mang.inp'); reset(input);
assign(output,'mang.out'); rewrite(output);
readln(n); readln(k); demk:=0;
for i:=1 to n do read(a[i]);
min:=a[n];
for i:=n downto 1 do if a[i]<min then begin min:=a[i]; vtmin:=i; end;
max:=abs(a[1]);
for i:=1 to n do if abs(a[i])>max then begin max:=abs(a[i]); vtmax:=i; if a[i]<0 then sm:=true else sm:=false; end;
for i:=1 to n do if (k=a[i]) then inc(demk);
sum:=0;
for i:=1 to n do
begin
if (nguyento(a[i]) or hoanhao(a[i])) then sum:=sum+a[i];
end;
writeln(vtmin);
if sm=false then writeln(max,' ,vi tri: ',vtmax) else writeln('-',max,' ,vi tri: ',vtmax);
if (demk=0) then writeln('khong, so lan xuat hien :0') else writeln('co, so lan xuat hien :',demk);
write(sum);
close(input); close(output);
end.
Câu 3: Bài làm của bạn Lê Hoàng Thắng:
const fi='xau.inp'
fo='xau.out'
var s1,s2:string; match,i:longint; f: text;
procedure ip;
begin
assign(f,fi); reset(f);
readln(s1); read(s2);
close(f);
end;
procedure out;
begin
assign(f,fo); rewrite(f);
match:=0;
if s1=s2 then begin write('KHONG'); exit; end;
for i:=1 to length(s1) do
begin
if s1[i]=s2[i] then inc(match);
end;
if match=length(s1)-2 then write('CO') else write('KHONG');
close(f);
end;
Begin
ip;
out;
end.
Câu 4: Bài làm của bạn Đào Xuân Sơn :
const fi='STN.inp'
fo='STN.out'
var
f:text;
s:string;
n,t,i:integer;
function dx(x:string):boolean;
var
i:byte;
begin
dx:=false;
for i:= 1 to length(x) div 2 do
if x[i] <> x[length(x)-i+1] then
exit;
dx:=true;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
str(n,s);
if dx(s) = true then writeln(f,'CO') else writeln(f,'KHONG');
t:=0;
for i:= 1 to n div 2 do
if n mod i = 0 then t:=t+i;
if t=n then
begin
write(f,'CO,');
t:=0;
while n<>0 do
begin
t:=t+(n mod 10);
n:=n div 10;
end;
writeln(f,' ',t);
end else
writeln(f,'KHONG');
write(f,length(s));
close(f);
end;
BEGIN
ip;
out;
END.
Bài 5: Bài làm của bạn Vinh Lê:
const fi=’tich.inp’;
fo=’tich.out’;
var f: text;
a,b: integer;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,a);
read(b);
close(f);
procedure out;
begin
assign(f,fo);
rewite(f);
t:=a;
t:=t*b;
write(f,t);
close(f);
end;
Begin
ip;
out;
end.
Đây là các bộ code sử dụng thuật toán hoàn chỉnh nhất và tối ưu.
Cho hỏi: if (n mod i)=0 then write(i);
nghĩa là sao ?
LÝ THUYẾT:
1) Năm nay là 2020 vậy tháng 2 có điều kiện THANG2 > 0 và điều kiện nào sao đây:
A. THANG2 <= 28 B. THANG2 <= 29 C. THANG2 <= 31 D. THANG2 <= 30
2) Để thể hiện điều kiện D lớn hơn hay 8 E là Gioi câu nào sau đây đúng
A. (D >= 8) OR (E = ' Gioi ') B. ( D >= 8) OR (E= ''Gioi'')
C. (D >= 8) OR (E = Gioi) D. D .= 8 OR E = Gioi
3) Để tìm giá trị lớn nhất của 2 số a,b thì ta viết:
A. Max:=b;If a> Max then Max:=a; B. If (a>b) then Max:=a;If (b>a) then Max:=b;
C. Max:=a;If b>Max then Max:=b; D. Cả 3 câu đều đúng
4) Lệnh nào thể hiện A là số chẵn:
A. If A mod 2 <> 1 then write (' A là số lẻ ');
B. If A mod 2 <> 0 then write (' A là số chẵn ');
C. If A mod 2 = 0 then write (' A là số chẵn ');
D. If A mod 2 = 1 then write (' A là số chẵn ');
5) Chương trình sau cho biết kết quả là gì?
Var a, b: real; x integer; Begin readln(a, b); If a > b then x:=a else x:=b; Write(x); End.
A. Đảo giá trị của 2 biến a, b cho nhau
B. Chương trình không thực hiện được do lỗi khai báo kiểu dữ liệu
C. Xuất ra màn hình số lớn trong 2 số a, b đã nhập
D. Xuất ra màn hình số nhỏ trong 2 số a, b đã nhập
6) Điều kiện nào hợp lệ trong các điều kiện sau khi nói về ngày trong tháng 8:
A. (NGAY > 0) AND (NGAY <= 31) B. (NGAY > 0) AND (NGAY <= 30)
C. NGAY <= 31 D. NGAY > 0
7) Để thể hiện điều kiện D lớn hơn hay bằng 8 và E là Gioi câu nào sau đây đúng:
A. D >= 8 AND E= Gioi B. (D >= 8) AND (E= Gioi)
C. (D >= 8) AND (E= "Gioi") D. (D >= 8) AND (E= 'Gioi')
8) Xác định học sinh thi đậu hay rớt bằng câu lệnh nào sau đây:
A. If ĐTB >= 0 then Writeln('Thi đậu');
B. If ĐTB >= 0 then Writeln('Thi rớt');
C. If ĐTB >= 5 then Writeln('Thi đậu') else Writeln('Thi rớt');
D. If X mod 2=0 then Writeln('Thi rớt') else Writeln('Thi đậu');
9) Tìm số bé nhất trong 3 số x, y, z bằng câu lệnh nào sau đây:
A. min:=x; If y>min then min:=y else min:=z;
B. min:=x; If y>min then min:=y; if z>min then min:=z;
C. min:=x; If y<min then min:=y else min:=z;
D. min:=x; If y<min then min:=y; if z<min then min:=z;
10) Để thể hiện B lớn hơn 10 câu nào sau đây đúng:
A. B >= '10' B. B>= '10' C. B > 10 D. B >= 10
Câu 1: 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;
d.While<điều kiện>; do<câu lệnh>;
Câu 2: Hoạt động nào sau đây có thể tính toán được số lần làm việc
a.Múc từng gáo nước đầy bể
b.Đi lên tầng, đén tầng 10 thì dừng
c. Học cho tới khi thuộc bài
d. Nhặt từng cọng rau cho đến khi xong
Câu 3: Vòng lặp while... do là vòng lặp
a.Biết trước số vòng lặp
b. Biết trước số vòng lặp nhưng giói hạn là <=100
c.Chưa biết trước số lần lặp
d. Biết trước số lần lặp nhưng giới hạn là >=10
Câu 4: Trong ngôn ngữ pascal, đoạn chương trình sau đưa ra kết quả gì?
Fow i:=1 to 10 do write (i,'');
a. 1 2 3 4 5 6 7 8 9 10
b.10 9 8 7 6 5 4 3 2 1
c. Đưa ra 10 đấu cách
d.Không đưa ra kết quả gì
Câu 5: Phần mềm giúp em học vẽ hình là?
a. Sun times
b.Yenka
c. Finger break out
d.geogebra
Câu 6: Khai báo biến mảng nào đúng
a. Var Y: Array[6..20] of Integer;
b.Var Y; Array[10.5..25.5] of Real;
c.Var Y: Array[10,50] of Integer;
d.Var Y: Array[30..15] of Real;
Câu 7: Để nhập một giá trị vào phần tử a[3] của mảng a thì ta viết là
a. Readln(a)
b.Readln(a[3])
c.Readln(a[i])
d.Readln(a(3))
Câu 8: Đ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 vô hạn các số 1, mỗi số trên một dòng
b.Không phương án nào đúng
c. In ra các số từ 1 đến 9
d. In ra các số từ 1 đến 10
Câu 9: Để tính tổng S=1/2+1/4+1/6+...+1/n; em chọn đoạn lệnh
a. for i:=1 to n do b.for i:=1 to n do
if (i mod 2)= 0 then S:=S-1/i ; Else S := S+1/i
if (i mod 2) = 0 then S:=S+1/i;
c.for i:= 1 to 10 do d.for i:=2 to n do
if (i mod 2) <>0 then S=S+i; if (i mod 2) <> ) then S:= S=S +i/1
Else S:= S-1/i;
Câu 10: Câu lệnh cho phép nhập giá tị của C từ bàn phím
a. Write(C);
b. Writeln(C);
c.Write('Nhap gia tri cua C');
d.Readln(C);
Part#1
\(I\), Lý thuyết:
1) Điều kiện B mod 2 <> 0 nếu đúng có ý nghĩa gì?
a) B là số dương b) B là số âm c) B là số chẵn d) B là số lẻ
2) Cấu trúc rẽ nhánh dạng đầy đủ:
a) If điều kiện then câu lệnh 1; else câu lệnh 2;
b) If điều kiện then câu lệnh 1else câu lệnh 2;
c) If điều kiện then câu lệnh;
d) If điều kiện then câu lệnh else câu lệnh;
3) Tìm số chẵn/ lẻ bằng câu lệnh nào sao đây :
a) If X mod 2= 0 then Writeln(' X là số lẻ ');
b) If X mod 2= 0 then Writeln(' X là số chẵn ');
c) If X mod 2= 0 then Writeln(' X là số lẻ ') else Writeln(' X là số chẵn ');
d) If X mod 2= 0 then Writeln(' X là số chẵn') else Writeln(' X là số lẻ ');
4) Tìm số lớn nhất trong 3 số x, y, z bằng câu lệnh nào sau đây:
a) max:=x; If y < max then max:= y else max:= z;
b) max:=x; If y > max then max:= y else max:= z;
c) max:=x; If y > max then max:= y; if z > max then max:= z;
d) max:=x; If y < max then max:= y; if z < max then max:= z;
5) Pascal sử dụng câu lệnh lặp nào sau đây là cấu trúc rẽ nhánh dạng thiếu
a) For ... to ... do; b) If ...then; c) If ...then...else d) While ...do;
6) Chọn câu lệnh Pascal hợp lệ trong các câu sau:
a) If a = 6 then x:= 100; b) If a > b then max:= a; else max:= b;
c) If a > b then max = a; d) If x := a + b then x: =x + 1;