Monday, December 30, 2013

برمجة متقدمة سي شارب الخصائص C# - Properties

 الخصائص C# - Properties

ماهي  الخصائص في السي شارب Properties ؟

الخصائص هي مكون من مكونات الفئة أو بما تعرف بأعضاء الفئة Class Members وكذلك للمشيدات والمتغيرات والتراكيب والمجاميع المرقمة والدوال فهي أيضا من أعضاء الفئة.
الخصائص تسمى أيضا باللواحق الحقول أو امتدادات الحقول. فالخصائص أما أن تحتوي على خاصية القراءة باستخدام الكلمة المحجوزة get أو تحتوي الخصائص على خاصية الكتابة باستخدام الكلمة المحجوزة set. أو تحتوي الخصائص على الخاصتين معا القراءة get أو الكتابة set .حسب تعريف المستخدم للخصائص وحاجته اليها.فالخصائص لا تسمى مكان الذاكرة مثل المتغيرات فالخصائص تقوم فقط بالوصول للمتغير أما للقراءة او الكتابة.

ما الغرض من استخدام الخصائص ؟

إذا كانت الخصائص فقط تقوم بالوصول للمتغير دزن تعريفه وحجز له مكان للذاكرة والوصول للقراءة والكتابة لقيم المتغيرات فكذلك تفعل المتغيرات فما هو الهدف من استخدام الخصائص. تستخدم الخصائص لاخفاء المتغيرات فالمعلوم لدينا بأن المتغيرات يمكن منع المستخدم من الوصول اليها عن طريق تعريف محدد الوصول من نوع خاص أو محمي ولكن نريد من المستخدم أيضا الكتابة أو القراءة  على المتغير. فكيف يمكن جعل المستخدم يصل للمتغير المحمي بمحدد وصول يتم ذلك عن طريق استخدام وسيط بحيث هذا الوسيط يمكنه التعامل مع المتغيرات المحمية بمحددة الوصول ويمكن المستخدم الوصول للخصائص ويتم ذلك عن طريق تعريف الخصائص.
وتعرف الخصائص باسم الموصلات Accessors فالخصائص توصل القيم للكتابة للمتغيرات أو القراءة من المتغيرات.


الصيغة العامة لتعريف الخصائص في السي شارب.

في الكود التي نعرف الخصائص بالصيغة المركبة أي القراءة والكتابة معا. ويجب أن لا ننسى أن نعرف نوع البيانات للخصائص فيجب أن يكون من نفس نوع بيانات المتغيرات المراد الوصول اليه.


// خاصية من نوع سلسلة نصية لمتغير الكود
public string Code
{
   get
   {
      return code;
   }
   set
   {
      code = value;
   }
}

// خاصية نصية لمتغير الاسم
public string Name
{
   get
   {
     return name;
   }
   set
   {
     name = value;
   }
}

// خاصية لعدد صحيح لمتغير العمر
public int Age
{ 
   get
   {
      return age;
   }
   set
   {
      age = value;
   }
}


مثال كامل على استخدام الخصائص:-

في المثال التالي نستخدم خاصية للوصول لكود الطالب واسمه وعمره بحيث نكتب ونقراء البيانات المتغير.

using System;
namespace tutorialspoint
{
   class Student
   {

      private string code = "N.A";
      private string name = "not known";
      private int age = 0;

      // خاصية نصية للكود:
      public string Code
      {
         get
         {
            return code;
         }
         set
         {
            code = value;
         }
      }
   
      // خاصية نصية للاسم:
      public string Name
      {
         get
         {
            return name;
         }
         set
         {
            name = value;
         }
      }

      // خاصية نصية للعمر:
      public int Age
      {
         get
         {
            return age;
         }
         set
         {
            age = value;
         }
      }
      public override string ToString()
      {
         return "Code = " + Code +", Name = " + Name + ", Age = " + Age;
      }
    }
    class ExampleDemo
    {
      public static void Main()
      {
         // انشاء كائن للطالب:
         Student s = new Student();
            
         // اسناد قيم أي كتابة للمتغيرات عبر الخصائص
         s.Code = "001";
         s.Name = "Zara";
         s.Age = 9;
         Console.WriteLine("Student Info: {0}", s);
         //let us increase age
         s.Age += 1;
         Console.WriteLine("Student Info: {0}", s);
         Console.ReadKey();
       }
   }
}


Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10

الخصائص المجردة

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



sing System;
namespace tutorialspoint
{
   public abstract class Person
   {
      public abstract string Name
      {
         get;
         set;
      }
      public abstract int Age
      {
         get;
         set;
      }
   }
   class Student : Person
   {

      private string code = "N.A";
      private string name = "N.A";
      private int age = 0;

      // Declare a Code property of type string:
      public string Code
      {
         get
         {
            return code;
         }
         set
         {
            code = value;
         }
      }
   
      // Declare a Name property of type string:
      public override string Name
      {
         get
         {
            return name;
         }
         set
         {
            name = value;
         }
      }

      // Declare a Age property of type int:
      public override int Age
      {
         get
         {
            return age;
         }
         set
         {
            age = value;
         }
      }
      public override string ToString()
      {
         return "Code = " + Code +", Name = " + Name + ", Age = " + Age;
      }
   }
   class ExampleDemo
   {
      public static void Main()
      {
         // Create a new Student object:
         Student s = new Student();
            
         // Setting code, name and the age of the student
         s.Code = "001";
         s.Name = "Zara";
         s.Age = 9;
         Console.WriteLine("Student Info:- {0}", s);
         //let us increase age
         s.Age += 1;
         Console.WriteLine("Student Info:- {0}", s);
         Console.ReadKey();
       }
   }
}

ناتج الخصائص المجردة.

Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10





Ahmed Ata Almahallawi
 Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
30/12/2013


No comments

أساسيات البرمجة برمجة المواقع بي اتش بي حلقات التكرار أو الدوارة PHP Loop Types

حلقات التكرار أو الدوارة PHP Loop Types

مقدمة عن حلقات التكرار:-

كما ذكرنا سابقا ان جميع اللغات البرمجية تتشابه في صيغة وطريقة كتابة أساسيات البرمجة مثل المتغيرات و الجمل الشرطية  وكذلك بالنسبة ل حلقات التكرار.

ماهي حلقات التكرار؟

حلقات التكرار عبارة عن كود برمجي يقوم بتنفيذ شيء ما بتكرار بناء على شرط معطى خلال حلقات التكرار فمثلا نريد حلقة تكرار تقوم بطباعة الأرقام الزوجية ما بين 2 - 100 فاننا ننشأء حلقة تكرار بحيث يتم طباعة ألارقام بشرط تكون زوجية أي تقبل القسمة على 2 وباقي القسمة صفر.

أنواع حلقات التكرار

  1. حلقة التكرار for حيث تكرار عدد مرات.
  2. حلقة التكرار while تكرار القيمة بينما الشرط المعطى صحيح.
  3. حلقة التكرار do while تكرار القيمة بينما الشرط المعطى صحيح.
  4. حلقة التكرار foreach تكرار القيمة حسب عدد المصفوفة.

أولا حلقات التكرار من نوع for

الصيغة العامة لحلقات التكرار for

for (القيمة الابتدائية; الشرط; الزيادة)
{
 الكود;
}

مثال لحلقات التكرار.

<html>
<body>
<?php
$a = 0;
$b = 0;
for( $i=0; $i<5; $i++ )
{
   $a += 10;
   $b += 5;
 echo "a= " .$a."
";
 echo "b= " .$b."
";
}
echo ("At the end of the loop a=$a and b=$b" );
?>
</body>
</html>

ناتج مثال حلقات التكرار من نوع for

a= 10
b= 5
a= 20
b= 10
a= 30
b= 15
a= 40
b= 20
a= 50
b= 25
At the end of the loop a=50 and b=25


ثانيا حلقات التكرار من نوع while

إن حلقة  التكرار التي نوع while تقوم أولا بفحص الشرط في حال كان صحيح يبدأ عمل حلقة التكرار وتنفيذ الكود.
الصيغة العامة لحلقات التكرار من نوع while

while (الشرط)
{
   الكود الذي سوف ينفذ;
}


مثال على حلقات التكرار من نوع while


<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
   $num--;
   $i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>

ناتج كود حلقات التكرار while


Loop stopped at i = 10 and num = 40 

ثالثا حلقة التكرار من نوع do while

تشبه حلقة التكرار do while النوع السابق من حلقات التكرار while الا أن الفرق بينهما في النوع do while يتم تنفيذ الكود مرة واحدة على الاقل حتى وأن كان الشرط المراد فحصه لاحقا خطأ.ثم يتم فحص الشرط في حال كان خطأ يتوقف مالم يستمر تنفيذ حلقة التكرار.

الصيغة العامة لحلقة التكرار من نوع do while



do
{
   الكود الذي سينفذ;
}while (الشرط);

مثال على حلقة التكرار do while

<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
   $num--;
   $i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>

ناتج كود حلقة التكرار do while

Loop stopped at i = 10

رابعا حلقة التكرار foreach

هذا النوع من حلقات التكرار يقوم بالدواران على مجموعة من العناصر داخل المصفوفة.

الصيغة العامة  ل حلقة التكرار foreach

foreach (array as value)
{
    code to be executed;

}


مثال على حلقة التكرار for each


<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
  echo "Value is $value <br />";
}
?>
</body>
</html>


ناتج حلقة التكرار for each

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5

خامسا جملة التوقف break

تستخدم جملة التوقف  لايقاف تنفيذ الكود والخروج من حلقة التكرار.

مثال على استخدام جملة التوقف break

<html>
<body>
<?php
$i = 0;
while( $i < 10)
{
   $i++;
   if( $i == 3 )break;
}
echo ("Loop stopped at i = $i" );
?>
</body>
</html>

ناتج جملة التوقف break

Loop stopped at i = 3

سادسا جملة الاستمرار continue 

تقوم جملة الاستمرار بالتوقف عند شرط معين ولكن تقوم لتنفيذ الكود الذي يليه.

مثال على جملة الاستمرار continue

<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
  if( $value == 3 )continue;
  echo "Value is $value <br />";
}
?>
</body>
</html>

ناتج جملة الاستمرار continue




Value is 1
Value is 2
Value is 4
Value is 5



Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO experience,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
30/12/2013
No comments

Sunday, December 29, 2013

أساسيات البرمجة - برمجة المواقع صنع القرارات الجمل الشرطية PHP Decision Making

صنع القرارات أو الجمل الشرطية PHP Decision 

الجمل الشرطية في البي اتش بي:-

كما ذكرنا سابقا في درس المتغيرات فأن أسياسيات البرمجة في كافة اللغات البرمجة الموجه بالكائنات كلها متشابهة في الصيغة ولا يوجد اختلاف كبيرة بل هي فروقات بالكاد تكون واضحة.ولذلك فان الجمل الشرطية في البي اتش بي هي نفس صيغة الجمل الشرطية في الس شارب وكذلك هي نفس صيغة الجمل الشرطية في لغة سي بلس بلس .وهس نفس الجمل الشرطية في أي لغة أخرى. ولذلك عند التعامل مع صنع القرارات أو بما يعرف ب الجمل الشرطية يفضل دراسة الخوارزميات الخاصة ب الجمل الشرطية لانها موحدة في كافة لغات البرمجة.

أنواع الجمل الشرطية في البي اتش بي:

  1. الجمل الشرطية في صيغتها المبسطة  if...else statement
  2. الجمل الشرطية في صيغتها المركبة elseif statement
  3. الجمل الشرطية الاختيار من متعدد او بالبدالة switch statement

أولا الجمل الشرطية في صيغتها المبسطة   if...else statement

الصيغة العامة ل الجمل الشرطية المبسطة

if (الشرط)
  في حال كان صحيح ينفذ هذا الجزء;
else
  في حال كان خطأ ينفذ هذا الجزء;

مثال على الجمل الشرطية البسيطة:-

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
  echo "Have a nice weekend!"; 
else
  echo "Have a nice day!"; 
?>
</body>
</html>

مثال على الجمل الشرطية البسيطة

في حال كانت الكود المراد تنفيذه في أكثر من سطر فيجب استخدام الحاصرتين {} بعد if

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
  {
  echo "Hello!<br />"; 
  echo "Have a nice weekend!";
  echo "See you on Monday!";
  }
?>
</body>
</html>

ثانيا الجمل الشرطية في صيغتها المركبة    elseif statement

الجمل الشرطية المركبة هي صيغة من الجمل الشرطية البسيطة ولكن بدل من أن تفحص شرطين فأنها تفحص عدد شروط وتنفذ الشرط الصحيح منها.

الصيغة العامة ل الجمل الشرطية المركبة.

if (condition)
  code to be executed if condition is true;
elseif (condition)
  code to be executed if condition is true;
else
  code to be executed if condition is false;


مثال على الجمل الشرطية المركبة في البي اتش بي


<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
  echo "Have a nice weekend!"; 
elseif ($d=="Sun")
  echo "Have a nice Sunday!"; 
else
  echo "Have a nice day!"; 
?>
</body>
</html>

 ثالثا الجمل الشرطية الاختيار من متعدد او بالبدالة switch statement

تستخدم الجمل الشرطية سويتش في أردت الاختيار من بين عدة خيارات في حال كانت القيمة المختارة هي ضمن الخيارات المتاحة.

الصيغة العامة للجمل الشرطية الاختيار من متعدد أو سويتش.


switch (التعبير)
{
case الاختيار1:
  ينفذ الكود في حال كان التعبير يساوي الاختيار1
  break;  
case الاختيار2:
ينفذ الكود في حال كان التعبير يساوي الاختيار2
break; default: ينفذ هذا الاختيار في حال لا يوجد اي من الاختيارات السابقة ما يساوي التعبير }

مثال عى الجمل الشرطية من نوع switch

<html>
<body>
<?php
$d=date("D");
switch ($d)
{
case "Mon":
  echo "Today is Monday";
  break;
case "Tue":
  echo "Today is Tuesday";
  break;
case "Wed":
  echo "Today is Wednesday";
  break;
case "Thu":
  echo "Today is Thursday";
  break;
case "Fri":
  echo "Today is Friday";
  break;
case "Sat":
  echo "Today is Saturday";
  break;
case "Sun":
  echo "Today is Sunday";
  break;
default:
  echo "Wonder which day is this ?";
}
?>
</body>
</html>



Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
30/12/2013
No comments

Thursday, December 26, 2013

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات الشرطية PHP Conditional Operator Example

أمثلة على المشغلات  الشرطية

المشغلات الشرطية تتم باستخدام علامة الاستفهام ؟ وهي  تشرط في حال كان الاخيار الاول صحيح سينفذ بغض النظر عن الثاني مالم  سينفذ الخيار الثاني حتى ولم يكن صحيح. المثال التالي يعرض المشغل الشرطي.

<html>
<head><title>Arithmetical Operators</title><head>
<body>
<?php
    $a = 10;
    $b = 20;
    /* If condition is true then assign a to result otheriwse b */
    $result = ($a > $b ) ? $a :$b;
    echo "TEST1 : Value of result is $result<br/>";
    /* If condition is true then assign a to result otheriwse b */
    $result = ($a < $b ) ? $a :$b;
    echo "TEST2 : Value of result is $result<br/>";
?>
</body>
</html>

الناتج  المشغلات  الشرطية :-

TEST1 : Value of result is 20
TEST2 : Value of result is 10




Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
29/12/2013

No comments

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات المنطقية PHP Logical Operators Example

 أمثلة على المشغلات المنطقية

في المثال التالي نستعرض المشغلات المنطقية.


<html>
<head><title>Logical Operators المشغلات المنطقية  </title><head>
<body>
<?php
    $a = 42;
    $b = 0;
    if( $a && $b ){
       echo "TEST1 : Both a and b are true<br/>";
    }else{
       echo "TEST1 : Either a or b is false<br/>";
    }
    if( $a and $b ){
       echo "TEST2 : Both a and b are true<br/>";
    }else{
       echo "TEST2 : Either a or b is false<br/>";
    }
    if( $a || $b ){
       echo "TEST3 : Either a or b is true<br/>";
    }else{
       echo "TEST3 : Both a and b are false<br/>";
    }
    if( $a or $b ){
       echo "TEST4 : Either a or b is true<br/>";
    }else{
       echo "TEST4 : Both a and b are false<br/>";
    }
    $a = 10;
    $b = 20;
    if( $a ){
       echo "TEST5 : a is true <br/>";
    }else{
       echo "TEST5 : a  is false<br/>";
    }
    if( $b ){
       echo "TEST6 : b is true <br/>";
    }else{
       echo "TEST6 : b  is false<br/>";
    }
    if( !$a ){
       echo "TEST7 : a is true <br/>";
    }else{
       echo "TEST7 : a  is false<br/>";
    }
    if( !$b ){
       echo "TEST8 : b is true <br/>";
    }else{
       echo "TEST8 : b  is false<br/>";
    }
?>
</body>
</html>


الناتج المشغلات المنطقية:-

TEST1 : Either a or b is false
TEST2 : Either a or b is false
TEST3 : Either a or b is true
TEST4 : Either a or b is true
TEST5 : a is true
TEST6 : b is true
TEST7 : a is false
TEST8 : b is false


Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
29/12/2013
No comments

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات الاسناد PHP Assignment Operators Example

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات الاسناد


في المثال التالي نستعرض على المشغلات  الاسناد التي يمكن التعامل بها في لغة البي اتش بي.

<html>
<head><title>Assignment Operators</title><head>
<body>
<?php
    $a = 42;
    $b = 20;   
    $c = $a + $b;   /* Assignment operator */
    echo "Addtion Operation Result: $c <br/>";
    $c += $a;  /* c value was 42 + 20 = 62 */
    echo "Add AND Assigment Operation Result: $c <br/>";
    $c -= $a; /* c value was 42 + 20 + 42 = 104 */
    echo "Subtract AND Assignment Operation Result: $c <br/>";
    $c *= $a; /* c value was 104 - 42 = 62 */
    echo "Multiply AND Assignment Operation Result: $c <br/>";
    $c /= $a;  /* c value was 62 * 42 = 2604 */
    echo "Division AND Assignment Operation Result: $c <br/>";
    $c %= $a; /* c value was 2604/42 = 62*/
    echo "Modulus AND Assignment Operation Result: $c <br/>";
?>
</body>
</html>


الناتج:-

Addtion Operation Result: 62
Add AND Assigment Operation Result: 104
Subtract AND Assignment Operation Result: 62
Multiply AND Assignment Operation Result: 2604
Division AND Assignment Operation Result: 62
Modulus AND Assignment Operation Result: 20 

Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
26/12/2013
No comments