رشتهها (Strings)
رشته در پاسکال: تعریف، اتصال، مقایسه و دسترسی به کاراکترها با ایندکس.
رشته = دنباله کاراکتر
رشته (String) برای نگهداشتن متن است: اسم، جمله، رمز و... در واقع رشته مثل آرایهای از کاراکترهاست!
تعریف و تخصیص
var
name: string;
city: string;
begin
name := 'Ali';
city := 'تهران';
writeln(name, ' از ', city);
end.
اتصال با +
var
first, last, full: string;
begin
first := 'Ali';
last := 'Mohammadi';
full := first + ' ' + last;
writeln(full); { Ali Mohammadi }
end;
طول رشته: length
var s: string;
begin
s := 'Pascal';
writeln(length(s)); { 6 }
end;
دسترسی به کاراکترها: s[i]
ایندکس رشته در پاسکال از ۱ شروع میشود!
s[1] اولین کاراکتر است.var
s: string;
i: integer;
begin
s := 'Pascal';
writeln(s[1]); { P }
writeln(s[6]); { l }
{ پیمایش حرف به حرف }
for i := 1 to length(s) do
write(s[i], '-');
writeln;
end.
تغییر یک کاراکتر
var s: string;
begin
s := 'ball';
s[1] := 'c'; { b شد c }
writeln(s); { call }
end;
مقایسه رشتهها
writeln('abc' = 'abc'); { TRUE }
writeln('abc' = 'ABC'); { FALSE — حساس به حروف }
writeln('apple' < 'banana'); { TRUE — ترتیب الفبایی }
writeln('Ali' <> 'Sara'); { TRUE }
رشته خالی
var s: string;
begin
s := ''; { رشته خالی }
writeln(length(s)); { 0 }
if s = '' then
writeln('رشته خالی است');
end;
مثال: شمارش حروف صدادار
var
s: string;
i, count: integer;
begin
s := 'Programming';
count := 0;
for i := 1 to length(s) do
if (s[i] = 'a') or (s[i] = 'e') or (s[i] = 'i') or
(s[i] = 'o') or (s[i] = 'u') then
count := count + 1;
writeln('Vowels: ', count); { 3 }
end.
مثال: برعکس کردن رشته
var
s, r: string;
i: integer;
begin
s := 'Pascal';
r := '';
for i := length(s) downto 1 do
r := r + s[i];
writeln(r); { lacsaP }
end;
خلاصه
- رشته = دنباله کاراکتر، ایندکس از ۱
- اتصال با +، طول با length
- کاراکتر iام:
s[i]— خواندنی و نوشتنی - مقایسه: =، <>، <، > (ترتیب الفبایی)
این مبحث بخشی از دوره آموزش کامل پاسکال است.