m.3oloum

زائرنا الكريم
يرجى التكرم بتسجيل دخولك إذا كنت عضو لدينا بالفعل
وإذا لم تكن كذلك فنحن نتشرف بانضمامك لأسرتنا
شكرا


إدارة المنتدى


m.3oloum
 
الرئيسيةس .و .جبحـثالتسجيلدخول
دليل الطالب
تصويت
ما رأيك بالتصميم الجديد للمنتدى ؟
ممتاز
71%
 71% [ 17 ]
جيد
25%
 25% [ 6 ]
لابأس به
4%
 4% [ 1 ]
غير مناسب
0%
 0% [ 0 ]
مجموع عدد الأصوات : 24
المواضيع الأكثر شعبية
المحاضرة 1 جبر خطي 2
المحاضرة 2 برمجة وخوارزميات
مرجع جبر A first cours in liner algebra رائع جدا
المحاضرة 2 تحليل 2
المحاضرة 1 تحليل متجهي
المحاضرة 1 برمجة وخوارزميات
المحاضرة 3 برمجة وخوارزميات
تاريخ الرياضيات
المحاضرة 1 برمجة وخوارزميات عملي
المحاضرة 1 تحليل 2
المواضيع الأخيرة
» الطابعات وأنواعها
الثلاثاء أبريل 09, 2013 7:10 pm من طرف hana sh

» وحدات التخزين الثانوية {التنظيم المنطقي للسواقات (الذاكرة الميتة)}
السبت أبريل 06, 2013 7:43 pm من طرف rouba kh

» الشاشات وأنظمة الألوان
السبت أبريل 06, 2013 7:43 pm من طرف rouba kh

» رسالة من الخوارزمي إلى نيوتن !
السبت أبريل 06, 2013 7:42 pm من طرف rouba kh

» تطور الرياضيات عند العرب
السبت أبريل 06, 2013 7:42 pm من طرف rouba kh

» ماذا بعد المليون
السبت أبريل 06, 2013 7:41 pm من طرف rouba kh

» التحليل الرياضي
السبت أبريل 06, 2013 7:41 pm من طرف rouba kh


شاطر | 
 

 أنماط المعطيات سي بلس بلس ++c

اذهب الى الأسفل 
كاتب الموضوعرسالة
m3oloum
مدير المنتدى
avatar

ذكر

عدد المساهمات : 76

نقاط : 11474

السٌّمعَة : 2

العمر : 24

تاريخ التسجيل : 16/02/2013

المستوى الدراسي : طالب جامعي

الجامعة : جامعة دمشق

السنة الدراسية : الأولى

مُساهمةموضوع: أنماط المعطيات سي بلس بلس ++c   الثلاثاء مارس 05, 2013 9:06 pm

أنماط المعطيات سي بلس بلس c


الأنماط البسيطة


لمحة عن الأنماط البسيطة ( Simple )



  • تمثل الأنماط short و int و long الأعداد الصحيحة، فهي لا تتعامل مع الفاصلة العشرية، وتختلف فيما بينها بالمجال ا
المتحولات Variables


هي أماكن في الذاكرة تخزن فيها القيم، ولكل متحول 1 اسم، 2 نمط تعريف، 3 حجم (في الذاكرة)، و4 قيمة.
قواعد تسمية المتحولات (والثوابت والتوابع أيضاً)



  • يمكن أن يتكون اسم المتحول من أحرف وأرقام و (_) فقط.

إلا أنه لا يجوز أن يبدأ بأرقام.


  • وفي معظم المترجمات يكون الحد الأقصى لاسم المتحول هو 32 محرفاً.



  • ولا بد هنا من الإشارة إلى أن لغة C هي لغة حساسة لحالة الأحرف ( يوجد فرق بين الأحرف الإنكليزية الكبيرة والصغيرة في أسماء المتحولات أو أي كلمات أخرى).



  • ويُفترض باسم المتحول أن يكون معبراً عن وظيفته.



  • لا يجوز أن يكون اسم المتحول من الكلمات المحجوزة (غالباً ما يلونها المترجم بالأزرق).


كيفية تعريف المتحولات وإسناد قيم لها


يمكن في لغة C تعريف متحول وإسناد قيمة له بشكل مباشر، ومن المستحسن إسناد قيمة ابتدائية للمتحول فور تعريفه.







الكود


نمطه int









int J;



نمطه intint J = 4;



، يمكن تعريفها سوياً أو بشكل منفصل (كل لوحده)

int J,K,L;


فقط وليس لكل المتحولات.

Int J,K,L = 4;


يمكن إسناد قيمة من النظام
السداسي عشر بأن نضع قبل العدد السداسي عشر المحرفين 0xأو بالنظام الثماني بأن
نضع قبل العدد الثماني المحرف 0

int J = 077 ( J = 63 Decimal )


تتم إما ب
char C = ‘A’;or char C = 65;
وبالنسبة لنمط bool، فيمكن إسناد إحدى القيمتين true أو false (كلمتان
محجوزتان) أو أي قيمة عددية، فإذا كانت 0 فهو
false وإلا فهو true.



bool B = true; or bool B = 23 ( ≠ 0 ) bool B = false; or bool B = 0;



ويمكن إسناد قيمة لمتحول float (أو أي نمط حقيقي) إما بواسطة الفاصلة فقط أو بالفاصلة مع الأس

double D = 474.56;or double D = 4.7456E+2;
أما بالنسبة للـ string، فيتم الإسناد بحصر سلسلة المحارف بعلامتي اقتباس مزدوجتين
(")


string S = “Hello World!”;

ولابد من الإشارة إلى أنه عند إسناد قيمة جديدة إلى المتحول، فإن القيمة القديمة سوف تُلغى.
أما عند قراءة قيمة المتحول، فإن القيمة ستبقى موجودة ولن تتغير.
كيفية تعريف الثوابت

يمكن تعريفها بطريقتين:

  • الطريقة الأولى:



الكود:
#define  Name  Value

أمثلة:
الكود:
#define Decimal90  90                              // الرقم 90 بالنظام العشري     
#define Octal90        0132                          // الرقم 90 بالنظام الثماني       
#define Hex90          0x5A                          //  الرقم 90 بالنظام السداسي عشر
#define NEWLINE  ‘\n’
#define PI                3.14159
#define ITE_URL    “www.syriamath.com”

  • الطريقة الثانية

الكود:
const  Type  Name = Value;
نفس الأمثلة السابقة بالطريقة الجديدة:
الكود:
const int Decimal90 = 90;
const int Octal90 = 0132;
const int Hex90    = 0x5A;
const char NEWLINE = ‘\n’;
const double PI = 3.14159;
const string ITE_URL = “www.syriamath.com”;
const Test = 10;                            /* في حال لم يتم تحديد نمط، فإن أسندنا عددا صحيحاً يقبله وإلا يرد قيمة عشوائية وهذا في
visual C  6
أما في 2010 فيجب تحديد نمط والا يعتبره
 compile error */
النمط التعدادي Enumeration Data Type

هو عبارة عن مجموعة من الثوابت (تمثل بأسمائها) التي تحل محل قيم صحيحة (ليس تعريفاً للحفظ  ). ويستخدم عادة لتسهيل قراءة البرنامج وحماية القيم الصحيحة الهامة من التغيير.

يتم تعريف النمط التعدادي بالشكل التالي:
الكود:
enum TypeName { Value1, Value2, Value3 ….. };


  • الثوابت لها أسماء منفردة unique (كل اسم يختلف عن باقي الأسماء).



  • كل ثابت يقابل قيمة صحيحة (Integral). في الوضع الطبيعي يبدأ الترقيم بـ 0، ويزداد كل ثابت عن سابقه بـ 1 أي : Value1 = 0 و Value2 = 1 و Value3 = 2 وهكذا.......



  • يمكن إسناد أي قيمة صحيحة لأي ثابت عند التعريف حصراً، وتبقى القاعدة ثابتة (كل ثابت بعده يزيد على سابقه بـ 1 ).


مثال: لنعرف النمط التعدادي التالي:
الكود:
enum Days { Sat, Sun, Mon, Tues, Wed, Thur, Fri };
في هذه الحالة، تكون القيم المقابلة للأسماء (الثوابت) كالتالي:

Sat = 0, Sun = 1, Mon = 2, Tues = 3, Wed = 4, Thur = 5, Fri = 6

والآن لنجرب التعديلات التالية:








الشرح

الكود

في هذه الحالة تكون القيم :
Sat = -1, Sun = 0, Mon=1, ……, Fri = 5

enum Days { Sat = -1, Sun, Mon, Tues, Wed, Thur, Fri };


هنا يكون : Sat =1, Sun
=2, Mon=3, Tues = 1, Wed = 2, Thur = 3, Fri = 4

أي يمكن أن يكون لثابتين (أو أكثر) نفس
القيمة



enum Days { Sat = 1, Sun, Mon, Tues =1, Wed, Thur, Fri };


هنا يكون :
Sat = 1, Sun =2, Mon =3, Tues=-1, Wed =0, Thur =1, Fri =2

enum Days { Sat = 1, Sun, Mon, Tues =-1, Wed, Thur, Fri };


هنا يكون :
Sat = 1, Sun =2, Mon = 6, Tues = -1, Wed = 0, Thur = 1, Fri = 2 يمكن أن تكون قيمة ثابت متعلقة بثابت سابق له

enum Days { Sat = 1, Sun, Mon = Sat + 5, Tues =-1, Wed, Thur, Fri };


هنا يكون : Sat = 1, Sun
= 2, Mon = 3, Tues = 4, Wed = 5, Thur = 3, Fri = 10

يمكن أن تساوي قيمة ثابت تركيباً من أرقام
و ثوابت سابقة له.



enum Days { Sat =1, Sun=Sat*2, Mon, Tues, Wed, Thur= Sat+Sun, Fri= Wed*Sun };


هنا يكون :
Sat = 1, Sun = 2, Mon = 3, Tues = 4, Wed = 0, Thur = 1, Fri = 2

enum Days { Sat = true , Sun, Mon , Tues, Wed = false, Thur, Fri };



هنا يكون : Sat = 65, Sun = 66,
Mon = 67,

Tues = 37, Wed = 38, Thur = 39, Fri = 40
عند إسناد محارف، تكون قيمة الثابت هي رقم
المحرف في جدول الـ
ASCII

enum Days { Sat = ‘A’, Sun, Mon, Tues = ‘%’ , Wed, Thur, Fri };



الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
أنماط المعطيات سي بلس بلس ++c
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
m.3oloum :: مواد دراسية :: البرمجة-
انتقل الى:  
 
إدارة منتديات سوريا الرياضيات ترحب بكم يمكنكم التواصل معنا من خلال صفحتنا على الفيس بوك \ syriamath أو على صفحتنا على تويتر @ syriamath كما يمكنكم التواصل معنا من خلال بريدنا الإلكتروني support@syriamath.com

FacebookTwitter
أختر لغة المنتدى من هنا