Muïc ñích yeâu caàu: -Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu,chạy thử các chương trình có sẵn.. -Biết giải một số bài toán tính toán,tìm [r]
Trang 1Giáo viên:Nguyễn An Phương Thảo
Trường:THPT Tháp Chàm
Ngày soạn:
Ngày dạy:
Chương IV:KIỂU DỮ LIỆU CÓ CẤU TRÚC
Bài 11:KIỂU MẢNG
BÀI TẬP VÀ THỰC HÀNH 3
I Mục đích yêu cầu:
-Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu,chạy thử các chương trình có sẵn
-Biết giải một số bài toán tính toán,tìm kiếm đơn giản trên máy tính
II Chuẩn bị:
-Bài tập,đĩa,chương trình
III Nội dung:
Gọi học sinh trả lời:Thế nào là mảng 1 chiều,mảng 2 chiều,khai báo biến?
Vận dụng:Nhập xuất mảng 1 chiều có 10 phần tử là số nguyên
Yêu cầu khai báo mảng trên
*Ví dụ 1: Bổ sung để hoàn chỉnh chương trình sau:
var A: array [1 10] of integer ;
i :integer ;
begin
writeln(‘nhập mảng 1 chiều’) ;
for i:= 1 to 10 do
begin
write(‘phần tử thứ’, i , ‘=’ ) ;
readln(A[i]);
end;
writeln(‘xuất mảng đã nhập’) ;
for I:=1 to 10 do
write(A[i]);
end
*Ví dụ 2: 2/64
-Yêu cầu học sinh chạy thử chương trình này trên máy
-Xuất hiện lỗi cú pháp ,ngữ nghĩa
-Giáo viên chỉnh sữa,củng cố kiến thức cho học sinh
KIỂM TRA:15’
Câu 1: Chương trình có sử dụng biến kiểu mảng thường chứa câu lệnh lặp loại nào?
A for-do B while-do
Câu 2: (…) là bảng các phần tử cùng kiểu
Trang 2A mảng 1 chiều B mảng 2 chiều C kiểu xâu D kiểu bản ghi *Chọn câu sai trong các câu sau:
Câu 3: Khai báo mảng 1 chiều có dạng :
A var <tên biến mảng>:array[kịểu chỉ số] of <kiểu phần tử>;
B type <tên kiểu mảng>=array[kiểu chỉ số] of <kiểu phần tử>;
var <tên biến mảng:<tên kiểu mảng>;
C var <tên biến mảng>=array<kiểu chỉ số] of <kiểu phần tử>;
Câu 4: Khai báo mảng 1 chiều có 5 phần tử ,1 học sinh đã viết như sau:
A var A:array[1 5] of integer;
B var A: array[0 5] of integer;
Câu 5: Biến mảng 2 chiều B lưu trữ có thể được khai báo như sau:
A var B: array[1 9] of array[1 10] of integer;
B var B: array[1 9,1 10] of integer;
C var B: array[1 9] : array[1 10] of integer;
Câu 6: Khai báo mảng 1 chiều có n phần tử ,1 học sinh đã viết như sau:
A var A: array[1 n]of integer;
const n =100;
B const n =100;
var A: array[1 n] of integer;
Câu 7: Chọn phát biểu sai:
A Mảng là kiểu dữ liệu có cấu trúc
B Các thành phần của mỗi kiểu dữ liệu có cấu trúc đều có cùng kiểu dữ liệu
C Để mô tả dữ liệu là dãy hữu hạn các phần tử cùng kiểu phải dùng kiểu mảng 1 chiều Câu 8: Chọn phát biểu sai:
A Xâu là kiểu dữ liệu có cấu trúc;
B Các thành phần của mỗi kiểu dữ liệu có cấu trúc đều có cùng kiểu dữ liệu
C Để mô tả dữ liệu là dãy hữu hạn các phần tử cùng kiểu phải dùng kiểu mảng 1 chiều Câu 9: Giả thiết M,N là 2 mảng 1 chiều được khai báo như sau:
Var M,N:array[1 20] of integer;
d:=0;
for i:=1 to 20 do if M[i] then d:=d+1;
writeln(d);
Chọn khẳng định đúng:
A Đoạn chương trình trên đếm số phần tử của M khác các phần tử của N;
B Đoạn chương trình trên đếm số cặp phần tử tương ứng khác nhau của M và N;
C Đoạn chương trình trên đếm số phần tử khác nhau của M và N;
D Tất cả đều sai
Câu 10: Xét chương trình:
Program C4B7;
Var a:array[1 100] of integer;
i,n,t: integer;
Trang 3Begin
Write(‘ N = ‘) ; readln(a[i]) ;
For i:=1 to n do readln(a[i]) ;
For i:=1 to n div 2 do
Begin
t:=a[i] ; a[i] := a[n-i+1] ; a[n-i+1] := t
End;
For i:=1 to n do write(a[i]:5)
End
Chọn khẳng định đúng:
A Chương trình trên đảo ngược vị trí các phần tử mảng a;
B Chương trình trên ghi 1 nữa số phần tử ở cuối lên các vị trí đầu tiên ;
C Chưong trình trên sắp xếp các phần tử của a theo thứ tự giảm dần;
D Tất cả đều sai