الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اوجد الناتج في المقاطع البرمجية

بدأه رجاء مصطفى في 4 أبريل 2012 · 6 رد · 900 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ما ناتج المقطع البرمجي التالي

;int z=8,y=3,x=4,r1,r2

;(r1=z++||(!(--y<=1)&&x--!=2

;r2=y&x!=z\x+3

;(printf("r1=%d \t r2=%d"r1,r2

ارجو من لديه اجابة صحيحة للمقطع ان يفيدني بها

#2

السلام عليكم

يرجى تنسيق الكود ليتثنى له الظهور بشكل جيد

وذلك كما فى الصورة الآتية داخل الوضع المتطور للمشاركة

post-254524-002325400 1333560548_thumb.j

يتم تظليل الكود ثم الضغط على أيقونة الكود المحاطة باللون الأحمر كما فى الصورة

دمتم بود

المرفقات
blog.jpg

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#3
;int z=8,y=3,x=4,r1,r2
;(r1=z++||(!(--y<=1)&&x--!=2
;r2=y&x!=z\x+3
;(printf("r1=%d \t r2=%d"r1,r2

وعليكم السلام

1
#4

لا زال الكود غير مفهوم

قم بكتابتة في ملف نصي وارفقة في مشاركتك

1 −1

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

مدونة Nabil Class

#5

السلام عليكم

في البداية تم إسناد عبارة منطقية إلى المتغير r1 و بالتالي النتيجة النهائية ستكون 0 أو 1

r1=z++||(!(--y<=1)&&x--!=2);

y تساوي 3 إذا هذه العبارة :

--y<=1

خاطئة لأن 2 ليست أقل من 1. لكن نقيض (أو عكس) العبارة السابقة :

!(--y<=1)

يُعطي عبارة منطقية صحيحة,

x تساوي 4, إذا قيمة x تختلف عن 2 و بالتالي العبارة التالية صحيحة :

x--!=2

إذا حصلنا على :

!(--y<=1)&&x--!=2 = 1&&1 = 1

العبارة :

z++

صحيحة لأن الناتج سيكون 9 و بالتالي يختلف عن الصفر. إذا قيمة r1 ستكون :

r1 = 1|| 1 = 1

بنفس الطريقة نجد أن r2 = 1

السؤال المطروح الآن هو : لماذا لم تتغير قيمة x و y عند الإنتهاء من تنفيذ العبارة المنطقية الأولى ؟, انظر الكود :

#include<stdio.h>
int main() {
	 int z=8,y=3,x=4,r1,r2;
	 printf("x = %d \t y = %d \t z = %d\n",x,y,z);
	 r1=z++||(!(--y<=1)&&x--!=2);
	 printf("r1=%d\n",r1);
	 printf("x = %d \t y = %d \t z = %d\n",x,y,z);
	 r2= y&x!=z/x+3 ;
	 return 0;
}

تحياتي.

#6

وعليكم السلام اخي

مشكور على المساعدة

لكن الكود الخامس لم افهمه جيدا فكيف اعطيت x قيمة 1 وy كذلك

لماذا لم تقل بأن x--=3 , y--=2

#7

اصطلح المبرمجون على أن يكون الصفر يساوي false و ما عدا الصفر يساوي true و ذلك لأن جميع أنواع البيانات تأخذ قيم على حسب حجمها و هذه القيم ليست الصفر و الواحد فقط !.

انظر المثال :

#include<stdio.h>
int main() {
	 int x = -5;
	 while(x) {
	 printf("Ok ==> %d\n",x);
	 x++;
	 }
	 return 0;
}

تحياتي.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…