رشته‌ها (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;

خلاصه

این مبحث بخشی از دوره آموزش کامل پاسکال است.

ابزارهای مرتبط