1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương ôn tập kiểm tra học kỳ I môn tin học lớp 11

7 9,1K 136
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 216 KB

Nội dung

Đề cương ôn tập kiểm tra học kỳ I môn tin học lớp 11

Trang 1

Trường THPT Trần Khai Nguyên – Bộ Môn Tin Học - Khối 11

Đề Cương Ôn Tập Kiểm Tra Học Kỳ I Năm Học 2011 – 2012

(Lưu ý: Phần trắc nghiệm các em kèm theo phần trắc nghiệm đã ôn thi giữa HKI)

1 Cấu trúc rẽ nhánh

Câu 1: Câu lệnh if nào sau đây đúng:

if (a= 5) then a:= d+1 else a:= d+2; if (a= 5) then a:= d+1 else a:= d+2

if (a= 5) then a:= d+1; else a:= d+2; if (a= 5) then a= d+1 else a= d+2;

Câu 2: Cho đoạn chương trình sau:

Var S, i : Integer;

Begin

i := 1; S:= 40;

if ( i > 5 ) then S:= 5 * 3 + ( 5 - i ) * 2 else

if ( i > 2 ) then S:= 5 * i else S:= 0;

End

Sau khi chạy chương trình giá trị của S là:

Câu 3: Câu lệnh if nào sau đây đúng cú pháp:

if <điều kiện> then < câu lệnh> if <điều kiện>; then < câu lệnh>;

if <điều kiện> ;then < câu lệnh> if <điều kiện> then < câu lệnh>;

Câu 4: Cho N là một biến kiểu nguyên, chọn câu đúng cú pháp:

If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 ');

If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 ');

If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 ');

If N < 10 then N := 10 else N > 20 then write (' N > 20 ');

Câu 5: Lệnh nào sau đây in ra màn hình số lớn hơn trong 2 số A, B

If A < B then writeln(A) else writeln(B); If A > B then write(B) else write(A);

If A > B then Readln(A) else Readln(B); If A > B then write(A) else write(B);

Câu 6: Trong ngôn ngữ lập trình Pascal về mặt cú pháp cách viết câu lệnh ghép nào sau đây đúng:

Begin

A:= 1;

B:= 5;

End

Begin:

A:= 1;

B:= 5;

End;

Begin;

A:= 1;

B;= 5;

End

Begin A:= 1;

B:= 5;

End;

Câu 7: Câu lệnh nào sau đây đúng cú pháp:

if <điều kiện> then <câu lệnh 1> else <câu lệnh 2> if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

if <điều kiện>; then <câu lệnh 1> else <câu lệnh 2>; if <điều kiện> then <câu lệnh 1>; else <câu lệnh 2>;

Câu 8: Cho i là biến nguyên Sau khi thực hiện các lệnh:

i:= 2;

if i = 1 then i:= i+1 else i:= i+2;

Giá trị cuối cùng của i là:

2 Cấu trúc lặp

Câu 9: Cú pháp nào sau đây đúng cho vòng lặp For do dạng tiến:

a For <Biến đếm>:=<Giá trị đầu> to <Giá trị cuối> do <Câu lệnh>;

Trang 2

b For <Biến đếm>=<Giá trị đầu> to <Giá trị cuối> do <Câu lệnh>;

c For <Biến đếm>:=<Giá trị đầu> do <Giá trị cuối> to <Câu lệnh>;

d For <Biến đếm>=<Giá trị đầu> do <Giá trị cuối> to <Câu lệnh>;

Câu 10: Cú pháp nào sau đây đúng cho vòng lặp For do dạng lùi:

a For <Biến đếm>:=<Giá trị cuôi> to <Giá trị đầu> do <Câu lệnh>;

b For <Biến đếm>:=<Giá trị cuối> downto <Giá trị đầu> do <Câu lệnh>;

c For <Biến đếm>=<Giá trị cuối> downto <Giá trị đầu> do <Câu lệnh>;

d For <Biến đếm>:=<Giá trị đầu> downto <Giá trị cuối> do <Câu lệnh>;

Câu 11: Cú pháp nào sau đây đúng cho câu lệnh While do

a While <điều kiện> : do <câu lệnh>; b While <điều kiện>:=<câu lệnh>;

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: Cho câu lệnh For i:= 5 to 10 do write(‘Chao ban’); Câu ‘Chao ban’ xuất ra mấy lần:

a 9 b 5 c 6 d 10

Câu 13: Cho đoạn lệnh

For i:=1 to 10 do k:=i; Write(k:4); Hỏi giá trị xuất ra màn hình là:

a 1 b 10 c 1 2 3 4 5 6 7 8 9 10 d.1 10

Câu 14 Cho đoạn lệnh

For i :=1 to 10 do Begin k:=i; write(k:4) end; Hỏi kết quả xuất ra màn hình là:

a 1 b 10 c 1 2 3 4 5 6 7 8 9 10 d.1 10

Câu 15 Cho đoạn lệnh

For i:= 10 downto 1 do if (i mod 3 =0) then write(i:4); Kết quả xuất ra màn hình là:

a 10 1 b 10 8 6 4 2 c 9 6 3 d 3 6 9

Câu 16: Cho đoạn lệnh

K:=10; While (K>5) do K:=K-1; Write(K); Kết quả xuất ra màn hình là:

a 10 9 8 7 6 5 b 10 5 c 5 d 4

Câu 17: Cho đoạn lệnh

K:=10; While (K>5) do K:=K-2; Write(K); Kết quả xuất ra màn hình là:

a 10 9 8 7 6 5 b 10 5 c 5 d 4

3 Mảng Một chiều

Câu 18: Phát biểu nào dưới đây về mảng là phù hợp?

Độ dài tối đa của mảng là 255 Là một tập hợp các số nguyên

Dãy hữu hạn các phần tử cùng kiểu Mảng không thể chứa kí tự

Câu 19: Phát biểu nào dưới đây về mảng là không chính xác

Chỉ số mảng không nhất thiết bắt đầu từ 1 Có thể xây dựng mảng nhiều chiều Mảng có thể chứa các kí tự Độ dài tối đa của mảng là 255

Câu 20: Trong Pascal, để khai báo trực tiếp mảng một chiều ta thực hiện:

Var <tên biến mảng> : array[<chỉ số hàng>] of <kiểu phần tử>;

Var <tên biến mảng> : array[<kiểu chỉ số>] of <kiểu phần tử>;

Var <tên biến mảng> : array[<kiểu chỉ số>] of <số lượng phần tử>;

Var <tên kiểu mảng> : array[<kiểu chỉ số>] of <kiểu phần tử>;

Câu 21: Trong Pascal, để tham chiếu đến một phần tử của mảng ta dùng cặp dấu ngoặc nào?

( và ) [ và ] { và } < và >

Câu 22: Trong Pascal, để khai báo kiểu gián tiếp mảng một chiều ta thực hiện:

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>;

type <tên kiểu mảng> = string[<kiểu chỉ số>] of <kiểu phần tử>;

var <tên biến mảng>:<tên kiểu mảng>;

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>;

type <tên kiểu mảng> = array[<kiểu chỉ số>] of <kiểu mảng khác>;

var <tên biến mảng>:<tên kiểu mảng>;

Câu 23: Cú pháp tham chiếu đến một phần tử của mảng là:

Trang 3

<tên kiểu mảng>[<chỉ số>] <tên biến mảng>[<số lượng phần tử>]

<tên biến mảng>[<chỉ số>] <tên kiểu mảng>[<số lượng phần tử>]

Câu 24: Để khai báo mảng tên A gồm 150 phần tử, các phần tử kiểu nguyên có giá trị không vượt quá 500, ta khai

báo:

Var A : Array[1…150] Of Byte; Var A : Array[1 150] Of Byte;

Var A : Array[1…150] Of Integer; Var A : Array[1 150] Of Integer;

Câu 25: Để tham chiếu đến phần tử thứ 21 của mảng B, ta viết:

Cho khai báo sau: Khai báo mảng A gồm 100 phần tử, các phần tử có kiểu nguyên

Type ArrInt = Array[1 100] Of Integer;

Var A : ArrInt;

(Ghi chú: Khai báo này sử dụng trong câu 26 đến câu 35)

Câu 26: Chọn câu lệnh: Xuất ra màn hình giá trị của phần tử thứ i của mảng A

Câu 27: Chọn câu lệnh: Nhập từ bàn phím giá trị cho phần tử thứ i của mảng A

Câu 28: Chọn câu lệnh: Gán giá trị 35 cho phần tử thứ i của mảng A

Readln(A[i]) := 35; A[i] := 35; A(i) := 35; A[35] := i;

Câu 29: Dưới đây là các lệnh gán, hãy chọn lệnh gán hợp lệ?

Câu 30: Dưới đây là các lệnh gán, hãy chọn lệnh gán hợp lệ?

A[1] := 14 mod 5; A[2] := 14 div 5; A[3] := 14 - 5; Cả A, B và C đều hợp lệ

Câu 31: Cho đoạn chương trình:

T:=0;

For i:=1 To 10 Do

If A[i] mod 2 <> 0 Then T:=T+A[i];

Đoạn chương trình trên tính gì?

Tính tổng các phần tử có giá trị lẻ của mảng A Tính tổng các phần tử có giá trị chẵn của mảng A

Tính tổng các phần tử của mảng Tính tổng các chỉ số của mảng A

Câu 32: Cho đoạn chương trình:

Max:=A[1];

For i:=2 To 6 Do

If A[i]>Max Then

Begin

End;

Giả sử mảng A nhận các giá trị: 15; 7; 21; -56; 27; 19 thì giá trị của Max và csMax sau khi thực hiện đoạn chương trình trên là:

Max=15; csMax=1 Max=21; csMax=3 Max=-56; csMax=4 Max=27; csMax=5

Câu 33: Trong Pascal, cho đoạn chương trình sau:

T:=0;

For i:=1 To 10 Do

If A[i] mod k = 0 Then T:=T+A[i];

Em hãy cho biết ý nghĩa của đoạn chương trình trên?

Trang 4

tính tổng số các phẩn tử trong mảng A có giá trị chia hết cho số k.

tính tổng số các phẩn tử trong mảng A

tính tổng số các phẩn tử trong mảng A có giá trị bằng số k

tính tích số các phẩn tử trong mảng A mà có giá trị chia hết cho số k

Câu 34: Cho các lệnh gán sau:

A[1]:=4; A[2]:=8; A[3]:=A[1] + A[2]; A[4]:=A[2] + A[3];

Sau khi thực hiện các lệnh gán trên, giá trị A[4] là:

Câu 35: Cho đoạn chương trình sau:

A[1]:=14; A[2]:=12; A[3]:=4; A[4]:=12; A[5]:=18; A[6]:=22; A[7]:=19;

k:=A[1];

For i:=2 To 7 Do If A[i]<k Then k:=A[i];

Sau khi thực hiện xong đoạn lệnh trên thì giá trị của k là:

II Tự luận

Câu 1: Viết chương trình nhập vào mảng A có n phần tử Thực hiện các yêu cầu sau đây:

a Đếm số phần tử chẵn

b Đếm số phần tử lẻ

c Đếm số phần tử dương

d Đếm số phần tử âm

e Đếm số phần tử bội 3

Câu 2: Viết chương trình nhập vào mảng A có n phần tử Thực hiện các yêu cầu sau đây:

a Tính tổng các phần tử của mảng

b Tính tổng các phần tử chẵn

c Tính tổng các phần tử lẻ

d Tính tổng các phần tử dương

e Tính tống các phần tử bội 5

Câu 3: Viết chương trình nhập vào mảng A có n phần tử Thực hiện các yêu cầu sau đây:

a Tìm phần tử lớn nhất ( Max) của A

b Tìm phần tử nhỏ nhất (Min) của A

c Tìm phần tử Chẵn lớn nhất

d Tìm phần tử lẻ nhỏ nhất

e Tìm phần tử âm nhỏ nhất

Câu 4: Viết chương trình nhập vào mảng A có n phần tử, nhập vào một số nguyên k, tìm các vị trí mà k xuất hiện trong A Nếu không có thì báo là không tìm thấy.

Câu 5: Viết Các cú pháp sau và nêu ý nghĩa các thành phần trong từng cú pháp, mỗi cú pháp cho một ví dụ mình họa.

a Cú pháp For do dạng tiến và dạng lùi

b Cú Pháp While do

c Cú pháp khai báo mảng một chiều trực tiếp và gián tiếp

Hướng dẫn:

Phần 1: Trắc nghiệm (Lưu ý: Phần trắc nghiệm các em kèm theo phần trắc nghiệm đã ôn thi giữa HKI)

Trang 5

Phần 2 Tự Luận

Câu 1: Dạng này là đếm số phần tử có cùng tính chất Các em cho vòng lặp duyệt từ đầu đến cuối mảng Mỗi khi gặp

một phần tử nào có tính chất đó thì tăng giá trị của biến đếm lên một

Cụ thể: Câu a: Đếm số phần tử chẵn

*Xác định bài toán:

+ Input: n, mảng A (Số Nguyên)

+ Output: Dem (số các phần tử chẵn)

*Thuật Toán:

B1: Nhập n

B2: Cho i chạy từ 1 đến n làm: Nhập A[i]

B3: Dem 0 {ban đầu khởi gán giá trị đếm là 0}

B4: Cho i chạy từ 1 đến n làm

nếu (A[i] chia hết cho 2) thì DemDem+1

B5: Xuất Dem

*Chương trình

Các bước khác các em làm bình thường Tại bước 4 viết như sau:

For i:= 1 to n do

If (A[i] mod 2 = 0) then Dem:=Dem+1;

Các câu còn lại tương tự, chỉ thay đổi điều kiện ở bước 4 Các bước khác giữ nguyên.

Câu 2: Dạng tính tổng này các em cũng cho vòng lặp duyệt từ đầu đến cuối mảng Khi gặp một phần tử nó thỏa mãn

yêu cầu như đề bài thì ta cộng nó vô cho S

Cụ thể: câu a: Tính tổng các phần tử của A

*Xác định bài toán:

+Input: n, mảng A (Số Nguyên)

+Output: S (Tổng các phần tử của A)

*Thuật toán:

B1 Nhập n

B2: Cho I chạy từ 1 đến n làm: Nhập A[i]

B3: S 0 {Khởi gán cho S giá trị đầu là 0}

B4: Cho I chạy từ 1 đến n làm:

SS+A[i]

B5: Xuất S

*Chương trình:

Các bước khác làm bình thường, Tại B4 viết là:

For i:=1 to n do S:=S+A[i];

Câu b Tính tổng các phần từ chẵn:

*Xác định bài toán:

+Input: n, mảng A (Số Nguyên)

+Output: S (Tổng các phần tử của A)

*Thuật Toán:

B1 Nhập n

B2: Cho I chạy từ 1 đến n làm: Nhập A[i]

B3: S 0 {Khởi gán cho S giá trị đầu là 0}

B4: Cho I chạy từ 1 đến n làm:

Nếu (A[i] chia hết cho 2 ) thì SS+A[i]

B5: Xuất S

*Chương trình:

Các bước khác làm bình thường, tại B4 viết

For i:=1 to n do If (A[i] mod 2 = 0) then S:=S+A[i];

Các câu còn lại làm tương tự câu b Chỉ cần đổi điều kiện ở bước 4.

Trang 6

Câu 3: d Dạng Tìm Max Các em cho phần tử đầu tiên là Max, rồi duyệt từ phần tử thứ 2 trở đi, nếu gặp phần tử nào

lớn hơn Max thì ta gán Max là phần tử đó Khi kết thúc lặp ta xuất ra max

Cụ thể:

*Xác định bài toán:

+Input: n, mảng A (Số Nguyên)

+Output: Max (Số Nguyên)

*Thuật Toán:

B1: Nhập n

B2: Cho i chạy từ 1 đến n làm: Nhập A[i]

B3: MaxA[1] {Cho phần tử đầu tiên là Max}

B4: Cho i chạy từ 2 đến n làm:

Nếu (A[i] > Max) thì Max A[i]

B5: Xuất Max

*Chương trình: (Tự viết)

Tìm Min thì ngược lại.

Các em tự suy nghĩ cho các dạng khác

Câu 4: Tìm kiếm

Chúng ta có nhiều phương pháp tìm kiếm một giá trị trong một dãy số Ở đây thầy cô sẽ hướng dẫn các em cách dể nhất là tìm kiềm tuần tự Với cách này, các em chỉ việc duyệt từ đầu đến cuối mảng, phần tử nào bằng với giá trị ta muốn tìm thì ta xuất vị trí phần tử đó ra (xuất chỉ số) đồng thời đánh dấu nó lại Cách đánh dấu đơn giản là ban đầu các

em cho một biến cờ có giá trị False.Ttrong quá trình duyệt, nếu tìm được được phần tử bằng k thì ta bật biến cờ lên True Đến cuối chương trình ta kiểm tra xem cờ là true hay false Nếu False thì thông báo không tìm thấy

Cụ thể:

*Xác định bài toán:

+Input: n, mảng A, k (số nguyên)

+Output: Vị trí k trong A hoặc thông báo ‘không tìm thấy’

*Thuật Toán:

B1: Nhập n

B2: Cho I chạy từ 1 đến n làm:

Nhập A[i]

B3: Nhập k

B4: flag  False

B5: Cho I chạy từ 1 đến n làm:

Nếu (A[i] = k) thì

Bắt đầu

Xuất i

Kết thúc B6: Nếu (flag = false) thì xuất “Không tìm thấy”

*Chương trình:

Program TimKiem;

Uses Crt;

Var A :array[1 100] of Integer;

n, i , k: Integer;

flag: Boolean;

Begin

Clrscr;

Write(‘Hay nhap so phan tu:’); Readln(n);

Write(‘Nhap mang A:’);

For i:= 1 to n do

Begin

Write(‘Hay nhap vao phan tu thu’,i, ‘:’);

Readln(A[i]);

End;

Write(‘Hay nhap vao so k:’);

Readln(k);

Flag:=False;

For i:= 1 to n do if (A[i] = k) then Begin

Write(k, ‘ xuat hien trong A tai vi tri’, i); Flag:= true;

End;

If( flag = false) then write(‘Khong tim thay k trong A’); Readln;

End

Ngày đăng: 24/01/2013, 16:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w