Trang chủ Tin Học Lớp 11 Mn giải thích giúp em cái này với ạ For...

Mn giải thích giúp em cái này với ạ For i:=1 to length(s) do If s[i]:=' ' then delete(s,i,1); Khi ta nhập kết quả S:=trung trung hoc( thì nó sẽ xóa hết các kí

Câu hỏi :

Mn giải thích giúp em cái này với ạ For i:=1 to length(s) do If s[i]:=' ' then delete(s,i,1); Khi ta nhập kết quả S:=trung trung hoc( thì nó sẽ xóa hết các kí tự trống) Còn ta nhập kết quả S:=trung trung học( thì nó không xóa hết kí tự trống)

Lời giải 1 :

Trong trường hợp đầu, xét đoạn "truong trung", khi xoá xong dấu cách thì thành " truongtrung", giá trị i tự động tăng lên 1 đơn vị, khi đó s[i] là kí tự r của "trung", cứ như vậy trong xâu sẽ không còn dấu cách nào

Còn ở trường hợp sau, xét đoạn "truong  trung" (có 2 dấu cách liền),  ta có s[7]=' ', và s[8]=' ', khi i=7 thì thoả mãn s[i]=' ', kí tự s[7] bị xoá -> độ dài xâu giảm 1 đơn vị, khi đó i đang mang giá trị 7 nhưng thật ra là 8, kết thúc vòng lặp i tăng lên thành 8, s[8]='t' (mới). Nói đơn giản là kí tự cách thứ 2 bị bỏ qua nên không bị xoá

Thảo luận

-- Bạn ơi vào nhóm mình không ạ ?

Lời giải 2 :

Code này của bạn sai nha. Khi mà nó xóa xong kí tự ' ' ở vị trí 6 vòng lặp sẽ chạy đến i = 7. Kí tự thứ 7(sau khi xóa kí tự thứ 6) thì nó lại là chữ 't' rồi. Nó hơi khó hiểu 1 tí, bạn có thể hỏi lại mình.

Code đúng:

program chuongtrinh;
uses crt;
var 
    s : string;
    i : integer;
begin
    clrscr;
    readln(s);
    i := 1;
    while (i < length(s)) do 
    begin
        if (s[i] = ' ') then
        begin
            delete(s, i, 1);
        end
        else
        begin
            i := i + 1;
        end;
    end;
    write(s);
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 11

Lớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247