بسم الله الرحمن الرحيم
نحن الأن بصدد عمل دورة تعليمية عن تعليم لغة البرمجة باسكال
تمهيدا للدخول على دلفي ومن خلال نتيجة التصويت سوف نحدد
ذلك نرجو من الاخوة التفاعل لإتمام هذا العمل .
إن شاء الله سنحاول تغطية أغلب جوانب لغة باسكال .
(clock)
بسم الله الرحمن الرحيم
نحن الأن بصدد عمل دورة تعليمية عن تعليم لغة البرمجة باسكال
تمهيدا للدخول على دلفي ومن خلال نتيجة التصويت سوف نحدد
ذلك نرجو من الاخوة التفاعل لإتمام هذا العمل .
إن شاء الله سنحاول تغطية أغلب جوانب لغة باسكال .
(clock)
السلام عليكم ..........
ممتاز ...جداً...بس كن من الثابتين ....
وأدعو لك من كل قلبي..........(gift)(f)
أخـــــــــــــوك(f):cool:
ماأحوج مبرمجي الدلفي إلى الباسكال
لكن أرجو أن تكون الدورة
object pascal
طبعا(f)
اقتباسماأحوج مبرمجي الدلفي إلى الباسكاللكن أرجو أن تكون الدورة
object pascal
;);)
اولا اعتزر عن سبب تغيبي عن المنتدي حيث انني كنت مشغولا بمشروع التخرج و أرجو من الله العلي القدير أن لا تحدث عوائق تبعدني عن هذا المنتدى الرائع .
كما أرجو ان يكون هناك تعاون من الجميع حتى تعم الفائدة والكمال لله .
بسم الله نبدا
مقدمة لابد منها :-
لغة باسكال هي إحدى لغات البرمجة عالية المستوى وقد بدأت هذه اللغة في الستينات وقام بتطويرها في 70-1972م العالم نيكولاس ويرث وينسب الاسم إلى عالم الرياضيات ومكتشف الآلة الحاسبة بليز باسكال وقد انتشرت هذه اللغة لما تتميز به من مميزات مثل إمكانية استخدامها في كافة المجالات العلمية والتجارية وغيرها .
وسهولة تعلمها وصغر المساحة التي تشغلها في الذاكرة وهنالك الكثير من الميزات ليس نحن بصددها الأن .
كلمات لغة باسكال :-لناخذ هذا البرنامج :-
; program adroub
var
;i,j,sum :integer
begin
; i :=5
; j :=6
; sum := i+j
; (writeln(sum
. end
من خلال هذا البرنامج الصغير نلاحظ انه مكون من مجموعة كلمات وهذه الكلمات تقسم الى :-
1 – الكلمات المحجوزة Reserved Words .
2 – المعرفات القياسية Standard Identifiers .
3 – المعرفات المستخدمة من قبل المستخدم User Identifiers .
الكلمات المحجوزة Reserved Words :-هي كلمات معرفة ضمن مترجم باسكال مستخدم لأشياء محدودة وفي البرنامج السابق مثل
Program var begin end
المعرفات القياسية Standard Identifiers :-وتستخدم للإشارة إلى نوع البيانات والدوال والتعابير المنطقية وغيرها وفي البرنامج السابق متمثلة في :-
Integer writeln
المعرفات المستخدمة من قبل المستخدم User identifiers :-وهي كلمات او حروف تستخدم من قبل المستخدم او المبرمج لتسمية المتغيرات مثل :-
i j sum
وهذه المعرفات لها قواعد عند بناءها :-
1 – يجب ان تبدأ بحرف . 2 - المعرف لا يحوي رموز خاصة فقط أحرف وأرقام 3 – الطول يكون محدود لبعض المترجمات بحيث لا يتعدى 128 رمز .
مكونات باسكال الأساسية :-يتكون برنامج باسكال من ثلاثة أجزاء رئيسية :-
1 مقدمة البرنامج Program Heading .
2 جزء الإعلان Declaration Section .
3 جزء التنفيذ Executable Section .
مقدمة البرنامج :-
مقدمة البرنامج تضم جملة واحدة ويجب ان تبدا هذه الجملة بكلمة program متبوعة باسم يختاره المستخدم للبرنامج وتنتهي هذه الجملة بفاصلة منقوطة .
Program arabteam2000;
جزء الإعلان :-فيتم فيه الإعلان عن البيانات المستخدمة في البرنامج مثل
Label تستخد مع التحكم goto
Const وياتي بعدها تعريف الثوابت مثل const d=44; والثوابت الرمزية توضع بين اقتباس const y=’ali’;
Typeوياتي بعدها مجموعة من انواع البيانات
Varوياتي بعدها مجموعة من المتغيرات وانواعها مثل var s:integer;
جزء التنفيذ :-
وهذا الجزء الذي يحتوي على التعليمات المراد تنفيذها ويجب أن بيدا هذا الأسم بـــbegin وينتهي بــend وسوف نفصل لاحقا
ملاحظة :-
كل جمل باسكال تنتهي بفاصلة منقوطة ماعدا مواضع بسيطة سوف نتطرق اليها لاحقا .
شكرا Mr_Delphi ... رغم انني اعرف تقريبا كثير عن الباسكال ولكن ساحاول قراءة كل ما تكتبه والاستفادة منه إن شاء الله و سوف احاول المشاركة كما اتمنى ان اتعلم الدلفي .. ولكن سؤال بسيط هل هناك فرق بين Opject pascal و الباسكال و التربوباسكال ....ايضا كتبت Label تستخدم مع التحكم Goto اتمنى توضيحها في الدورة ...
تحياتي
السلام عليكم ورحمة الله وبركاته
أرجو أن لا يكون ردي متأخراً و أتمنا من كل قلبي مثل هذه الدورات التي تزيد من قدرة المبتدي في فهم طرق البرمجة على لغة برمجة دلفي من تكوين قاعدة برمجية علمية صحيحة ودقيقة تمكنه من فهم وأستنباط العلاقات المنطقية للبرمجة وأنا اوأيد هذه الفكرة. ;)
والسلام عليكم ورحمة الله وبركاته
اشكرك اختي فلة على هذا السؤال والذي يعود بالفائدة لنا جميعا
باسكال وتوربوباسكال و Object pascal ؟
باسكال :-
كانت معها بداية اللغة وكان لها كثير من الميزات والنقاط القوية لكن لم تكن مطورة تطويرا كاملا للتطبيقات التجارية .
ايضا عندما تكتب برنامج وتريد معرفة الأخطا عليك ان تغلق محرر النصوص الذي فيه برنامجك ثم تعود الى الDOS وتقوم بتشغيل المترجم ذو الأوامر السطرية وبعد ذلك تكتب الأخطاء التي تظهر في ورقة خارجية ثم تعود لفتح المحرر من جديد لتبحث عن الأخطاء .
توربوباسكال :-
وهي عبارة عن امتداد لباسكال حيث اوجدتها شركة بورلاند في 1983 وتعتبر مطورة تطويرا كاملا للتطبيقات التجارية .
ايضا تميزت بـIDE بيئة تطوير متكاملة حيث تحتوي على محرر نصوص تكتب فيه الأوامر ثم تقوم بتشغيل المترجم وتطلع على الأخطاء وتقفز مباشرة الى اسطرالبرنامج التى تحتوي على هذه الاخطاء .
ايضا يمكنك التنقل بين النوافذ (البرامج ) الموجودة على المحرر كما يمكنك ايضا استخدام الماوس وايضا تتيح لك انشاء نوافذ لكن ليس بدقة دلفي .
باسكال الكائنية Object Pascal :-
لم تولد باسكال الكائنية مع دلفي بل وجدت قبلها وتعتبر باسكال الكائنية لتوربو باسكال مثل C و ++C اي انها متطورة من توربو ولكن تعتبر امتدادا لها حيث تم اضافة ال Class لها وتم اضافة كلمات و اوامر وانماط جديدة لها وبذلك نقلت باسكال الى عالم البرمجة الكائنية Object Oriented Programming .
واذا كانت هناك اي اضافة علمية الى هذا الموضوع الينا حتى تعم الفائدة .
بسم الله الرحمن الرحيم
بداية موفقة إن شاء الله و فى أنتظار المزيد
بارك الله فيك
(f)
قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..
بداية موفقة وبالتوفيق .. و يا ريت بقا بلا بخل !!! من باقي الاعضاء يعني الي بيعرف ولو شي بسيط يزكرو .. عشان بعد التكرار بيعلم الشطار ....;)
وانا لاحظت انو لما بعود اقرأ بالاساسيات من حين لاخر بكتشف انو في اشيا فايتتني .. وهيك .. وبعتقد حال الكثيرين من حالي
سلاااااااااامات
السلام عليكم
انا عندي استعداد عند الشرح عن الarrays & looping
اعطاء امثله وشرح مفصل فانا احب الدوران والarrayssssssss
;)
يا ريت والله يأخ صالح تتكرم وتشرح لانه باين مطول هذا الأستبيان قبل ما يبدا أحد يعطي دروس
السلام عليكم
لم احب ان استبق الامور حتى
تتم الدروس بالتدريج والترتيب
حتى لا يحدث تضارب
وشكرا
عفوا اخي صلاح الدين عن التاخير الذي حدث رغما عني والذي لايعود على التصويت او كما تسميه انت الأستبيان فهذا التصويت قد مضت صلاحيته بما حصل عليه من نتائج وقد بدانا الدروس كما ترى .
"ولا تزعل ولا تتعب شعورك ولا تاخذ على خاترك مني"
اخي صالح2003 إن شاء الله عندما نصل الى تلك المرحلة من الدروس سنتعاون سويا حتي تعم الفائدة .
الدرس الثاني :-
أنواع البيانات في باسكال Data Type :-في لغة باسكال هناك مجموعة من أنواع البيانات التي سنحاول أن نتطرق الى البعض منها فيما يلي ومن هذه الأنواع :-
1-نوع البيانات الصحيحة Integer Data Type :-
وهو من أنواع البيانات الرقمية الصحيحة التي لاتحتوي على فاصلة عشرية (نقطة عشرية) ويمكن لهذه البيانات أن تكون موجبة أو صفر أوسالبة وعند التعامل مع هذا النوع لابد من اتباع القواعد التالية:-
1- اشارة (+) يمكن أن تكتب أمام الرقم الموجب او بدونها مثلا الرقم44+ هو نفسه 44 .
2- إشارة السالب (ـــ) يجب أن تكتب أمام الرقم السالب .
3- الأصفار على يسار الرقم تهمل مثلا 003 تمثل 3
4- لايجوز استخدام النقطة العشرية أو الفاصلة العشرية .
5- أعلى قيمة تعتمد على نوع المترجم أو الإصدار مثل في بو باسكال ياخذ نوع البيانات الصحيح 2 بايت في الذاكرة ويكون مداه ما بين
–32,768 و32,767 .
وياخذ التعريف هذا الشكل :-
;Program pascal1
Var
;Sum :integer
Begin
;Sum:=44
;(writeln(sum
End.
2-نوع البيانات الحقيقية Real Data Type :-
وهو من انواع البيانات الرقمية ويختلف عن البيانات الصحيحة في انها يجب ان تحتوي على نقطة عشرية وعند التعامل مع هذا النوع من البيانات يجب اتباع القواعد التالية :-
1 – عند استخدام النقطة العشرية يجب ان يكون على يسارها على الأقل خانة وعلى يمينها خانة ايضا خانة على الأقل مثلا 7. خاطئة والصحيح 0.7 .
2 – يمكن اهمال اشارة (+) في حين يجب وضع اشارة (ـــ) على يسار القيمة السالبة .
3 – يهمل الأصفار على يسار القيمة الصحيحة(006.0) ولأصفار على يمين القيمة الكسرية (9.500) .
4 – اعلى قيمة تعتمد على نوع المترجم والإصدار فمثلا توربو6 ياخذ نوع البيانات الحقيقية فيه 6 بايت في الذاكرة
ويتم تمثيلها بالشكل
;Program pascal2
Var
;Sum :real
begin
;sum:=33.34
;(writeln(sum
;end
3 – نوع البيانات الأبجدية Char Data Type :-المتغيرات الأبجدية char تاخذ قيمة مساوية لرمز واحد فقط وعند اعطائها قيمة يجب أن تكون محصورة بين علامتي اقتباس وتشغل واحد بايت من الذاكرة
ويتم تمثيلها بالشكل
;Program pascal3
Var
;sum:char
Begin
;'sum:='m
;(writeln(sum
.end
4 – نوع البيانات السلسلة String Data type :-وهي تمثل مجموعة من الحروف char والتي تغلق بواسطةعلامتي اقتباس وياخذ في الطول من 1 الى 255 حرف char .
ويتم تعريفه بالشكل
;Program pascal4
;[var:string[5
begin
;'sum:='text
;(writeln(sum
.end
حيث تمثل [5] طول السلسلة .
5 – نوع البيانات المنطقية Boolean Data Type :-تاخذ المتغيرات من النوع المنطقي احدي القيمتين اما true أو false
ويتم تمثيلها بالشكل
;Program pascal5
var
;sum:boolean
begin
;sum:=true
;(writeln(sum
.end
هنالك ملاحظة مهمة :-وهي عند قسمة نوعين من بيانات الرقمية يجب أن يكون الناتج من النوع الحقيقي مثلا avg:=n/s اذا كان n من نوع real وs من نوع integer حتما يجب أن يكون الناتج من نوع real .
والى اللقاء في الدرس القادم .
مشكور يا عزيزي على المجهود الطيب الذي تبدله من أجل تكوين قاعدة جيدة لنا نحن المبتدئين في البرمجة وأتمنا لكى المزيد من التوفيق رعاك الله .
لدي سؤال ؟
كيف يمكن التحويل بين متغيرات الباسكال أي بمعنى أدق كيف يمكن أستخدام عمليات ( inttostr,strtoint,floattostr ) ..إلـــــــــــخ من التحويلات في لغة باسكال ولك مني جزيل الشكر
أخوك صلاح ;)
(f)(f)(f)
اخي العزيز صلاح الدين اشكرك على هذا السؤال ...
ولكن سؤالك يتعلق بدلفي الى حد كبير
كون ان هذه الدوال التي ذكرتها غير موجودة في توربوباسكال وهذه الدورة تاخذ اتجاه اكبر نحو التوربو
وبعد ذلك يمكن ان ندخل الى باسكال الكائنية لاني حتى الأن لا تتوفر معي نسخة منها
حتى لو لاحظت ان نوع البيانات المشروح في الأعلى متعلق بتوربو باسكال وليس بغيرها من الباسكالات
بالنسبة للدوال inttostrوstrtoint وغيرها فهي دوال تتبع لدلفي وطريقة عملها كالأتي :-
strtoint تقوم بتحويل الstring الى integer وinttostr عكسها وهكذا لبقية الدوال اليك هذا البرنامج
هذه الشفرة مكتوبة على حدث النقر على زر حيث لدينا 3 مربعات نص edit
حيث يدخل الأول والثاني قيم صحيحة والثالث يظهر حاصل جمعهم بعد النقر على الزر
var
;i,j,sum:integer
begin
;(i:=strtoint(edit1.text
;(j:=strtoint(edit2.text
;sum:=i+j
;(Edit3.Text:=inttostr(sum
الدالة strtoint سوف تحول القيمة المستلمة من مربع النص الأول كا string ومن بعد ذلك تقوم بتحويلها الي صحيحة ونسندها لمتغير صحيح كون مربع النص كل ما داخله يعتبر string وهكذا بالنسبة للمربع الثاني وهذه المتغيرات
نقوم بعمل عملية جمع لها واحلال الناتج لمتغير ثالث وبعد ذلك نقوم بتحويل
محتويات هذا المتغير الى string واسنادها الى مربع النص الثالث حتى تتم طباعتها في مربع النص.
وهكذا مع بقية دوال التحويل .
اما اذا كنت تريدطريقة برمجية غير هذه الدوال على ما اذكر هنالك معادلة كنت اطبقهاعلى ++c لتحويل انواع المتغيرات وعندما اذكرها سوف اواليك بها .
وعفوا عن الإطالة
(f)
مشكور جداً على المعلومات القيمة ولكن أنا أبحث عن طريقة لتحويل قيمة متغير في التوربو باسكال من string إلى Integer بعد التأكد من أن المتغير المذكور يحوي قيم قابلة لتحويل إلى Integer حيث أني عجزت عن تكوين دالة برمجياً في توربو باسكال تقوم بهذا العمل فأرجو المساعدة والتوضيح إن أمكن .
:D;)
السلام عليكم ورحمة الله وبركاته
أرجو أن يكون الأخ mr_delphi بخير وإن شاء الله ما في شر لم نعد نتلقى الدروس التي وعدتنا بها مند مدة وأخشى أن يفقد المصوتون حماستهم لهذه الدورة الحقيقية فأرجو أن تستأنف الدروس من جديد حتى تعم الفائدة .
ولكم مني جزيل الشكر .
:D
:confused::confused:
باختصار .................
وحتى لا تضيع وقتك ..................
اذا اردت ان تتعلم الباسكال من الصفر ، وعلى اقوى اسس .
واردت ان تتعلم الباسكال باسرع طريقة ،واسهلها على الاطلاق .
فاختصر على نفسك الجهد والوقت ، واشترى اروع كتاب لتعليم الباسكال لمؤلفه " كوفمان " وهو كتاب مشهور ومعروف ، وبالغة الانجليزية المبسطة ( العالمية ) .
السلام عليكم
فكره التعلم معا ومشاركه المعلومات فكره رائعه
فيمكن في اي وقت ان تسال سؤال ويجيب عليك احد الاخوه بعكس الكتب طبعا
ولكن خفت المشاركات والجديه لأسف في المواضيع كافه
السلام عليكم ورحمة الله وبركاته
أعتقد أن هذا الموضوع هو مشروع أخر فاشل كغيره من المشاريع
أرجو من الأخوة الذين تأتيهم الحماسة في أبداء المساعدة وفتح أبواب التعليم ، التريث قبل أن يبدا في أفراغ ما لديهم وتعليق الغير في حبائل أفكارهم ثم الأنصراف عنهم دون أكمال الطريق ........... هذا هو حال العرب دائما .......... أنصاف حلول ............. فيا أخوتي المبرمجين تعلموا من رسولنا الكريم حين قال ( إذا عمل أحدكم عملاً فل يتقنه )
ســـــــــــــــــــــــــــــــــــلام ســــــــــــــــــــــــــــلام
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…