منتديات ماك للعرب  

العودة   منتديات ماك للعرب > ركن نظام الماكنتوش > مجلس ماك العام

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1 (permalink)  
قديم 12-31-2004, 10:30 AM
الصورة الرمزية أبو بكر
Moderator
 
تاريخ التسجيل: Dec 2004
الدولة: أبوظبي - الإمارات
المشاركات: 621
Thanks: 0
Thanked 2 Times in 2 Posts
أبو بكر is on a distinguished road
افتراضي

السلام عليكم ورحمة الله وبركاته
نستكمل المقدمة الضرورية عن نظام الماكنتوش قبل البدء بإنشاء البرامج..
مقدمة 1-2


للماكنتوش تقنية مختلفة في إنشاء البرامج عنها في نظام النوافذ، وهذه التقنية جعلته قادرا على التعامل مع الأنظمة الاخرى بسلاسة.. فمثلا وجد أن بعض البرامج المخصصة لنظام ويندوز تعمل بكفاءة على جهاز الماكنتوش أكثر منها على الأجهزة المتوافقة مع أنظمة IBM .. تقوم بتثبيت نظام النوافذ على جهاز الماكنتوش عن طريق برنامجي إما Virtual PC وهو- أفضل – وإما SoftWindows، أو بطاقات Apple التي استخدمت لفترة...

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

ولكن من الضروري تناول الان أنواع البيانات جميعها:

لو نظرت في جميع البرامج على أي نظام كانت .. ماكنتوش.. ويندوز.. دوس... أو حتى OS 2 أو أي نظام شئت ستجد أن المعلومات التي تعالجها على النحو التالي:
1- برامج تعالج الكلمات والنصوص ويطلق عليها محررات النصوص، وبالتالي النص يتألف من الأحرف، والتي بدورها (الأحرف) عبارة عن بايتات مطلقة.
2- برامج تعالج الصور والتي تتألف من مصفوفات كبيرة جدا، على اختلاف أنواعها (JPG, PICT, MacPaint, TIFF, BMP وغيرها الكثير الكثير.. وهذه المصفوفات ستجد أن قيمة عناصرها عبارة عن بايتات مطلقة، تماما كالتي رأيناها في النقطة السابقة في تحرير الكلمات.
3- برامج تعالج الأصوات، والتي تتألف من بايتات مطلقة أيضا، حاول فتح ملف صوتي عن طريق البرمجة واقرأه بايتا بايتا ..
4- برامج تعالج الأفلام الفيديوية أو الرسوم المتحركة، ستجد أنها تتكون من عدة صور (النقطة رقم 2) وتعرض هذه الصور متتالية خلف بعضها في الزمن فهي تتكون من عدة مصفوفات (لكل صورة مصفوفة) من البايتات المطلقة.
5- برامج قواعد البيانات والرسوم البيانية: مثل Oracle وClaris Cad AutoCad, إلى غير ذلك من البرامج: ستجد أن البيانات في برامج أوراكل إما نصوص (النقطة رقم واحد، البيانات تعني الأحرف)، وإما صور (النقطة رقم 2)، وهكذا.. ( الأصوات وملفات عرض الأفلام)...

فإذن وجدنا أن جميع المعلومات (البيانات) التي تعالج في الكومبيوتر هي في الأساس البايتات المطلقة.
فما هي هذه البايتات المطلقة؟
قبل أن نشرع في معرفة البايتات، نلقي نظرة هامة جدا إلى المجموعات في الرياضيات.
نعلم أن هناك مجموعات رئيسية في الرياضيات يبنى عليها حل المعادلات بكافة أنواعها:
مجموعة الأعداد الصحيحة: ص = {... ، -3، -2، -1، 0، 1، 2، 3،...} نلاحظ أن هذه المجموعة غير منتهية.
مجموعة الأعداد الطبيعية : ط = {0، 1، 2، 3، ....} نلاحظ أن هذه المجموعة غير منتهية.
مجموعة الأعدد الحقيقية : ح = {... –3، -2.5،-2، -1.75، ...،-1،...،0،...،1،...2،...2،5،...،3،....} نلاحظ أن هذه المجموعة غير منتهية أيضا...

لكن في الكومبيوتر بشكل عام كيف نستطيع وصف هذه المجموعات برمجيا؟ إذ أن ذاكرة الكومبيوتر محدودة (أي منتهية)؟
لأن ذاكرة الكومبيوتر منتهية كان لا بد من ان تكون هذه المجموعات الثلاث منتهية..
فوصف علماء الكومبيوتر هذه المجموعات على النحو التالي:
سنتناول الأن مجموعة الأعداد الصحيحة:
وصف العلماء مجموعة للأعداد الصحيحة، تسمى مجموعة الأعداد الصحيحة العادية Integer Type، ولأنها قصيرة وصغيرة لا تكفي لتعالج البيانات الكبيرة وصفوا مجموعة ثانية تسمى مجموعة الأعداد الصحيحة الطويلة : Long Integer Type
والأولى تحتوي على القيم ما بين –32768 و 32767 بالإضافاة إلى الصفر يكون مجموع القيم 65536( بدون إشارات).

نلاحظ أن هذه المجموع قيمها فقط إذا كانت بالإشارة الموجبة أو السالبة تقريبا تصل إلى 32767، فإذا ما أردنا قيمة بالملايين وألاف الملايين؟ نلجأ عندها إلى مجموعة الأعداد الصحيحة الطويلة والتي تأخذ القيم ما بين –2.147.483,648 و 2.147.483.647 بالإضافة إلى الصفر يكون مجموع القيم 4.294.967.296 قيمة(بدون إشارات)

وبتعبير رياضي أخر نجد أن:
مجموع القيم التي تضمها مجموعة الأعداد الصحيحة = 65536 قيمة ونكتبها 2 أس 16 ونقرأها 16 بت ( ستة عشرة بتا).

مجموع القيم التي تضمها مجموعة الأعداد الصحيحة الطويلية = 4.294.967.296 ونكتبها 2 أس 32 ونقرأها 32 بت ( اثنان وثلاثون بتا).

فما هو البت؟ - Bit-

قلنا قبل قليل أن جميع البيانات في الكومبيوتر بدون استثناء تتكون من البايتات المطلقة ..
والبايت هو عبارة عن الحرف الواحد... وهو وحدة قياس أحجام الملفات والبرامج في الكومبيوتر فتقول: ملف برنامج إكسل حجمه 120 كيلو بايت...
من الضروري معرفة أن الكيلو في قياسات البايتات لا يساوي الكيلو في الفيزياء، فكيلو بايت يساوي 1024 بايتا ولا يساوي الف بايت؟ لماذا؟ من أين جاءت هذه 24 البايت الأخيرة؟

لاحظ معي هذا الرقم: 0400$ (بلغة باسكال) 0x4000 (بلغة C)
هذا الرقم مكتوب بالنظام السداسي عشري، واتفق العلماء على أن 0400$ بايت تساوي كيلو بايت، وعند تحويل هذا الرقم إلى النظام العشري (العادي المعروف للجميع تجد أن الرقم هذا يساوي 1024 بايتا).
مم يتكون البايت؟ يتكون البايت من ثمانية خانات، كل خانة تأخذ زوج من الأرقام (إما الرقم 0، وإما الرقم 1) وهذا الزوج يطلق عليه : Bit (ثنائي)
ولتفسير ذلك : إذا كان لديك الرقم 0 أو الرقم 1، فباستطاعتك التعبير عن قيمتين مختلفتين فقط،، إما الرقم 0 وإما الرقم 1... الأن ارسم مربعين صغيرين على الورقة، بإمكان وضع الرقم صفر أو 1 في المربع الأول ( يعني قميتين مختلفتين، والثاني كذلك نفس الشيء قيمتين مختلفتين.. ( جرب جميع الاحتمالات تجد أن مجموع القيم = 4 قيم في المربعين معا)

فإذا قمت برسم أربعة مربعات (قم بإضافة مربعين إلى جانب المربعين السابقين).. حاول أن تعرف كم عدد القيم التي تستطيع وضعها عن طريق الرقمين 0، 1.. ستجدها تساوي 16 قيمة .. ولنعبر عنها علميا نقول أن كل مربع يأخذ إما الرقم 0 أو الرقم 1.. يعني قيمتين.. (نسميها Bit) ولأنه لدينا أربعة مربعات نقول 4 بت (4 Bits) وهي بنظام العدّ الثنائي.. وعندما نحولها إلى الأعداد العشرية تجدها تساوي 16...
وكذلك قلنا إن البايت يتألف من ثماني خانات .. (أي ثماني مربعات مثلا) نعبر عنها فنقول 8 بت (8 Bits) وعند تحويلها إلى الأعداد العشرية تجدها تساوي 256 .. أي ان البايت ممكن نشكل به 256 قيمة مختلفة.... ( في الوقت نفسه قيمة واحدة فقط!)
أي أن عدد القيم التي يشكلها البايت تساوي 256 قيمة.. فإذا اعتبرنا بداية القيم هو الصفر .. فإن القيمة الأخيرة هي 255 .. وعليه تم تعريف البايت رياضيا في البرمجة :
البايت = { 0، 1، 2، 3،... 255}، وهي المجموعة الرئيسية في البرمجة ولا يفهم الكومبيوتر إلا هذه المجموعة فقط...
وتم تعريف البايت عن طريق البرمجة على النحو التالي (حقيقة بلغة باسكال داخل نظام الماكنتوش أو نظام النوافذ)
Type
Byte = 0..255;
SignedByte = -128..127
لاحظ أن للتعريفين السابقين قيم عددها 256 قيمة .. التعريف الأول يأخذ القيم بدون إشارات والثاني يأخذها مع إشارات
والتعريف الأول نفسره فنقول : هو أي بايت مطلق في الذاكرة.. ومنه نستنتج أن جميع البايتات في الكومبيوتر تنتمي إلى هذه المجموعة..
وهو عبارة عن أي بيانات في الذاكرة ... إذ جميع انواع البيانات التي ذكرناها سابقا هي تنتمي فعليا إلىهذه المجموعة...
ولأن التعريف الثاني للبايت ذو الإشارة، شمل الموجب والسالب.. قمنا بتعريف إشارة إليه على النحو التالي:
Type
Byte = 0..255;
SignedByte = -128..128;
Ptr = ^SignedByte;
Handle = ^Ptr;

هذه التعريفات بلغة باسكال.. الإشارة الأولى هي Ptr (ورمز الإشارة في لغة باسكال هو ^ ) يشير إلى أي بايت إعتباطي في الذاكرة.. إذ أن (SignedByte) هو أي بايت اعتباطي في الذاكرة... (ملاحظة نظام الويندوز والدوس يدعمان هذا النوع من الإشارة)
والإشارة الثانية هي (Handle) تشير إلى الإشارة الأولى Ptr .. وهي تسمى مقبض البايت في الذاكرة.. (هذا النوع من الإشارات لا تدعمه الانظمة الأخرى غير الماكنتوش)...
وهي الدرجة الثانية من الإشارات التي سبق ذكرها ..

ولأن الإشارة Ptr تشير إلى أي بايت اعتباطي في الذاكرة، فنستطيع استخدامها لتشير إلى أي بايت في الذاكرة وإلى أي كتلة أخرى حتى لو كانت Handle.. وكذلك الإشارة Handle لأنها مقبض البايت الاعتباطي تشير إلى إشارته، فنستطيع استخدامها في الإشارة إلى أي بايت في الذاكرة حتى لو كان Ptr
ولكن هناك فرق بين الإشارتين: وهو أن الإشارة Ptr تبقى ثابته في الذاكرة .. لا تتغير،، بينما الإشارة Handle يتغير مكانها، والمقصود أن موقع إشارتها يتغير، فتقوم بالصعود إلى أعلى الذاكرة، وبالتالي عند طلب المعلومات التي تقبضها هذه الإشارة تتغير.. لذلك يجب استخدامها بعد تأمينها في الذاكرة حتى لا يتيغير موقع إشارتها...

وسنوضح ذلك بالأمثلة...

لاحقا إن شاء الله تعالى
وإلى اللقاء لاحقا.. والسلام عليكم ورحمة الله وبركاته
نرجو من الإخوة نقل النص إلى برنامج محرر نصوص ثم تحويل محاذاته ليكون اتجاهه من اليسار لليمين (بالنسبة للتعريفات البرمجية) حتي يقرأ بشكل صحيح.
__________________
أبو بكر
رد مع اقتباس
إضافة رد

  منتديات ماك للعرب > ركن نظام الماكنتوش > مجلس ماك العام

أدوات الموضوع
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


الساعة الآن »03:35 PM.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
جميع الحقوق محفوظة لموقع ماك للعرب ٢٠٠٢-٢٠٠٨م
Ad Management by RedTyger