البرمجة 1

من ويكي الهندسة المعلوماتية
اذهب إلى: تصفح، ابحث

تعنى هذه المادة بدراسة مبادئ وأساسيات التفكير البرمجي والبرمجة الإجرائية Procedural من خلال لغة باسكال Pascal.

تعتبر لغة باسكال من اللغات الإجرائية التعليمية.

الخوارزمية

هي مجموعة من المعلومات المتسلسلة المنتهية تتم كتابتها بلغة برمجة معينة ويتم حفظها في ملف على وسط تخزين وتتم كتابتها باستخدام محرر نصوص editor

  • عند تنفيذ البرنامج ينتقل إلى الذاكرة ram
  • يتألف البرنامج من متحولات وثوابت
  • كل متحول له اسم
  • عند تعريف متحول يفضل إعطائه اسم يدل على وظيفته مثل : sum للجمع counter للعداد
  • في شبه الرماز لا حاجة لتعريف المتحولات وأنماطها
  • لكل متحول : اسم , قيمة , نمط , عنوان(في الذاكرة ram)

مسألة : اكتب برنامج بلغة شبه الرماز يقوم بقراءة متحول وطباعة قيمته على الشاشة

begin
read a
write ("a is :", a)
end


مسألة : اكتب برنامج يقوم بقراءة نصف قطر دائرة وحساب وطباعة مساحتها ومحيطها


Begin
Write “please enter R"
Read R
M= π*R*R
P=2*R*π
Print M
Print P
  • ملاحظات :
    • تتغير قيمة المتحول في البرنامج أثناء التنفيذ بينما الثابت له قيمة ثابتة.
    • تنفيذ تعليمة الإسناد (النسب) يتم من اليمين إلى اليسار a=a+1

ملاحظة : لا تسرف باستخدام متحولات قد لا تستخدمها في البرنامج فيما بعد .

مسألة : اكتب برنامج يقوم بقراءة طول ضلع مربع وحساب وطباعة مساحته ومحيطه .


Begin
 
Readln x
 
Writeln (x*x)
 
Writeln (4*X)
 
end

التعليمة الشرطية :

في هذه التعليمة يجري تنفيذ بعد اختيار شرط ما .

1-التنفيذ بشرط :

وشكلها : إذا (شرط) نفذ

وهنا يتم اختيار الشرط فإن لم يتحقق ينتقل البرنامج إلى التعليمة التالية .

2-التعليمة الشرطية الاخيارية :

وهي الاختيار بين طريقتين للتنفيذ ولكن بشرط .

وشكلها : إذا (شرط) نفذ

تعليمات 1

وإلا مجموعة تعليمات 2


if (   ) then
 
begin 
 
.
 
.
 
end
 
else
 
begin
 
.
 
.
 
end


وهنا إذا تحقق الشرط ينفذ المجموعة الأولى وإلا الثانية .

المسألة 7 (نوطة كويتر)

begin
read(mark)
if(mark>=60) then
write("passed")
else
weite("failed")
end

مسألة :13 إدخال عدد وفحصه بإظهار رسالة تبين إذا كان هذا العدد زوجياً أم فردياً.


Begin
Readln a
If  (a mod 2= 0 ) then
      Writeln "even"     
Else  writeln "odd"
end

ملاحظة : even زوجي odd فردي mod باقي القسمة (إذا كان ناتج باقي قسمة عدد على اثنين صفر فالعدد زوجي وإلا فهو فردي)

المسألة 14


begin
readln(a,b)
if (a>b) then
write(b)
else
write a
end

مسألة : أعد المسألة السابقة ولكن باستخدام write واحدة



begin
readln(a,b)
if (a>b) then
min = b
else
min=a
writeln(min)
end

مسألة : اكتب برنامج لحساب وطباعة مقلوب عدد


begin
read a
if (a<>0) then
write(1/a)
else
weite("error")
end

ملاحظة :

  • else تتبع دائما لل if الأقرب
  • لا يسبق else ولا يلحقها فاصلة

مسألة 15 : اكتب برنامج لقراءة ثلاثة أعداد وطباعة الأكبر


Begin
Readln  a , b , c
Max = a
If  (a < b) then 
    Max =b   
If ( max < c )  then
    Max =c   
Writeln (max)
end

مسألة 16 : اكتب برنامج لقراءة أربعة أعداد وطباعة الأكبر

Begin
Readln  a , b , c , d
Max = a
If  (a < b) then 
    Max =b   
If ( max < c )  then
   Max =c  
If ( max < d )  then
  Max =d 
Writeln (max)
end

مسألة 17: برنامج يقوم بقراءة قيمتين لمتحولين صحيحين ,يبدل بين هاتين القيمتين ثم يقوم بطباعة المتحولين بعد التبديل,باستخدام متحول ثالث وسيط , مثال: بعد قراءة a=4 , b=2 يجب طباعة المتحولين على النحو التالي : a=2 , b=4


Begin
readln(x,y)
temp=x
x=y
y=temp
write(x,y)
end

مسألة : أعد المسألة السابقة ولاكن بدون استخدام وسيط


Begin
Readln a , b
a= a + b
b=a-b
a=a-b
Writeln  a ,b
end
end

المحتوى العلمي