Trong Pascal có những phép so sánh xâu nào

3. Luyện tập Bài 3 Tin học 8

Sau khi học xong bài Bài 3: Chương trình máy tính và dữ liệu, các em cần nắm vững các nội dung trọng tâm:

  • Dữ liệu và kiểu dữ liệu
  • Các phép toán với dữ liệu kiểu số
  • Các phép so sánh
  • Sự giao tiếp giữa người và máy tính

3.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Bài 3 cực hay có đáp án và lời giải chi tiết. 

Câu 4- 10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

3.2. Bài tập SGK

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Bài 3 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Bài tập 1 trang 26 SGK Tin học 8

Bài tập 2 trang 26 SGK Tin học 8

Bài tập 3 trang 26 SGK Tin học 8

Bài tập 4 trang 26 SGK Tin học 8

Bài tập 5 trang 26 SGK Tin học 8

Bài tập 6 trang 26 SGK Tin học 8

Bài tập 7 trang 26 SGK Tin học 8

4. Hỏi đáp Bài 3 Tin học 8

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

Để xử lý văn bản, Pascal đưa ra một kiểu dữ liệu mới gọi là chuỗi hoặc xâu ký tự và được định nghĩa bằng từ khóa String. Xâu ký tự là dữ liệu bao gồm một dãy các ký tự trong bảng mã ASCII.

Khai báo:

Var : String[<Độ dài tối đa>];

Với cách khai báo này, độ dài của xâu được quy định bởi <Độ dài tối đa>. <Độ dài tối đa> nhận các giá trị nguyên trong đoạn 1..255. Trên bộ nhớ, byte đầu tiên chứa số ký tự hiện có của xâu, các byte sau ghi giá trị của từng kí tự trong xâu. Độ dài tối đa của xâu ký tự là 255. Kiểu String có thể chiếm tối đa 256 byte bộ nhớ. Ngoài ra còn có cách khai báo xâu ngắn gọn hơn như sau:

Với cách khai báo này, Pascal tự hiểu là độ dài tối đa có giá trị là 255.

Nhập/xuất

Cách đọc hay viết kiểu String cũng tương tự như các kiểu dữ liệu khác, ta sử dụng các thủ tục Read / Readln, hoặc Write / Writeln.

Ví dụ:

Program exString; Var greetings : String; name : String[30]; organisation : String[10]; message : String[100]; Begin greetings := 'Hello '; message := 'Good Day!'; Writeln('Please Enter your Name'); Readln(name); Writeln('Please Enter the name of your Organisation'); Readln(organisation); Writeln(greetings, name, ' from ', organisation); Writeln(message); End.

Sau khi đoạn code trên được biên dịch và thực thi thì sẽ cho ra kết quả nhau sau:

Please Enter your Name John Smith Please Enter the name of your Organisation Infotech

Hello John Smith from Infotech

Truy xuất

Xâu kí tự có thể được xem như mảng 1 chiều các phần tử có kiểu dữ liệu là Char. Truy cập từng phần tử của xâu ký tự tương tự mảng 1 chiều:

Ví dụ:

St := 'Lê Hoàn Chân'; Write(st[4]);

Kết quả sẽ là: H.

Các thao tác trên xâu ký tự

Xâu kí tự được sử dụng rất nhiều nên Pascal xây dựng một hệ thống các lệnh để xử lý xâu như sau:

Phép ghép xâu:

Để nối các xâu lại với nhau, Pascal sử dụng toán tử là dấu cộng + như sau:

st1 := 'Lê'; st2 := 'Hoàn Chân'; St := st1 + ' ' + st2;

Kết quả sẽ là: St = ‘Lê Hoàn Chân’

Phép so sánh:

Các phép so sánh (=, >=, <=, >, <) có thứ tự ưu tiên thực hiện thấp hơn phép ghép xâu. Ví dụ:

If 'ab' + 'c' = 'abc' Then …

Phép ghép xâu sẽ được thực hiện trước rồi mới đem giá trị đó đem so sánh.

Các quy tắc so sánh:

  • Hai xâu bằng nhau nếu giống nhau hoàn toàn.
  • Xâu A lớn hơn xâu B nếu ký tự đầu tiên khác nhau của xâu A có mã ASCII lớn hơn.
  • Nếu A và B là 2 xâu có độ dài khác nhau và xâu A là đoạn đầu của xâu B thì xâu A < xâu B

Ví dụ có các xâu như sau:

a := 'Asus U80V'; b := 'Asus U85V'; c := 'Sony VAIO SVF15'; d := 'Sony VAIO'; e := 'Sony VAIO Svf15'; f := 'Lenovo G80'; g := 'LenovoG850';

Thì ta có:

e > c > d > g > f > b > a

Các thủ tục và hàm chuẩn xử lý xâu ký tự

Ý nghĩa: Cho độ dài thực của xâu ký tự
Ví dụ:

st:='Hoàn Chân'; Writeln(Length(st));

Kết quả: 9

Ý nghĩa: Xóa num ký tự trong xâu st kể từ vị trí pos
Ví dụ:

st:= 'FILENAME'; Delete(st,5,4); Writeln(st);

Kết quả: FILE

Ý nghĩa: Thủ tục cho kết quả bằng cách chèn xâu ký tự có tên là Obj vào xâu st tại vị trí pos, những ký tự đứng sau pos sẽ được dời về phía sau của xâu ký tự obj
Ví dụ:

obj:= 'Hoàn '; st:= 'Lê Chân'; Insert(obj, st, 4); Writeln(st);

Kết quả: Lê Hoàn Chân

Ý nghĩa: Chuyển đối giá trị kiểu số(value) sang dạng xâu ký tự và gán cho biến st.
Ví dụ:

n := 150; Str(n:5, st); Writeln(st);

Kết quả: ` 150`

Ý nghĩa: Đối một xâu ký tự st sang dạng số và gán cho biến value, nếu biến đối thành công thì code sẽ nhận giá trị bằng 0. ngược lại thì cho giá trị khác không
Ví dụ:

Val('123', value, code); Writeln(value, ' - ', code);

Kết quả: 123 - 0

Ý nghĩa: Sao chép trong xâu st, num ký tự tại vị trí pos
Ví dụ:

st := 'Lê Hoàn Chân'; Writeln('Result =', Copy(st, 3, 4));

Kết quả: Result = Hoàn

Ý nghĩa: Hàm cho ra 1 xâu mới bằng cách nối đuôi các xâu s1,s2,…,sn lại với nhau.
Ví dụ:

a := 'Lê'; b := ' Hoàn '; Writeln(Concat(a, b, 'Chân'));

Kết quả: Lê Hoàn Chân

Ý nghĩa: Hàm cho ta vị trí tìm thấy đầu tiên của xâu s1 trong xâu s2.
Ví dụ:

a := Pos('Chân', 'Lê Hoàn Chân'); Writeln('Position = ', a);

Kết quả: Position = 8

Ý nghĩa: Đổi Ký tự thành “KÝ TỰ” in hoa

Truy xuất từng ký tự trong chuỗi

Có thể kết hợp dùng vòng lặp truy xuất các ký tự trong chuỗi.

Ví dụ: In ra các ký tự của chuỗi st[i] ra màn hình theo từng dòng

st:='PASCAL'; for i:=1 to 6 do writeln(st[i]);

Hãy xác định kết quả của các phép so sánh sau đây:

a. 15 – 8 ≥ 3

b. (20 – 15)2 ≠ 25

c. 112 = 121

d. x > 10 – 3x

Viết các biểu thức bằng các kí hiệu pascal

Quảng cáo - Advertisements

Để quản lí và tăng hiệu quả xử lí, các ngôn ngữ lập trình thường phân chia dữ liệu thành thành các kiểu khác nhau

Một số kiểu dữ liệu thường dùng:

Trong Pascal có những phép so sánh xâu nào

Ví dụ:Chao cac ban; 5324Trong pascal, để cho chương trình dịch hiểu dãy chữ số là kiểu xâu. Ta phải đặt dãy chữ số đó trong cặp dấu nháy đơn

1.2. Các phép toán với dữ liệu kiểu số

Kí hiệu của các phép toán số học trong Pascal:

Các phép toán trong ngoặc được thực hiện trước tiênQuy tắc tính các biểu thức số học trong ngôn ngữ Pascal:

  • Trong dãy các phép toán không có dấu ngoặc, các phép nhân, phép chia lấy phần nguyên (div) và phép chia lấy phần dư (mod) được thực hiện trước

  • Phép cộng và phép trừ được thực hiện theo thứ tự từ trái sang phải

  • Trong ngôn ngữ lập trình chỉ được sử dụng dấu ngoặc tròn

1.3. Các phép so sánh

Ngoài phép toán số học, ta thường so sánh các số:

  • Kết quả của phép so sánh chỉ có thể làĐÚNGhoặcSAI

  • Khi viết chương trình, để so sánh dữ liệu (số, biểu thức,..)ta phải sử dụng các kí hiệu do ngôn ngữ lập trình quy định

  • Trong ngôn ngữ Pascal:

1.4. Giao tiếp người máy tính

  • Là quá trìnhtrao đổi dữ liệu hai chiềugiữa con người và máy tính khi thực hiện chương trình

  • Con người:thực hiện kiểm tra, điều chỉnh, bổ sung

  • Máy tính:đưa thông báo, kết quả, gợi ý,

  • Tương tác giữa người máylà do người lập trình tạo ra và thường thực hiện nhờ các thiết bị chuột, bàn phím, màn hình

a. Thông báo kết quả tính toán

Thông báo kết quả tính toán là yêu cầu đầu tiên đối với mọi chương trình

Ví dụ 1:

b. Nhập dữ liệu

  • Một trong những tương tác thường gặp là chương trìnhyêu cầu nhập dữ liệu

  • Chương trình sẽ tạm ngừng để chờ người dùng nhập dữ liệu từ bàn phím

  • Chương trình hoạt động tiếp theo tùy thuộc vào dữ liệu được nhập vào

Ví dụ 2:

c. Tạm dừng chương trình

Ví dụ 3:

Ví dụ 4:

d. Hộp thoại

Hộp thoại được sử dụng như một công cụ cho việc giao tiếp người máy tính trong khi chạy chương trình.

Ví dụ 5:Hộp thoại sau có thể xuất hiện khi người dùng thực hiện thao tác kết thúc chương trình:

2. Bài tập minh họa

Câu 1:Cho bài toán sau:

Biết bán kính của hình tròn là một số chẵn R. Tính chu vi (CV) và diện tích (S) của hình tròn

Emhãy lựa chọn kiểu dữ liệu thích hợp trong Pascal cho R, CV và S?

Gợi ý trả lời:

  • R:kiểu integer;

  • CV, S:kiểu real;

Câu 2

Em hãy viết biểu thức số học trong Pascal tương ứng với cácbiểu thức số học trong Toán học ở trong bảng dưới đây:

a. 7 chia 2 bằng 3 dư 1

Thực hiện các phép tính sau bằng các phép toán Pascal:

b. 17 chia 5 bằng 3 dư 2

Gợi ý trả lời:

a. 7 div 2 = 3; và7 mod 2 = 1;

b. 17 div 5 = 3; và17 mod 5 = 2;

3. Luyện tập

3.1. Bài tập tự luận

Câu 1: Dãy chữ số 2020 có thể thuộc những kiểu dữ liệu nào?

Câu 2: Viết biểu thức toán\(\frac{3}{m} \frac{n}{7}\left( {n + 5} \right)\) bằng các kí hiệu trong Pascal.

Câu 3: Chuyển các biểu thức được viết trong Pascal sau đây thành các biểu thức toán

a) (a\b)^n

b) (a+b)^3

3.2. Bài tập trắc nghiệm

Câu 1:Bốn bạn A,B,C,D đưa ra kết quả của các phép chia hai số nguyên 14 và 5. Hãy chọn kết quả đúng:

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

Câu 2:Các phép toán viết bằng ngôn ngữ lập trình Pascal dưới đây thì phép toán 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)

Câu 3:Chọn phép toán saitrong các phép toán viết bằng ngôn ngữ lập trình Pascal dưới đây:

A.\(x\geq(m+5)/(2*a)\)

B.\(x>=(m+5)/(2*a)\)

C.\(x>=(m+5)/2*a\)

D.Tất cả các phép toán trên

Câu 4:Trong Pascal khai báo nào sau đây là đúng?

A.var tb: real;

B.4hs: integer;

C.Const x: real;

D.Var r =30;

Câu 5:Kiểu số nguyên có phạm vi giá trị từ..

A.0 đến 127

B. 215đến 215 1

C.0 đến 255

D.-100000 đến 100000

Câu 6:Biểu thức toán học \(\frac{1}{b+2}(a^{2}+c)\)viết bằng kí hiệu trong ngôn ngữ Pascal là :

A.1/b+2(a*a+2)

B.(1/b)+2(a*a+2)

C.1/(b+2)*(a*a+2)
D.1/(b+2)*(a2+2)

Câu 7:Câu lệnh Writeln(15*4-30+12=,15*4-30+12) in ra màn hình kết quả gì?

A.15*4-30+12

B.42

C.15*4-30+12=42

D.=42

Câu 8:

Ngôn ngữ lập trình Pascal qui định tên các kiểu dữ liệu:

A.Số nguyên, số thực, kí tự, xâu

B.Integer, Real, Char, String

C.Interger, Read, Char, String

D.Các số, kí tự có trên bàn phím

Câu 9: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

Câu 10:Bạn An muốn in ra kí tự @, An viết câu lệnh đúng là:

A.Writeln(Ki tu An muon in la: ;@);

B.Writeln(Ki tu An muon in la: ,@);

C.Writeln(Ki tu An muon in la: ,@);

D.Writeln(Ki tu An muon in la: ,@);

4. Kết luận

Sau khi học xong bàiBài 3: Chương trình máy tính và dữ liệu, các em cần nắm vững cácnội dung trọng tâm:

  • Dữ liệu và kiểu dữ liệu

  • Các phép toán với dữ liệu kiểu số

  • Các phép so sánh

  • Sự giao tiếp giữa người và máy tính