اهلا وسهلا بك فى بوابة الثانوية العامة ... سجل الان

العودة   بوابة الثانوية العامة المصرية > المرحلة الاعدادية > الفصل الدراسى الثانى > الصف الثالث الاعدادى > الكمبيوتر وتكنولوجيا المعلومات 3 ع ترم 2 2017 > حاسب آلى 3ع ترم2

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 21-02-2013, 02:09 AM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
Impp خواطر 2013 "عالم الكمبيوتر" أ/ علي محمد علي

مازلت مصمماً على الفكرة .... لا أريد الإنخراط في تفاصيل المنهج .... فالمذكرات كفيلة بذلك والأعمال كثيرة .... إنما أنا هنا أود التوجه لإخواننا المدرسين .... وخصوصاً (ولن ندفن رؤسنا في الرمال ) ونقول حديثى العهد بالمنهج .... أو الجدد الذين وجدوا أنفسهم أمام منهج لم يستشاروا فيه أو يأخذ حتى رأيهم فيه .... كإجراء طبيعي هو أحد أهم دعائم الإستراتيجية التعليمية المثلى .... ولم ينالوا التدريب الكافي والذي في بعض الأحيان كمادتنا هذه يجب أن يكون تدريباً مستمراً نظراً للتغيرات المتلاحقة في عالم الأتمتة والتكنولوجيا .... وبدون الدخول في تفاصيل ... فكرتي هنا من البداية هي إختراع وسائل وأساليب جديدة للشرح فنحن من يصنع الأفكار (المدرس) فإذا فهم مدرس .... فهذا = فهم مدرسة كاملة على الأقل . فهذا الموضوع مخصص للمدرسين فقط والجادين فقط المبدعين فقط .... فهيا نتبادل الأفكار والخبرات حول موضوع واحد " كيف نوصل المعلومة للطالب بشكل أفضل وسهل ومبتكر" فأنا أرى أن المدرس المصري وبدون تعصب هو من أقوى المدرسين في العالم حيث بأقل الإمكانات يستطيع أن يصنع المستحيل ....


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

وأضيف ... لابد أن يوضح المدرس أن أولى خطوات البرمجة والعمل مع visual basic.net هي التصميم ...فالتصميم الجيد للبرنامج هو قطع نصف الشوط في البرنامج وهو مفتاحك للدخول إلى الكود ..... ( وهنا ياحضرة المدرس اربط بين مانتكلم عنه وبين خطوات حل المشكلة في التيرم الأول فاكرينها؟ عموماً نحن هنا في المرحلة أو الخطوة الثالثة من خطوات حل المشكلة وهي " تصميم وكتابة البرنامج " هل لاحظت أن التصميم يسبق التكويد .... طيب بعد ماتخلص التصميم مباشرة شغل البرنامج وأدخل نصف قطر ثم اضغط على زر المساحة .... ستجد لاشيء أنت صنعت جسد بلا روح ..... والروح هنا هي الأكواد الأوامر التعليمات التي ستكتبها بطريقة معينة وفقاً لشروط خاصة في أماكن مخصصة حتى تترجم للكمبيوتر وينفذ ماطلبته أنت ( أوليس هذا تعريف لغة البرمجة ؟ )



تعالو نجعل الحياة تدب في هذا التصميم الميت !!!!!!
طيب لي هنا سؤال من أين نبدأ الكود ؟ فالبدايات الصحيحة تؤدي بنا إلى نهايات صحيحة على أي حال .... وهنا أجيبك أرجع الى تصميمك السابق وقل لي أين سيقع الحدث (الفعل من المستخدم ) ستقول على زر المساحة حيث أنه سوف يدخل نصف القطر في مربع النص ثم سيضغط على زر المساحة .... هذا هو مدخلنا لنافذة الكود ..... وأنا هنا أصور لطلبتي شيئ قد يبدو غريب بعض الشيء للوهلة الأولى .... أقول لهم نافذة الكود تشبه الاستاد الرياضي والذي يضم ملاعب صغيرة لجميع الألعاب .... فهل يجوز لك بمجرد دخولك من باب الاستاد أن تخلع ملابسك وتعوم في النجيلة ...... بالطبع لا .... سوف تسأل عن حمام السباحة داخل الإستاد ثم تذهب هناك وتمارس هوايتك وهناك ستجد سباحين مثلك ومدربين وربما جمهور للعبة ...... والله هذا نفس حال نافذة الكود بها أماكن مخصصة لكل الألعاب ولايجوز أن تلعب في المكان الخاطئ ... هذه قوانين تسمى قواعد لغة syntax ..... ولابد من الإعلان عن من سيلعب داخل نفس المكان المخصص (الإعلان عن المتغيرات و الثوابت داخل معالج الحدث event handler يعني ماتجبش لاعب كرة قدم يلعب سلة .... إنت عرفت انا بتكلم عن إيه ؟ ... عن نطاق الإعلان عن المتغيرات والثوابت هاتقول طيب فين الإعلان العام عن المتغيرات والثوابت على مستوى التصنيف .... أقولك مش فيه في الاستاد حاجة اسمها المقصورة الرئيسية كل الملاعب بتشوفها .... وهي بتشوف كل الملاعب في الاستاد .... خلاص اعلن جواها عن فريقك .... إطلق لخيالك وخيال طالبك العنان ياأخي الموضوع بالفعل محتاج خيال ..... الموضوع بالفعل مش سهل أن أحاول هنا خلق تشويق في مناخ جامد اسمه البرمجة .... لكل لعبة داخل الاستاد قواعد وقوانين ....... سنكمل المرة القادمة ..... فحلمنا هو الوصول لكأس العالم ... تصبحون على خير ...
هو إنته ماعندكش فكرة جديدة ليه ... أوعدك لو عجبتني هاقولها للطلبة عندي وأكيد هاشكرك عليها .
رد مع اقتباس
  #2  
قديم 21-02-2013, 02:45 AM
الصورة الرمزية الأستاذة / أم أمل
الأستاذة / أم أمل الأستاذة / أم أمل غير متواجد حالياً
معلمة كمبيوتر و تكنولوجيا المعلومات
 
تاريخ التسجيل: Mar 2010
المشاركات: 5,124
معدل تقييم المستوى: 20
الأستاذة / أم أمل is a jewel in the rough
افتراضي

جزاك الله خيرا مستر على محمد على
رد مع اقتباس
  #3  
قديم 21-02-2013, 07:13 AM
أحمد هاشم الزيدي أحمد هاشم الزيدي غير متواجد حالياً
معلم حاسب ألى
 
تاريخ التسجيل: Feb 2009
المشاركات: 14,976
معدل تقييم المستوى: 30
أحمد هاشم الزيدي will become famous soon enough
افتراضي

بارك الله في حضرتك أستاذي الفاضل علي محمد
__________________
كفي بالله سندا وكفي به هاديا وحبيبا وكفي به معطيا وكفي بالله عن كل شئ
رد مع اقتباس
  #4  
قديم 21-02-2013, 10:32 AM
tmrmsr tmrmsr غير متواجد حالياً
عضو ممتاز
 
تاريخ التسجيل: Aug 2012
المشاركات: 303
معدل تقييم المستوى: 12
tmrmsr is on a distinguished road
Icon114 جهد طيب

جهد طيب شكرا لك
رد مع اقتباس
  #5  
قديم 22-02-2013, 01:49 AM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
افتراضي الأخطاء

هناك علاقة تفاعلية بين ثلاثة " المبرمج " و "المستخدم" و "البرنامج" .... والسؤال من يخطئ في هؤلاء ؟



" البرنامج" هو بناء هيكلي متكامل تم تجريبه وغالباً لايأتي الخطأ من ناحيته ....

إذن الخطأ دائماً يأتي من البشر "المبرمج" أو " المستخدم" ....

أخطاء يرتكبها "المبرمج" وتصنيفها وكيفية التعامل معها وتصحيحها ؟


1- الأخطاء في قواعد اللغة (syntax error ) وهي أخطاء تحدث من المبرمج نتيجة لعدم إلتزامه بالقواعد ....
وهذا النوع من الأخطاء لن يسمح بها البرنامج وسيخط خطاً أزرقاً تحت هذه النوع من الأخطاء ولن يسمح بالطبع بتشغيل البرنامج ... وعلاجه هو تتبعه ومن ثم تصحيحه (وفي الحقيقة هناك أكثر من طريقة للتبع ) يوفرها البرنامج ويعطيك نصائح حول تصحيحها ولكن لن نخوض فيها أكثر من ذلك .

2- أخطاء منطقية (logic error ) وهي أخطاء خبيثة لايكتشفها البرنامج وغالباً ماتحدث في جمل التخصيص
الخاطئة .... وفيها ينسى المبرمج ويضرب بدلاً من أن يقسم أو يجمع بدل الطرح وهكذا .... وعلاجها
بسيط جداً .... وهو إختبار صحة البرنامج عن طريق مدخلات معروف نتائجها مسبقاً . ثم مراجعة وتصحيح
الكود .



أخطاء يرتكبها "المستخدم"


وهي أخطاء التشغيل ( runtime error )

وهي أخطاء يقع فيها المستخدم نتيجة إدخالات خاطئة أو استخدام خاطئ للبرنامج ولايستطيع المترجم
فهم مايقصده المستخدم وهنا وجب على المبرمج إنقاذ الموقف ولا يترك المستخدم فريسة لرسائل البرنامج المعقدة ويرسل رسائل ذات معنى محدد يفهمها مستخدمه ..... عن طريقين أولهما جملة (try catch)
وثانيهما التصميم الجيد واستخدام الأدوات التي توفرها بيئة التطوير المتكاملة والتي تجعل المستخدم لايكتب كثيرا وإنما فقط يختار خيارات محددة وهذا يعتمد على شطارة المبرمج في استخدام الأدوات ....
رد مع اقتباس
  #6  
قديم 22-02-2013, 07:19 PM
سيف سالم سيف سالم غير متواجد حالياً
مــٌــعلــم
 
تاريخ التسجيل: Jul 2008
المشاركات: 4,644
معدل تقييم المستوى: 20
سيف سالم is on a distinguished road
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة alysun مشاهدة المشاركة

1- الأخطاء في قواعد اللغة (syntax error ) وهي أخطاء تحدث من المبرمج نتيجة لعدم إلتزامه بالقواعد ....
وهذا النوع من الأخطاء لن يسمح بها البرنامج وسيخط خطاً أزرقاً تحت هذه النوع من الأخطاء ولن يسمح بالطبع بتشغيل البرنامج ... وعلاجه هو تتبعه ومن ثم تصحيحه (وفي الحقيقة هناك أكثر من طريقة للتبع ) يوفرها البرنامج ويعطيك نصائح حول تصحيحها ولكن لن نخوض فيها أكثر من ذلك .

جزاكم الله كل خير
ولعل نجد عندكم الاجابة
ماذا ستقول للطالب عند حل
النموذج الثاني السؤال الثاني رقم 2
والاجابة الموجودة بالسؤال خطأ في نوع متغير الحلقة
رغم انه لن يضع خطأ ازرق تحت نوع المتغير
ورغم اننا لم نشرح له قط خطأ فى نوع متغير الحلقة
وبماذا تفسر له الرسالة التى تظهر مع الخط الازرق تحت الرقم 500 والتى تقول انه لا يناسب مع النوع وان الخطأ في القيمة الثابتة وليس نوع متغير الحلقة
هل نقول له احفظها كدا لو جاءت بالامتحان
رد مع اقتباس
  #7  
قديم 22-02-2013, 11:19 PM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة سيف سالم مشاهدة المشاركة
جزاكم الله كل خير
ولعل نجد عندكم الاجابة
ماذا ستقول للطالب عند حل
النموذج الثاني السؤال الثاني رقم 2
والاجابة الموجودة بالسؤال خطأ في نوع متغير الحلقة
رغم انه لن يضع خطأ ازرق تحت نوع المتغير
ورغم اننا لم نشرح له قط خطأ فى نوع متغير الحلقة
وبماذا تفسر له الرسالة التى تظهر مع الخط الازرق تحت الرقم 500 والتى تقول انه لا يناسب مع النوع وان الخطأ في القيمة الثابتة وليس نوع متغير الحلقة
هل نقول له احفظها كدا لو جاءت بالامتحان

أستاذ سيف أسعدني تواجدكم ومروركم الكريم ..... أنا أكره الحفظ .... كرهي للشيطان .... وأبداً لن أقول لأبنائي احفظوها كده فهذه حجة من لايعمل عقله ..... وللإجابه على خواطرك بخصوص السؤال رقم 3 في النموذج الثاني ...

أقول :

- تعالى أولا نتفق أن هناك العديد من الإجابات الخاطئة الواردة بحلول موقع الوزارة .
- لماذا لم يضع خطاً أزرقاً تحت المتغير ..... لأنه عرف المتغير بشكل صحيح والتزم بقواعد التعريف
وبالتالي لم يعترض البرنامج على المتغير في ذاته ...
- أما الخطأ الحقيقي فوقع هنا بالفعل في قواعد اللغة عند وضع قيمة End داخل الحلقة وهي قيمة ثابتة
برقم تجاوز نوع بيان المتغير وهي هنا تعتبر overflow تجاوزت حدود نوع البيان ولو قمنا بتغيير نوع البيان
إلى integer مثلا لانتهت المشكلة وسيعمل البرنامج بشكل سليم .
- أما بخصوص نوع الخطأ "نوع متغير الحلقة" هو هنا يريد تفصيل التفصيل .... كان أولى أن يقول خطأ من النوع
"syntax" .... وتقول الرسالة أن التعبير الثابت "500" لايتناسب مع نوع البيان "Byte"
- وأخيرأً هو حضرتك لم تلاحظ أنه أنهي الحلقة التكرارية For ....Next بـــ Loop ...... ماذا تسمي هذا ؟
رد مع اقتباس
  #8  
قديم 23-02-2013, 01:01 AM
سيف سالم سيف سالم غير متواجد حالياً
مــٌــعلــم
 
تاريخ التسجيل: Jul 2008
المشاركات: 4,644
معدل تقييم المستوى: 20
سيف سالم is on a distinguished road
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة alysun مشاهدة المشاركة
أستاذ سيف أسعدني تواجدكم ومروركم الكريم ..... أنا أكره الحفظ .... كرهي للشيطان .... وأبداً لن أقول لأبنائي احفظوها كده فهذه حجة من لايعمل عقله ..... وللإجابه على خواطرك بخصوص السؤال رقم 3 في النموذج الثاني ...

أقول :

- تعالى أولا نتفق أن هناك العديد من الإجابات الخاطئة الواردة بحلول موقع الوزارة .
- لماذا لم يضع خطاً أزرقاً تحت المتغير ..... لأنه عرف المتغير بشكل صحيح والتزم بقواعد التعريف
وبالتالي لم يعترض البرنامج على المتغير في ذاته ...
- أما الخطأ الحقيقي فوقع هنا بالفعل في قواعد اللغة عند وضع قيمة end داخل الحلقة وهي قيمة ثابتة
برقم تجاوز نوع بيان المتغير وهي هنا تعتبر overflow تجاوزت حدود نوع البيان ولو قمنا بتغيير نوع البيان
إلى integer مثلا لانتهت المشكلة وسيعمل البرنامج بشكل سليم .
- أما بخصوص نوع الخطأ "نوع متغير الحلقة" هو هنا يريد تفصيل التفصيل .... كان أولى أن يقول خطأ من النوع
"syntax" .... وتقول الرسالة أن التعبير الثابت "500" لايتناسب مع نوع البيان "byte"
- وأخيرأً هو حضرتك لم تلاحظ أنه أنهي الحلقة التكرارية for ....next بـــ loop ...... ماذا تسمي هذا ؟
مشكلة كبيرة لما اقول للطالب ان الكتاب خطأ
والمشكلة الاكبر تكبر الوزارة وعدم الاعتراف بالخطأ
والمشكلة الاخطر استمرارها في الخطأ
جزاكم الله كل خير
رد مع اقتباس
  #9  
قديم 23-02-2013, 12:17 PM
tmrmsr tmrmsr غير متواجد حالياً
عضو ممتاز
 
تاريخ التسجيل: Aug 2012
المشاركات: 303
معدل تقييم المستوى: 12
tmrmsr is on a distinguished road
Icon114

اقتباس:
المشاركة الأصلية كتبت بواسطة alysun مشاهدة المشاركة
أستاذ سيف أسعدني تواجدكم ومروركم الكريم ..... أنا أكره الحفظ .... كرهي للشيطان .... وأبداً لن أقول لأبنائي احفظوها كده فهذه حجة من لايعمل عقله ..... وللإجابه على خواطرك بخصوص السؤال رقم 3 في النموذج الثاني ...

أقول :

- تعالى أولا نتفق أن هناك العديد من الإجابات الخاطئة الواردة بحلول موقع الوزارة .
- لماذا لم يضع خطاً أزرقاً تحت المتغير ..... لأنه عرف المتغير بشكل صحيح والتزم بقواعد التعريف
وبالتالي لم يعترض البرنامج على المتغير في ذاته ...
- أما الخطأ الحقيقي فوقع هنا بالفعل في قواعد اللغة عند وضع قيمة End داخل الحلقة وهي قيمة ثابتة
برقم تجاوز نوع بيان المتغير وهي هنا تعتبر overflow تجاوزت حدود نوع البيان ولو قمنا بتغيير نوع البيان
إلى integer مثلا لانتهت المشكلة وسيعمل البرنامج بشكل سليم .
- أما بخصوص نوع الخطأ "نوع متغير الحلقة" هو هنا يريد تفصيل التفصيل .... كان أولى أن يقول خطأ من النوع
"syntax" .... وتقول الرسالة أن التعبير الثابت "500" لايتناسب مع نوع البيان "Byte"
- وأخيرأً هو حضرتك لم تلاحظ أنه أنهي الحلقة التكرارية For ....Next بـــ Loop ...... ماذا تسمي هذا ؟
يبدوا من كلامك انك معلم شاطر يحبه الطلاب
تقصد Runtime وليس syntax
بالنسبة ل Loop تصحيحها Next
شكرا لك
رد مع اقتباس
  #10  
قديم 23-02-2013, 08:32 PM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة tmrmsr مشاهدة المشاركة
يبدوا من كلامك انك معلم شاطر يحبه الطلاب
تقصد Runtime وليس syntax
بالنسبة ل Loop تصحيحها Next
شكرا لك
أكرمك الله .... إذا فقد المعلم التواصل بين طلابه فهو كالبرامج التعليمية ....
لا أنا أقصد syntax فالخطأ هنا حدث في القواعد حيث أتى بنهاية الحلقة overflow عن نوع البيان ....
أعلم أنها next ولكني كنت أستغرب على الكتاب .


أرجوا منك تكثيف مشاراكاتك في موضوعي .
رد مع اقتباس
  #11  
قديم 22-02-2013, 04:46 PM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
افتراضي تحية للأفكار ...

قال لي طالب :
عارف يا أستاذ حكاية المتغيرات دي عاملة زي مخزن كبير للسلع المتنوعة .... كل مكان مخصص لسلعة من نوع معين ومكتوب عليه من برة يافطة باسمها ..... هكذا فهم طالبي ونقلت عنه بالنص .
رد مع اقتباس
  #12  
قديم 22-02-2013, 06:02 PM
الصورة الرمزية محمد محمود بدر
محمد محمود بدر محمد محمود بدر غير متواجد حالياً
نجم العطاء
 
تاريخ التسجيل: Nov 2009
المشاركات: 23,998
معدل تقييم المستوى: 38
محمد محمود بدر is just really nice
افتراضي



جزاكم الله خيرا


رد مع اقتباس
  #13  
قديم 23-02-2013, 12:40 AM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
افتراضي char

سألني أحد طلابي سؤال :

هو النوع char مش بيخزن حرف واحد وأنت قلت لنا الحرف الواحد يخزن في خلية واحدة من خلايا الذاكرة يعني 1Byte... طيب ليه بيأخذ خليتين من خلايا الذاكرة لو أعلنا عن بيان نوعه char ؟ .....



قلت له :

هو يمثل حرف واحد فقط من حروف Unicode لذلك لا يمكن أن تحمل قيمة حرفيه تزيد عن حرف واحد، كما يشرط استخدام حرف الذيل "C" حتى تميز القيمة الحرفية من النوع "char" عن النوع "String"

مثال :

Dim A as char
A="D"C
هو الذيل ده C مش عاوز خلية زيادة يتخزن فيها ؟؟؟

وبمناسبة هذا النوع من البيانات .... هو إحنا متى نحتاجه وما الجدوى منه أساساً رغم إمكانياته المحدودة..؟؟؟


السبب ببساطة السرعة في التنفيذ والاقتصاد في استهلاك مصادر النظام. حيث أن المتغيرات من نوع
char هي متغيرات من النوع ذات القيمة Value Type Variables وهي تمحى من الذاكرة مباشرة بعد نهاية عمر المتغير بينما المتغيرات من النوع String هي متغيرات مرجعية Reference Type Variables وفي الحقيقة لا تتم عملية إزالة قيمها من الذاكرة مباشرة بعد نهاية عمرها الافتراضي، فهي تتطلب عملية تسمى إفراغ المصادر .


أيوة أنا أضطررت للخروج عن المنهج لأفسر وأشرح لطالبي ما أراد ربما يكبر يوماً ويعمل مبرمجاً محترفاً ويتذكر كلامي .... فأنا لا أستطيع أن أقول له الموضوع ده صعب عليك ومش هاتفهمه .... طالما أنه هو الذي سأل .... ومن يدري ربما فهم كلامي أو جزء منه .
رد مع اقتباس
  #14  
قديم 23-02-2013, 12:25 PM
tmrmsr tmrmsr غير متواجد حالياً
عضو ممتاز
 
تاريخ التسجيل: Aug 2012
المشاركات: 303
معدل تقييم المستوى: 12
tmrmsr is on a distinguished road
Icon114

اقتباس:
المشاركة الأصلية كتبت بواسطة alysun مشاهدة المشاركة
سألني أحد طلابي سؤال :

هو النوع char مش بيخزن حرف واحد وأنت قلت لنا الحرف الواحد يخزن في خلية واحدة من خلايا الذاكرة يعني 1Byte... طيب ليه بيأخذ خليتين من خلايا الذاكرة لو أعلنا عن بيان نوعه char ؟ .....



قلت له :

هو يمثل حرف واحد فقط من حروف Unicode لذلك لا يمكن أن تحمل قيمة حرفيه تزيد عن حرف واحد، كما يشرط استخدام حرف الذيل "C" حتى تميز القيمة الحرفية من النوع "char" عن النوع "String"

مثال :

Dim A as char
A="D"C
هو الذيل ده C مش عاوز خلية زيادة يتخزن فيها ؟؟؟

وبمناسبة هذا النوع من البيانات .... هو إحنا متى نحتاجه وما الجدوى منه أساساً رغم إمكانياته المحدودة..؟؟؟


السبب ببساطة السرعة في التنفيذ والاقتصاد في استهلاك مصادر النظام. حيث أن المتغيرات من نوع
char هي متغيرات من النوع ذات القيمة Value Type Variables وهي تمحى من الذاكرة مباشرة بعد نهاية عمر المتغير بينما المتغيرات من النوع String هي متغيرات مرجعية Reference Type Variables وفي الحقيقة لا تتم عملية إزالة قيمها من الذاكرة مباشرة بعد نهاية عمرها الافتراضي، فهي تتطلب عملية تسمى إفراغ المصادر .


أيوة أنا أضطررت للخروج عن المنهج لأفسر وأشرح لطالبي ما أراد ربما يكبر يوماً ويعمل مبرمجاً محترفاً ويتذكر كلامي .... فأنا لا أستطيع أن أقول له الموضوع ده صعب عليك ومش هاتفهمه .... طالما أنه هو الذي سأل .... ومن يدري ربما فهم كلامي أو جزء منه .
عملية إفراغ المصادر Release Resources منذ ظهور الدوت نت أصبحت CLR تحديدا GC هي المسئولة عن ذلك وهذا يعتبر ميزة كبيره لمطوري دوت نت حتي ينصب تركيزة على منطق البرنامج ... مجددا شكرا لك
رد مع اقتباس
  #15  
قديم 23-02-2013, 08:18 PM
الصورة الرمزية Mr.Ali Mohamed Ali
Mr.Ali Mohamed Ali Mr.Ali Mohamed Ali غير متواجد حالياً
معلم حاسب آلي
 
تاريخ التسجيل: Dec 2010
المشاركات: 310
معدل تقييم المستوى: 14
Mr.Ali Mohamed Ali is on a distinguished road
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة tmrmsr مشاهدة المشاركة
عملية إفراغ المصادر Release Resources منذ ظهور الدوت نت أصبحت CLR تحديدا GC هي المسئولة عن ذلك وهذا يعتبر ميزة كبيره لمطوري دوت نت حتي ينصب تركيزة على منطق البرنامج ... مجددا شكرا لك

Garbage Collection

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

العلامات المرجعية


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

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


جميع الأوقات بتوقيت GMT +2. الساعة الآن 08:16 AM.