var s: string; i, d: byte; Begin d:=0; Write('nhap xau: '); readln(s); For i:=1 to length(s) do If s[i]=' ' then d:=d+1; Write('co ', d, ' khoang trang'); Readln End. ai giải thích hộ mình hiểu rõ bản chất của bài này để mình giải thích ạ

2 câu trả lời

var s:string;  {khai báo s có kiểu là xâu string}

     i,d:byte;   {khai báo i và d có kiểu số nguyen byte}

begin   {bắt đầu}

    d:=0;   {gán d=0}

    write('Nhap xau: ');  readln(s);  {hiển thị ra màn hình 'Nhap xau: ' và chờ bạn nhâp một xâu s}

    for i:=1 to length(s) do  {Cho biến i chạy từ 1 đến cuối xâu s}

         if s[i]=' ' then d:=d+1;  {Nếu kí tự i của xâu S là khoảng trắng thì tăng d lên 1 đơn vị}

    write('co ',d,' khoang trang'); {in ra màn hình 'co ', sau đó in ra giá trị của d và in ' khoang trang}

    readln  {Chờ nhấn enter}

end.  {Kết thúc}

Tác dụng của bài này là đếm khoảng trắng, quét hết từ đều đến cuối xâu, nếu là kí tự trắng thì cộng dồn cho biến d

VD: khi chạy chương trình và nhập s=' Toi la hoc sinh'

Nhap xau: Toi la hoc sinh

co 3 khoang trang

Giải thích: Vì khi thực hiện xong vòng for, biến đếm nhận giá trị 3 vì có 3 khoảng trắng.

Code này mik chạy thì nó bị lỗi nhưng vẫn hiểu code

Đoạn code này bảo nhập 1 xâu kí tự và kiểm tra xem có bao nhiêu khoảng trắng(dấu cách) và hiện ra màn hình.

Chúc bạn học tốt ^^

Câu hỏi trong lớp Xem thêm