1/ Chương trình viết bằng chương trình bậc cao không có những đặc điểm nào trong các đặc điểm sau : a/ Không phụ thuộc vào loại máy, chương trình có thể thực hiện trên nhiều máy. b/ Ngắn gọn, dể hiểu, dễ nâng cấp. c/ Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuật toán. d/ Máy tính có thể hiểu và thực hiện trực tiếp chương trình này. 2/ Chương trình dòch không có khả năng nào trong các khả năng sau : a/ Phát hiện được lỗi ngữ nghóa. b/ Phát hiện được cú pháp. c/ Thông báo lỗi cú pháp. d/ Tạo được chương trình đích. 3/ Nhận biết tên đúng sai trong Pascal a/ Bai tap b/ PT_B2 c/ Const d/ Vi-du 4/ Cách đặt tên trong Pascal là : a/ Chiều dài tối đa là 127 gồm chữ cái chữ số được bắt đầu bằng chữ cái hoặc chữ số. b/ Chiều dài tối đa là 127 gồm chữ cái chữ số và dấu gạch dưới được bắt đầu bằng chữ cái hoặc chữ số. c/ Chiều dài tối đa là 127 gồm chữ cái chữ số và dấu gạch dưới được bắt đầu bằng dấu gạch dưới hoặc chữ số. d/ Chiều dài tối đa là 127 gồm chữ cái chữ số và dấu gạch dưới được bắt đầu bằng dấu gạch dưới hoặc chữ cái. 5/ Tên dành riêng là : a/ c/ Chiều dài tối đa là 127 gồm chữ cái chữ số và dấu gạch dưới được bắt đầu bằng dấu gạch dưới hoặc chữ số. b/ Được dùng với ý nghóa riêng không được dùng với ý nghóa khác. c/ Dùng với ý nghóa nhất đònh, khi cần dùng với ý khác thì phải khai báo. d/ Cần khai báo trước khi sử dụng. 6/ Tên chuẩn là : a/ c/ Chiều dài tối đa là 127 gồm chữ cái chữ số và dấu gạch dưới được bắt đầu bằng dấu gạch dưới hoặc chữ số. b/ Được dùng với ý nghóa riêng không được dùng với ý nghóa khác. c/ Dùng với ý nghóa nhất đònh, khi cần dùng với ý khác thì phải khai báo. d/ Cần khai báo trước khi sử dụng. 7/ Tên do người lập trình đặt : a/ Chiều dài tối đa là 127 gồm chữ cái chữ số và dấu gạch dưới được bắt đầu bằng dấu gạch dưới hoặc chữ số. b/ Được dùng với ý nghóa riêng không được dùng với ý nghóa khác. c/ Dùng với ý nghóa nhất đònh, khi cần dùng với ý khác thì phải khai báo. d/ Cần khai báo trước khi sử dụng. 8/ Biên dòch là : a/ Là các đại lượng có giá trò không thay đổi khi thực hiện chương trình. b/ Dòch và thực hiện từng câu lệnh một, nếu còn câu lệnh tiếp theo thì quá trình này tiếp tục. c/ Là những đại lượng được đặt tên, dùng để lưu trữ giá trò và giá trò của nó có thể thay đổi trong quá trình thực hiện chương trình. d/ Dòch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máyvà có thể sử dụng lại khi cần thiết. 9/ Thông dòch là : a/ Là các đại lượng có giá trò không thay đổi khi thực hiện chương trình. b/ Dòch và thực hiện từng câu lệnh một, nếu còn câu lệnh tiếp theo thì quá trình này tiếp tục. c/ Là những đại lượng được đặt tên, dùng để lưu trữ giá trò và giá trò của nó có thể thay đổi trong quá trình thực hiện chương trình. d/ Dòch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máyvà có thể sử dụng lại khi cần thiết. 10/ Biến là : a/ Là các đại lượng có giá trò không thay đổi khi thực hiện chương trình. b/ Dòch và thực hiện từng câu lệnh một, nếu còn câu lệnh tiếp theo thì quá trình này tiếp tục. c/ Là những đại lượng được đặt tên, dùng để lưu trữ giá trò và giá trò của nó có thể thay đổi trong quá trình thực hiện chương trình. d/ Dòch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máyvà có thể sử dụng lại khi cần thiết. 11/ Hằng là : a/ Là các đại lượng có giá trò không thay đổi khi thực hiện chương trình. b/ Dòch và thực hiện từng câu lệnh một, nếu còn câu lệnh tiếp theo thì quá trình này tiếp tục. c/ Là những đại lượng được đặt tên, dùng để lưu trữ giá trò và giá trò của nó có thể thay đổi trong quá trình thực hiện chương trình. d/ Dòch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máyvà có thể sử dụng lại khi cần thiết. 12/ Chương trình viết trên ngôn ngữ bậc cao là : a/ Là các đại lượng có giá trò không thay đổi khi thực hiện chương trình. b/ Dòch và thực hiện từng câu lệnh một, nếu còn câu lệnh tiếp theo thì quá trình này tiếp tục. c/ Phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện. d/ Nạp trực tiếp vào bộ nhớ và thực hiện ngay. 13/ Hằng gồm : a/ Hằng xâu, logic, ngữ nghóa. b/ Hằng xâu, số học, cú pháp c/ Hằng xâu, logic , ký tự d/ Hằng logic, ký tự, ngữ nghóa. 14/ Hằng là xâu là hằng : a/ Có 2 giá trò : TRUE và FLASE b/ Được đặt trong cặp dấu (*… *) c/ Được đặt trong cặp dấu nháy đơn. d/ Gồm các số thực và số nguyên 15/ Hằng logic là hằng : a/ Có 2 giá trò : TRUE và FLASE b/ Được đặt trong cặp dấu (*… *) c/ Được đặt trong cặp dấu nháy đơn. d/ Gồm các số thực và số nguyên 16/ Ghi chú không thực hiện công việc nào sau đây ? a/ Làm rõ nội dung khi lập trình b/ Chương trình dòch và thực hiện các lệnh được ghi trong ghi chú c/ Đặt trong dấu (* và *) d/ Đặt trong { và } 17 / Hãy chọn câu sai a/ 4+6 b/ 6.35E-10 c/ 70,64 d/ 1465 BÀI 3 ( CẤU TRÚC CHƯƠNG TRÌNH ) 18/ Chương trình được viết bằng ngôn ngữ lập trình bậc cao thường gồm có các thành phần : a/ Phần khai báo, tên chương trình, phần thân b/ Tên chương trình, phần thân. c/ Tên chương trình, khai báo thư viện chương trình. d/ Phần khai báo, phần thân. 19/ Trong các khai báo tên chương trình hãy chọn khai báo đúng. a/ Program AB-C ; b/ Program Vi_du ; c/ Program Vi du ; d/ Program Vi_du 20/ Cú pháp khai báo hằng nào sau đây là đúng : a/ Const < Tên hằng > < giá trò hằng>; b/ Conts < Tên hằng > = < giá trò hằng > ; c/ Const < Tên hằng > = < giá trò hằng > d/ Const < Tên hằng > = < giá trò hằng > ; 21/ Giả sử ta có khai báo hằng như sau : Const tam= 9; (1) Delta=2,68; (2) Begin = ‘True ‘; (3) Thu = True; (4) Hãy cho biết dòng sai và lý do ? (1) (2) (3) (4) 22/ Hãy chọn câu phát biểu đúng . a/ Phần thân của chương trình là thành phần quan trọng nhất bắt buộc phải có, nó được đặt trong cặp từ khóa Begin và End b/ Phần thân của chương trình là thành phần có thể có hoặc có thể không khi viết chương trình c/ Phần thân của chương trình là thành phần nằm bên ngoài cặp từ khóa Begin và End d/ Phần thân của chương trình là thành phần quan trọng nhất bắt buộc phải có, nó được đặt trong cặp từ khóa Begin … End và được kết thúc bởi dấu chấm ( . ). 23/ Trong Pascal cung cấp bao nhiêu kiểu dữ liệu chuẩn ? a/ 7 b/ 6 c/ 4 d/ 3 24/ Giả sử biến p có kiểu dữ liệu là số nguyên tồn tại trong phạm vi từ 10 đến 256. Cách khai báo P nào sau đây là đúng và tốn ít bộ nhớ nhất. a/ Byte b/ Integer c/ Longint d/ Word 25/ Ta có khai báo sau : Var a,b,c : integer; d: Real; e,f : char; g: Boolean; Với khai báo trên thì máy tính sẽ cấp phát bộ nhớ là bao nhiêu byte ? a/ 15 b/ 17 c/ 20 d/ 23 26/ Hãy chọn cú pháp khai báo biến đúng. a/ Var < danh sách biến > < kiểu dữ liệu > ; b/ Var < danh sách biến > = < kiểu dữ liệu > ; c/ Var < danh sách biến > : < kiểu dữ liệu > ; d/ < Danh sách biến > : < kiểu dữ liệu > ; 27/ Trong các biểu thức sau, biểu thức nào không phải là biểu thức của Pascal : a/ ( 8 div 5 >=2 ) and ( 8 <=2) b/ (a+x)(b+y)/2 c/ Int(18.387) >= 10 d/ Not (True) 28/ Thủ tục Read dùng để : a/ Nhập một giá trò từ bàn phím, con nháy không xuống dòng b/ Nhập một hoặc nhiều giá trò từ bàn phím tùy theo biến của nó, bấm dấu cách để nhập cho biến tiếp theo c/ Xuất một giá trò ra màn hình. d/ Xuất nhiều giá trò ra màn hình. 29/ Thủ tục Readln dùng để a/ Nhập một giá trò từ bàn phím, con nháy xuống dòng b/ Nhập một hoặc nhiều giá trò từ bàn phím tùy theo biến của nó, bấm Enter để nhập cho biến tiếp theo c/ Xuất một giá trò ra màn hình. d/ Xuất nhiều giá trò ra màn hình. 30/ Thủ tục Write dùng để : a/ Đưa dữ liệu ra màn hình, con nháy xuống dòng b/ Đưa dữ liệu ra màn hình, con nháy không xuống dòng c/ Nhập dữ liệu từ bàn phím, con nháy xuống dòng. d/ Nhập dữ liệu từ bàn phím, con nháy không xuống dòng. 31/ Thủ tục Writeln dùng để : a/ Đưa dữ liệu ra màn hình, con nháy xuống dòng b/ Đưa dữ liệu ra màn hình, con nháy không xuống dòng c/ Nhập dữ liệu từ bàn phím, con nháy xuống dòng. d/ Nhập dữ liệu từ bàn phím, con nháy không xuống dòng. 32/ Giả sử biến a được khai báo là Real và có giá trò là 10 thì lệnh Write(a:7:2) đưa kết quả ra màn hình là : a/ 00 b/ 10 c/ 10.00 d/ 10.0 33/ Tổ hợp phím Ctrl + F9 có chức năng : a/ Dòch chương trình b/ Lưu trương trình c/ Thực hiện chương trình d/ Mở chương trình. 34/ Hãy điền vào khoảng trống If …………………………… then …………………………………… ; 35/ Hãy điền vào khoảng trống : If …………………………. Then ………………………………… else ………………………………… ; 36/ Hãy điền vào khoảng trống : While ………………………… do …………………………… ; 37/ Hãy điền vào khoảng trống : For …………………………………………………… to …………………………… do ………………………………… ; 38/ Hãy điền vào khoảng trống : For …………………………………………………… downto …………………………… do ………………………………… ; 39/ Hãy cho biết kết quả của đoạn lệnh sau : A:=8; If a>0 then A:= a+1; Else A:=A+2; Write(a); a/ 8 b/ 9 c/10 d/ Chửụng trỡnh loói. 40/ Cho bieỏt keỏt quaỷ cuỷa ủoaùn chửụng trỡnh N:=5;tong:=0; For i:=1 to n do If ( i mod 3=0) then Tong:=tong+i; Write(tong); a/ 5 b/ 15 c/ 3 d/ 10 41/ Cho bieỏt keỏt quaỷ cuỷa ủoaùn chửụng trỡnh N:=5;tong:=0; For i:=n downto 1 do If ( i mod 3=0) then Tong:=tong+i; Write(tong); a/ 5 b/ 15 c/ 3 d/ 10 42/ Cho bieỏt keỏt quaỷ cuỷa ủoaùn chửụng trỡnh N:=5; i:=1; tong:=0; While (i<=n) then begin If ( i mod 3=0) then Tong:=tong+i; I:=i+1; End; Write(tong); a/ 5 b/ 15 c/ 3 d/ 10 43/ Cho bieỏt keỏt quaỷ cuỷa ủoaùn chửụng trỡnh i:=5; tong:=0; While (i>0) then begin If ( i mod 3=0) then Tong:=tong+i; I:=i-1; End; Write(tong); a/ 5 b/ 3 c/ 15 d/ 10 44/ Hãy chọn cú pháp khai báo đúng trong các khai báo sau : a/ Var <tên mảng > :< Kiểu dữ liệu>; b/ Var < tên biến mảng >: [ kiểu chỉ số ] of < kiểu phần tử>; c/ Var < tên biến mảng >: array [ kiểu chỉ số ] of < kiểu phần tử>; d/ Var < tên biến mảng >: array [ kiểu chỉ số ] < kiểu phần tử>; 45/ Khi nào sử dụng đến kiểu dữ liệu mảng ? a/ Khi cần sử dụng các phần tử khác nhau nhưng có cùng kiểu. b/ Khi cần sử dụng các phần tử khác nhau nhưng khác kiểu. c/ Khi cần sử dụng một phần tử rời rạc. d/ Khi cần sử dụng để lưu trữ cho tương lai. 46/ Để khai báo một mảng A có 15 phần tử có kiểu phần tử là số nguyên ta khai báo, nhưng mỗi phần tử không vượt quá 5000 : a/ A :array [1 …15] of byte; b/ A:array [1 15] of byte; c/ A:array [1 … 15] of integer; d/ A:array [ 1 15] of integer; 47/ Giả sử ta có mảng A như sau : A 5 10 15 20 25 30 35 40 45 50 Để có giá trò là 35 ta truy xuất như sau : a/ 35 b/ A[35] c/ [35] d/ A[7] 48/ Hãy cho biết cú pháp khai báo nào sau đây là đúng : a/ < tên biến > : string[độ dài lớn nhất của xâu ]; b/ Var string[độ dài lớn nhất của xâu ]; c/ Var < tên biến > string[độ dài lớn nhất của xâu ]; d/ Var < tên biến > string[độ dài lớn nhất của xâu ]; 49/ Giả sử xâu A là :’ABCD’ khi đó lệnh write(A) có kết quả là : a/ AB b/ BC c/ CD d/ ABCD 50/ Giả sử xâu A là :’ABCD’ khi đó lệnh write(A[1]) có kết quả là : a/ D b/ B c/ A d/ C 51/ Giả sử : st:=’abcd’; thủ tục Delete(st,2,2); có kết quả là : a/ ad b/ cd c/ bc d/ bd 52/ Giả sử : st:=’abcd’; thủ tục Insert(‘ab’,st,2); có kết quả là : a/ abcdab b/ ababad c/ ababcd d/ aabbcd 53/ Giả sử : st:=’Thuan Hoa’; hàm copy(st,7,3); có kết quả là : a/ Hoa b/ uan Hoa c/ n Ho d/ an Hoa 54/ Giả sử : st:=’Thuan Hoa’; hàm length(st); có kết quả là : a/ 6 b/ 8 c/ 9 d/ 10 55/ Giả sử : st:=’Thuan Hoa’; hàm Pos(‘m’,st); có kết quả là : a/ 0 b/ 2 c/ 3 d/ 4 BÀI TẬP 1/ Cho một dãy số bất kỳ gồm n số . Hãy viết chương trình tính tổng các số không là bội số của 2 hoặc 3. Với n là một số nguyên dương được nhập từ bàn phím. 2/ Hãy tính và tổng của dãy số sau : 1 1 1 1 1, , , , , 2 3 4 n . Với n là một số nguyên dương được nhập từ bàn phím. 3/ Lập trình tính M= 50 1 1 1 n n = + ∑ sau đó xuất kết quả ra màn hình. 4/ Lập trình tính M= 50 1 1 n n n = + ∑ sau đó xuất kết quả ra màn hình. 5/ Viết chương trình tìm n để A n >=100.Với A là một số nguyên được nhập từ bàn phím. 6/ Viết chương trình tìm X để X 3 <= 3000. 7/ Viết chương trình tính để thỏa mãn điều kiện 1 1 1 1 0,00325 2 3 4 x x x x n <= . 8/ Một con heo có trọng lượng ban đầu có trọng lượng là 5kg. Cứ mỗi ngày trọng lượng của heo tăng lên 0.05kg. Hỏi sau bao nhiêu ngày thì heo đạt đến trọng lượng vừa lớn hơn hoặc bằng 120kg. . nguồn thành một chương trình đích có thể thực hiện trên máyvà có thể sử dụng lại khi cần thiết. 11/ Hằng là : a/ Là các đại lượng có giá trò không thay đổi khi thực hiện chương trình. b/ Dòch