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

كيف أغير الإشارة مع كل لفة من ال Loop

بدأه محمد صلاح عبدالحميد في 13 أبريل 2008 · 7 رد · 1,049 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم عندي معادلة بيسطة مثل هذه

y=1+1/2-1/3+.............-1/x

وهذا الxمتغير فكيف أغير هذه الإشارة مع كل لفة من الloop وجزاكم الله خيرا

#2

المتغير X , إما سيكون زوجيا أو متغير فردي , لذلك نستغل ذلك في حل المسألة و هي إذا كان الرقم زوجي فلتكن القيمة موجبة , غير ذلك فلتكون القيمة سالبة.

int x = 2;
int y = 0;
int counter = 1;
y = y + 1;

while(counter < x)
{
   if(x % 2 == 0)
   y = y + (1 / x);
   else
   y = y - (1 / x);

   x ++;
   counter++;
}
#3

بشكل عام إذا أردت حل مشكلة الإشارة

نضرب في -1^x

إذا كانت الأعداد الزوجية موجبة والفردية سالبة

أما إذا كانت الأعداد الفردية موجبة والزوجية سالبة

نضرب في -1^(x+1)

الله معك

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#4

جزاكم الله خيرا وشكرا على المساعدة

#5

السلام عليكم هذا الكود أظنه صحيح لكن لا أعرف لماذا لا يعمل كلما مررت له قيمة يخرج القيمة الإبتدائية لــــy وهي تساوي واحد أرجو المساعدة

int i,x;
	double y=1.0;
	System.out.print("Please Enter A Number  ");   
	x = console.nextInt();
	for( i = 2;i <= x;i++)
	{	  
	 if((i % 2) == 0)
	  y = y + (1 / i);
	  else
	  y = y - (1 / i);
	  i++;
	 }
	  System.out.print("The Result OF Y is  "+ y );
#6
import java.util.Scanner;
public class Test
{

	public static void main(String[]args)
	{
		Scanner console=new Scanner(System.in);
		double i,x;
		double y=1.0;
   		System.out.print("Please Enter A Number  ");  
		x = console.nextInt();
		for( i = 2;i <= x;i++)
		{	  
	 		if((i % 2) == 0)
			  y = y + (1 / i);
			  else
			  y = y - (1 / i);
	 	}
		  System.out.print("The Result OF Y is  "+ y );
	}
}
#7
y = y + (1 / i);

	  y = y - (1 / i);

بما أن i من النوع int وكذلك 1 هي من نوع int لذلك سيكون الناتج دائماً من نوع int .. وقسمة 1 على i سيعطي دائماً رقم أصغر من الواحد .. أي مثلاَ 0.98 وبأخذ القسم الصحيح من هذا الناتج سيجمع ل y دائما القيمة 0....

هذا هو السبب حاول الآن أن تصحح الكود.

فحنوت ألثم جرحه الرعافَ فانتكأت جراحي..

وهمت على خدي الدموع فقلت يا روحي وراحي..

هلّا رحمتَ قلوبنا .. وعدلت عن هذا الرّواحِ ِ ..؟

فأجابني البطل المسجّى هازئاً بيَ .. باقتراحي

كفكف دموعك ليس في عبراتك الحرّى ارتياحي

هذي سبيلي .. إن صدقت محبتي .. فاحمل سلاحي

Sun Certified Java Programmer

#8

جزاكم الله خيرا فعلا المحترف محترف بوركتم

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