NHẬP MÔN TIN HỌC
NGÔ QUANG THẠCH
7/5/18
1
MỤC TIÊU
v
v
7/5/18
Số đơn vị học trình : 02 (30 tiết)
§ Lý thuyết : 20 tiết
§ Bài tập + thực hành môn học: 10 tiết
Mục tiêu của học phần:
§ Sinh viên nắm vững cấu trúc của các lệnh
trong Pascal để vận dụng vào các bài tập
cụ thể.
§ Sinh viên hiểu và nắm vững các thuật ngữ,
quy trình sử dụng trong Internet.
2
KIỂM TRA
v
v
7/5/18
Đề thi kết thúc học phần gồm 03 câu thuộc
các chương khác nhau:
§ 01 câu lý thuyết (2 điểm)
§ 02 câu bài tập (8 điểm)
Cách tính Điểm:
§ Điểm chuyên cần
§ Điểm kiểm tra giữa kỳ
§ Điểm kiểm tra cuối kỳ
3
NỘI DUNG
1 Các lệnh có cấu trúc trong Pascal
2
Chương trình con
3
Dữ liệu có cấu trúc kiểu mảng
4
Dữ liệu có cấu trúc kiểu chuỗi
5
Giới thiệu Internet
6
Thực hành tìm kiếm
7/5/18
4
CHƯƠNG 1
GiỚI THIỆU NGÔN NGỮ
LẬP TRÌNH
MỘT SỐ CẤU TRÚC
CÂU LỆNH
7/5/18
5
GIỚI THIỆU
v
v
v
7/5/18
Chương trình là tập hợp dãy các lệnh
điều khiển máy tính thực hiện.
Có thể nói một chương trình là một cách
diễn tả thuật toán trong một ngôn ngữ
chính xác để máy có thể hiểu được.
Các bước cơ bản khi lập một chương
trình Pascal
§ Bước 1: Soạn thảo chương trình.
§ Bước 2: Dịch chương trình (nhấn phím
6
MỘT SỐ LƯU ĐỒ CƠ BẢN
A
Thực hiện công việc A
B
Sai
Ra vào dữ liệu
Begin
Đúng
Một phép kiểm tra B, tùy thuộc vào
trạng thái của B là đúng hay sai để
rẻ nhánh thích hợp
7/5/18
End
Bắt đầu hay kết thúc một
thuật toán
7
Lưu đồ thuật toán mẫu
v
Giải phương trình bậc nhất ax + b = 0.
Begin
Nhập
a,b
Sai
a=0
Đúng
Sai
b=0
Nghiệm:
b/a
Đúng
Vô số
nghiệm
Vô nghiệm
End
7/5/18
8
Bài tập
v
v
Viết lưu đồ thuật giải tìm số lớn nhất trong ba
số a, b, c.
Gợi ý:
§ Nếu a>b đúng
•
•
§
Sai (b>=a)
•
•
7/5/18
Nếu a>c đúng ->Max =a
Ngược lại Max=c
Nếu b>c đúng ->Max=b
Ngược lại Max=c
9
GIỚI THIỆU
v
Cấu Trúc Của Một Chương Trình Pascal
§ Phần khai
Ví d
ụ một chương trình:
báo
•
•
•
•
•
•
§
Writeln(‘Binh phuong cua no la:’,
Phần thân
chương trình
SoNguyen*SoNguyen); {K
ết xuất}
•
•
7/5/18
Program CT_dau_tien;
PROGRAM
<Tên chương trình>;
Uses Crt;
USES <Tên Unit>[,<Tên Unit>];
Var SoNguyen: Integer;
LABEL
Beginnhãn>[,<Tên nhãn>];
CONST CLRSCR; {Xóa màn hình}
{Thông
TYPE Writeln(‘Nhap vao day mot so nguyen:’);
báo nhập liệu}
VAR
Readln(SoNguyen); {Chờ nhập liệu}
BEGIN End.
END. (end và dấu chấm).
10
GIỚI THIỆU
v
Các thành phần cơ bản của Pascal:
§ Khai báo Hằng:
CONST <Tên hằng> = <Giá trị hằng>;
Ví dụ: CONST pi = 3.14;
•
§
Khai báo Kiểu:
TYPE <Tên kiểu> = <Kiểu>;
Ví dụ: TYPE NguyenDuong = 1..MaxInt;
•
§
Khai báo Biến:
VAR <Tên biến>[<, Tên biến>]: <Kiểu>;
Ví dụ: VAR x,y: Integer;
•
X, Y: Real;
7/5/18
11
I, J: NguyenDuong; {Đã định nghĩa trước}
Các kiểu dữ liệu cơ bản
v
Stt Kiểu Kích thước
1. Boolean 1 byte
2. Char 1 byte
3. Shortint 1 byte
4. Byte
1 byte
5. Integer 2 byte
6. Word
2 byte
7. Longint 4 byte
7/5/18
8.
Real
6 byte
Miền xác định
FALSE..TRUE
256 ký tự
128..127
0..255
32768..32767
0..65535
2147483648..2147483647
12
2.9E39..1.7E+38
Một số lệnh đơn
Lệnh gán
v
Cú pháp: <Tên biến> := <Biểu thức>
Program LenhGan;
v
Var x, y, z: Integer;
Begin
x := 1;
y := 2;
y:=y+x;
z := x + y;
End.
7/5/18
13
Một số phép tính
+ (cộng) – (trừ) * (nhân)
v
/ (chia, kết quả có kiểu thực)
Ví dụ:
§ 5 / 2 = 2.50
§ 10 / 2 = 5.00
v
DIV (chia lấy phần nguyên)
Ví dụ:
§ 5 DIV 2 = 2
§ 3 DIV 4 = 0
v
MOD (chia lấy phần dư)
7/5/18 Ví dụ:
v
14
v
Phép toán số học: + * / DIV MOD
v
Phép toán logic: AND OR NOT XOR
v
Phép toán quan hệ: = <> >= <= > <
v
Phép toán ghép dãy ký tự: +
7/5/18
15
CẤU TRÚC LỰA CHỌN
CẤU
TRÚC
LỰA
CHỌN
7/5/18
Câu lệnh IF
Câu lệnh CASE
16
CẤU TRÚC LỰA CHỌN
v
Câu lệnh IF
Dạng Không Đầy Đủ
DK
Sai
Đúng
IF <Điều kiện> THEN
<Công việc>;
CV
v Ví du:
Program vidu1;
Var a,b: Integer;
Begin
Write( ‘Nhập a: ’); Readln(a);
Write( ‘Nhập b: ‘); Readln(b);
If b <> 0 then
Write( ‘Thương hai số vừa nhập:
7/5/18
17
’,a/b:5:2);
CẤU TRÚC LỰA CHỌN
v
Dạng Đầy Đủ
Cú pháp:
IF <Điều kiện> THEN
§
<Công việc 1>
ELSE <Công việc 2>;
Sai
DK
Đúng
CV1
CV2
v Ví dụ:
Program vidu1;
Var a,b: Integer;
Begin
Write( ‘Nhập a: ’); Readln(a);
Write( ‘Nhập b: ‘); Readln(b);
If b <> 0 then
Write( ‘Thương hai số vừa nhập:
7/5/18
18
’,a/b:5:2);
Kí hiệu
7/5/18
Phép so sánh
=
bằng
<
nhỏ hơn
>
lớn hơn
≠
khác
≤
nhỏ hơn hoặc bằng
≥
lớn hơn hoặc bằng
19
CÁC HÀM SỐ HỌC CƠ BẢN
SQR(x)
Bình phương
ABS(x)
Trị tuyệt đối
SQRT(x)
Căn bậc hai
TRUNC(x)
Lấy phần nguyên (nguyên)
ROUND(x)
Làm tròn
ODD(x)
Cho giá True nếu x lẻ, cho
False nếu x chẵn
…
7/5/18
20
Bài tập
v
Viết chương trình Giải phương trình bậc nhất
ax + b = 0
Begin
Nhập
a,b
Sai
a=0
Đúng
Sai
b=0
Nghiệm:
b/a
7/5/18
Đúng
Vô số
nghiệm
End
Vô nghiệm
21
CẤU TRÚC LỰA CHỌN
Giá trị kiểu
Có thể
là một
hoặc
nhiều
giá trị
CASE
GT1
CôngViệc1
GT2
CôngViệc2
Giá trị chọn
GTi
CôngViệci
OF
nguyên, kiểu
logic, hay kiểu kí
tự, nh
ưng không
Nếu không có
thể là ki
ểu s
ố
giá tr
ị nào
thựth
c ỏa thì thực
GTn
CôngViệcn
END
7/5/18
22
ELSE
hiện
CôngViệc0
CẤU TRÚC LỰA CHỌN
Cú pháp:
CASE <biến> OF
Hằng 1a, 1b,…, 1x: <Công việc 1>;
Hằng 2a, 2b,…, 2x: <Công việc 2>;
.................................
Hằng na, nb,…, nx: <Công việc n>;
ELSE
<Công việc 0>
END;
7/5/18
23
v
Ví dụ:
Program Case_day_du;
Var Thang: Integer;
Begin
Write( ‘Nhập vào một tháng: ’);
Readln(Thang);
CASE Thang OF
1, 3, 5, 7, 8, 10, 12 : Write( ‘Tháng có 31
ngày.’);
4, 6, 9, 11
: Write( ‘Tháng có 30 ngày.’);
7/5/18
24
Bài tập
v
7/5/18
Viết chương trình nhập vào số ngày thuê
phòng khách sạn, nhập vào loại phòng (A, B,
C). Tính tiền và xuất ra
§ phòng loại A : 300000/ngày
§ phòng loại B : 250000/ngày
§ phòng loại C : 200000/ngày
25