السلاسل النصية (Strings) في لغة Pascal
السلاسل النصية (Chaînes de caractères) هي متغيرات تخزن نصوصاً (حروفاً وكلمات وجملاً). في لغة Pascal، يُستخدم النوع string للتعامل مع النصوص، وتوجد دوال جاهزة لمعالجتها.
1. التصريح عن متغير نصي
var
nom : string; { سلسلة نصية طولها الافتراضي 255 }
adresse : string[50]; { سلسلة نصية طولها الأقصى 50 حرفا }
2. أهم دوال ووظائف معالجة السلاسل النصية
| الدالة | الوظيفة | مثال | النتيجة |
|---|---|---|---|
| Length(S) | إرجاع طول السلسلة | Length("Bac") | 3 |
| Copy(S, p, n) | اقتطاع n حرفا من الموضع p | Copy("Informatique", 3, 4) | "form" |
| Pos(S1, S2) | إرجاع موضع S1 في S2 | Pos("go", "Alger") | 0 (غير موجود) |
| Concat(S1, S2) | دمج سلسلتين | Concat("Bac", "2024") | "Bac2024" |
| Delete(S, p, n) | حذف n حرفا من الموضع p | — | — |
| Insert(S1, S2, p) | إدراج S1 في S2 عند الموضع p | — | — |
| Upcase(c) | تحويل حرف إلى كبير | Upcase("a") | "A" |
| Ord(c) | إرجاع الرمز ASCII للحرف | Ord("A") | 65 |
| Chr(n) | إرجاع الحرف ذي الرمز n | Chr(97) | "a" |
3. مقارنة السلاسل النصية
تتم المقارنة حسب الترتيب الأبجدي (ASCII) باستعمال عوامل المقارنة العادية: =, <>, <, >, <=, >=.
📝 تمرين بكالوريا محلول
التمرين: اكتب برنامجاً في Pascal يقرأ جملة (string) من المستخدم ثم يقوم بما يلي:
(1) حساب عدد حروف الجملة (Length)
(2) عرض الجملة بالأحرف الكبيرة (Upcase لكل حرف)
(3) البحث عن كلمة "BAC" في الجملة وإظهار موضعها إن وجدت
الحل النموذجي:
program TraitementChaine;
uses wincrt;
var
phrase : string;
i, posBAC : integer;
ch_maj : string;
begin
write("Entrez une phrase : ");
readln(phrase);
{ 1- حساب طول الجملة }
writeln("Longueur = ", Length(phrase));
{ 2- التحويل إلى أحرف كبيرة }
ch_maj := "";
for i := 1 to Length(phrase) do
ch_maj := ch_maj + Upcase(phrase[i]);
writeln("En majuscules : ", ch_maj);
{ 3- البحث عن BAC }
posBAC := Pos("BAC", ch_maj);
if posBAC <> 0 then
writeln("BAC trouve a la position ", posBAC)
else
writeln("BAC non trouve");
end.
📌 نصائح للبكالوريا
- احفظ دوال السلاسل النصية جيداً — فهي مطلوبة بكثرة في مواضيع البكالوريا
- تذكر أن index أول حرف في السلسلة هو 1 وليس 0
- انتبه أن Length تعيد طولاً صحيحاً، و Pos تعيد 0 إذا لم تجد النص
📍 دروس مشابهة:
المصفوفات (Tableaux) في لغة Pascal: التعريف والتصريح والمعالجة مع تمارين بكالوريا محلولة
الملفات (Fichiers) في لغة Pascal: التعامل مع الملفات النصية والملفات ذات البنية
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.