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 ạ
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 ^^
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.