اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

نحن لا نجواب علي الاسئة الأمتحانية, ولكن سوف أوضح لك كيفية فعل ذلك بالخطوات.

لكتابة برنامج باستخدام لغة البرمجة C يسأل المستخدم عن جملة تحتوي على حد أقصى 50 حرفًا، ثم يقوم البرنامج بطباعة عدد الحروف الكبيرة في الجملة.

  1.  استخدام دالة scanf() لطلب من المستخدم إدخال جملة بحد أقصى 50 حرفًا.
  2.  يتحقق من أن الجملة التي تم إدخالها لا تتجاوز 50 حرفًا باستخدام دالة strlen().
  3. استخدام دالة isupper() لفحص ما إذا كان حرف معين في الجملة هو حرف كبير أو لا.
  4. استخدام متغير عددي لتعقب عدد الأحرف الكبيرة في الجملة.
  5. استخدام دالة printf() لطباعة عدد الأحرف الكبيرة الموجودة في الجملة.

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

  • 0
نشر

الأسئلة الإختبارية أو الخاصة بالمشاريع يتم توفير خطوات الحل فقط لها، أو مساعدتك في الكود إذا تم توفيره.

الخطوات المطلوبة لبرنامج بلغة C الذي يطلب من المستخدم إدخال جملة بحد أقصى 50 حرفًا ويقوم بطباعة عدد الحروف الكبيرة، هي كالتالي:

  1. بدايةً، يجب علينا تضمين المكتبة الأساسية "stdio.h" في البرنامج.
  2. نقوم بتعريف متغيراتنا، يجب علينا تعريف مصفوفة من الحروف لاستيعاب جملة المستخدم ومتغير لعدد الأحرف الكبيرة.
  3. نستخدم دالة "printf" لطلب من المستخدم إدخال الجملة ونستخدم دالة "scanf" لتخزين هذه الجملة في المصفوفة المحددة سابقًا.
  4. نستخدم حلقة "for" لتحليل كل حرف في المصفوفة. نتحقق في كل تكرار من خلال "if" إذا كان الحرف حرفًا كبيرًا أم لا. إذا كان الحرف كبيرًا، فإننا نزيد قيمة المتغير المخصص لعدد الأحرف الكبيرة بواحد.
  5. أخيرًا، نستخدم دالة "printf" مرة أخرى لطباعة عدد الأحرف الكبيرة التي تم العثور عليها في الجملة.

وهناك العديد من الطرق المختلفة لحل هذا السؤال باستخدام لغة C.

على سبيل المثال، بدلاً من استخدام حلقة for وجملة الشرط if لحساب عدد الأحرف الكبيرة في الجملة، يمكن استخدام دالة isupper المتاحة في المكتبة القياسية للغة C، والتي تقوم بتحقق ما إذا كان الحرف كبيرًا أم لا. وبهذه الطريقة، يمكن تبسيط الكود وجعله أكثر فهمًا.

وتعمل دالة isupper للتحقق من كل حرف في الجملة ما إذا كان كبيرًا أم لا، وفي حال كان الحرف كبيرًا، يتم زيادة قيمة المتغير capital_count، بعد ذلك، يتم طباعة عدد الأحرف الكبيرة باستخدام دالة printf.

وهناك طريقة أخرى أيضًا:

كمثال، بدلاً من استخدام حلقة for لتحليل الجملة حرفًا حرفًا، يمكن استخدام دالة strlen المتاحة في المكتبة القياسية للغة C لحساب طول الجملة، ومن ثم استخدام حلقة for لتحليل الجملة حرفًا حرفًا.

وستجدي هنا مقالات ودروس حول لغة C

  • 0
نشر

بالإضافة لما ذكر زميلي، هناك طريقة أخرى في السي لمعرفة فيما إذا كان الحرف هو capital و هي أن نقوم بطرح الحرف من الحرف A، حيث أن المحارف يتم تمثيلها بشكل رقمي ومتتال و يتم تحويلها لأرقام في حال استعمالها في العمليات الرياضية كالطرح، و بالتالي بعد الطرح يكفي أن نختبر أن نتيجة الطرح هي في المجال [27, 0] أي مثلاً يمكنك كتابة الشرط التالي:

char c = 'B';
int diff = c - 'A';

if (diff >= 0 && diff < 28)
{
	printf("capital\n");
}

فيمكنك استعمال هذه الطريقة لاختبار فيما إذا كان المحرف capital أم لا، هذا هو لب البرنامج، ما يتبقى فقط متغير لعد هذه المحارف و عمليات الإدخال و الإخراج.

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

  • 0
نشر

هناك العديد من الدوال المتاحة في لغة C التي يمكن استخدامها لتحقيق نفس الغرض. هناك أيضًا طرق مختلفة لتنفيذ نفس الحلقة، الأمر يتوقف على الأسلوب الذي يفضله المبرمج.

طريقة أخرى وهي تنفيذ المطلوب بدون  استخدام الدالة strlen() والدالة isupper() كما يلي

  • تبدأ الطريقة بتعريف مصفوفة sentence من نوع char بحيث تكون الحجم يساوي 51، وذلك لتمكين إدخال جملة تصل إلى 50 حرفًا، بالإضافة إلى الحرف النهائي الذي يعرف بـ null character والذي يتم إضافته تلقائيًا في نهاية الجملة.
  • ثم يتم تعريف متغير capital_count من نوع int ويتم تعيينه إلى القيمة الصفرية بدايةً.
  • ثم يقوم البرنامج بطباعة رسالة إلى المستخدم تطلب منه إدخال جملة للفحص، وذلك باستخدام الدالة printf().
  • ثم يتم تحديد المدخلات التي يقوم المستخدم بإدخالها باستخدام الدالة scanf()، والتي تقوم بقراءة المدخلات من المستخدم حتى يصل إلى حرف السطر الجديد \n أو الحد الأقصى للطول الذي يساوي 50 باستخدام التحكم في النسق %50[^\n]، وتخزين الجملة المدخلة في المصفوفة sentence.
  • ثم يتم تكرار جميع الحروف في الجملة باستخدام حلقة for، والتي تستمر حتى يتم الوصول إلى الحرف النهائي null character.
  • وفي كل تكرار للحلقة، يتم فحص الحرف الحالي إذا كان حرفًا كبيرًا أم لا باستخدام المقارنة بين الحرف وحروف الأبجدية الكبيرة، وذلك باستخدام العبارة
 if(sentence[i] >= 'A' && sentence[i] <= 'Z'

           وفي حال كان الحرف كبيرًا يتم زيادة قيمة متغير capital_count بمقدار 1.

  • وفي النهاية، يتم طباعة عدد الأحرف الكبيرة الموجودة في الجملة باستخدام الدالة printf() والتي تقوم بعرض قيمة متغير capital_count باستخدام النسق %d، وذلك باستخدام العبارة printf("Number of capital letters: %d\n", capital_count);، ويتم إرجاع القيمة 0 في نهاية البرنامج باستخدام العبارة return 0;.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...