Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (114.72 KB, 5 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Câu 1: Trong ngơn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:</b>
<b>a. If a=5 then a:=d+1; else a:=d+2;</b> <b>b. If a=5 then a:=d+1else a:=d</b>
c. If a=5 then a=d+1; else a=d+2; <b>d. If a=5 then a:=d+1else a:=d+2</b>
<b>Câu 2: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?</b>
<b> For i:=1 to 10 do write (i,’ ‘);</b>
a. 1 2 3 4 5 6 7 8 9 10 <b>b. 10 9 8 7 6 5 4 3 2 1</b>
<b>c. Đưa ra 10 dấu cách</b> <b>c. Không đưa ra kết quả gì</b>
<b>Câu 3: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì g/trị in ra màn hình là?</b>
<b>a. 8</b> <b>b. 10</b> <b>c. 4</b> <b>d. 6</b>
<b>Câu 4: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?</b>
<b> For i:=1 to 8 do write (i,’ ‘);</b>
a. 1 2 3 4 5 6 7 8 <b>b. 8 7 6 5 4 3 2 1</b>
<b>c. Đưa ra 10 dấu cách</b> <b>d. Không đưa ra kết quả gì</b>
<b>Câu 5: Phát biểu nào sau đây là đúng?</b>
<b>a. Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho </b>
đến khi một điều kiện nào đó được thoả mãn.
<b>b. Chỉ ngơn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp.</b>
<b>c. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh while …do</b>
<b>Câu 6: Câu lệnh pascal nào sau đây là hợp lệ?</b>
<b>a.For i:=100 to 1 do writeln(‘A’);</b> <b>b. For i:=1.5 to 10.5 do writeln(‘A’);</b>
<b>c. For i= 1 to 10 do writeln(‘A’);</b> <b>d. For i:= 1 to 10 do writeln(‘A’);</b>
<b>Câu 7: Khi viết câu lệnh lặp for..do… </b>
<b>a. Giá trị đầu bằng giá trị cuối</b> <b>b. Giá trị cuối phải lớn hơn giá trị đầu</b>
<b>c. Giá trị đầu lớn hơn giá trị cuối</b> <b>d. Tất cả đều sai.</b>
<b>Câu 8:</b><i> Tìm giá trị của S trong đọan chương trình dưới đây:</i>
S := 0;
For i := 1 to 5 do S := S + i;
<b>a. S = 0</b> <b>b. S = 1</b> <b>c. S = 5</b> <b>d. S = 15</b>
<b>Câu 9:</b><i> Khi nào thì câu lệnh For…to…do kết thúc?</i>
<b>a. Khi biến đếm lớn hơn giá trị cuối</b> <b>b. Khi biến đếm nhỏ hơn giá trị cuối</b>
<b>c. Khi biến đếm bằng giá trị cuối</b> <b>d. Khi biến đếm lớn hơn giá trị đầu</b>
<b>Câu 10:</b><i> điều kiện vịng lặp chưa xác định thốt khỏi vịng lăp là:</i>
<b>a.Điều kiện đúng</b> <b>b. Điều kiện sai</b>
<b>c. Số lần lặp phụ thuộc vào điều kiện và thốt khỏi vịng lặp khi điều kiện khơng cịn đúng nữa.</b>
<b>d. Số lần lặp phụ thuộc vào điều kiện và thốt khỏi vịng lặp khi điều kiện còn đúng.</b>
<b>Câu 11: Câu lệnh viết đúng cú pháp là:</b>
<b>a. While <</b><i>điều kiện</i>> to <<i>câu lệnh</i>>; <b>b. While <</b><i>điều kiện</i>> do <<i>câu lệnh</i>>;
<b>c. While <</b><i>điều kiện</i>> to <<i>câu lệnh1</i>> do <<i>câu lệnh 2</i>>; <b>d. While <</b><i>điều kiện</i>>; do <<i>câu lệnh</i>>;
<b>Câu 12: Cú pháp của câu lệnh lặp for … do … là ?</b>
<b>a. For (biến đếm):=(giá trị đầu) to (giá trị cuối) do (câu lệnh);</b>
<b>b. If (điều kiện) then (câu lệnh); </b> <b> c. Var n, i:interger; </b> d. Phải kết hợp cả a, b và c.
<b>Câu 13: Lệnh lặp nào sau đây là đúng?</b>
<b>a. For <biến đếm >= <giá trị đầu > to <giá trị cí > do <câu lệnh >;</b>
<b>b. For <biến đếm >:= <giá trị đầu > to <giá trị cí > do <câu lệnh >;</b>
<b>c. For <biến đếm >:= <giá trị cí > to <giá trị đầu > do <câu lệnh >;</b>
<b>d. For <biến đếm >: <giá trị đầu > to <câu lệnh > do <giá trị cuối >;</b>
<b>Câu 14: Vòng lặp while ..do là vòng lặp:</b>
<b>a. Biết trước số lần lặp</b> <b>b. Chưa biết trước số lần lặp</b>
<b>Câu 15: Câu lệnh gotoxy(a,b) có tác dụng</b>
<b>a. Đưa con trỏ về hàng b</b> <b>b. Đưa con trỏ về cột a</b>
<b>c. Đưa con trỏ về cột a hàng b </b> <b>d. Tất cả đều đúng.</b>
<b>Câu 16: Câu lệnh pascal nào sau đây là hợp lệ?</b>
<b>a. For i:=100 to 1 do writeln(‘A’)</b> <b>b. For i= 1 to 10 do writeln(‘A’);</b>
<b>c. For i:=1.5 to 10.5 do writeln(‘A’)</b> <b>d. For i:= 1 to 10 do writeln(‘A’);</b>
<b>Câu 17:</b><i> Em hiểu câu lệnh lặp theo nghĩa nào dưới đây?</i>
<b>a. Một lệnh thay cho nhiều lệnh.</b> <b>b. Các câu lệnh được viết lặp đi lặp lai nhiều lần.</b>
<b>c.Vì câu lệnh đã có tên là lệnh lặp</b> <b>d. Cả a, b, c đều sai.</b>
<b>Câu 18:</b><i> Tìm giá trị của S trong đọan chương trình dưới đây: </i>S := 0;
For i := 1 to 5 do S := S + i;
<b>a. S = 0</b> <b>b. S = 1</b> <b>c. S = 5</b> <b>d. S = 15</b>
<b>Câu 19: Cho đoạn chương trình sau:</b>
<i>n:=1; </i>
<i>While n<10 do</i>
<i>Begin n:=n+1; Writeln(‘ xin chao’); end;</i>
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?
A. 0 B.9 C. 10 D. Vịng lặp vơ tận.
<b>Câu 20: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu:</b>
s:=1;
for i:=1 to 5 do s := s*i;
A.120 B. 55 C. 121 D. 151
<b>Câu 21: Cú pháp khai báo biến mảng trong Pascal là:</b>
A.<b>var <Tên mảng> ; array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;</b>
B.<b>var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] of <kiểu dữ liệu >;</b>
C.<b>var <Tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;</b>
D.<b>var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >;</b>
<b>Câu 22: Chọn khai báo hợp lệ:</b>
A. Var a,b: array[1 .. n] of real; C. Var a,b: array[1 : n] of Integer;
B. Var a,b: array[1 .. 100] of real; D. Var a,b: array[1 … 100] of real;
<b>II - PHẦN TỰ LUẬN : </b>
<b>Bài 1. Tìm lỗi trong chương trình và sửa lỗi chương trình cho đúng: </b>
Tính Tổng Các Số Tự Nhiên Từ 100 Đến 1000 (Vòng lặp với số lần lặp chưa biết).
Program tinh_tong;
Var i S: Integer;
Begin
i: 100;
S = 0;
While i > 1000 do
S:= S + i
i:= i + 1;
Writeln(‘ Tong cac so tu nhien tu 100 den 1000 la:’,S); Readln;
End.
<b>Bài 2. Viết chương trình nhập vào một mảng các số nguyên.Ghi ra màn hình giá trị trung bình cộng của</b>
mảng đó và các phần tử nhỏ hơn giá trị trung bình cộng của mảng.
<b>Bài 3. Viết chương trình tính tổng:</b>
S = 1+2+3+…+n
Trong đó n là số ngun nhập từ bàn phím.
<b>Bài 4. Viết chương trình tính tổng:</b>
1 1 1 1
1 ...
2 3 4
<i>S</i>
<i>n</i>
<b>ĐÁP ÁN - PHẦN TỰ LUẬN : </b>
<b>Bài 1.</b>
<i>Program tinh_tong;</i>
<i>Var i, S: Integer;</i>
<i>Begin</i>
<i>i:= 100;</i>
<i>S: = 0;</i>
<i>While i <=1000 do</i>
<i>S:= S + i;</i>
<i>Writeln(‘ Tong cac so tu nhien tu 100 den 1000 la:’,S); Readln;</i>
<i>End.</i>
<b>Bài 2. </b>
Chương trình có thể được viết như sau:
<i>Program tbc;</i>
<i>Var a: array[1..100] of integer;</i>
<i>i, n, tong: integer;</i>
<i>tbc: real;</i>
<i>Begin</i>
<i> Write(‘Nhap vao so phan tu cua mang n= (<=100) :’); readln(n);</i>
<i> Write(‘Nhap so nguyen:’);</i>
<i> For i:=1 to n do</i>
<i> Begin write(‘a[‘,i,’]:’); readln(a[i]); end;</i>
<i> Tong:=0;</i>
<i> For i:=1 to n do tong:=tong+a[i];</i>
<i> tbc:=tong/n;</i>
<i> Writeln(‘Trung binh cong cua mang la:’, tbc:10:2);</i>
<i> Writeln(‘ cac phan tu nho hon tbc la:’);</i>
<i> For i:=1 to n do</i>
<i> If a[i]<tbc then write(a[i]:5);</i>
<i> Readln;</i>
<i> End.</i>
<b>Bài 3.</b>
Program Tong;
Uses crt;
Var S: real;
n, i: integer;
Begin
Clrscr;
Write(‘Nhap so n = ‘); Readln(n);
S:= 0;
For i:= 1 to n do S: = S + i;
Writeln(‘Tong can tim la: ‘, S:6:2);
Readln
End.
<b>Bài 4.</b>
Program Tong_Nghich_Dao;
Uses crt;
Var S: real;
n, i: integer;
Begin
Clrscr;
Write(‘Nhap so n = ‘); Readln(n);
S:= 0;
For i:= 1 to n do S: = S + 1/i;