Trong nnlt Pascal, cách khai báo xâu ký tự nào sau đây là đúng

Cấu trúc khai báo kiểu xâu

Var < biến xâu> : string [độ dài lớn nhất của xâu];

Trong đó: Biến xâu được đặt theo quy tắc đặt tên trong Pascal.

Độ dài xâu có thể có hoặc không, độ dài lớn nhất không quá 255 kí tự.

Đáp án: C

Cấu trúc khai báo kiểu xâu

Var < biến xâu> : string [độ dài lớn nhất của xâu];

Trong đó: Biến xâu được đặt theo quy tắc đặt tên trong Pascal.

Độ dài xâu có thể có hoặc không, độ dài lớn nhất không quá 255 kí tự.

Đáp án: C

Xâu ký tự trong bộ nhớ nó chiếm số byte bằng số ký tự cực đại được khai báo cộng với byte đầu tiên chứa số ký tự hiện có của xâu. Độ dài tối đa của xâu ký tự là 255.

- Cách 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, hoặc WRITE.
Ví dụ:
Readln(st);
Writeln(st);

- Truy cập từng phần tử của xâu ký tự: tương tự mảng 1 chiều: thông qua tên biến kiểu STRING và chỉ số của nó
Ví dụ:
St := 'Le Thanh Lam';
write(st[4]);
-> Kết quả: cho ra chữ T.

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

1/ Phép cộng xâu:
Ví dụ:

st1:=’Le’; st2:=’Thanh’; St=st1 + st2; 

-> KQ: ‘Le Thanh’

2/ Phép so sánh: 
Hai xâu ký tự có thể so sánh với nhau bằng các phép so sánh =, >, <…
Nguyên tắc so sánh thực hiện như sau, chúng sẽ đem từng ký tự tương ứng với nhau để so sánh, xâu nào có ký tự có số thứ tự trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn.
Hai xâu ký tự được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độ dài như nhau).
Ví dụ: ‘FILENAME’ = ’FILENAME ‘

3/ Các thủ tục và hàm chuẩn xử lý xâu ký tự
a. Hàm length(st): cho độ dài thực của xâu ký tự
ví dụ: st:=’le thanh’ thì LENGTH(st) cho bằng 8.

b/ Thủ tục DELETE(st, pos, num): xóa num ký tự trong xâu st kể từ vị trí pos
Ví dụ: st= ‘FILENAME’
Delete(st,5,4) lúc đó st cho ra là ‘FILE’

c/ Thủ tục INSERT(obj, st, pos): 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:= ‘Thanh ‘
st:=’Le Lam’;
INSERT(obj,st,4) lúc đó st=’Le Thanh Lam’;

d/ Thủ tục STR(value, st): Thủ tục này thực hiện việc 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 là một só nguyên có giá trị: n:=150;
STR(n:5,st) sẽ cho kết quả xâu st là: st=’ 150’;

e/ Thủ tục VAL(st, value,code) đố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) lúc này code sẽ nhận giá trị bằng 0 và value=123

f/ Hàm COPY(st, pos, num): sao chép trong xâu st, num ký tự tại vị trí pos,
Ví dụ: st=’Le Thanh Lam’
COPY(st,4,5) = ‘Thanh’;

g/ Hàm CONCAT(s1,s2,…,sn): 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ụ: CONCAT(‘Le ’,’Thanh ‘, ‘Lam’) = ‘Le Thanh Lam’;

h/ Hàm POS(st1,st2): hàm cho tavị trí tìm thấy đầu tiên của xâu s1 trong xâu s2.
Ví dụ: POS(‘Lam’,‘Le Thanh Lam’) = 10;

i/ Hàm Length(st): cho kết quả là một số nguyên chỉ chiều dài của chuỗi st.

ví dụ: lenght('PASCAL') --> 6

j/ Hàm UPCASE(Ký_tự)--> Đổi Ký_tự thành "KÝ_TỰ" in hoa

4. 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

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

  • Câu hỏi:

    Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu kí tự ?

    • A. Var S : string;
    • B. Var X1 : string[100];
    • C. Var S : string[256];
    • D. Var X1 : string[1];

    Lời giải tham khảo:

    Đáp án đúng: C

    Cấu trúc khai báo kiểu xâu

    Var : string [độ dài lớn nhất của xâu];

    Trong đó: Biến xâu được đặt theo quy tắc đặt tên trong Pascal.

    Độ dài xâu có thể có hoặc không, độ dài lớn nhất không quá 255 kí tự.

    Hãy suy nghĩ và trả lời câu hỏi trước khi HOC247 cung cấp đáp án và lời giải

    ADSENSE

Mã câu hỏi: 330032

Loại bài: Bài tập

Chủ đề :

Môn học:

Câu hỏi này thuộc đề thi trắc nghiệm dưới đây, bấm vào Bắt đầu thi để làm toàn bài

  • Đề thi HK1 môn Tin học 11 năm 2021-2022 Trường THPT Thanh Đa

    40 câu hỏi | 45 phút

    Bắt đầu thi

 

 

Trong nnlt Pascal, cách khai báo xâu ký tự nào sau đây là đúng

 

CÂU HỎI KHÁC

  • Phát biểu sau đây về chức năng của kiểu bản ghi là phù hợp nhất?
  • Phát biểu nào sau đây về bản ghi không phù hợp?
  • Cho biến bản ghi sinh_vien gồm trường ho_ten, ngay_sinh. Biểu thức nào truy cập đến trường ho_ten của bản ghi này?
  • Phát biểu nào dưới đây là đúng khi nói kiểu bản ghi?
  • Trong ngôn ngữ lập trình Pascal, có thể gán giá trị cho bản ghi bằng cách?
  • Trong ngôn ngữ lập trình Pascal, để khai báo kiểu bản ghi để xử lý danh sách cán bộ của một cơ quan, khai báo kiểu bản ghi nào trong các khai báo sau là đúng? (Bản ghi có cấu trúc gồm 5 trường: Họ tên, năm sinh, địa chỉ, mức lương, phụ cấp)
  • Câu lệnh nào trong các câu lệnh sau không để gán giá trị cho trường của bản ghi A? (với bản ghi A có 3 trường là
  • Trong kiểu dữ liệu bản ghi, mỗi bản ghi thường được dùng để?
  • Mảng là kiểu dữ liệu biểu diễn một dãy phần tử thuận tiện cho:
  • Khai báo mảng hai chiều nào sau đây sai?
  • Cho khai báo mảng như: Var a : array[0..10] of integer ;Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?
  • Cho khai báo mảng và đoạn chương trình sau:Var a : array[0..
  • Phương án nào dưới đây khai báo mảng hợp lệ?
  • Phát biểu nào sau đây về mảng không chính xác?
  • Để khai báo số phần tử của mảng trong Pascal, người lập trình cần gì?
  • Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
  • Cho khai báo sau: Var hoten : String; Phát biểu dưới đây đúng ?
  • Hãy chọn phương án ghép đúng nhất. Thủ tục Insert(S1,S2,vt) thực hiện:
  • Đoạn chương trình sau in ra kết quả?Program Welcome ;Var a : string[10];Begina := ‘tinhoc ’;writeln(length(a));End.
  • Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ? for i := length(str) downto 1 do write(str[i]) ;
  • Trong ngôn ngữ lập trình Pascal, khai báo trong các khai báo sau là sai khi khai báo xâu kí tự ?
  • Trong ngôn ngữ lập trình Pascal, sau chương trình thực hiện xong đoạn chương trình sau, giá trị của biến S là ?S := �
  • Chương trình dịch Pascal sẽ cấp phát nhiêu byte bộ nhớ cho các biến trong khai báo sau?VARM, N, P : Integer;A, B: Real;
  • Biến x nhận giá trị nguyên đoạn [-300 ; 300], kiểu dữ liệu sau đây là phù hợp nhất để khai báo biến x?
  • Biến X nhận giá trị 0.7. Khai báo nào sau đây đúng?
  • Biến X có thể nhận các giá trị 1; 100; 150; 200 biến Y có thể nhận các giá trị 1; 0.2; 0.3; 10.99.
  • Biến x có thể nhận các giá trị -5, 100, 15, 20. Hãy cho biết kiểu dữ liệu phù hợp với biến x?
  • Bộ nhớ sẽ cấp phát cho các biến dưới đây tổng cộng bao nhiêu byte? Var x,y:integer; c:char; ok:boolean; z: real;
  • Trong 1 chương trình, biến M nhận giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.
  • Danh sách các biến là một nhiều tên biến, các tên biến được viết cách nhau bởi:
  • Cho đoạn chương trình: Begin a := 100; b := 30; x := a div b; Write(x); End. Cho biết kết quả sau khi thực hiện lệnh:
  • Cho biểu thức a mod 3 = 0) and (a mod 4 = 0). Số a nhận giá trị nào sau đây để biểu thức cho kết quả là TRUE?
  • Để tính diện tích S hình vuông cạnh A với giá trị nguyên nằm trong phạm vi từ 10 đến 100, cách khai báo S nào d
  • Trong Turbo Pascal, đang ở sổ chương trình nguồn muốn xem màn hình Output:
  • Hãy chọn cách dùng sai sau đây?
  • Hãy chọn phương án ghép đúng. Với cấu trúc rẽ nhánh IF THEN , câu lệnh đứng sau THEN được thực hiện khi:
  • Đoạn chương trình sau giải bài toán nào? For I:=1 to M do If (I mod 3 = 0) and (I mod 5 = 0) then T := T + I;
  • Tính tổng S = 1 + 2 + 3 + … + n + … cho đến khi S > 108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:
  • Mọi quá trình tính toán đều thể mô tả thực hiện dựa trên cấu trúc cơ bản là:
  • Hãy chọn phương án ghép đúng nhất . Điều kiện là gì?

ADSENSE

ADMICRO

Trong nnlt Pascal, cách khai báo xâu ký tự nào sau đây là đúng

Bộ đề thi nổi bật

Trong nnlt Pascal, cách khai báo xâu ký tự nào sau đây là đúng