Trường THPT Đào Sơn Tây

Đề cương Tin học 11

LÝ THUYẾT TIN HỌC 11

BÀI 1:

1. Chương trình dịch là chương trình có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính. Chương trình dịch có thể tạo được chương trình đích, thông báo và phát hiện lỗi cú pháp theo ngôn ngữ lập trình.

2. Có 2 loại chương trình dịch: thông dịch và biên dịch - Thông dịch: quá trình dịch và thực hiện câu lệnh là luân phiên từng câu lệnh - Biên dịch: Duyệt, phát hiện lỗi và dịch toàn bộ chương trình nguồn, sau đó thực hiện

chương trình vừa chuyển đổi được, có thể lưu trữ để sử dụng khi cần thiết.

BÀI 2:

1. Các thành phần của ngôn ngữ lập trình: bảng chữ cái, cú pháp, ngữ nghĩa

2. Mọi đối tượng trong chương trình đều phải đặt tên: có 3 loại tên

- Tên dành riêng: được dùng với ý nghĩa riêng, không được dùng với ý nghĩa khác.

- Tên chuẩn: tên dùng với ý nghĩa nhất định, khi dùng với ý nghĩa khác thì phải khai

báo.

- Tên do người lập trình đặt: cần phải khai báo trước khi sử dụng. 3. Hằng là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình 4. Biến là đại lượng được đặt tên dùng để lưu trữ giá trị, giá trị của biến có thể thay đổi

trong quá trình thực hiện chương trình. BÀI 3: Cấu trúc chương trình Pascal: 2 phần

Phần khai báo:

Program ; Uses ; Const = ; Var : ;

Khai báo tên chương trình: Khai báo thư viện: Khai báo hằng: Khai báo biến: Phần thân chương trình:

Begin {dãy lệnh}; := ; {câu lệnh gán} End.

BÀI 4: Các kiểu dữ liệu chuẩn 1. Kiểu số nguyên

- Nguyên dương: kiểu byte : 1 byte lưu trữ giá trị từ 0 đến 255 kiểu word: 2 byte lưu trữ giá trị từ 0 đến 216 -1

- Nguyên âm + dương: Kiểu integer: 2 byte lưu trữ giá trị từ -215 đến 215 -1

Kiểu longint:

Kiểu Exntended:

2. Kiểu số thực: Kiểu Real: 3. Kiểu ký tự: Kiểu char 4. Kiểu logic: Kiểu boolean

4 byte lưu trữ giá trị từ -231 đến 231 -1 6 byte lưu trữ giá trị từ 10-38 đến 1038 10 byte 1 byte lưu trữ 256 ký tự trong bảng mã ASCII 1 byte lưu trữ giá trị true hoặc false

Trang 1

Đề cương Tin học 11

Trường THPT Đào Sơn Tây BÀI 6: Các phép toán và biểu thức 1. Các phép toán số học:

- Với số thực: +, -, *, /. - Với số nguyên: chia nguyên: div, chia dư: mod, +, -, *, /

2. Các phép toán quan hệ: >, < , >=, <=, = , <>. Biểu thức quan hệ cho giá trị true hoặc false 3. Phép toán logic: not, and, or. Biếu thức logic cho giá trị logic: true hoặc false 4. Các hàm số học chuẩn: sqr(x) : bình phương; sqrt(x): căn bậc 2 của x

BÀI 7: Các thủ tục vào / thủ tục ra

1. Nhập dữ liệu vào: read / readln(); {nên sử dụng readln khi thực

hành}

2. Đưa dữ liệu ra: write/ writeln(); 3. Lệnh Writeln; dùng để xuống dòng 4. Để xuất dữ liệu là số thực:

Write(X: Độ rộng của số thực : phần thập phân);

- -

Độ rộng: Dành bao nhiêu chỗ để viết số thực Phần thập phân: muốn hiển thị mấy chữ số thập phân

VD. X=12. Lệnh Write(x); cho kết quả xuất hiện trên màn hình là 1.20000000000E+01 Write(X:6:2); kết quả sẽ là: 12.00 BÀI 8: Các phím tắt cần nhớ ghi lập trình: F2: F3: Alt + F3: Alt + X: Alt + F9: Ctrl + F9:

Lưu chương trình vào đĩa Mở chương trình đã lưu Đóng chương trình hiện hành Thoát khỏi phần mềm Pascal Biên dịch chương trình Thực hiện chương trình

BÀI 9: Cấu trúc rẽ nhánh

1. Câu lệnh rẽ nhánh đủ có dạng thiếu: If <điều kiện> then ;

2. Câu lệnh rẽ nhánh đủ có dạng đủ: If <điều kiện> then else ;

3. Câu lệnh ghép: nếu sau then có từ 2 câu lệnh thực hiện cùng điều kiện thì sử dụng câu lệnh ghép begin…end;

BÀI 10 : Cấu trúc lặp

1. Lặp với số lần biết trước bằng câu lệnh For..do Trường hợp tiến For to do < CL >; - Câu lệnh sau do được thực hiện tuần tự từ [gtđầu..gtcuối] - Sau mỗi lần lặp biết tăng lên 1.

- Biếnđếm > gtcuối vòng lặp KT

Trang 2

Trường THPT Đào Sơn Tây

Đề cương Tin học 11

2. Lặp với số lần chưa biết trước bằng câu lệnh While..do While <Điều kiện> do ;

S

Đ

Ý nghĩa: Trong khi điều kiện đúng thì thực hiện cầu lệnh và lặp lại cho đến khi điều kiện sai thì kết thúc

ĐK

Câu lệnh

TRẮC NGHIỆM ÔN TẬP

BÀI 1: KHÁI NIỆM LẬP TRÌNH, NGÔN NGỮ LẬP TRÌNH

1. 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 cú pháp C. Phát hiện được lỗi ngữ nghĩa B. Thông báo lỗi cú pháp D. Tạo được chương trình đích.

C. Hợp ngữ D. Ngôn ngữ tự nhiên

2. Chương trình dịch còn không cần thiết nữa khi viết chương trình bằng A. Ngôn ngữ máy tính B. Ngôn ngữ lập trình bậc cao 3. Người ta thường viết chương trình bằng ngôn ngữ lập trình bậc cao bởi: A. Gần với ngôn ngữ tự nhiên

C. Không phụ thuộc vào máy tính D. Cả ba đều đúng B. Ngắn gọn, dễ đọc, dễ hiểu…

BÀI 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH

1. Khi viết chương trình trong Pascal, muốn sử dụng các tên dành riêng ta phải ?

A. Không cần khai báo C. Khai báo lại nếu cần B. Khai báo 1 lần D. Không sử dụng được

2. Khi đặt tên cho một đối tượng trong Pascal có thể

A. Bắt đầu bởi các chữ số C. Bắt đầu bởi dấu sao (*) B. Bắt đầu bởi các chữ cái D. Bắt đầu bởi dấu gạch giữa hoặc cách trống

3. Đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình là :

A. Hằng B. Từ khóa C. Tên chuẩn D. Biến

4. Thành phần của nào sau đây không phải là thành phần của ngôn ngữ lập trình? D. Ngữ nghĩa A. Bảng chữ B. Chương trình dịch C. Cú pháp

5. Chọn phát biểu đúng trong các phát biểu sau?

A. Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị B. Hằng là đại lượng thay đổi theo giá trị biến C. Hằng là đại lương thay đổi theo chương trình D. Biến là đại lượng không thay đổi với mọi chương trình

6. Trong các tên dưới đây, tên nào không phải là tên dành riêng?

A. Word B. Var C. Uses D. Program

7. Phát biểu nào sau đây là sai khi đặt tên

A. Tên được bắt đầu bằng chữ cái hoặc dấu gạch dưới B. Trong tên không có dấu cách C. Không có các các kí tự ngoài các số, chữ cái, dấu gạch dưới trong tên D. Tên trùng với từ dành riêng

Trang 3

Đề cương Tin học 11

C. Tên chuẩn B. Tên do người lập trình đặt D. Tên đặc

C. Tên chuẩn B. Tên do người lập trình đặt D. Tên đặc

Trường THPT Đào Sơn Tây 8. Các từ: PROGRAM, BEGIN, END là A. Tên dành riêng biệt 9. Các từ: SQR, SQRT, REAL là A. Tên dành riêng biệt 10. “Từ khóa ” là cách gọi khác của C. Tên chuẩn A. Tên dành riêng

B. Tên do người lập trình đặt D. Tên đặc biệt

BÀI 3: CẤU TRÚC CHƯƠNG TRÌNH

1. Chọn câu khai báo đúng trong các khai báo sau:

A. const m = 5; B. const n : integer; C. var x: byte, real; D. const m =n = 2;

2. Cú pháp khai báo hằng trong pascal :

A. Const ; C. Const =; B. Const ; D. Const := ;

3. Trong cấu trúc chương trình Pascal, phần nào bắt buộc phải có? B. Phần khai báo thư viện D. Phần thân chương trình A. Phần khai báo biến C. Phần tiêu đề chương trình

4. Từ kháo USES dùng để ?

A. Khai báo thư viện C. Khai báo hằng B. Khai báo tên chương trình D. Khai báo biến

5. Chọn khai báo hằng đúng nhất? A. Const x =: 45; B. Const x : 45; C. Const x := 45;

D. Const x = 45; BÀI 4-5: MỘT SỐ KIỂU DỮ LIỆU CHUẨN - KHAI BÁO BIẾN

1. Các kiểu dữ liệu chuẩn trong Pascal gồm:

A. Kiểu nguyên, kiểu thực, kiểu logic. C. Kiểu số, kiểu logic, kiểu ký tự. B. Kiểu nguyên, kiểu thực, kiểu logic, kiểu ký tự. D. Kiểu nguyên, kiểu thực, kiểu ký tự.

2. Trong Pascal cung cấp bao nhiêu kiểu dữ liệu chuẩn ?

A. 5 B. 3 C. 6 D. 4

3. Chọn cú pháp khai báo biến đúng ?

A. Var = ; B. Var :

dữ liệu>;

C. Var =: ; D. Var :=

; 4. Khai báo dưới đây, bộ nhớ cần cấp phát bao nhiêu byte?

Var a, b : byte; c, d : integer; e, f : real ; A. 20 B. 21 C. 18 D. 19

5. Trong cùng một chương trình, mỗi biến khai báo tối đa bao nhiêu lần ? C. Không cần khai báo A. 2 lần B. 1 lần D. 3 lần

6. Kiểu số thực Real có bộ nhớ lưu trữ một giá trị là:

A. 4 byte B. 10 byte C. 2 byte D. 6 byte

7. Phát biểu nào sau đây là đúng ?

A. Kiểu dữ liệu chuẩn không phụ thuộc vào bộ nhớ trong B. Kiểu dữ liệu chuẩn cho biết các phép toán cần thiết tác động lên dữ liệu C. Kiểu dữ liệu chuẩn không cho biết được phạm vi lưu trữ dữ liệu D. Kiểu dữ liệu chuẩn phụ thuộc vào các phép toán tác động lên dữ liệu

Trang 4

Đề cương Tin học 11

Trường THPT Đào Sơn Tây 8. Kiểu dữ liệu nào sau đây không thuộc kiểu dữ liệu chuẩn ?

A. Bit B. Integer C. Real D. Char

BÀI 6: PHÉP TOÁN, BIỂU THỨC VÀ CÂU LỆNH GÁN

1. Lệnh gán được thực hiện như thế nào?

A. Tính giá trị của biểu thức ở vế trái rồi gán giá trị vừa tính được cho biến ở vế phải. B. Tính giá trị của biểu thức ở vế phải rồi gán giá trị vừa tính được cho biến ở vế trái. C. Tính giá trị của biến ở vế phải rồi gán giá trị vừa tính được cho biểu thức ở vế trái. D. Tính giá trị của biểu thức ở vế phải rồi gán giá trị vừa tính được cho hằng ở vế trái.

2. Trong Pascal lệnh gán có dạng? A. =: ; C. : ; B. = ; D. :=;

3. Tính giá trị của biểu thức ; S := (12 mod 5) + (7 div 2) ;

A. 5 B. 6 C. 1 D. 2

4. Biểu thức nào sau đây đúng khi cả A và B đều đúng

A. not (A) or not (B) B. not (A and B) C. A and not( B) D. A and B

5. Biểu thức x := (sqr(3) div 4) ; kết quả là x = ?

A. 2 B. 1 C. 3 D. 4

6. Trong Pascal phép toán div, mod thuộc phép toán nào sau đây A. Phép toán Logic B. Phép toán số học với số nguyên C. Phép toán quan hệ D. Phép toán số học với số thực

BÀI 7 : CÁC THỦ TỤC VÀO RA ĐƠN GIẢN

1. Câu lệnh writeln ; có tác dụng ?

C. Xuống dòng D. Hiện một xâu ký tự

A. Xóa màn hình B. Dừng chương trình 2. Để nhập giá trị biến a từ bàn phím, ta viết :

A. Write(Nhap a = ) ; Readln(a); C. Read( ‘Nhap a = ’); Writeln(a) ; B. Write(‘ Nhap a = ’ ); Readln(a) ; D. Writeln(‘Nhap a = ‘ , a);

D. Read(x); Read(y);

3. Để nhập giá trị cho 2 biến x,y lệnh nào sau đây là sai ? A. Readln(x,y,); B. Readln(x,y); C. Readln(x);Readln(y); 4. Thủ tục Writeln( < danh sách kết quả ra >); dùng để ?

A. Nhập dữ liệu từ bàn phím, con nháy xuống dòng B. Đưa dữ liệu ra màn hình, con nháy xuống dòng C. Đưa dữ liệu ra màn hình, con nháy không xuống dòng D. Nhập dữ liệu từ bàn phím, con nháy không xuống dòng

BÀI 8: SOẠN THẢO, DỊCH, HIỆU CHỈNH CHƯƠNG TRÌNH

1. Câu lệnh Alt + X trong Pascal dùng để ? A. Thoát chương trình B. Lưu chương trình C. Mở chương trình D. Thực hiện chương trình 2. Để phóng to hoặc thu nhỏ màn hình làm việc của Pascal, ta sử dụng tổ hợp phím ?

A. Alt + Enter B. Shift + Enter C. Ctrl + Enter D. Alt + X

D. Hiện một xâu ký tự

3. Câu lệnh CLRSCR ; có tác dụng ? A. Xóa màn hình B. Dừng chương trình C. Xuống dòng 4. Để lưu chương trình vào ổ đĩa của máy tính, ta sử dụng phím nào sau đây ? C. F2 D. F6 A. F3 B. F9

Trang 5

Trường THPT Đào Sơn Tây

Đề cương Tin học 11

BÀI 9: CẤU TRÚC RẼ NHÁNH

1. Trong Pascal, câu lệnh rẽ nhánh đủ có dạng là ?

A. If <điều kiện> then else ; B. If <điều kiện> do else ; C. If <điều kiện> then ; D. If <điều kiện> then do ;

2. Câu lệnh rẽ nhánh dạng đủ được thực hiện như thế nào?

A. Nếu điều kiện sai thì thực hiện câu lệnh 1, ngược lại thì thực hiện câu lệnh 2. B. Nếu điều kiện đúng thì thực hiện câu lệnh 2, ngược lại thì thực hiện câu lệnh 1. C. Nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại thì thực hiện câu lệnh 2. D. Nếu điều kiện sai thì thực hiện câu lệnh , ngược lại thì không thực hiện gì cả

3. Xét đoạn chương trình sau trong Pascal:

If b<>0 then T:=a/b; Else Writeln(‘Mau bang 0, khong chia duoc’); Var a,b,T:real; Begin End. {1} {2} {3} {4} {5} {6}

4. Chương trình trên báo lỗi ở dòng nào?

A. dòng 1 B. dòng 3 C. dòng 4 D. dòng 5

5. Lệnh rẽ nhánh nào sau đây là sai ?

A. if a : = b then c := a + b ; C. if not( a = b) then c := a+ b ; B. if a = b then c := a+ b ; D. if not( a <> b) then c := a+ b ;

B. if a > b then b:= b + 1; D. if a = 5 then b = a + 1;

6. Lệnh rẽ nhánh nào sau đây là sai ? A. if a := 5 then b := a + 1; C. if a > b then b = a; 7. Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ? A. A + B D. “A nho hon B” C. N mod 100 B. A > B

BÀI 10: CẤU TRÚC LẶP

1. Câu lệnh lặp tiến trong Pascal là?

A. For i := to do ; B. For i := to then ; C. For i := to do ; D. For i := to downto ;

2. Chọn phát biểu sai trong các phát biểu sau: Trong lệnh lặp dạng for ….do thì:

A. Biến đếm trong lệnh lặp không cần phải khai báo. B. Biến đếm là kiểu số nguyên hoặc kiểu ký tự C. Giá trị đầu và giá trị cuối phải cùng kiều dữ liệu với biến đếm D. Giá trị của biến đếm tự động điều chỉnh tăng hoặc giảm sau vòng lặp

3. Cho đoạn chương trình sau: For i := ‘A’ to ‘N’ do write(i); Với câu lệnh trên thì ta cần khai báo biến i thuộc kiều dữ liệu nào sau đây?

A. Char B. Real C. Byte D. Integer

4. Cho đoạn chương trình sau:

For i := 1 to n do If (i mod 2 = 0) and (i mod 3 = 0) then write(i , ‘ ’); Với n = 20 thì kết quả hiển thị là

Trang 6

Trường THPT Đào Sơn Tây

Đề cương Tin học 11

A. 6 12 18 B. 2 3 6 12 18 C. 3 6 9 12 18 D. 6 9 12 18

5. Cho đoạn chương trình sau:

S := 0; For i := 1 to n do if i mod 2 <> 0 then S := S + i; write(‘S = ‘, S); Với n = 10 thì kết quả hiển thị là A. S = 25 C. S = 27 B. S = 26 D. S = 28

6. Kết quả của S sau khi thực hiện đoạn chương trình sau :

S :=1 ; for i :=1 to 10 do If (i mod 2) = 0 then S :=S+i ; Write(S) ; A. 32 B. 31 C. 33 D. 30

7. Cấu trúc lặp với số lần chưa biết trước là?

A. While <điều kiện> do ; B. While <điều kiện> then ; C. For := to < giá trị cuối> do ; D. For := to < giá trị đầu> do ;

8. Biểu thức <điều kiện> trong lệnh lặp While luôn mang giá trị nào sau đây?

A. Số nguyên B. Số thực D. Logic

C. Ký tự 9. Chọn lệnh đúng để thể hiện lệnh lặp bằng câu lệnh while-do để tính tổng S = 1+2+. . .10 ?

A. S:=0; while i < 10 do S:=S+ i; B. S := 0; i:=1; while i do begin S:=S + i; i:=i+1; end; C. S:=0; i:=1; while i < 11 do S:= S + i; i := i + 1; D. S := 0; i:=1; while i<=10 do begin S:=S + i; i:=i+1; end;

10. Tính giá trị của T sau khi thực hiện dãy lệnh sau:

T:= 1; i:= 1; While i <= n do begin T := T*a ; i := i + 1; end; write(‘T = ’,T); Cho a = 5, n = 2 thì kết quả T là? 11. Tính giá trị của S khi thực hiện dãy lệnh với n = 5:

S:= 0; i:= 1; While i <= n do begin S := S + i ; i := i + 1; end; write(‘S = ’,S);

Trang 7