Professional Documents
Culture Documents
Pascal--ar--
Pascal--ar--
يمكن تعريف البرنامج على أنه "مجموعة من التعليمات واألوامر التي توضح للحاسب تسلسل
الخطوات التي ينبغي القيام بها ألداء مهام معينة لحل المشكلة المطروحة واستخراج النتائج.
ويختزن البرنامج في الذاكرة الرئيسية للحاسب لتوجهه إلنجاز العمليات المطلوبة .
هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية
الحاسوب الذي يستهدفه البرنامج.
.1قسم التصريحات : Déclarationوهو قسم يتم التصريح عن جميع الثوابت ،والمتغيرات ،والبرامج الفرعية واألنواع
المستخدمة في البرنامج .
.2قسم العبارات أو التعليمات :instructionوهو قسم يتم كتابة جميع العبارات المستعملة في البرنامج
مثــــــــــــال
:d’en-têteمثال
ترتكز لغة باسكال علي قسمان أساسيان التصريحات والتعليمات ويمكن تقسيم هذه األخيرة إلي:
-الالفتات étiquettes ou label
-الثوابت constante ,const
-األنواع type
-المتغيرات variable
-الدوال واإلجراءات fonction et procédures
-التعليمات التنفيذية instruction exécutables
عند تحميل برنامج باسكال وتثبيته نجده يتكون من مجموعة من القوائم باإلضافة إلي توفر
مساحة العمل التي نكتب بداخلها البرنامج
يمكن حفظ الملف من القائمة fileأو بالضغط علي الزر F2من لوحة المفاتيح فيظهر
مربع حوار نختار منه مكان الحفظ باإلضافة إلي تسمية هذا الملف
عند االنتهاء من كتابة البرنامج يمكن تنفيذه عن طريق القائمة RUNثم الضغط علي مرة
أخري علي RUNأو من لوحة المفاتيح بالضغط علي .CTRL + F9
-مثل اللغات الطبيعية لغات البرمجة لها قواعدها النحوية والصرفية ولغة
باسكال لها مجموعة من القواعد التي تضبطها حتى نتمكن من كتابة برنامج.
les chiffres 0 .. 9
les lettres a... z A... Z
le caractère espace appelé aussi blanc
» _ « le caractère souligné
:les caractères spéciaux suivants
Parenthèse gauche (
Parenthèse droite )
Crochet gauche [
Crochet droit ]
Accolade gauche {
Accolade droite }
Plus +
Moins -
Fois, Etoile *
Divisé, Slash /
Inférieur à (plus petit que) <
Egale à =
Supérieur à (plus grand que) >
Deux-points :
Point-virgule ;
Point .
Virgule ,
Apostrophe '
Chapeau, flèche ^
مثال
;Program calcul
;Const Pi=3.14
;Var Ray,X1,X2,salaire_net : real
يتكون برنامج باسكال من رأس البرنامج ومن مجموعة من التصريحات باإلضافة إلي
.end وBegin التعليمات المحصورة بين
:مثــــــــال
PROGRAM addition; (* entête *)
VAR A,B,C: REAL; (* déclarations *)
BEGIN
read(A,B); C:=A+B; (* instructions *)
writeln("la somme est:",C) (* instruction *)
END.
ھو مجموعة من األحرف و األرقام حیث الیوجد فراغات في االسم وال یقبل الرموز عدا
الرمز _ ويبدأ تسمية البرنامج بحرف أبجدي.
مثــــــــــال:
; program Second_Degre
;)Program stock(input,output
.في ھذا الجزء یعلن عن الثوابت و المتغيرات الضرورية لحل مشكل ما
les constantes الثوابت -
les types األنواع -
les fonction et procédures الدوال واإلجراءات -
les variable المتغيرات -
:مثــــــال
program exemple;
const N=12; M=N ;
V=TRUE; F=FALSE;
Y='H'; B='Bonjour Monsieur'; Message = 'Salut ...';
R2=25.36 ; PI=3.14;
MaxData = 1024 * 64 - 16;
NumChars = Ord('Z') - Ord('A') + 1;
Le type énuméré •
Le type intervalle •
: مثــــال
Type jj=1..31; mm=1..12; aa=1900..2040; Alphab=’A’..’Z’; {type intervalle}
joursemaine =(sam, dim, lun, mar, mer, jeu, ven); {type énuméré}
tab=array[1..100]of real {type tableau}
مقدمــــــــــــة :
التعليمة هي عبارة عن جملة تمثل أمر أو مجموعة من األوامر
التي ينفذها الحاسوب
كل تعليمة تنتهي بفاصلة منقوطة ويمكن تقسيم التعليمات إلي
نوعين :
)1التعليمات البسيطة :فريدة من نوعها ،أمر بدون شرط
على النحو التالي :إسناد ,القراءة ,الكتابة.
)2التعليمات الهيكلية :و تنقسم إلي
-التعليمات الشرطية
-التعليمات تكرارية أو المتكررة
1ère Année Technologie 01/10 Année Universitaire : 2015/2016
التعليمــــات Les
instructions
: التعليمات البسيطة-)أ
::Instruction d’affectation تعليمات اإلسناد
.اإلحالة أو اإلسناد هي إجراء لتحديد قيمة متغير
مثال
X := Y {valeur de la variable X devient égale à la valeur de la variable Y}
test := true {Après exécution de l'instruction, la valeur de la variable test vaut Vrai. }
: التعليمات البسيطة-)أ
: 01ϝΎ
Μϣ
:ΔϴϟΎ
ΘϟϢϴϘϟϥάΧ΄ϳϥΎ
ϴϘϴϘΣϥήϴϐΘϣx,yϦϣϞϛϥΎ
ϛ Ϋ·
1) x := 20 ;
2) y := 50 ;
3) x := x+ y ;
4) y := x - y
5) x := x - y
:ϲ ϟΎ
ΘϟϝϭΪΠϟΔΌΒόΘΑϢϗ )α
N° de séquence Valeur de x Valeur de y
1
2
3
4
5
: التعليمات البسيطة-)أ
:02 مثال
: ) إلي مايقابلها بالساعات والدقائق والثوانيsec 4200( أكتب برنامج لتحويل
Program CH2_Program5;
Var
Hour, min, sec, temp: integer;
Begin
Sec:=42200 mod 60;
Temp:=42200 div 60;
Min:=temp mod 60;
Hour: = temp div 60;
Writeln ('hour=', hour,'min=', min,'sec=', sec);
End.
1ère Année Technologie 01/10 Année Universitaire : 2015/2016
التعليمــــات Les
instructions
األمر ( )Readlnو )Read(:یقوم ھذا األمر بقراءة قیمة عن طریق لوحة المفاتیح وإدخالھا داخل
المتغیر .الصیغة العامة لھذا األمر كما یلي:
* قراء قيمة واحدة );Read(Variable
* قراءة عدة قيم );Read(Variable1,Variable2,…,VariableN
-2األمر ( )Writelnو ( )Writeیقوم ھذا األمر بطباعة –كتابة -قیمة متغیر أو جملة في الشاشة الصیغة
العامة لھذا األمر كما یلي :
طباعة قیمة;Write(Variable) :
طباعة رسالة;Write( ' Message ' ) :
كتابة األمر المطلوب Write
Writelnكتابة األمر المطلوب وتنفيذ األمر الثاني في السطر الموالي .
1ère Année Technologie 01/10 Année Universitaire : 2015/2016
Les التعليمــــات
instructions
2 مثال:
Program Exemple;
Var nom : String; I : integer; R : real;
BEGIN
Write('Entrez votre nom : ');
ReadLn(nom); {lecture du nom}
WriteLn('Votre nom est ', nom); {affichage du nom}
Writeln; {saut de ligne}
write('Entrez un entier et un réel :');
read(i,r); {lecture des valeurs}
writeln('L''entier vaut : ', i : 5); {affichage de i}
writeln('et le réel est : ', r : 6:2); {affichage de r}
ReadLn;
END.
if 5 > 2 then
begin
writeln(‘5 Is Greater Than 2’);
end;
-يستخدم هذا األمر لتكرار عبارة أو أكثر لعدد من المرات وفقا لمتطلبات البرنامج
-البرنامج سينفذ علي األقل لمرة واحدة ويكون توقف البرنامج اعتمادا علي شرط يوضع بعد until
01/10
: التعليمات التكرارية-2
برنامج يقوم بإدخال أسماء الطلبة وطباعتها البرنامج ال يتوقف لغاية إدخال إسم علي: مثال.
Program CH3_Program2;
Var YN: String;
Begin
Writeln ('enter name of student?’);
Repeat
Readln ( YN );
Writeln (YN) ;
Until (YN=’ALI’) ;
END.
01/10
-2التعليمات التكرارية:
01/10
: التعليمات التكرارية-2
: مثال-
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
01/10
: التعليمات التكرارية-2
: مثال-
program whileLoop;
var
a: integer;
begin
a := 10;
while a < 20 do
begin
writeln('value of a: ', a);
a := a + 1;
end;
end.
01/10
: التعليمات التكرارية-2
0 إدخال مجموعة أعداد وطباعتها شرط التوقف عند إدخال الرقم: مثال
Program CH3_Program3;
Var X: integer;
Begin
Write ln ('Enter number');
Readln(x);
While x < > 0 do
Begin
Writeln(x);
Read ln(x);
End ;
End.
01/10
-2التعليمات التكرارية:
01/10
-2التعليمات التكرارية:
إن هذا األمر يقوم بتكرار إيعاز أو مجموعة إيعازات لعدد من المرات المحددة مسبقا.
الصيغة القاعدية هي :
For {variable}* := {original value} to/downto {final value} do
{)}code...(for one action
بشكل عام هذا المتغير يسمى ( ) loop counter
قيمة هذا العدد تبدأ بالقيمة األصلية أو االبتدائية original valueثم تزداد بمقدار واحد أو تقل بمقدار واحد
في كل مرة يتم تنفيذ اإليعاز الذي بعده مباشرة ويستمر كذلك لحين تصل قيمة العداد إلي القيمة النهائية final
valueوالتي تمثل التنفيذ األخير.
-إذ كانت القيمة االبتدائية أقل من القيمة النهائية فعند ذلك نستخدم to
-إذا كانت القيمة االبتدائية أكبر من القيمة النهائية فنستخدم downto
01/10
: التعليمات الشرطية-2
01/10
-2التعليمات الشرطية :
01/10
-2التعليمات الشرطية :
مالحظة :يستخدم األمر breakواألمر continueمع حلقات forوكافة حلقات التكرار األخري
مثل repeat, whileكما يلي :
)1األمر :breakويستخدم للسيطرة على تدفق تكرار العبارات وهي تؤدي إلى إنهاء أو توقف التكرار
مثــال:
For i: = 1 to 10 do
Begin في هذه الحالة يتوقف التنفيذ عند ورود عدد سالب لعدم أمكانية
;) Readln ( x أيجاد الجذر ألتربيعي للعدد السالب.
If x < 0 then
Break
Else
;) ) Writeln ( sqrt ( x
; End
01/10
-2التعليمات الشرطية :
)2األمر : continueويستخدم أيضا مع حلقات التكرار وهو يعني أستمر مع حلقة تكرار جديدة أي أهمل تنفيذ
األوامر التي بعد األمر continueعند تحقق شرط معين حيث سيعيد المؤشر إلى األمر .For
مثـــــال :
For i: = 1 to 10 do
Begin في هذه الحالة عند ورود عدد سالب فأن األمر Continue
;) Readln ( x
سيمنع متابعة تنفيذ العبارات األخرى في حلقة التكرار
If x < 0 then
Continue والمتمثلة بأمر الطباعة في هذا المثال ويعيد المؤشر إلى األمر
Else Forليبدأ بتكرار جديد.
;) ) Writeln ( sqrt ( x
;End
01/10
: التعليمات الشرطية-2
:The Simple Case statements عبارة اختيار الحالة. 3.8
.Begin بالرغم من عدم وجودEnd ينتهي دائما باألمرCase األمر-
) متغير وهذا المتغير من نوع األعداد الصحيحة أو الحروف فقط وال يمكن أنCase ( يأتي بعد األمر-
.نستخدم السالسل الحرفية هنا
01/10
-2التعليمات الشرطية :
جملـــــــــة :IN
01/10
-2التعليمات الشرطية :
جملـــــــــة :IN
)2يمكن أن نستخدمها بطريقة أخري فبدال أن نحدد المدى كبداية ونهاية يمكن االستعاضة عنها بقيم معينة بحيث
يمكن للمتغير أن يأخذ أحد هذه القيم
01/10
EXERCICES
01/10
EXERCICES
50 ﺞﻣﺎﻧﺭﺑ
– 75ﻥﻳﻣﻗﺭﻟﺍ ﻥﻳﺑ ﺓﺩﺩﺣﻣﻟﺍ ﺔﻳﺩﺭﻔﻟﺍ ﺩﺍﺩﻋﻷﺍ ﺔﻋﺎﺑﻁﻟ
Program test_28;
Vari:integer;
Begin
For i:= 50 to 75 do
Begin
If (I mod 2<>0) then
Writeln(i);
End;
End.
01/10
EXERCICES
Program test_30;
Vari:integer;
Begin
I:=0;
While (i<10) do
Begin
I:=i+1;
Writeln(i);
End;
End.
EXERCICES
Program test_5;
Var n,I,prod:integer;
Begin
Write('n=');
Readln(n);
For:=1 to 10 do
Prod:=n*I;
Writeln(prod);
End.
01/10
EXERCICES
program sommecarres;
var i,n, res : integer;
begin
writeln('Entrez la valeur de n'); readln(n);
res := 0;
for i:=1 to n do
begin
res := res + i*i;
writeln('La somme des ',i:2,' premiers
carres est: ',res:4);
end;
end.
01/10
EXERCICES
04
EXERCICES
01/10
EXERCICES
program factorielle; var i,n, res : integer; { Illustration d'une présentation peu lisible }
begin
writeln('Entrez un nombre n'); readln(n); res := 1; for i:=2 to n do res := res * i;
writeln('La factorielle de ce nombre est : ', res:5);
end.
{ Attention, si n est grand, il faut définir res en real car la limite de integer est 32767. }
01/10
EXERCICES
Program test_5;
Varn,I,prod:integer;
Begin
Write('n=');
Readln(n);
For:=1 to 10 do
Prod:=n*I;
Writeln(prod);
End.
EXERCICES
EXERCICES
EXERCICES