Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

PHÒNG GD&ĐT QUY NHƠN

TRƯỜNG THCS NHƠN PHÚ

ĐỀ CƯƠNG ÔN TẬP CUỐI KỲ I – NĂM HỌC 2021-2022


MÔN: TIN HỌC – LỚP: 8

A. LÝ THUYẾT:
1/. Khái niệm chương trình máy tính? Tại sao cần viết chương trình?
Hướng dẫn trả lời:
- Chương trình máy tính là một dãy các câu lệnh mà máy tính có thể hiểu và thực hiện
được.
* Giải thích:
- Một lệnh đơn giản không đủ để chỉ dẫn cho máy tính hoàn thành công việc phức tạp.
Vì vậy việc viết nhiều lệnh và tập hợp lại trong một chương trình giúp con người điều
khiển máy tính một cách đơn giản và hiệu quả hơn.
2/. Ngôn ngữ lập trình là gì? Tại sao phải tạo ra ngôn ngữ lập trình trong khi đã có
ngôn ngữ máy?
Hướng dẫn trả lời:
- Ngôn ngữ lập trình là ngôn ngữ dùng để viết các chương trình máy tính.
* Giải thích:
- Ngôn ngữ máy là dãy bit gồm các số 0 và 1 khác xa với ngôn ngữ tự nhiên nên khó
nhớ, khó sử dụng. Vì vậy lúc này ngôn ngữ lập trình ra đời để có thể sử dụng được các
từ có nghĩa, dễ hiểu và dễ nhớ viết các câu lệnh thay cho dãy bit.
3/. Nêu quá trình tạo ra chương trình máy tính? Cấu trúc chung của chương trình?
Hướng dẫn trả lời:
- Việc tạo ra chương trình máy tình gồm 2 bước:
(1) Viết chương trình bằng một ngôn ngữ lập trình
(2) Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được.
- Cấu trúc chung của mọi chương trình gồm: 2 phần
+ Phần khai báo: khai báo tên chương trình, khai báo các thư viện và một số khai báo
khác.
+ Phần thân của chương trình gồm các câu lệnh mà máy tính cần thực hiện.
* Lưu ý:
+ Trong một chương trình có thể không có phần khai báo nhưng phải có phần thân.
+ Phần khai báo không được ở trong phần thân.
4/. Ngôn ngữ lập trình gồm những gì? Từ khóa? Tên? Quy tắc đặt tên?
Hướng dẫn trả lời:
- Ngôn ngữ lập trình gồm:
+ Bảng chữ cái;
+ Các quy tắc để viết các câu lệnh
- Từ khóa là những từ dành riêng, không được dùng từ khóa này cho bất kì mục đích
nào khác ngoài mục đích sử dụng do ngôn ngữ lập trình quy định.
Ví dụ: program, begin, end, uses,...
Trang 1
- Tên: là dãy các kí hiệu hợp lệ được lấy ra từ bảng chữ cái của ngôn ngữ lập trình.
Dùng để phân biệt các đại lượng trong chương trình và do người lập trình đặt.
- Quy tắc đặt tên:
+ Hai đại lượng khác nhau tên phải khác nhau.
+ Tên không được trùng với từ khóa.
+ Tên không được bắt đầu bằng số.
+ Tên không được chứa kí tự trống.
5/. Các kiểu dữ liệu thường dùng và tên kiểu dữ liệu tương ứng trong NNLT
Pascal?
Hướng dẫn trả lời:
Tên kiểu Phạm vi giá trị
dữ liệu
Byte Các số nguyên từ 0 đến 255
Integer Số nguyên trong khoảng -32768 đến 32767
Real Số thực có giá trị tuyệt đối trong khoảng 1,5x10-45 đến 3,4x1038 và
số 0.
Char Một kí tự trong bảng chữ cái.
String Xâu kí tự, tối đa gồm 255 kí tự.
6/. Các phép toán, phép so sánh với dữ liệu kiểu số?
Hướng dẫn trả lời:
- Các phép toán:
+ Cộng (+), trừ (-), nhân (*), chia (/): kiểu số nguyên, số thực
+ Div (chia lấy phần nguyên): số nguyên
+ Mod (chia lấy phần dư): số nguyên
Ví dụ: 7 div 2 = 3; 7 mod 2= 1; 6 div 3= 2; 6 mod 3= 0
- Phép so sánh:
Kí hiệu trong Pascal Phép so sánh Kí hiệu toán học
= Bằng =
<> Khác ≠
< Nhỏ hơn <
<= Nhỏ hơn hoặc bằng ≤
> Lớn hơn >
>= Lớn hơn hoặc bằng ≥
* Lưu ý: Kết quả của một phép so sánh chỉ có thể là đúng hoặc sai.
7/. Biến (hằng) là gì? Cách khai báo và sử dụng biến (hằng)? Phân biệt biến và
hằng?
Hướng dẫn trả lời:
* Biến:
- Biến được dùng để lưu trữ dữ liệu và dữ liệu được biến lưu trữ có thể thay đổi trong
khi thực hiện chương trình.
- Các biến dùng trong chương trình cần phải được khai báo ngay trong phần khai báo
chương trình.
- Cú pháp khai báo biến:
Trang 2
Var tên biến: tên kiểu dữ liệu;
Ví dụ : Var S: real;
m, n: integer;
* Hằng:
- Hằng là đại lượng dùng để lưu trữ dữ liệu và giá trị được xác định ngay từ khi khai
báo.
- Cú pháp khai báo hằng:
Const tên hằng=giá trị của hằng;
Ví dụ : Const pi =3.14 ;
R = 2;
* Phân biệt biến và hằng:
- Giá trị của biến có thể thay đổi trong khi thực hiện chương trình, còn giá trị của hằng
không đổi trong suốt quá trình thực hiện chương trình.
8/. Bài toán? Xác định bài toán là gì? Các bước giải bài toán trên máy tính?
Hướng dẫn trả lời:
- Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết.
- Xác định bài toán:
+ Xác định điều kiện cho trước
+ Xác định kết quả cần thu được.
- Các bước giải bài toán trên máy tính:
+ Xác định bài toán: xác định điều kiện cho trước (Input) và kết quả cần nhận được
(Output).
+ Mô tả thuật toán: diễn tả cách giải bài toán bằng dãy thao tác cần thực hiện
+ Viết chương trình.
9/. Thuật toán? Mô tả thuật toán? Một số ví dụ về thuật toán?
Hướng dẫn trả lời:
- Thuật toán là dãy các thao tác cần thực hiện theo một trình tự xác định để thu được
kết quả cần thiết từ những điều kiện cho trước.
- Mô tả thuật toán là liệt kê các bước cần thiết theo thứ tự để giải một bài toán.
- Ví dụ: Xem các thuật toán về hoán đổi giá trị 2 biến x, y; so sánh 2 số thực a, b; kiểm
tra 3 số dương a, b, c có phải 3 cạnh tam giác?
10/. Điều kiện và phép so sánh? Cú pháp và nguyên tắc hoạt động của câu lệnh điều
kiện dạng đủ (thiếu)?
Hướng dẫn trả lời:
* Điều kiện và phép so sánh:
- Trong lập trình, điều kiện thường được biểu diễn bằng các phép so sánh: <, <=, >, >=,
=, < >
- Phép so sánh cho kết quả đúng có nghĩa điều kiện được thỏa mãn; ngược lại, điều
kiện không được thỏa mãn.
- Ngoài các phép so sánh mà các em đã được học người ta còn sử dụng các phép: and,
or, not.. (Xem thêm phần tổng kết SGK/54)
* Câu lệnh điều kiện:
- Dạng thiếu:
Trang 3
+ Cú pháp: if <điều kiện> then <câu lệnh>;
Trong đó: if, then là các từ khóa;
<điều kiện> là một phép so sánh;
<câu lệnh> là câu lệnh đơn hay câu lệnh ghép;
+ Nguyên tắc hoạt động: kiểm tra <điều kiện>, Nếu <điều kiện> được thoả mãn,
chương trình sẽ thực hiện <câu lệnh> sau từ khoá then, ngược lại <câu lệnh> đó bị bỏ
qua.
+ Ví dụ: Readln(n);
If n mod 2 <> 0 then write(n, ‘ la so le’);
- Dạng đủ:
+ Cú pháp: if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
Trong đó: if, then, else là các từ khóa;
<điều kiện> là một phép so sánh;
<câu lệnh> là câu lệnh đơn hay câu lệnh ghép;
Nguyên tắc hoạt động: kiểm tra <điều kiện>. Nếu <điều kiện> được thoã mãn, chương
trình sẽ thực hiện <câu lệnh 1> sau từ khoá then, ngược lại thực hiện <câu lệnh 2> sau
else.
+Ví dụ: Readln(n);
If n mod 2 <> 0 then write(n, ‘ la so le’) else write(n, ‘ la so chan’);
B. BÀI TẬP THAM KHẢO:
* PHẦN TRẮC NGHIỆM:
KHOANH TRÒN:
1/ Các biểu thức toán học được viết bằng NNLT Pascal dưới đây, biểu thức nào đúng?
a) {3*a + [ 4*c – 7*(a +2*c)] -5*b} b) a*x*x – b*x + 7a : 5
c) (10*a + 2*b) / (a*b) d) - b: (2*a*c)
2/ Thứ tự các bước giải bài toán trên máy tính:
a) Xác định bài toán → Viết chương trình → Mô tả thuật toán
b) Xác định bài toán → Mô tả thuật toán → Viết chương trình
c) Mô tả thuật toán → Xác định bài toán → Viết chương trình
d) Viết chương trình → Xác định bài toán → Mô tả thuật toán
3/ Khai báo sau có ý nghĩa gì?
Var a: string; b: real;
a) Biến a thuộc kiểu kí tự, biến b thuộc kiểu số thực
b) Biến a thuộc kiểu kí tự, biến b thuộc kiểu số nguyên
c) Biến a thuộc kiểu xâu kí tự, biến b thuộc kiểu số thực
d) Biến a thuộc kiểu số thực, biến b thuộc kiểu xâu kí tự
4/ Để tạm ngừng chương trình trong một khoảng thời gian nhất định, ta dùng lệnh?
a) Write(tamngung); b) Readln; c) Delay(2000); d) Write(‘1000’);
5/ Trong Pascal câu lệnh điều kiện nào sau đây được viết đúng?
a) If a > b then max := a else max : = b; b) If a > b then max = a;
c) If x := a + b then x := x + 1; d) If 5 := 6 then x := 100;   
6/ Con người chỉ dẫn cho máy tính thực hiện công việc như thế nào?
a) thông qua một từ khóa b) thông qua các tên
c) thông qua một hằng d) thông qua các lệnh
Trang 4
7/ Câu lệnh Writeln(‘y=’,15 div 4 +5); sẽ in ra kết quả:
a) 8 b) y=8 c) y=3 d) 20
8/ Phát biểu nào dưới đây sai?
a) Để giải bài toán bằng máy tính phải viết chương trình mô tả thuật toán giải bài toán
đó
b) Mọi người sử dụng máy tính đều phải biết lập chương trình
c) Máy tính điện tử có thể chạy các chương trình
d) Một bài toán có thể có nhiều thuật toán để giải
9/ Biến m có thể nhận các giá trị 12, 145, -8, 40. Hãy chọn kiểu dữ liệu phù hợp với
biến m?
a) Char b) Byte c) Integer d) Real
10/ Thực hiện xác định bài toán: “Kiểm tra n có chia hết cho 3 hay không?”
a) Input: Nhập số n; Output: n chia hết cho 3 hoặc không chia hết cho 3
b) Input: n chia hết cho 3 hoặc không chia hết cho 3; Output: Nhập số n
c) Input: n chia hết 3; Output: Nhập số n
d) Input: Nhập số n; Output: n chia hết cho 3
11/ Trong ngôn ngữ lập trình Pascal, câu lệnh khai báo nào sau đây là đúng?
a) Var h:=30; b) const m= ‘Pascal’; c) const dien tich; d) Var 3x:
byte;
12/ Câu lệnh Writeln('15*4-30+12=',15*4-30+12) ; sẽ in ra kết quả:
a) 15*4-30+12 b) 15*4-30+12=42 c) 42 d) =42
13/ Ngôn ngữ lập trình là:
a) ngôn ngữ dùng để viết một chương trình máy tính
b) ngôn ngữ dùng để viết các chương trình máy tính
c) các dãy bit (dãy các số chỉ gồm 0 và 1)
d) chương trình dịch
14/ Trong Pascal, giả sử y là biến kiểu số nguyên. Phép gán nào sau đây là không hợp
lệ?
a) y:= -6; b) y:=12; c) y:=16 mod 3; d) y:=20/4;
15/ Trong Pascal câu lệnh điều kiện nào sau đây được viết đúng?
a) If (a mod 2)=0 then writeln(a,‘la so chan’); b) If a>b else write(a);
c) If a:=1 then a:=a+1; d) if x=y then; write(y);
16/ Biểu thức toán học (a + b)(1 + c) được biểu diễn trong Pascal như thế nào?
2 3

a) (a*a + b)(1+c)(1 + c)(1 + c) b) (a.a + b)(1 + c)(1 + c)(1 + c)


c) (a*a + b)*(1 + c)*(1 + c)*(1 + c) d) (a^2 + b)(1 + c)^3
17/ Khai báo sau có ý nghĩa gì? Var a: Real; b: Char;
a) Biến a thuộc kiểu số thực, biến b thuộc kiểu kí tự
b) Biến a thuộc kiểu số nguyên, biến b thuộc kiểu xâu kí tự
c) Biến a thuộc kiểu số nguyên, biến b thuộc kiểu kí tự
d) Biến a thuộc kiểu số thực, biến b thuộc kiểu xâu kí tự
18/ Trong ngôn ngữ lập trình Pascal, câu lệnh khai báo nào sau đây là đúng?
a) Var a b: integer; b) Var x=real; c) Const x:=5; d) Var
thongbao: string;
19/ Thực hiện xác định bài toán: “Tính tổng các phần tử lớn hơn 0 trong dãy n số cho
trước”
a) Input: dãy n số; Output: tổng các phần tử

Trang 5
b) Input: dãy n số; Output: tổng các phần tử lớn hơn 0 trong dãy n số
c) Input: dãy số; Output: tổng các phần tử
d) Input: dãy số; Output: tổng các phần tử lớn hơn 0 trong dãy n số
20/ Trong Pascal, giả sử x là biến kiểu số nguyên. Phép gán nào sau đây là hợp lệ?
a) x:=15/2; b) x:=2,4; c) x:=33767; d) x:= -2;
21/ Để nhập dữ liệu ta dùng lệnh?
a) Write(dulieu); b) Readln(x); c) X:= 'dulieu'; d) Write('Nhap
du lieu');
22/ Biến x có thể nhận các giá trị -5, 100, 15, 20. Hãy chọn kiểu dữ liệu phù hợp với
biến x?
a) Char b) Byte c) Integer d) Real
* PHẦN TỰ LUẬN:
Câu 1: Hãy xác định giá trị của x sau khi thực hiện mỗi bước sau, nếu trước đó
x=5
a) Nếu 2+1=3, x ← x+3.
b) Nếu (125 chia hết cho 5) và (4+5 ≥ 8), x← x-2.
c) Nếu (3+3=5) hoặc (12-4 ≥ 10), x ← x+5.
d) Nếu x < 6, x ← x-1.
Câu 2: Viết các biểu thức toán, phép so sánh dưới đây bằng các kí hiệu trong
Pascal:

a. b2 – 4ac b.
c. k2 + (k+1)2 ≠ (k+2)2 d. (diem ≥ 6) và (diem < 8.5)
e. √ 2 x +3 ≤ 25y f. (a2 < 10) hoặc (a > 5)
Câu 3: Một hiệu sách thực hiện đợt khuyến mãi lớn với nội dung như sau: Nếu tổng số
tiền mua sách không nhỏ hơn 100 nghìn đồng, khách hàng sẽ được giảm 30% tổng số
tiền phải thanh toán. Trong trường hợp ngược lại, những khách hàng mua với tổng số
tiền không đến 100 nghìn đồng sẽ chỉ được giảm 10%.
a) Xác định INPUT, OUTPUT và mô tả thuật toán tính tiền cho khách hàng.
b) Từ thuật toán đó, hãy viết chương trình tính số tiền mà khách hàng phải thanh
toán.
Hướng dẫn trả lời:
a)
INPUT: Tổng số tiền T khách đã mua sách.
OUTPUT: Số tiền phải thanh toán.
* Mô tả thuật toán:
Bước 1: Nhập số tiền T khách đã mua sách
Bước 2: Nếu T ≥ 100000, số tiền phải thanh toán là 70% x T; Ngược lại, số tiền phải
thanh toán là 90% x T.
Bước 3: In hóa đơn.
b) Chương trình tính số tiền mà khách hàng phải thanh toán:
Program Tinh_tien;
Var T: real;
Begin
Write('Tong so tien khach hang da mua sach: '); Readln(T);
Trang 6
if T>=100000 then writeln('So tien khach phai thanh toan la: ',(70*T)/100:10:0)
else writeln('So tien khach phai thanh toan la: ',(90*T)/100:10:0);
readln
End.
Câu 4: Viết chương trình cho phép nhập vào số tuổi của một người.
Nếu tuổi dưới 12 thì in ra thông báo: Ban khong duoc tiem vacxin!
Nếu tuổi từ 12 trở lên và dưới 18 thì in ra thông báo: Ban duoc tiem vacxin, hãy can
than!
Nếu tuổi từ 18 trở lên và dưới 60 thì in ra thông báo: Ban phai tiem vacxin!
Nếu tuổi từ 60 trở lên thì in ra thông báo: Ban can tiem vacxin, chuc ban suc khoe!
* Chương trình gợi ý:
Program Tiemvacxin;
Uses crt;
Var tuoi: byte;
Begin
Clrscr;
Write(‘Nhap tuoi: ’); Readln(tuoi);
If tuoi<12 then writeln(‘Ban khong duoc tiem vacxin!’) ;
If (tuoi>=12) and (tuoi<18) then writeln(‘Ban duoc tiem vacxin, hãy can than!’);
If (tuoi>=18) and (tuoi<60) then writeln(‘Ban phai tiem vacxin!’);
If tuoi>=60 then writeln(‘Ban can tiem vacxin, chuc ban suc khoe!’)
Readln
End.
Câu 5: Nhập một số tự nhiên n vào từ bàn phím. In ra màn hình kết quả số đã nhập là
số chẵn hay lẻ, chẳng hạn “7 la so le”, “12 la so chan”.
a) Mô tả thuật toán để giải quyết bài toán trên
b) Viết chương trình Pascal để thực hiện thuật toán đó
Hướng dẫn trả lời:
a)
INPUT: Số tự nhiên n
OUTPUT: Thông báo n là chẵn hay lẻ
Bước 1: Nhập số n
Bước 2: Nếu n chia 2 dư 0 thì thông báo n là số chẵn, ngược lại thông báo n là số lẻ
Bước 3: Kết thúc thuật toán.
b) Chương trình:
Program Chan_le;
Var n: integer;
Begin
Write(‘Nhap n= ’); Readln(n);
if n mod 2 =0 then writeln(n, ‘la so chan’)
else writeln(n, ‘la so le’);
readln
End.
Câu 6: Viết chương trình cho phép nhập vào điểm trung bình học kì I của 1 học sinh.
Nếu điểm trung bình dưới 5 thì in ra thông báo: Ban can co gang hon trong hoc ki II!
Nếu điểm trung bình trên 5 và dưới 6,5 thì in ra thông báo: Ban co hoc luc Trung binh!

Trang 7
Nếu điểm trung bình trên 6,5 và dưới 8,0 thì in ra thông báo: Ban co hoc luc Kha!
Nếu điểm trung bình trên 8,0 thì in ra thông báo: Ban da co thanh tich rat tot, can phat
huy!
*Chương trình gợi ý:
Program DTB;
Uses crt;
Var diem: real;
Begin
Clrscr;
Write(‘Nhap diem trung binh hoc ki I: ’); Readln(diem);
If diem<5 then writeln(‘Ban can co gang hon trong hoc ki II!’) ;
If diem>5 and diem<=6.5 then writeln(‘Ban co hoc luc Trung binh!’);
If diem>6.5 and diem<8.0 then writeln(‘Ban co hoc luc Kha!’);
If diem>=8.0 then writeln(‘Ban da co thanh tich rat tot, can phat huy!’)
Readln
End.
ĐỀ MINH HỌA
I. PHẦN TRẮC NGHIỆM (6,0 điểm) Khoanh tròn vào chữ cái đầu câu trả lời đúng
nhất:
1/ Chương trình máy tính được tạo ra theo các bước:
a. Mô tả thuật toán -> Viết chương trình.
b. Mô tả thuật toán -> Viết chương trình -> Dịch chương trình.
c. Viết chương trình bằng một ngôn ngữ lập trình -> Dịch chương trình.
d. Xác định bài toán -> Mô tả thuật toán -> Viết chương trình.
2/ Trong Pascal, để mô tả điều kiện n là 1 số nguyên không chia hết cho 5, ta
viết:
a. n div 5 = 0 b. n div 5 <>0 c. n mod 5 = 0 d. n mod 5 <>
0
3/ Môi trường lập trình không hỗ trợ công cụ nào sau đây:
a. Chương trình soạn thảo b. Chương trình dịch
c. Công cụ tìm kiếm, sửa lỗi. d. Công cụ trình chiếu
4/ Từ khóa dùng để khai báo là:
a. Program, Uses b. Program, Begin, End
c. Programe, Use d. Begin, End
    5/ Kiểu dữ liệu nào dưới đây có phạm vi giá trị là số nguyên trong khoảng 0
đến 255:
a. Byte. b. Real. c. Integer. d. String.
6/ Trong các tên sau đây, tên nào là hợp lệ trong ngôn ngữ Pascal?
a. Chieu cao; b. Chieucao; c. 1lop8A; d.
begin.
7/ Cấu trúc của một chương trình Pascal gồm:
a. Phần thân, phần cuối; b. Phần khai báo, phần thân, phần
cuối;
c. Phần khai báo, phần thân; d. Phần đầu, phần thân, phần cuối.
8/ Trong Pascal, khai báo nào sau đây là đúng?

Trang 8
a. Const x: real; b. Var x := integer; c. Var tb: real; d. Var R =
30;
9/ Để gán giá trị của biến nhớ y vào biến nhớ x (trong Pascal), em sử dụng câu
lệnh nào?
a. x:=y; b. y:=x; c. x ← y; d. y ← x;
10/ Phép so sánh (a ≤ 10) hoặc (a > 5) được viết bằng kí hiệu trong Pascal là?
a. (a ≤ 10) hoac (a > 5) b. (a ≤ 10) or (a > 5)
c. (a <=10) and (a > 5) d. (a<=10) or (a >5)
11/ Sau khi thực hiện câu lệnh If X >5 then X:=X+1; thì giá trị của X là bao
nhiêu, nếu trước đó giá trị của X bằng 8?
a. 5 b. 9 c. 8 d. 6
12/ Giả sử biến c có giá trị là c:=‘1234’; Khai báo nào sau đây là phù hợp?
a. Var c: string; b. Var c: integer; c. Var c: real; d. Var
c: char;
II. PHẦN TỰ LUẬN (4,0 điểm)
Câu 1 (1,0 điểm): Hằng là gì, công dụng và đặc điểm của hằng? Em hãy viết cú pháp
khai báo hằng trong ngôn ngữ lập trình Pascal.
Câu 2 (3,0 điểm): Nhập một số tự nhiên n vào từ bàn phím.
a) Hãy mô tả thuật toán để in ra màn hình kết quả số đã nhập là số chẵn hay lẻ?
b) Từ thuật toán ở câu a) hãy viết chương trình bằng ngôn ngữ lập trình Pascal.

Trang 9

You might also like