1. Trang chủ
  2. » Giáo án - Bài giảng

Goi y dap an de cuong Tin hoc 11 HKI 20102011

9 19 0

Đ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 9
Dung lượng 235,54 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

[r]

Trang 1

GỢI Ý GIẢI ĐỀ CƯƠNG ÔN TẬP KIỂM TRA HỌC KỲ I

Môn: Tin học – Khối 11 I./ PHẦN LÝ THUYẾT

Câu 1: Trình bày cấu trúc một chương trình Pascal đơn giản và giải thích các thành phần có trong cấu

trúc, cho ví dụ

Trả lời: Cấu trúc một chương trình đơn giản gồm 2 phần: Phần khai báo và phần thân

[< phần khai báo >]

<phần thân>

Trong phần khai báo là phần có thể có hoặc không, có thể có các khai báo như sau:

 Khai báo tên chương trình Cú pháp: Program <tên chương trình>; VD: program tong_day_so;

 Khai báo thư viện Cú pháp: Uses <danh sách thư viện>; VD: uses crt;

 Khai báo hằng Cú pháp: Const <tên hằng> = < giá trị hằng>; VD: const N=100;

 Khai báo biến Cú pháp: Var <danh sách biến>: <kiểu dữ liệu>; VD: Var a,b,c, x1,x2: real;

 Khai báo chương trình con

Phần thân chương trình là phần bắt buộc phải có, có cấu trúc như sau:

Begin

< Các câu lệnh > ;

End

hằng có đặt tên và biến ?

Trả lời: Ta xây dựng các ngôn ngữ lập trình bậc cao vì:

 Gần với ngôn ngữ tự nhiên, thuận tiện đông đảo cho người lập trình

 Không phụ thuộc vào phần cứng máy tính

 Dễ học, dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp

 Cho phép làm việc với nhiều kiểu dữ liệu, cách tổ chức dữ liệu đa dạng, thuận tiện cho việc mô tả thuật toán

Khai báo biến nhằm các mục đích sau

 Xác định kiểu cho biến để trình dịch biết cách tổ chức ô nhớ chứa giá trị của biến

 Đưa tên biến vào danh sách các đối tượng được chương trình quản lí

 Trình dịch biết cách truy cập giá trị của biến và áp dụng thao tác thích hợp cho biến

Sự khác nhau giữa hằng và biến có đặt tên

 Ta xét sự khác nhau về mặt lưu trữ giá trị hằng và biến trong RAM

 Hằng: Giá trị của hằng trong ô nhớ có đặt tên là không đổi

 Biến: Giá trị của biến trong ô nhớ có đặt tên thì có thể thay đổi tại từng thời điểm trong suốt quá

trình thực hiện chương trình

Trang 2

Câu 3: Trình bày các khái niệm Biến và Hằng So sánh sự khác nhau giữa Biến và Hằng

Trả lời:

 Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình

 Hằng số là đại lượng có gia trị không thay đổi trong suốt quá trình thực hiện chương trình

Sự khác nhau giữa Biến và Hằng: Hằng số có giá trị không thay đổi trong suốt quá trình thực hiện

chương trình Còn Biến số sẽ nhận giá trị trong thân chương trình và giá trị của nó có thể thay đổi trong

suốt quá trình thực hiện chương trình Ngoài ra còn sự khác nhau ở cú pháp khai báo giữa biến và hằng

Câu 4: Trình bày khái các khái niệm sau:

a.) Tên dành riêng là gì? Cho ví dụ minh họa

b.) Tên chuẩn là gì? Cho ví dụ minh họa

c.) Tên do người lập trình tự đặt? Cho ví dụ minh họa

Trả lời:

a.) Tên dành riêng: Một số tên được ngôn ngữ lập trình dùng với ý nghĩa riêng xác định, người lập trình

không được sử dụng với ý nghĩa khác được gọi là tên dành riêng hay từ khóa VD: Program, uses, type,…

b.) Tên chuẩn: Một số tên được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào đó Những tên này

được gọi là tên chuẩn Tuy nhiên người lập trình có thể khai báo và dùng chúng với ý nghĩa và mục địch

khác VD: Byte, Real, Integer,…

c.) Tên do người lập trình tự đặt: Là các tên do người lập trình đặt được dùng với ý nghĩa riêng, xác

định bằng cách khai báo trước khi sử dụng Các tên này không được trùng với tên dành riêng VD: Delta,

so,…

Câu 5: Trình bày cú pháp khai báo biến trong Pascal? Giải thích các thành phần trong cú pháp đó? Cho ví

dụ? Thực hiện khai báo biến i, j thuộc kiểu nguyên, m, n thuộc kiểu thực và g thuộc kiểu kí tự

Trả lời:

Cú pháp: Var <danh sách biến> : <kiểu dữ liệu> ;

Thực hiện khai báo: Var i, j : byte ; m, n : real ; g : char ;

Câu 6: Trong Pascal câu lệnh gán có dạng như thế nào? Hãy nêu chức năng của câu lệnh gán

Trả lời: Câu lệnh gán có dạng: <Tên biến> := <Biểu thức, giá trị>;

Chức năng của câu lệnh gán là đặt cho biến có tên ở vế trái dấu “:=” giá trị mới bằng giá trị của biểu thức hoặc 1 giá trị ở vế phải (Chú ý giá trị của biến phải cùng kiểu với giá trị biểu thức bên phải)

Câu 7: Trình bày thủ tục nhập dữ liệu vào từ bàn phím và thủ tục đưa dữ liệu ra màn hình Cho ví dụ

minh họa ở 2 thủ tục trên

Trả lời: Thủ tục nhập dữ liệu vào từ bàn phím: Read / Readln(<Danh sách biến vào>);

VD: Read / Readln(a,b,c);

Thủ tục đưa dữ liệu ra màn hình: Write / Writeln (<danh sách kết quả ra>);

Trang 3

Câu 8: Hãy viết biểu thức toán học dưới đây trong Pascal:

sin

Trả lời: (x*x + y*y)*sqrt(x+a*cos(x))/(abs(x) + sin(x))

Câu 9: Trình bày cú pháp, trình bày các thành phần , vẽ sơ đồ khối và quá trình thực hiện (ý nghĩa thực

hiện) của câu lệnh rẽ nhánh dạng thiếu trong Pascal ?

Trả lời:

 Cú pháp: IF < điều kiện> THEN < Câu lệnh 1> ELSE < Câu lệnh 2> ;

 Các thành phần trong cú pháp:

 IF , THEN: Là các từ khóa

 < Điều kiện >: Là biểu thức có kiểu Logic

 < Câu lệnh 1 >: Là câu lệnh đơn hay ghép của Turbo Pascal

 Sơ đồ khối:

Đ

Quá trình thực hiện lệnh:

 Tính và kiểm tra điều kiện

 Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua

Câu 10: Trình bày cú pháp, trình bày các thành phần, vẽ sơ đồ khối và quá trình thực hiện (ý nghĩa thực

hiện) của câu lệnh rẽ nhánh dạng đủ trong Pascal ?

Trả lời: Cú pháp: IF < điều kiện> THEN < Câu lệnh 1> ELSE < Câu lệnh 2> ;

 Các thành phần trong cú pháp:

 IF , THEN , ELSE: Là các từ khóa

 < Điều kiện >: Là biểu thức có kiểu Logic

 < Câu lệnh 1, Câu lệnh 2 >: Là câu lệnh đơn hay ghép của Turbo Pascal

 Ý nghĩa thực hiện lệnh: Vào lệnh kiểm tra điều kiện Nếu điều kiện đúng thì thực hiện câu lệnh

1 (sau từ khóa THEN), ngược lại sẽ thực hiện câu lệnh 2 (sau từ khóa ELSE)

 Sơ đồ khối:

S

Điều kiện

Đ

Câu lệnh

Đ

S

Điều kiện

Trang 4

Câu 11: Hãy cho biết sự giống nhau và khác nhau của hai câu lệnh If – then

Trả lời:

Giống nhau:

 Đều là cấu trúc lệnh rẽ nhánh

 Dựa vào đk để lựa chọn và thực hiện thao tác thích hợp

Khác nhau:

 Dạng thiếu: Nếu đk không đúng thì thoát khỏi cấu trúc rẽ nhánh và thực hiện câu lệnh tiếp theo

của chương trình

 Dạng đủ: Nếu đk không đúng thì thực hiện câu-lệnh-2, thoát khỏi cấu trúc rẽ nhánh và thực hiện câu lệnh tiếp theo của chương trình

Câu 12: Câu lệnh ghép là gì ? Tại sao phải có câu lệnh ghép?

Trả lời: Câu lệnh ghép là câu lệnh được hợp thành từ nhiều câu lệnh thành phần (đơn hoặc ghép), nhằm

thực hiện thao tác gồm nhiều thao tác thành phần Mỗi thao tác thành phần tương ứng với một câu lệnh

đơn hoặc câu lệnh ghép khác

Tại sao phải có câu lệnh ghép: Về mặt ngôn ngữ lập trình câu lệnh ghép là một trong các yếu tố cần

thiết để xây dựng chương trình có cấu trúc

Câu 13: Viết câu lệnh rẽ nhánh để tính biểu thức sau:

X 2 + Y 2 Nếu X2 + Y2 ≤ 1

Z = X + Y Nếu X2 + Y2 > 1 và Y ≥ X

0.5 Nếu X2 + Y2 > 1 và Y < X

Trả lời:

If ( Sqr ( x ) + Sqr ( Y ) ) ≤ 1 then Z := Sqr ( X ) + Sqr ( X )

Else If Y ≥ X then Z := X + Y

Else Z := 0.5 ;

Câu 14: Trình bày cú pháp, quá trình thực hiện của câu lệnh lặp dạng tiến

Trả lời:

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

Quá trình thực hiện: Câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị liên

tiếp tăng từ giá trị đầu giá trị cuối

Trang 5

II./ PHẦN LẬP TRÌNH

Bài 1: Viết chương trình tính và đưa ra màn hình diện tích của hình chữ nhật Với chiều dài và chiều rộng được nhập vào từ bàn phím

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

Cd, Cr, Dt (Chiều dài, Chiều rộng, Diện tích  Kiểu dữ liệu ?)

 Nhập dữ liệu cho chương trình (theo Input): cd, cr

 Tính diện tích HCN theo công thức đã biết

 Hiển thị diện tích HCN vừa tính được

Bài 2: Viết chương trình tính tổng của hai số a và b

Bài 2 tương tự như bài 1, khác ở chổ tính tổng 2 số vừa nhập

Bài 3: Lập trình nhập hai số nguyên k, m khác nhau từ bàn phím

a Tìm giá trị lớn nhất (max) trong hai số k, m

b Giải và biện luận phương trình kx+m=0

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

K, M, Max  Kiểu dữ liệu?

 Nhập dữ liệu cho chương trình (theo Input): k, m

 Tìm giá trị lớn nhất của 2 số k và m

 Bằng cách so sánh (Câu lệnh nào thực hiện việc này ?) k và m và hiển thị số lớn trong 2 số vừa nhập

 Giải và biện luận phương trình bậc nhất dạng kx + m = 0

 Xét các trường hợp sau :

 Nếu k <> 0 thì phương trình luôn có nghiệm là – m / k

 Ngược lại, xét m

 Nếu m < > 0 thì phương trình vô nghiệm

 Ngược lại, thì phương trình có vô số nghiệm

Bài 4: Lập trình nhập vào ba số nguyên k, m, n khác nhau từ bàn phím

a In ra màn hình số nhỏ nhất trong ba số đó

b Kiểm tra tổng ba số k, m, n có chia hết cho 2 hay không

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

K, M, N, Min  Kiểu dữ liệu?

Trang 6

 Nhập dữ liệu cho chương trình (theo Input): k, m, n

 Tìm giá trị nhỏ nhất của 3 số k, m và n

 Gán giá trị Min = k

 So sánh Min > m ?  Nếu đúng thì Gán Min = m

 So sánh Min > n ?  Nếu đúng thì Gán Min = n

 Hiển thị giá trị nhỏ nhất của 3 số k, m, n

 Xét tổng (k + m + n ) có chia hết cho 2 (sử dụng phép toán nào để xét?) hay không?

 Hiển thị kết quả sau khi xét tổng của 3 số

Bài 5: Viết chương trình xác định nghiệm của phương trình bậc nhất có dạng: ax + b = 0 Với a, b là các

hệ số được nhập từ bàn phím

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

a, b, x  Kiểu dữ liệu?

 Nhập dữ liệu cho chương trình (theo Input): a, b

 Giải và biện luận phương trình bậc nhất dạng ax + b = 0

 Xét các trường hợp sau :

 Nếu a <> 0 thì phương trình luôn có nghiệm là – b / a

 Ngược lại, xét b

 Nếu b < > 0 thì phương trình vô nghiệm

 Ngược lại, thì phương trình có vô số nghiệm

Bài 6: Viết chương trình tìm nghiệm thực của phương trình bậc hai ax2 + bx +c =0 Với a 0 

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

a, b, c, Delta, x1, x2  Kiểu dữ liệu?

 Nhập dữ liệu cho chương trình (theo Input): a, b, c

 Giải và biện luận phương trình bậc nhất dạng ax2 + bx + c = 0

 Xét các trường hợp sau :

 Nếu a = 0 thì thông báo phương trình không phải là phương trình bậc 2  Kết thúc

 Ngược lại,

 Tính Delta = (- b)2 – 4ac

 Xét và biện luận theo Delta

 Nếu Delta < 0 thì Phương trình có vô nghiệm

 Ngược lại, Phương trình có nghiệm x1:= (-b-sqrt(D))/(2*a); x2:= -b/a – x1;

Trang 7

Bài 7: Viết chương trình tìm số lớn nhất trong 2 số a và b, Với a và b là 2 số nguyên dương được nhập từ

bàn phím

Bài 7 tương tự như câu a Bài 3

Bài 8: Viết chương trình thực hiện việc nhập từ bàn phím hai số nguyên dương M và N (M < N), tính và

đưa ra màn hình tổng các số chẵn trong phạm vi từ M đến N

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

m, n, tong, biến i sử dụng câu lệnh for  Kiểu dữ liệu?

 Nhập dữ liệu cho chương trình (theo Input): m, n

 Gán tổng = 0

 Cho biến i chạy từ m đến n (cần sử dụng câu lệnh gì để thực hiện?)

 Xét i có là số chẵn hay không?  Nếu đúng thì tiến hành cộng dồn vào tổng  Xác định biểu thức S ?

 Hiển thị kết quả chương trình

Bài 9: Viết chương trình tính tổng S= 1 + 2 + 3 + … + N Với N là số nguyên dương được nhập từ bàn

phím

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

n, S, biến i sử dụng câu lệnh for  Kiểu dữ liệu?

 Nhập dữ liệu cho chương trình (theo Input): n

 Gán S = 0

 Cho biến i chạy từ 1 đến n (cần sử dụng câu lệnh gì để thực hiện?)

 Tiến hành cộng dồn vào tổng S  Xác định biểu thức S ?

 Hiển thị kết quả chương trình

Bài 10: Viết chương trình tính tổng S= 20

1

1

n

n n

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

n, S  Kiểu dữ liệu?

 Gán S = 0

 Cho biến n chạy từ 1 đến 20 (cần sử dụng câu lệnh gì để thực hiện?)

 Tiến hành cộng dồn vào tổng S  Xác định biểu thức S ?

 Hiển thị kết quả chương trình

Trang 8

Bài 11: Viết chương trình tính giá trị biểu thức S = N!, với n là số nguyên dương được nhập từ bàn phím

( 5! = 1 * 2 * 3 * 4 * 5 = 120  N! = 1 * 2 * 3 * …* N) Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

n, S, i  Kiểu dữ liệu?

 Gán S = 1  Cần phải hiểu tại sao S = 1 mà không = 0 ?

 Cho biến i chạy từ 1 đến n (cần sử dụng câu lệnh gì để thực hiện?)

 Tiến hành tính tích các số từ 1 đến n  Xác định biểu thức S ?

 Hiển thị kết quả chương trình

Bài 12: Viết chương trình nhập từ bàn phím 1 số nguyên dương, Hãy cho biết số vừa nhập có phải là số nguyên tố hay không?

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

Thực chất bài toán này là tính số ước số của số vừa nhập vào

 Nếu số <= 1  Không phải là số nguyên tố

 Ngược lại, tìm số ước số của số vừa nhập

 Nếu số ước số nhiều hơn 1  Số vừa nhập không phải là số nguyên tố

 Ngược lại,  Số vừa nhập là số nguyên tố

 Xác định input, output bài toán: (số lượng biến tối thiểu cần khai báo cho chương trình)

So, i, Sous  Kiểu dữ liệu?

 Nhập So từ bàn phím

 Xét So < = 1

 Nếu đúng,  Không phải là số nguyên tố

 Ngược lại, Tính số ước số của số vừa nhập:

 Gán Sous = 0

 Cho i chạy từ 2 đến n -1

 Xét So chia hết cho i  Nếu đúng, tăng Sous lên 1 đơn vị

 Xét Sous,

 Nếu Sous > = 1  Số vừa nhập không phải là số nguyên tố

 Ngược lại, Số vừa nhập là số nguyên tố

Bài 13: Viết chương trình tìm số Amstrong có 3 chữ số Sao cho giá trị của số đó bằng tổng lập phương của các chữ số

Gợi ý và hướng dẫn thực hiện bằng ngôn ngữ giả (Phần chuyển sang ngôn ngữ Pascal các em tự hoàn thành)

Trang 9

a, b, c  Kiểu dữ liệu?

 Xác định biến a, b, c có thể nhận giá trị từ đâu đến đâu?

 a có thể nhận giá trị từ 1  9; ?

 b, c có thể nhận giá trị từ 0  9; ?

 Áp dụng 3 câu lệnh For tiến cho 3 biến a, b, c

 Xét điều kiện bài toán: Trong đó

 Giá trị số abc = 100*a + 10*b + c

 Tổng lập phương của 3 chữ số: a3 + b3 + c3 có  a*a*a + b*b*b + c*c*c

100*a + 10*b + c = a*a*a + b*b*b + c*c*c

 Nếu đúng, hiển thị kết quả chương trình

Chúc các em thành công trong kỳ thi học kỳ 1

- Hết -

Ngày đăng: 04/03/2021, 09:55

🧩 Sản phẩm bạn có thể quan tâm

w