Tiết 7 -8
CHƯƠNG TRÌNH MÁY
TÍNH VÀ DỮ LIỆU
1.Dữ liệu và kiểu dữ liệu
• Vd1:
Dịng chữ
KET QUA CAC PHEP TINH LA :
1500 + 2000 = 3500
Phép
toán với
các số
1927.5 : 3 = 642.50000
1.Dữ liệu và kiểu dữ liệu
Một số kiểu dữ liệu cơ bản của ngơn ngữ lập trình Pascal
Tên
kiểu
Phạm vi giá trị
integer
Số nguyên có giá trị trong khoảng -215 đến 215 -1(-32768
– 32767)
real
Số thực có giá trị trong khoảng -2.9 x 10-39 đến 2.9x 10-38
(2.900.000.000 x 2.900.000.000 x 2.900.000.000 x
2.900.000.000 )
char
string
Kí tự (1 kí tự trong bảng chữ cái)
Xâu (chuỗi) gồm 255 kí tự
1.Dữ liệu và kiểu dữ liệu
Vd2 : Hãy cho biết những loại dữ liệu sau thuộc kiểu dữ
liệu gì?
a. Tin hoc
string
b. 152.3 real
c. 123456 Real
d. 7a string
Integer (hoặc real)
e. - 567
f. y char
Integer
real
string
char
1.Dữ liệu và kiểu dữ liệu
Dãy số 123 có được xem là chuỗi hay không?
Lưu ý
Để chỉ rõ cho chương trinh dịch hiểu dãy chữ số là kiểu
xâu, ta phải đặt dãy số đó trong cặp dấu nháy đơn.
Ví dụ: ‘123’, ‘100’.
Vd3: Phân biệt cặp lệnh sau:
a. Writeln(’50’) ; và writeln(50);
In ra 2 dòng:
50 {Chuỗi}
50 {Số}
b. Write(’15 + 5=’,15+5);
In ra 1 dịng:
15+5=20
•
Writeln(‘15+5=‘); và writeln(15+5);
15+5=
20
Write(‘15+5=‘); và writeln(15+5);
15+5= 20
2. Các phép toán với dữ liệu kiểu số:
Các phép tốn số học trong ngơn ngữ lập trình pascal:
Kí
hiệu
Phép tốn
Kiểu dữ liệu
+
*
Cộng
Trừ
Nhân
/
div
Chia
Số nguyên, số thực
Chia lấy
Số nguyên
phần nguyên
mod Chia lấy
phần dư
Số nguyên, số thực
Số nguyên, số thực
Số nguyên, số thực
Số nguyên
Ví dụ 1:
3/2 = 1.5
8/2 = 4.0
-12/5 = 2.4
5 div 2 = 2
-12 div 5 = -2
9 mod 3 = 0
-11 mod 5 = -1
2. Các phép tốn với dữ liệu kiểu số:
Ví dụ 2: Biểu thức số học và cách viết chúng bằng
ngôn ngữ lập trình Pascal:
ab – c + d
a*b–c+d
15 + 5 x a
2
15+5*(a/2)
x+5y
2
(x + 2)
a +3
b +5
(x+5)/(a+3)-y/(b+5)*(x+2)*(x+2)
2. Các phép tốn với dữ liệu kiểu số:
Ví dụ 3:Dùng kí hiệu trong Pascal để viết các biểu
thức tốn học sau:
a. a2+b+c
→ a*a +b+c
•
b. (a+b)(c+d)
(a+b)*(c+d)
c. 2x2 – 5x +2y
→ 2*x*x-5*x+2*y
1
d. x - x (x+y)
→ 1/x –x*(x+y)
2. Các phép tốn với dữ liệu kiểu số:
Ví dụ 4: dùng kí hiệu tốn học để biểu diễn các
biểu thức đã được viết bằng NNLT Pascal sau:
a. 2*x*x*x + 3*y-z
2x3 + 3y - z
1 _ 1
1
1
b. 1/(1/x) – 1/(1/x*x)
x
x2
c. 2/(a+b)*(a+b) – 3*a/(2*a+b*b)
2
(a+b)
2
-
3a
2a+b2
3. Các phép so sánh
Cho
biếtPascal,
kí hiệuký
sau
làuphé
so sá
nhsá
gì?
Trong
hiệ
cácpphé
p so
nh có
một số thay đổi cụ thể như sau:
Kí hiệu
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.
≥
>=
X
Cho biết kết quả của các phép tính sau
Biểu thức
Kết quả
a) 8.0/2.0 +6
10.0
b) 3 - 4 *2
-5
c) 5 + 25 mod 6
6
d) 25 < > 5
Đ
e) 20 >= 26
S
f) 2 > 9
S
4. Giao tiếp người-máy tính::
a) Thơng báo kết quả tính tốn:
write('Dien tich hinh tron la ',X);
in kết quả tính diện tích hình trịn ra
màn hình như sau:
4. Giao tiếp người-máy tính::
b) Nhập dữ liệu:
write('Ban hay nhap nam sinh:');
Readln(n);
kết quả xuất hiện trên màn hình
như sau:
4. Giao tiếp người-máy tính::
c) Tạm ngừng chương trình:
Writeln('Cac ban cho 2giay nhe');
Delay(2000);
kết quả xuất hiện trên màn hình
như sau:
Củng cố bài học:
- Dữ liệu: số, kí tự
- Kiểu dữ liệu: số nguyên, số
thực, xâu kí tự, kí tự.
- Các phép toán dùng cho kiểu số:
+, -, *, /, div, mod
- Các phép toán so sánh: >,<, =,
>=, <=, < >.
- Giao tiếp người và máy tính.
4. Giao tiếp người-máy tính::
d) Hộp hội thoại:
Ví dụ
Bài tập 1:
Em hãy chọn kết quả của bạn làm đúng nhất
Bốn bạn A, B, C, D đưa ra kết quả của phép chia, phép chia lấy
phần nguyên và lấy phần dư của hai số nguyên 14 và 5 như sau:
(A) 14 / 5 = 2 ; 14 div 5 = 2 ; 14 mod 5 = 4.
(B) 14 / 5 = 2.8 ; 14 div 5 = 2 ; 14 mod 5 = 4.
(C) 14 / 5 = 2.8 ; 14 div 5 = 4 ; 14 mod 5 = 2.
(D) 14 / 5 = 3 ; 14 div 5 = 2 ; 14 mod 5 = 4.
Bài tập 2:
Bạn nào đã viết sai
Ba bạn A, B, C đã viết phép so sánh x
Pascal như sau:
(A)
(B)
(C)
x (m 5) /(2* a)
x > (m 5) /(2* a)
x =
> (m 5) / 2* a
=
m 5
trong ngôn ngữ
2a
Bài tập 3. Chuyển các biểu thức được viết trong
Pascal thành các biểu thức toán
a) (a + b)*(a +b) - x/y
x
(a+b) y
2
c) a*a/((2*b+c)*(2*b+c))
a
(2b +c) 2
2
b) b/(a*a +c)
b
a2 + c
d) 1+1/2+1/(2*3)+1/(3*4)+1/(4*5)
1 + 1 + 1 + 1
1+
2 2*3 3*4 4*5