تعلم برمجة Pascal الدرس الثالث - المتغيرات و الثوابت


الدرس الثالث - المتغيرات و الثوابت



ماهي المتغيرات؟
المتغيرات عباره عن اسماء تخزّن في ذاكرة الحاسوب . هذا الاسم يستخدم لتخزين المعلومات في الذاكره .

يمكننا استخدام انواع مختلفه من المعلومات في المتغيرات , مثلاً الارقام و السلال و غيره .

استخدام المتغيرات :
يجب دائماً ان نعلن عن المتغيرات قبل استخدامها . نستخدم الكلمه الاساسيه var لعمل ذلك . دائماً يجب اختيار نوع البيانات للمتغير . وهذه هي انواع المتغيرات المختلفه .

Byte :
من 0 إلى 255

Word :
من 0 إلى 65535

ShortInt :
من -128 إلى 127

Integer :
من -32768 إلى 32767

LongInt :
من -4228250000 إلى 4228249000

Real :
قيم النّقطة المتغيّرة

Char :
حرفاً واحداً

String :
فوق 255 حرف

Boolean :
true او false

في هذا المثال سوف نتعرف على طريقة الاعلان عن متغير من نوع intger اسمه i :



program Hello;
begin
  Write('Hello world');
end.


لإعطاء قيمه للمتغير يتم استخدام عامل الاسناد :=



program Variables;

var
   i: Integer;

begin
   i := 5;
end.


يمكنك انشاء متغيرين او اكثر من نفس النوع إذا وضعت الفاصله بعد المتغير الاول و قمت بكتابة اسم المتغير الثاني بعدها . كذلك يمكنك انشاء متغيرات مختلفه بدون الحاجه إلى استخدام الجمله الاساسيه var اكثر من مره :



program Variables;

var
   i, j: Integer;
   s: String;

begin
end.


اذا كنت تريد ادراج سلسله في متغير يجب استخدام علامة الاقتباس الفرديه ' , النوع Boolean فقط يمكن اسناد قيمتين له و هم True و False :



program Variables;
 var  
 i: Integer; 
  s: String; 
  b: Boolean; 
begin 
  i := -3;
   s := 'Hello';
   b := True;
 end.


الحسابات مع المتغيرات :
يمكن استخدام المتغيرات في العمليات الحسابيه . على سبيل المثال يمكن أن تسند القيمة بمتغيّر ثمّ تضيف الرقم 1 له . 

العمليات الحسابيه التي يمكن استخدامها :

+ : اضافه (زائد)
- : طرح
* : ضرب
/ : قسمه
div : قسمة عدد صحيح
mod : باقي قسمة العدد الصحيح

المثال التالي يقوم ببعض العمليات الحسابيه :




program Variables;

var
   Num1, Num2, Ans: Integer;

begin
   Ans := 1 + 1;
   Num1 := 5;
   Ans := Num1 + 3;
   Num2 := 2;
   Ans := Num1 - Num2;
   Ans := Ans * Num1;
end.


يستخدم النوع Strings في تخزين السلاسل مثل الحروف والارقام المختلفه و غيره , و يمكنك استخدام العمليات الحسابيه مع هذا النوع من المتغيرات حيث لا يتم جمع الرقمين المخزنين على صيغة String بمعنى جمع , مثلاً اذا قمت بإضافة السلسله التي قيمتها 1 إلى السلسله التي قيمتها 1 سوف يكون الناتج 11 و ليس 2 .



program Variables;

var
   s: String;

begin
   s := '1' + '1';
end.


يمكنك قراءة محتوى المتغيرات بإستخدام Readln و ReadKey . الامر الثاني و هو ReadKey من الوحده crt و هي تقرأ حرف واحد فقط . سوف ترى ان طريقة عمل ReadKey مختلفه عن Readln .



program Variables;

uses 
    crt;

var
   i: Integer;
   s: String;
   c: Char;

begin
   Readln(i);
   Readln(s);
   c := ReadKey;
end.


طباعة المتغيرات على الشاشه طريقه سهله . اذا كنت تريد طباعة المتغيرات على الشاشه يمكنك استخدام الامر Writeln :



program Variables;

var
   i: Integer;
   s: String;
begin
   i := 24;
   s := 'Hello';
   Writeln(i);
   Writeln(s,' world');
end.


الثوابت :
الثوابت لا تختلف عن المتغيرات إلا انه قيمتها لا يمكن ان تتغير أي قيمه ثابته . يمكن اسناد القيمه إلى الثابت عند الاعلان عن الثابت . const هي الكلمه الاساسيه للاعلان عن الثوابت .



const
   pi: Real = 3.14;

var
   c, d: Real;

begin
   d := 5;
   c := pi * d;
end.


لو أردنا تعريف بيانات تكون قيمتها ثابته طوال عمل البرنامج فإننا نستخدم لتعريفها

نوع جديد داخل الأمر Const وتكون على الشكل التالي



Const

A = 30 ;

B = 9.6 ;

C = “Name”;


- طوال عمل البرنامج سيسند للثابت A القيمة 30 ولا يمكن تغيير هذه القيمة خلال البرنامج أبدا


- نلاحظ أن هناك علامة مساواة = بين إسم الثابت وقيمته بينما في تعريف Var المتغيرات هناك علامة : بين إسم المتغير ونوعه
- الثابت المعرف يعامل في البرنامج على أنه كلمة محجوزة Reserved Word



Program Circle(input,output);

Const

Pi=3.14;

Var

Radius : integer ;

Circum , area : real ;

Begin

Writeln ( ‘Enter Radius’);

Read ( radius);

Circum := 2*pi* radius ;

Area := pi * radius * radius ;

Writeln (‘The value of circum is’,circum);

Writeln (‘The value of area is’,area);

End.


في البرنامج السابق قمنا بتعريف ثابت في البرنامج بالإسم pi وهو يتخذ دائما القيمة 3.14

إستخدام الثوابت في البرنامج يسهل عمل البرنامج ويسهل تعديل القيم بسهولة بخاصة في البرامج الكبيرة

لو أردنا تنفيذ البرنامج السابق ولكن بدون الإعتماد على الثوابت فسيكون البرنامج على الشكل



Program Circle(input,output);

Var

Pi : real ;

Radius : integer ;

Circum , area : real ;

Begin

Write (‘Enter Value of pi :’);

Readln (pi);

Writeln ( ‘Enter Radius’);

Read ( radius);

Circum := 2*pi* radius ;

Area := pi * radius * radius ;

Writeln (‘The value of circum is’,circum);

Writeln (‘The value of area is’,area);

End;


هذا فيما يخص الثوابت والمتغيرات في لغة الباسكال



ارجو لكم التوفيق والسلام عليكم ورحمة الله وبركاته

لا تنسونا من ذعائكم

تعليقات

المشاركات الشائعة من هذه المدونة

دليلك الى فحص الشبكات والسيرفرات عن طريق أداة Nmap

دورة HTML - الدرس الخامس ( الصور و الجداول )