Viết chương trình nhập vào các số nguyên từ bàn phím, có kiểm tra dữ liệu nhập (bắt buộc nhập lại tại vị trí nhập trước đó nếu nhập sai), chấm dứt nhập bằng cách nhập số không.. Viết chư[r]
(1)Phòng GD&ĐT Đại Lộc
NỘI DUNG BỒI DƯỠNG HỌC SINH GIỎI - MÔN TIN HỌC
A Nội dung bản:
Các thành phần sở ngôn ngữ Pascal Cấu trúc chương trình
Một số kiểu liệu chuẩn (Nguyên, thực, logich, kí tự, xâu, …) Khai báo biến
Phép toán, biểu thức, câu lệnh gán;
Một số hàm thủ tục (Abs, Sqrt, Trunc, Frac,…) Tổ chức vào / đơn giản
Soạn thảo, dịch, thực hiệu chỉnh chương trình Tổ chức rẽ nhánh (Lệnh If … then … else; If … then… ) Tổ chức rẽ nhánh Case … of
Tổ chức lặp While… Tổ chức lặp Repeat… Until
Tổ chức lặp For … to do(For … downto … do) Kiểu liệu kí tự (Char)
Kiểu liệu Chuỗi (String)
Kiểu liệu mảng (array): Mảng chiều, hai chiều Chương trình con: Thủ tục Hàm
B Cấu trúc đề (Gợi ý):
1/ Số lượng tập: Khoảng - bài 2/ Nội dung tập:
Bài 1-2 Các thuật giải (Nhập xuất liệu, tính tốn đơn giản như: Tìm ƯCLN, BCNN, tính tổng, tích, giai thừa, )
Bài 3: Các thuật giải nâng cao (Tìm kiếm, xếp, lọc trình bày liệu như: Sắp xếp tăng, giảm; xác định phần tử thỏa mãn yêu cầu đó, trình bày hình quy định,…)
Bài 4: Các thuật giải nâng cao kết hợp với việc tổ chức liệu (kết hợp tổ chức lặp với chương trình để tính tốn, xác định, trình bày liệu)
C Bài tập tham khảo:
1 Viết chương trình tính tổng sau:
S1 = 1+2 +3+ +n S2 = n! = 1*2* *n {n giai thừa} S3 = + 1/2 + + 1/n S4 = + 1/2! + + 1/n!
S5 = + x + x2/2! + x3/3! + + xn/n!; S6 = - x + x2/2! - x3/3! + + (-1)nxn/n! S7 = + sin(x) + sin2(x) + + sinn(x).
(2)3 Viết chương trình tìm ƯCLN BCNN hai (hay nhiều số) nhập vào từ bàn phím?
4 Cho số tự nhiên n (n<1000) a Số n có chữ số? b Tìm tổng chữ số n
c Tìm chữ số cuối chữ số đầu n
5 Qui tắc gọi năm, ngày, âm lịch sau: Âm lịch tính theo can chi Có 10 can Giáp, At, Bính, Đinh, Mậu, Kỷ, Canh, Tân, Nhâm, Q Có 12 chi Tí, Sửu, Dần, Mẹo, Thìn, Tỵ, Ngọ, Mùi, Thân, Dậu, Tuất, Hợi Cứ đơn vị thời gian trơi qua chuyển qua can chi theo thứ tự liệt kê Ví dụ năm 1968 năm Mậu Thân năm 1970 năm Kỷ Dậu Dương lịch gọi năm theo số nguyên năm (trước cơng ngun sau cơng ngun), khơng có năm Viết chương trình nhập năm dương lịch từ bàn phím, kết xuất hình tên năm âm lịch tương ứng (Dùng Case of)
6 Viết chương trình nhập 10 số ngun khơng âm từ bàn phím Xuất hình tổng số đó, số lớn nhất, số nhỏ nhất, số số chẵn,số số lẻ (Dùng vịng lặp For) Viết chương trình nhập 10 số ngun lớn 100 từ bàn phím, có kiểm tra liệu nhập (bắt buộc nhập lại vị trí nhập trước nhập sai) Xuất hình tổng số đó, số lớn nhất, số nhỏ nhất, số số chẵn,số số lẻ (Dùng vòng lặp For và Repeat)
8 Viết chương trình nhập vào số ngun từ bàn phím, có kiểm tra liệu nhập (bắt buộc nhập lại vị trí nhập trước nhập sai), chấm dứt nhập cách nhập số khơng Xuất hình tổng số đó, số lớn nhất, số nhỏ nhất, số số chẵn,số số lẻ (trừ số - Dùng vịng lặp While)
9 Viết chương trình kiểm tra, tìm số nguyên tố
10 Nhập vào số tự nhiên N >5 Biểu diễn N thành tổng số nguyên tố
11 Số N đựoc gọi số cộng phương N số phương tổng chữ số N số phương Viết chương trình tìm số cộng phương từ m đến n (m<n)
12 Viết chương trình nhập tính điểm trung bình mơn Tốn, Lý, Hố theo hệ số 2, 1, sau xếp loại sau:
a.Loại Giỏi : ĐTB >= 8.0 khơng có mơn 6,5 b.Loại Khá: 6.5=<ĐTB < 8.0 khơng có mơn
c. Loại Trung bình: 5.0 =<ĐTB < 6.5 khơng có mơn 3.5 d.Loại Yếu: Cịn lại
13.Viết chương trình nhập vào tháng, năm cho biết tháng có ngày? 14.Viết chương trình tạo mảng số nguyên gồm n phần tử nhỏ 1000 Sắp xếp
mảng theo tứ tự tăng dần giảm dần
15.Viết chương trình đọc số có chữ số nhập vào từ bàn phím?
16.Viết chương trình nhập xâu kí tự (chuỗi) S gồm chữ thường (không hoa) bảng mẫu tự Hãy lập xâu S1 nhận từ S cách xếp lại kí tự theo vần a, b, c Ví dụ: S=’xbaqp’ S1=’abpqx’
(3)Ví dụ: Sửa danh từ riêng bị nhập sai (TraN QuANG kHai àTran Quang Khai) 18.Viết chương trình in ngược từ xâu, từ in dòng xuất
ra số ký tự từ? (VD: Tran Quang Khai Khai : ký tự Quang : ký tự Tran : ký tự
19.Viết chương trình đổi số n < 4000 số La Mã ( L:50; C:100; D:500; M:1000 - vd:2364 MMCCDLXIV)
20 chương trình đổi số hệ thập phân sang số nhị phân ngược lại
21 Viết chương trình nhập kí tự từ bàn phím khơng cho ký tự lên mà dấu ‘*’ kiểu mật Hỏi có mật khơng có xuất mật vừa nhập
22.Viết chương trình điều chỉnh số ngun bị nhập sai từ bàn phím Sau cho biết số nhập sai số sửa người sử dụng yêu cầu
Ví dụ: số nhập sai là: 23hdj43jj, chương trình sửa lại là:2343
23.Viết chương trình nhập vào xâu S1 S2 in lý tự chung hai xâu? 24.Viết chương trình nhập vào xâu ký tự từ bàn phím Thơng báo lên hình
các chữ có xâu số lượng chúng (Không phân biệt chữ hoa hay chữ thường)
25.Trong phần mềm soạn thảo văn Microsoft Word có chức có thể biến đổi chuổi ký tự thành chữ đầu câu hoa, toàn chữ thường, toàn chữ hoa, chữ đầu từ hoa, chữ đầu từ thường chữ lại hoa Xem bàng bên Muốn làm việc ta chọn văn vào menu Fomat Change Case nháy chuột vào năm lựa chọn Em viết chương trình Pascal nhập vào xâu xuất menu lựa chọn công việc từ đến theo thứ tự (lựa chọn khơng làm cả)
26.Viết chương trình hiển thị tất số n ( 0<n<= 2.105) vừa đối xứng thập phân vừa đối xứng nhị phân
Thập phân Nhị phân Thập phân Nhị phân
1 313 100111001
3 11 585 1001001001
7 101 717 1011001101
9 1001 7447 1110100010111
33 100001 9009 10001100110001
99 1100011
27.Nhập vào xâu s (aàz), in ký tự xuất nhiều lần xâu số lần xuất hiện? Nếu có nhiều trường hợp in trường hợp Ví dụ:
Input Output
abcaabca a
bcbsaaba b
28 In từ dài xâu nhập từ bàn phím số ký tự từ này? Nếu có nhiều từ có độ dài in hết Ví dụ:
(4)Nguyen van truong truong
Truong thich hoc pascal Truong pascal
29 Viết chương trình đếm số ký tự chữ số xâu ký tự nhập vào từ bàn phím
30 Viết chương trình nhập xâu ký tự St từ bàn phím ký tự x In hình xâu kí tự St sau xóa hết ký tự x xâu
31 Cho mảng số nguyên gồm n phần tử Tìm dãy gồm m phần tử (m£n) cho dãy có tổng lớn (Dãy dãy phần tử liên tiếp mảng) Nhập n, nhập phần tử dãy, nhập m, in dãy có m phần tử
Input Output
8
4
8
32 Viết chương trình nhập vào số ngun từ bàn phím gặp số nguyên tố kết thúc nhập Tính tổng số chẵn trung bình cọng số lẻ 33 Viết chương trình nhập vào số ngun dương Hãy thơng báo lên hình số
đó có chữ số tổng chữ số số
34 Viết chương trình nhập vào dãy số ngun có n phần tử Đưa phần tử lẻ đầu dãy, phần tử chẵn cuối dãy, xếp phần tử lẻ theo thứ tứ tăng dần, xếp phần tử chẵn theo thứ tự giảm dần
35 Cho số tự nhiên N Thực liên tiếp phép biến đổi: Chuyển chữ số đầu xuống thành chữ số cuối cùng, ta số tự nhiên k yêu cầu Ghi hình số k lớn nhất, số k nhỏ nhỏ Ví dụ N=29105 Kết quả: lon nhat : 91052, nho nhat : 10529
36 Viết chương trình phân tích số thừa số nguyên tố Ví dụ: N=100 in hình:
100 | Hoặc 100 = 2.2.5.5
50 | 25 | | |
(5)38 Tính biểu thức sau với x số thực cho trước (x ¹ 0), yêu cầu kiểm tra điều kiện x
nhập vào từ bàn phím:
16
x2+256
x2
T=x2+
x2
+
x2+
x2+❑ ❑
39 Viết chương trình xuất số hoàn thiện, số đối xứng, số nguyên tố từ m đến n?
40 Viết chương trình nhập vào mảng A gồm n số nguyên nhập thêm vào số nguyên k Hãy kiểm tra xem phần tử k có mảng A hay khơng? Ở vị trí nào?
41 Tính tổng sau (với x thực nhập từ bàn phím): T=x −x
3 +
x5
5 −
x7
7 +
Chương trình dừng khi: −1¿
n x
2n+1 (2n+1) ¿<0,0001
¿ 42 Nhập vào mảng số nguyên
a/ Xếp lại mảng theo thứ tự giảm dần
b/ Nhập vào số ngun từ bàn phím Chèn số vào mảng cho mảng có thứ tự giảm dần (khơng xếp lại mảng)
43 Viết chương trình in số nguyên từ đến N2 theo hình xoắn ốc chiều kim đồng hồ (từ vào trong), với N nhập vào từ bàn phím Ví dụ, với N = ta có Hình
44 Viết chương trình in số nguyên từ đến N2 theo hình xoắn ốc chiều kim đồng hồ (từ ngoài), với N nhập vào từ bàn phím Ví dụ, với N = ta có Hình
45 Viết chương trình in số nguyên từ đến N2 cho tổng số mỗi hàng ngang, dọc, chéo nhau, với N lẻ nhập vào từ bàn phím Ví dụ, với N = ta có Hình (Tổng 65)
Hình 1
1
16 17 18 19 15 24 25 20 14 23 22 21 13 12 11 10
Hình
21 22 23 24 25
20 10
19 1 11
18 12
17 16 15 14 13
Hình 3
3 16 22 15
20 21 14
7 25 13 19
24 12 18
(6)46 Viết thủ tục để hoán đổi hai gía trị x,y cho
47 Viết thủ tục để tối giản phân số a/b , với a, b số nguyên 48 Nhập vào mảng số nguyên
a Xếp lại mảng theo thứ tự giảm dần
b Nhập vào số nguyên từ bàn phím Chèn số vào mảng cho mảng có thứ tự giảm dần (khơng xếp lại mảng)
49 Nhập vào hai số tự nhiên n m Hãy in chu kỳ phân số n/m Ví dụ: 1/7 có chu kỳ (142857), phân số hữu hạn chu kỳ
50 Cho hình chữ nhật ABCD có chiều dài AB a (cm), chiều rộng AD b (cm) với a, b số nguyên dương không vượt 10000 Một điểm M đoạn BC, điểm N đoạn CD cho độ dài (tính cm) đoạn BM, CN số nguyên không âm Yêu cầu:
Biết độ dài BM, tính diện tích hình chữ nhật ABCD diện tích tam giác MCN
2.Tìm giá trị lớn giá trị nhỏ diện tích tam giác AMN M, N thay đổi
D Một số đề thi:
Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2010-2011) Bài 1: (2,0đ)
a) Viết chương trình nhập vào số nguyên a, b b) In hình :
+ Các ước số chung a b + Ước số chung lớn a b Bài 2: (4,0đ)
Cho số tự nhiên N (0 < N <= 100) Hãy viết chương trình thực hiện:
a) Nhập số N, sau nhập N số nguyên từ bàn phím thứ tự số gọi số
b) Trong dãy số có số chẵn ? c) Số lớn nhât số dãy số ?
d) In tất số dãy theo thứ tự tăng dần Bài 3: (2đ)
Viết chương trình để giải tốn sau : Trăm trâu trăm cỏ
Trâu đứng ăn năm Trâu nằm ăn ba
Trâu già ba bó Hỏi có loại? Bài 4: (2đ)
(7)hoa hay chữ thường ( Ví dụ : nguyEn VaN bINh) In hình : a tên chữ in hoa ( Ví dụ : NGUYEN VAN BINH)
b tên có ký đầu tiếng chữ in hoa, ký tự cịn lại chữ thường ( ví dụ: Nguyen Van Binh )
-
-Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2011-2012) Bài 1: (5đ) ƯCLN - BCNN.
Viết chương trình nhập số tự nhiên m, n từ bàn phím, in hình: a) Tất ước chung m n
b) ƯCLN, BCNN m n
Ví dụ: Vớim = 12 n = 30 in kết : UC(12, 30) =1, 2, 3, UCLN(12, 30) = 6 BCNN(12, 30) = 60 Bài 2: (5đ) Lỗ hổng.
Ta gọi chữ số: 0, 4, 6, có lỗ hổng (có đường khép kín)
có lỗ hổng (có đường khép kín) 1, 2, 3, 5, có lỗ hổng (khơng có đường khép kín)
Viết chương trình nhập vào số tự nhiên n có khơng q 10 chữ số, in hình tổng số lỗ hổng chữ số n
Ví dụ: Với n = 34882997 in kết quả: Số 34882997 có lỗ hổng Bài 3: (5đ) Sắp xếp.
Viết chương trình nhập dãy gồm n số tự nhiên (n nhập từ bàn phím), xếp chúng theo thứ tự tăng dần in hình:
a) Dãy
b) Các khoảng cách hai số liền kề (hiệu hai số đó) Ví dụ: Với n = dãy số nhập vào là: 15, 26, 11, 27, 8 in kết quả: Dãy xếp là: 8, 11, 15, 26, 27 Các khoảng cách là: 3, 4, 11, 1 Bài 4:(5đ) Tính tích.
Viết chương trình nhập số tự nhiên m, n cho: < m < 10 (kiểm tra giá trị nhập) n có k chữ số (10 < k < 255) In hình kết tích m n
Ví dụ: với m =8 n= 12345678911 in kết quả: Tich la: 12345678911 = 98765431288
-
-Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2007-2008) Bài (3 đ):
Viết chương trình thực cơng việc sau:
+ Nhập dãy n số nguyên dương a1, a2, an (n số nhập từ bàn phím)
+ Tính tổng trung bình cộng n số vừa nhập
+ Tìm số lẻ lớn số chẵn nhỏ dãy Bài ( đ):
Bạn Tý có T đồng đem gởi ngân hàng với lãi suất tháng L % Sau tháng tiền lãi nhập vào để tính lãi suất tháng sau Hỏi sau N tháng, số tiền bạn Tý tăng lên đồng?
(8)Bài (2,5 đ):
Dãy số tự nhiên viết thành dãy vô hạn đường thẳng 1234567891011121314151617
Tìm chữ số vị trí thứ k dãy trên? Đó số nào?
Hãy viết chương trình để giải tốn với k số nhập từ bàn phím (k < 1000) Bài (2,5 đ):
Một số gọi đối xứng chữ số đối xứng qua tâm Ví dụ: 7, 55, 636, 52825
Cho số x = 561, số đối xứng lớn gần x 565 Cho số y = 7453, số đối xứng lớn gần y 7557
Hãy viết chương trình để nhập vào số nguyên dương x ( x< 1000000) xuất hình số đối xứng lớn gần x x
-
-Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2008-2009) Bài (2,0 đ):
Viết chương trình tính tổng số chẵn từ m đến n với m, n số nguyên nhập từ bàn phím
Bài (1,5 đ):
Nhập số nguyên x n Viết chương trình tính giá trị x lũy thừa n Bài (3,5 đ):
Nhập vào số n (5 ≤ n ≤ 20) dãy gồm n số tự nhiên (a1, a2, …, an; < < 100)
a m dãy vừa nhập số ak có GTNN số cịn lại dãy bội ak b Sắp xếp dãy theo giá trị tăng dần in sau xếp
Bài (3 đ):
Số siêu nguyên tố số bỏ môt số tùy ý chữ số bên phải phần cịn lại tạo thành số nguyên tố
Ví dụ: 3137 số siêu nguyên tố có chữ số 3137, 313, 31, số nguyên tố
Hãy viết chương trình để nhập số nguyên n (0< n < 10) in hình tất số siêu nguyên tố có n chữ số
-
-Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2009-2010) Bài 1: (2,5đ) Ước số.
Viết chương trình để nhập từ bàn phím số tự nhiên x, y in hình: a/ Tất ước số x y
b/ Tất ước chung x y
Ví dụ: Vớix = 4, y = in kết : U(4) =1, 2, U(6) = 1, 2, 3, 6 UC(6, 8) = 1, 2 Bài 2: (1,5đ) Giai thừa.
Giai thừa số n (kí hiệu n!) tích số tự nhiên từ đến n (n!=1.2.3…n qui ước 0!=1) Viết chương trình tính n! với n số tự nhiên nhập từ bàn phím (n<10)
(9)Bài 3: (3đ) Số nhỏ hơn.
Viết chương trình để nhập dãy n số tự nhiên a1, a2, an (với n nhập từ bàn phím) in dãy n số tự nhiên b1, b2, , bn ; bk số lượng số đứng trước số ak nhỏ ak
Ví dụ: với n =7 số nhập là: ; ; ; ; ; ; in kết là: ; ; ; ; ; ; Bài 4:(3đ) Ước nhiều nhất.
Viết chương trình để nhập số tự nhiên n từ bàn phím in hình số có nhiều ước số từ đến n số ước nó.
Ví dụ: Với n = 14 in kết quả:
Số có nhiều ước từ đến 14 12, có ước -
-Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2010-2011) Bài 1: (2,5đ) Số chữ số.
Viết chương trình nhập số nguyên dương n từ bàn phím, in hình: + Các ước n
+ n có chữ số? + Tổng chữ số n?
+ Chữ số hàng lớn n
Ví dụ: Vớin = 24 in kết quả: + Các ước 24 là: 1, 2, 4, 6, 8, 12, 24 + Số 24 có chữ số
+ Tổng chữ số 24 6
+ Chữ số hàng lớn 24 2 Bài 2: (1,5đ) Tuổi cha con.
Viết chương trình nhập số tuổi cha nay, tính in hình số năm (trước hay sau so với nay) mà tuổi cha gấp đơi tuổi
Ví dụ: Tuổi cha 27, tuổi 2, in kết quả: Sau 23 nam
Tuổi cha 55, tuổi 30, in kết quả: Truoc day nam Bài 3: (3đ) Số nguyên tố.
Viết chương trình nhập số nguyên dương n (1 £ n £ 1000) từ bàn phím, in hình:
+ Các số nguyên tố nhỏ n
+ Các số nguyên tố nhỏ n có tổng chữ số số nguyên tố Ví dụ: Với n =25, in kết quả:
+ Cac so nguyen to nho hon n la: 2, 3, 5, 7, 11, 13, 17, 19, 23
+ Cac so nguyen to nho hon n co tong cac chu so la so nguyen to la: 2, 3, 5, 7, 23
Bài 4:(3đ) Đồ bền.
Độ bền số nguyên không âm n định nghĩa sau: - Nếu N có chữ số độ bền n
- Nếu N có từ chữ số trở lên độ bền n độ bền số nguyên tích chữ số n cộng
(10)Ví dụ: Với n = 100 in kết quả: So be hon 100 co ben lon nhat la: 77 Giải thích:
Doben(77)=Doben(49)+1=Doben(36)+1+1=Doben(18)+1+1+1 = Doben(8)+1+1+1+1=0+1+1+1+1=4
-
-Đề thi HSG lớp - Phòng GD&ĐT Đại Lộc (Năm học 2011-2012) Bài (3,5 đ):
Viết chương trình nhập số ngun n từ bàn phím (n < 100), in hình tổng ước số số lượng ước n
Bài (3,5 đ):
Viết chương trình nhập n số nguyên từ bàn phím (n < 1000), in hình tổng số nguyên lẻ dãy số sau xếp tăng dần
Bài (4 đ):
Viết chương trình nhập số nguyên n từ bàn phím (n < 10000), in hình bảng phân tích số n thừa số nguyên tố dạng bảng phân tích tích thừa số nguyên tố
Ví dụ: Với n = 100 in 100 |
50 | 25 | | | 100 = 2.2.5.5 E Tài liệu tham khảo:
Giáo trình Pascal
Bài tập Pascal (Tập 1, 2, 3) - Bùi Việt Hà - NXBGD Bài tập Pascal (Tập 1, 2) - Nguyễn Quý Khang - NXBGD Bài tập Tin học chọn lọc - Hoàng Kiếm - NXBGD
Một số vấn đề chọn lọc môn Tin học (Tập 1, 2) - Nguyễn Xuân My - NXBGD
CÁC HÀM XỬ LÍ TRONG PASCAL:
A/ Các hàm xử lí số:
(11)7/ EXP(n): Trả e mũ n (VD: n = EXP(n) = e2)
8/ TRUNC(n): Trả phần nguyên n (n Ỵ Q).(VD: n = 3,24 TRUNC(n) = 3) 9/ FRAC(n): Trả phần thập phân n (VD: n = 3,24 FRAC(n) = 24)
10/ INT(n): Trả phần ngun n (n Ỵ R) (VD: n = 2/3 INT(n) = 1)
11/ ROUND(n): Làm tròn số n cho số nguyên gần n (VD: n = 3,52 à ROUND(n)=
12/ ODD(n): Cho giá trị TRUE n số lẻ (VD: n = 23, m = 24 ODD(n) = TRUE, ODD(m) = FALSE)
13/ INC(n): Tăng n thêm đơn vị (n:=n+1) (VD: n = INC(n) = hoặc INC(n,4) = 9)
14/ DEC(n): Giảm n đơn vị (n:=n-1) (VD:n=5àDEC(n)=4 DEC(n,3)= 2)
B/ Các hàm xử lí xâu:
1/ INSERT(S1,S2,vt): Chèn xâu S1 vào xâu S2 vị trí vt VD: S = ‘Song Hong’ Insert(S, 5, ‘12’) = ‘Song12 Hong’ 2/ DELETE(S,vt,n): Xố n kí tự xâu S vị trí vt VD: S = ‘Song Hong’ Delete(S, 1, 5) = ‘Hong’ 3/ UPCASE(ch): Chuyển kí tự ch thành chữ hoa
VD: Ch = ‘a’à UPCase(ch) = ‘A’
4/ POS(S1,S2):Cho vị trí xuất xâu S1 xâu S2 VD: S1= ‘n’; S2 = ‘Song Hong’ àPos(S1, S2) =
5/ LENGTH(S):Cho giá trị độ dài xâu S VD: S = ‘Song Hong’ àLength(S) =
6/ COPY(S,vt,n): Tạo xâu gồm n kí tự vị trí vt xâu S VD: S = ‘Song Hong’ Copy(S, 6, 3)= ‘Hon’
7/ CONCAT(S1,S2): Nối chuỗi S1 S2
VD: S1 = ‘Song’; S2 = ‘Hong’ àCONCAT(S1,S2)=“SongHong’ S = S1 + S2 8/ VAL(ch, so, code): Đổi chuỗi (ch) sang dạng số (so)
VD: ch = ‘1234’ VAL(ch,so,code) = 1234 (khi code = 0) ch = ‘12a4’ VAL(ch,so,code) bị lỗi (khi code = 3) 9/ STR(so,S): Đổi giá trị số (so) sang dạng chuỗi (S)
VD: so = 1234 STR(so, S) = ‘1234’
C/ Các hàm xử lí kí tự:
1/ ORD(ch): Trả số thứ tự bảng mã ASCII ký tự ch. VD: ch = ‘A’ ORD(ch)=65
2/ CHR(n): Trả ký tự tương ứng bảng mã ASCII. VD: n = 65 CHR(n) = ‘A’
3/ PRED(ch): cho ký tự đứng trước ký tự ch VD: ch = ‘B’ PRED(ch) = ‘A’. 4/ SUCC(ch): cho ký tự đứng sau ký tự ch VD: ch = ‘A’ SUCC(ch) = ‘B’. Bảng mã ASCII:
Mã Kí tự Mã Kí tự Mã Kí tự Mã Kí tự
0 NUI 32 SPACE 64 @ 96 .
1 SOH 33 ! 65 A 97 a
2 STX 34 66 B 98 b
3 ETX 35 # 67 C 99 c
(12)5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 ’ 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 ≠ 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DC1 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V uploa
d.123 doc.n
et
W
23 ETB 55 7 87 W 119 v
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 ] 123 {
28 FS 60 < 92 \ 124 |
29 GS 61 = 93 [ 125 }
30 RS 62 > 94 ^ 126 ~
31 US 63 ? 95 _ 127 DEL
MỘT SỐ LỖI CÚ PHÁP THƯỜNG GẶP CỦA PASCAL
1.Lỗi cú pháp: Là lỗi phát sinh lập trình viên viết sai quy định văn phạm hệ thống ngôn ngữ
2.Xử lý lỗi : Lỗi cú pháp phát trình dịch Turbo Pascal báo lỗi
cú pháp theo nguyên tắc "Mỗi lần báo lỗi" Nếu gặp lỗi, ta cần trở chế độ soạn thảo, tìm vị trí xuất lỗi, sửa lại lỗi dịch lại chương trình
3.Các thơng báo lỗi thường gặp gợi ý khắc phục :
Lỗi 2: Identifier expected: Mong gặp định danh (có thể chưa khai báo biến, hằng…)
(13)Lỗi 5: Syntax error: Lỗi cú pháp Gặp ký tự sai viết sai Lỗi 6: Error in real constant: Viết sai thực
Lỗi 7: Error in integer constant: Viết sai nguyên
Lỗi 8: String constant exceeds line: Giá trị xâu ký tự dài, xem lại có thiếu dấu đóng/mở (dấu nháy đơn) văn không?
Lỗi 10: Unexpected end of file: Cần gặp dấu kết tệp Lỗi 10 xuất trường hợp sau:
+ Trong chương trình cặp BIGIN END không cân đối + Tệp khác gọi lồng vị trí khơng hợp lệ
+ Chú thích chưa đóng dấu } * )
Lỗi 11: Line too long: Dòng dài Bộ soạn thảo cho phép phát sinh dòng dài tối đa 249 ký tự khi chương trình dịch làm việc với dòng dài tối đa 126 ký tự
Lời khuyên: Không nên viết dòng dài 60 ký tự Lỗi 12: Type identifier expected: Cần có định danh kiểu
Lỗi 20: Variable identifier expected: Cần định danh cho biến
Lỗi 25: Invalid string length: Chiều dài xâu không hợp lệ Chiều dài hợp lệ nằm khoảng 255
Lỗi 26: TYPE mismatch: Kiểu khơng tương thích Các ngun nhân sinh lỗi biểu thức gán cho biến không kiểu
Lỗi 29: Ordinal type expected: Cần kiểu thức bậc Trong trường hợp không dùng kiểu Real, string, Record, PROCEDURE pointer
Lỗi 30: Integer constant expected: Cần nguyên Lỗi 31: Constant expected: Cần
Lỗi 33: Type identifier expected: Cần định danh kiểu Lỗi 36: BEGIN expected: Thiếu BEGIN
Lỗi 37: END expected: Thiếu END
Lỗi 38: Integer expression expexted: Cần biểu thức nguyên Lỗi 39: Ordinal expression expected: Cần biểu thức thứ bậc
Lỗi 40: Boolean expression expected: Cần biểu thức kiểu BOOLEAN
Lỗi 41: Operand types not match operator: Kiểu tốn hạng khơng phù hợp với tốn tử
Lỗi 42: Error in expression: Biểu thức sai Thường gặp trường hợp sử dụng ký tự lạ quên viết dấu phép toán biểu thức
Lỗi 43: Illegal assigment: Gán không hợp lệ Không gán trị cho biến tệp biến không định kiểu Không gán trị cho định danh hàm thân hàm
Lỗi 44: Field identifier expected: Cần định danh thường Lỗi phát sinh sử dụng ghi (RECORD) khơng có trường hợp kèm
(14)Lỗi 58: TO or DOWN TO expected: Thiếu To DOWN TO FOR Lỗi 66: String variable expected: Cần biến string
Lỗi 67: String expression expected; Cần biểu thức string
Lỗi 74: Constant and case types not match: Kiểu kiểu biểu thức CASE không phù hợp với
Lỗi 75: Record variable expected: Cần biến kiểu RECORD
Lỗi 76: Constant out of range: Hằng vượt q miền Lỗi gặp tình sau:
- Chỉ dẫn mảng vượt giới hạn mảng
- Gọi thủ tục hàm với tham trị cụ thể vượt giới hạn khai báo Lỗi 79: Integer or Real expssion expected: Cần biểu thức kiểu INTEGER
REAL
Lỗi 85: ";" expected: Cần có dấu chấm phẩy Lỗi 86: ": " expected: Cần có dấu hai chấm Lỗi 87: " , " expected: Cần có dấu phảy
Lỗi 88: " ( " expected: Cần có dấu mở ngoặc đơn Lỗi 89: " ) " expected: Cần có dấu đóng ngoặc đơn Lỗi 99: " = " expected: Cần có dấu
Lỗi 91: ":= "expected: Cần dấu gán
Lỗi 92: " [ " or " ( " expected: Cần mở dấu ngoặc vuông khai báo định phần tử mảng, tập
Lỗi 93: " ] " or " ) " expected: Cần dấu đóng ngoặc vng khai báo định phần tử mảng tập
Lỗi 94: " " expected: Cần dấu chấm định trường ghi Lỗi 95: " " expected: Cần dấu nhiều chấm liệt kê giới hạn mảng, tập Lỗi 98: Integer variable expected: Cần biến nguyên
Lỗi 100: String length, mismatch: Chiều dài xâu không phù hợp với số lượng phần tử mảng ký tự
Lỗi 102: String constant expected: Cần kiểu xu
Lỗi 103: Integer or real variable expected: Cần biến nguyên thực (biến số) Lỗi 104: Ordinal variable expected: Cần biến (kiểu) thứ tự
Lỗi 106: Character expressionexpected: Cần biểu thức kiểu ký tự
Lỗi 112: CASE constant out of range: Hằng tốn tử CASE khơng nằm giới hạn
Lỗi 113: Error in statement: Câu lệnh sai Lỗi không sảy viết sai kí tự câu lệnh