Câu hỏi:
Giúp em bài tập về nhà Tổng hợp lớp 8 câu hỏi như sau: Câu 9: Cho đoạn chương trình sau:
S:=0; For i:=1 to 1 do S:=S+1;
Sau khi chạy đoạn chương trình trên, giá trị S là:
A. Không xác định. B. S=100. C. S=1. D. S=0.
Câu 10: Điều kiện trong câu lệnh lặp với số lần chưa biết trước thường là :
A. Câu lệnh đơn B. Câu lệnh ghép C. phép gán D. Phép so sánh
Câu 11: Cú pháp lệnh lặp với số lần chưa biết trước:
A. While < điều kiện > to < câu lệnh >;
B. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;
C. While < điều kiện > do < câu lệnh >;
D. While < điều kiện > do ;< câu lệnh >;
Câu 12: Kiểu dữ liệu của biến đếm trong lệnh lặp For do:
A. Không cần phải xác định kiểu dữ liệu.
B. Cùng kiểu với các biến trong câu lệnh.
C. Chỉ cần khác kiểu với giá trị đầu.
D. Cùng kiểu với giá trị đầu và giá trị cuối.
Câu 13: Cho đoạn chương trình Pascal sau đây:
tong:= 0;
While tong<= 10 do
tong:=tong+1;
Sau khi đoạn chương trình trên được thực hiện, giá trị của tổng bằng bao nhiêu:
A. 11 B. 9 C. 10 D. 12
Câu 14: Hãy cho biết kết quả của đoạn chương trình dưới đây:
a:=10; While a < 11 do write (a);
A. Trên màn hình xuất hiện 10 chữ a B. Chương trình bị lặp vô tận.
C. Trên màn hình xuất hiện một số 11 D. Trên màn hình xuất hiện một số 10
Câu 15: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu nào?
A. Real B. Integer
C. Tất cả các kiểu trên đều được. D. String
Câu 16: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
A. Học bài cho tới khi thuộc bài B. Mỗi tuần đi nhà sách một lần
C. Ngày đánh răng 2 lần. D. Ngày tắm hai lần
PHẦN TỰ LUẬN:
Câu 1: Tìm lỗi sai của chương trình sau và sửa lại cho đúng:
Program câu 1;
Var n: Integer; s:real;
Begin
Writeln( Nhap gia tri n=); Readln;
S:=0;
While n >0 do
s:=s+n/2; n:=n-1;
write(tong s = , s:8:2);
Readln;
End.
Câu 2. Hãy viết cú pháp và nêu hoạt động câu lệnh lặp với số lần biết trước.
Câu 3: Viết chương trình tính tổng bình phương S = 12 + 22 + 32 + +n2 , với n là số nguyên dương được nhập từ bàn phím.
Trả lời 1:
Gia Sư Hoàng Khang gữi câu trả lời dành cho bạn:
Câu 9,Do câu lệnh chạy từ i=1 nên S= 0+1=1 sau đó kết thúc vì chỉ lặp đến khi i =1.Vậy S =1 => Chọn C
Câu 10:D.phép so sánh vì để lặp với số lần chưa biết trước thì không thể để điều kiện là biểu thức đơn hay câu lệnh đơn hoặc ghép được.
Câu 11:C. While < điều kiện > do < câu lệnh >;
Câu 12: B. Cùng kiểu với các biến trong câu lệnh
Câu 13: A.11
Khi điều kiện đạt đến Tong=10 thì thực hiện phép gán Tong:=Tong+1 nên in ra kết quả Tong=11
Câu 14: B
Vì a được gán bằng 10 mà a<11 thì thực hiện lệnh in ra màn hình a => lặp vô tận
Câu 15: B
Vòng lặp For phải biến nguyên
Câu 16: A. Học bài cho tới khi thuộc bài
Phần Tự Luận
Câu 1: Tên chương trình không đúng quy định => sửa Program cau1;
Writeln( Nhap gia tri n=); thiếu hai dấu nháy đơn => sửa Writeln( ‘Nhap gia tri n=’);
Thiếu lệnh nhập n => sửa lại “Readln(n); “
Dùng while-do nên s:=s+n/2; n:=n-1; phải nằm trong chương trình con
=> sửa begin s:=s+n/2; n:=n-1; end;
write(tong s = , s:8:2); => thiếu dấu nháy đơn
=> sửa write(‘tong s = ‘, s:8:2);
Câu 2:
-Cú pháp :
+ While <điều kiện> do <câu lệnh>;
– Hoạt động của câu lệnh :
+ Trước tiên,kiểm tra điều kiện.Nếu điều kiện đúng thì thực hiện câu lệnh sau do sau đó tiếp tục quay lại kiểm tra điều kiện và thực hiện nếu đúng.Nếu điều kiện sai thì kết thúc lặp.
Câu 3:
Uses crt;
Var n,i:integer;
S:longint;
Begin
Clrscr;
S:=0;
Write(‘n=’); Readln(n);
For i:=1 to n do S:=S+sqr(i);
Writeln(‘Tong binh phuong S la’,S);
Readln
End.