I. Phần trắc nghiệm (3đ):
Câu 1: Khai báo nào sau đây hợp lệ? a. Var a: array[1..10] of Real;
b. Var a=array[1..10] of Real; c. Var a:array[1:10] of Real; d. Var a:rray[1,10] of Real;
Câu 2: Để khai báo biến mảng a gồm 5 hàng 6 cột: a. Var a:array[1..6,1..5] of byte;
b. Var a:array[1..5,1..6] of byte; c. Var a=array[1..6,1..5] of byte; d. Var a=array[1..5,1..6] of byte;
Câu 3: Để tham chiếu đến phần tử hàng 3 cột 4 của biến mảng b, ta viết:
a. b[4,3]
b. b[3,4]
c. array[3,4]
d. array[4,3]
Câu 4: Viết khai bo var a: array[1..5]of read; cĩ nghĩa l
a. Khai bo biến mảng a l biến mảng một chiều
b. Khai bo biến mảng a l biến mảng hai chiều
c. Khai bo biến a l biến kiểu số thực
d. Cu lệnh sai
Câu 5: Khai báo nào sau đây chưa hợp lệ?
a. var a: string;
b. var a: string[25];
c. var a: strinh;
Câu 6: Cho n l biến nguyn, lệnh n:=length(‘Tin_hoc’); write(n); kết qủa in ra mn hình l:
a. 6 b. 7 c. 8 d. 9
Câu 7. Cho t:=’Tin_hoc’; để cĩ kết qủa là xâu ‘Tin’ ta thực hiện:
a. Delete(t,1,3); b. Delete(t,3,1); c. Delete(t,4,4); d. Delete(t,4,3); Câu 8: Cho s1:=’tin’; s2:=’hoc’; Lệnh insert(s1,s2,4); cho kết qủa l:
a. hoctin b. tinhoc c. hoc tin d. tin hoc
Câu 9. Dữ liệu kiểu…….dùng để mơ tả các đối tượng cĩ cùng một số thuộc tính mà các thụơc tính cĩ thể cĩ các kiểu dữ liệu khác nhau.
a. Kiểu mảng b. Kiểu xu c. Kiểu bản ghi d. Kiểu số nguyn
Câu 10. Để tham chiếu đến trường X của bản ghi A ta viết:
a. A.X b. X.A c. A:X d. X:A
II. Phần tự luận (7đ):
Cu 1: Viết chương trình nhập vo một mảng gồm n phần tử, tìm phần tử cĩ gi trị nhỏ nhất của mảng. Đưa ra màn hình chỉ số v gi trị của phần tử tìm được
Cu 2: Viết chương trình nhập từ bàn phím xâu kí tự S cĩ độ dài khơng quá 150. cho biết cĩ bao nhiêu chữ số xuất hiện trong xâu S. thơng báo kết quả ra màn hình
ĐÁP ÁN VÀ BIỂU ĐIỂM I. Phần trắc nghiệm (3đ): 1. a 2. b 3. b 4. d 5. c 6. b 7. c 8. a 9. c 10. a II. Phần tự luận (7đ): Câu 1: (4đ) Program gtri_nhonhat; Uses Crt;
Var A:array[1..100] of Integer; N,I,j:integer;
BEGIN
Clrscr;
Write(‘nhap so luong phan tu cua day so, n= ’); Readln(n);
For i:=1 to n do
BEGIN
Clrscr;
Writeln(‘nhap xau ki tu bat ki:’); Readln(S) ;
Dem :=0 ;
For i :=1 to length(S) do
If (‘0’ <= S[i]) and (S[i] <= ‘9’) then dem:=dem + 1; Writeln(‘Trong xau S co ‘,dem,’ chu so.’);
Readln; End.
Tuần: 21, tiết: 31.
Ngày soạn: 20/11/2010. Ngày day:22/11/2010.
Đề bài dạy: KIỂU MẢNG (Tiết 4)
I. Mục đích yêu cầu:
Kiến thức:
- Biết được một kiểu dữ liệu mới là kiểu mảng hai chiều.
- Biết được cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến từng phần tử trong mảng.
Kĩ năng: Tạo được kiểu mảng hai chiều và khai báo biến mảng hai chiều trong ngôn ngữ lập trình pascal.
Sử dụng đúng biến mảng để giải quyết các bài toán cụ thể.
II. Chuẩn bị của thầy và trò:
Thầy: SGK + Giáo án.
Troø: SGK + xem trước bài học ở nhà.
III. Tiến trình tiết dạy:
1. Ổn định lớp.
2. Kiểm tra bài cũ:
Câu hỏi: Cho mảng A gồm N phần tử. Viết đoạn chương trình để nhập và xuất các giá trị cho mảng? Trả lời: + Đoạn chương trình nhập giá trị cho mảng A:
For i:=1 to N do BEGIN Write(‘Nhap vao phan tu thu’,i,’:’); Readln(a[i]); End; + Đoạn chương trình xuất các giá trị của mảng A ra màn hình:
For i:= 1 to N do Write(a[i],‘ ’);
3. Vào bài mới:
Hoạt động của thầy và trò Nội dung cần đạt
GV: Có mấy cách khai báo biến mảng hai chiều?
Nêu các cách?
HS: Dựa vào SGK trả lời câu hỏi.
GV: Gọi một học sinh lên bảng khai báo một mảng