الرئيسية > السؤال
السؤال
ما هى الاوامر المستخدمة فى لغة السى أو الفيجول بيسك لتحديد الcom port لمودم موصل فى الusbبشكل تلقائى
, ومكافأة 50نقطة لأفضل اجابة
ويندوز | البرمجة | Google إجابات | نظم التشغيل | المواقع والبرامج 23‏/7‏/2011 تم النشر بواسطة محمود الشعراوي.
الإجابات
1 من 1
سي++ (تنطق: سي بلس بلس) (بالإنجليزية: ++C‏) هي لغة برمجة للاستخدامات العامة، تعتبر لغة السي++ لغة برمجة كائنية. والتي يعتبرها الكثيرون اللغة الأفضل لتصميم التطبيقات ذات الواجهة الكبيرة وللتعامل مع البنية الصلبة للحاسب. ولغة السي بلس بلس ++C من لغات البرمجة العالية المستوى وفي نفس الوقت قريبة من لغة التجميع ذات المستوى المحدود، كما أنها تعد لغة برمجة إجرائية (يمكن كتابة برنامج يحتوي على إجراءات وتوابع فقط) كما تعد لغة غرضية التوجه (البرنامج المكتوب عبارة عن أصناف وتستخدم الخواص المتاحة من كبسلة وتعددية الأشكال والوراثة والتركيب).


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

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

[عدل] إضافات أخرى

  * استخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.


ربما تعود أسباب صعوبة لغتي السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهي لغة السي بي ال CPL والتي اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها سي(وهذا هو أصل تسمية السي)، وبالطبع ورثت السي++ خصائص لغة سي. إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات pointers، والإشارات هي مفاهيم مربكة للمبرمج المبتدئ، بالإضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التي تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كي لا يقع في أخطاء التشغيل التي قد تتسبب في توقف الحاسوب عن العمل. كيف؟

في لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كالأتي :

Dim A(20) As Integer

ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ ويتوقف برنامجك. أما في السي++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20 و عندما تحاول الوصول إلى العنصر رقم واحد وعشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل وهذا يؤدي إلى إعطائك قيم خاطئة. و المشكلة الأخرى التي تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 وليس 1 وحجمها 20 أى أن العنصر الأخير هو 19 وليس 20 مثل البيسك.
عندما نتكلم عن شيئ رقمي digital فنحن نتكلم عن اشارة
هذه الاشارة عبارة عن رقمين حسب العد الثنائي هما صفر و واحد
اي بيانات مهما كانت هي عبارة عن مجموعة من الاصفار والآحاد
و هي لغة الآلة
تخيل نفسك تقوم بكتابة برنامج باستخدام لغة الآلة !!
هذا يذكرني بكريكاتير لمبرمج امامه لوحة مفاتيح بها زرين 0 و 1
من صعوبة و تعقيد هذه العملية اصبح هناك حاجة للغة يفهمها الانسان و تفهمها الالة
و هذا مستحيل فجائت لغات البرمجة كحل لهذه المشكلة منها compilers و interpreters و assemblers

ال assemblers هي الاقرب للغة الالة صعبة و تستخدم بالاغلب في برمجة التطبيقات الاقرب لاستخدام الهاردوير و برمجة البروتوكولات و المتحكمات و الفايروسات طبعا
تخيل هكذا ساحييك ان كنت ساستخدم gnu assembler في التحية :O

.data
  hello:
.ascii"marhaba"
.text
.globl _start
_start:
movl $4,%eax
movl $1,%ebx
movl $hello,%ecx
movl $5,%edx
int $0x80
movl $1,%eax
movl $0,%ebx
int $0x80





interpreters تقوم بترجمة الكود اثناء العمل و من ثم معالجتها مثل php ,python ,perl,ruby,tcl

compilers و تعمل على ترجمة الكود الى لغة يفهمها الحاسوب ليس بالضرورة binary كما في java
مثل c/c++ ,c#,pascal
و في حالة java يتم ترجمة الكود (java code ) الى bytecode الذي يفسر بدوره للحاسوب بواسطة jvm

هذه ببساطة لغات البرمجة ما هي الا مترجم بيني كشخص استخدم لغة معينة و آلة لا تفقه الا 0 و 1
http://www.youtube.com/watch?v=gMmdYQIFB9M
http://www.google.com.eg/url?sa=t&source=web&cd=7&ved=0CEMQFjAG&url=http%3A%2F%2Fwww.arabmoheet.net%2Faspnetforum%2Famf%2F81830108-b309-41a2-8cbf-52bc3ddcf729.aspx&rct=j&q=%D8%A7%D9%84%D8%A7%D9%88%D8%A7%D9%85%D8%B1%20%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9%20%20%D8%A7%D9%84%D9%81%D9%8A%D8%AC%D9%88%D8%A7%D9%84&ei=a0I5Tp-cKc_AswaNvfD2Dw&usg=AFQjCNEXmaSXOaV14M8cds3xcuf-oZ4o0w&sig2=zDXHtLxo_Jps1KO8cocXrg&cad=rja
http://www.google.com.eg/url?sa=t&source=web&cd=11&ved=0CFwQFjAK&url=http%3A%2F%2Fwww.ahlalanbar.net%2Fnew104763.html&rct=j&q=%D8%A7%D9%84%D8%A7%D9%88%D8%A7%D9%85%D8%B1%20%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9%20%20%D8%A7%D9%84%D9%81%D9%8A%D8%AC%D9%88%D8%A7%D9%84&ei=a0I5Tp-cKc_AswaNvfD2Dw&usg=AFQjCNEXJGWzIHr2OkYYgtbivTEJKib8cg&sig2=j5ov2xuuDDUgqTjlKQ3qmw&cad=rja‏
3‏/8‏/2011 تم النشر بواسطة محمود متولى (محمود متولى).
قد يهمك أيضًا
ماهي كيفيه اكتشاف اذا جهازك مهكر؟
كيف يتم ايقاف التحديث الالى لويندوز 7؟
كيفية جعل ملفات الاكسيل تتلف تلقائى بعد وقت معين؟
كيفية جعل الشرائح تتحرك تلقائى فى صفحة الرئيسية؟
تسجيل الدخول
عرض إجابات Google في:: Mobile | كلاسيكي
©2014 Google - سياسة الخصوصية - مساعدة