حل اسئلة وتمارين بلغة جافا الجزء الثاني

اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في السبت يناير 05, 2019 4:12 am

حل اسئلة وتمارين بلغة جافا الجزء الثاني Ya_iao11
السلام عليكم ...اصدقائي هاي النسخة الاخيرة من اسئلة الجافا...ياريت المساعدة في حلها....وكل الشكلا والتقدير لكم جميعا....
abushuber
abushuber
....
....

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في السبت يناير 05, 2019 7:53 am

أهلا بيك 

السؤال الاول : يطلب إعطاء مثال لكل من :

1_Overloading : التعريف و المثال فى مقالة الاستاذة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] على الرابط التالى :

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

2_protected Field أو الحقل المحمى باللغة العربية

تعرف الحقول Field فى لغة الجافا على انها المتغيرات التى يتم الاعلان عنها داخل الفئة أو الكلاس و خارج الدوال لاستخدامها فى فئات أخرى ....مثال الاعلان عن بعض المتغيرات فى الكلاس Employee
الكود:
public class Employee {
  String  name     ;
  String  position ;
  int     salary   ;
  Date    hiredDate;
}

ويتم الوصول الي المتغيرات اعلاه فى الفئات الاخرى عن طريق ما يسمى محددات الوصول Access Modifiers التى تحدد طريقة الوصول اليها ...وتوفر لغة الجافا أربعة أنواع من معدّلات الوصول التى يمكن استخدامها على النحو التالى :

Default :وهو ما تم فعله فى المثال اعلاه حيث عند عدم تحديد أي مُعدل وصول - يُقال إنه يحتوي على معدِّل الوصول الافتراضي افتراضيًا ..و بالتالى لا يمكن الوصول و استخدام تلك المتغيرات إلا داخل الحزمة نفسها

Private :اذا سبق تلك المتغيرات الكملة Private يقال أن محدد الوصول خاص ... وبالتالى لا يمكن أستحدامها إلا ضمن الفئة التي يتم الإعلان عنها.أي فئة أخرى من نفس الحزمة لن تكون قادرة على الوصول إلى تلك المتغيرات

Protected ::اذا سبق تلك المتغيرات الكملة Protected يقال أن محدد الوصول محمي ...و بالتالى يمكن استخدام تلك المتغيرات داخل نفس الحزمة أو الفئات الفرعية في حزمة مختلفة فقط


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

مثال توضحيى لكيفة اعلان كل نوع من الانواع السابقة :

الكود:
public class Customer {
     String position;
    private   String email;
   protected String name;  
       public    String city;

}

نرجع لمثالك المطلوب فية اعطاء مثال على حقل محمي protected Field

المثال :تخزين اسم موظف فى حقل محمي باسم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و طباعتة ....على النحو التالى :
الكود:

 class JavaApplication1 {
    
 protected  String name;
 
    public static void main(String[] args) {
      
       new JavaApplication1().name="abushuber";
        
        System.out.println("your name is "+name);
      
  
      }
    
}


3_ التهيئة الصريحة explicit initialization

و يقص بها أن يتم تعين قيم المتغيرات ....مثال توضيحيى :

الكود:
class SomeClass
{
   static boolean b;
   static byte by;
   static char c;
   static double d;
   static float f;
   static int i;
   static long l;
   static short s;
   static String st;
}

الحقول السابقة لم يتم تعيين قيم لها.لذلك يتم تهيئتها بشكل ضمني و تكون النتائج على النحو التالى.

false
0
\u0000
0.0
0.0
0
0
0
null

لكن سؤالك يتطلب منك اعطاء مثال للتهيئة الصريحة و يقصد بها تعين القيم على النحو التالى :
الكود:
class SomeClass
{
   static boolean b = true;
   static byte by = 1;
   static char c = 'A';
   static double d = 2.0;
   static float f = 3.0f;
   static int i = 4;
   static long l = 5000000000L;
   static short s = 20000;
   static String st = "abc";
}

وهذا هو المقصود بالتهئة الصريحة للمتغيرات explicit initialization

4_ إنشاء طريقة بمعاملات method with parameters 

المثال : سنقوم بإنشاء طريقة باسم  total لها عدد 2 عامل او بارميتر no1 و no2 لحساب مجموع عددين على النحو التالى :
الكود:

void total(int no1,int no2){
    int sun = no1+no2;
     System.out.println("Value= "+sun);
  }      

و المثال بالكامل على النحو التالى :
الكود:

 class JavaApplication1 {
    
   void total(int no1,int no2){
    int sun = no1+no2;
     System.out.println("Value= "+sun);
  }        
 
    public static void main(String[] args) {
      
          
      new JavaApplication1().total(8, 10);
      
  
      }
    
}

5_ المعامل جديد new operator

المعامل New هى كلمة محجوزة فى لغة الجافا تقوم بإنشاء الكائنات object من الفئات وتعيينه لمتغير ....مثال :لو نظرت للمثال اعلاه ستجد أننا استخدمنا الكملة new لانشاء كائن فى الفئة JavaApplication1 ....المثال بطريقة اخرى:

الكود:

 class JavaApplication1 {
    
   void total(int no1,int no2){
    int sun = no1+no2;
     System.out.println("Value= "+sun);
  }        
 
    public static void main(String[] args) {
      
          
     JavaApplication1 b = new JavaApplication1();
     b.total(8, 10);
      
  
      }
    
}




السؤال الثاني : يطلب منك إنشاء كلاس باسم Author ...ويتم ذلك على النحو التالى :
الكود:
class Author {
}  

على أن يحتوي هذا الكلاس على الحقول التالية :

حقل باسم name نوعة String...لتخزين الاسم
حقل باسم email نوعة String ... لتخزين البريد الالكترونى
حقل باسم gender نوعة char ...لخزين الجنس وهو يقبل حرف واحد فقط M ترمز للذكر أو F ترمز للانثي

ويتم ذلك على النحو التالى :
الكود:
class Author {
      
 private String name;
 private String email;
 private char gender;

- على أن يحتوي الكلاس ايضا على المشيد أو constructor الخاص بالفئة بدون معاملات و يتم ذلك على النحو التالى :
الكود:
class Author {
      
 private String name;
 private String email;
 private char gender;

public Author() {
     name=null;
     email=null;
     gender='F';
   }

_ كما يجب ان يحتوي الكلاس على الطرق التالية :

طريقة باسم getName  من نوع String بدون معاملات لارجاع الاسم ويتم ذلك على النحو التالى :
الكود:
public String getName() {
      return name;
   }

طريقة باسم getEmail من نوع String بدون معاملات لارجاع البريد الالكتروني ويتم ذلك على النحو التالى :
الكود:
public String getEmail() {
      return email;
   }

طريقة باسم SetName بمعامل من نوع String لتخزين الاسم فية ويتم ذلك على النحو التالى :

الكود:
public void SetName(String name) {
      this.name = name;
   }

طريقة باسم setEmail  بمعامل من نوع String لتخزين البريد الالكترونى به ويتم ذلك على النحو التالى :

الكود:
public void setEmail(String email) {
      this.email = email;
   }


يمكن ملاحظة أن السؤال طلب منا انشاء حقل باسم gender ولم يتم استخدامة ولا اعلم لماذا لم يطلب فى السؤال انشاء طريقة لاستخدام الحقل gender

على اى حال تكون الفئة Author بالكامل على النحو التالى :

الكود:
class Author {
      
 private String name;
 private String email;
 private char gender;
 
   public Author() {
     name=null;
     email=null;
     gender='F';
   }
   public String getName() {
      return name;
   }
   public void SetName(String name) {
      this.name = name;
   }
  
   public String getEmail() {
      return email;
   }
   public void setEmail(String email) {
      this.email = email;
   }
  
}

لكن السؤال لم يكتفي بذلك بل طلب منا انشاء كلاس اخر توجد بة الدالة main لتشغيل البرنامج و لذلك سنفترض أن اسم الكلاس الاخر المطلوب هو TestAuthor و بداخلة الدالة main يتم ذلك على النحو التالى :

الكود:
public class TestAuthor {
   public static void main(String[] args) {
    
      Author Test = new Author();
    
      Test.SetName("ahmed");
      Test.setEmail("Test@gmail.com");
    
          
      System.out.println("your name is: " + Test.getName());
      System.out.println("your email is: " + Test.getEmail());
   }
}


المخرجات :

your name is: ahmed
your email is: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]




السؤال الثالث : مكون من شقين 

الشق الاول كتابة برنامج لحل المعادلة الرياضية التى بالصورة لكن للاسف كما اخبرتك سابقا هذه المعادلة الرياضية لم افهمها حتى استطيع كتابة البرنامج لها لذلك اعتذر عنها 

أما الشق الثانى فمطلوب منك تعريف التالى :


1_Inheritance :بالعربية الوراثة وهي العملية التي يتم فيها توريث الخصائص والاساليب و الدوال من فئة الى أخرى ...الفئة التى يتم الوراثة منها تسمي الفئة الاساسية أو فئة الاصل أو بالانجليزية superclass ...و الفئة التى يتم الوراثة اليها تسمي فئة مشتقة و  فئة تابعة أو بالانجليزية subclass و يتم استخدام الكلمة الأساسية "extends" لانشاء عملية الوراثة تلك بتمريرها الى الفئة المشتقة و ذلك على النحو التالى :

الكود:
class Super {
   .....
   .....
}
class Sub extends Super {
   .....
   .....
}


2_final

 هى كلمة محجوزة فى لغة الجافا و يتم استخدامها في سياقات عديدة لتعريف كيان يمكن تعيينه مرة واحدة فقط...هذا الكيان قد يكون فئة class أو طريقة method أو متغيرات variables و سيتم بيانها على النحو التالى :

الفئات النهائية Final classes :


اذا تم استخدام الكلمة Final فائنها تصبح نهائية و بالتالى لا يمكن الوراثة منها ...مثال توضيحيى :
الكود:
public final class MyClass {...}

فى المثال اعلاه قمنا بانشاء الفئة MyClass و استخدما معها الكلمة المحجوزة final و بالتالى لا يمكن الوراثة منها كما اوضحنا فى الجزئية اعلاه ....على النحو التالى :
الكود:
public class ThisIsWrong extends MyFinalClass {...} // هذا مرفوض لان الفئة نهائية

الطرق النهائية Final methods

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

نفترض ان لدينا الفئة Base بها عدد 2 طريقة ...طريقة منها معرفة على انها Final على النحو التالى :
الكود:
public class Base
{
    public       void m1() {...}
    public final void m2() {...}

عند عملية الوراثة يمكننا استخدام الطريقة m1 فى حين اننا لانستطيع استخدام الطريقة m2 لانها معرفة على انها final

الكود:
public class Derived extends Base
{
    public void m1() {...}  // مسموح,()
    public void m2() {...}  // غير مسموح

المتغيرات النهائية Final variables

المتغير المعرف بـ final، لا يمكن إعطاءه قيمة جديدة من بعد أن ما تم إعطائه قيمة أولية. بمعنى آخر، لو لدينا متغير نصي من نوع local variable (أي داخل دالة) وقمنا بتعريفه كـ final:

الكود:
final String a;

فإنه لا يقبل إسناد قيمة له إلا مرة واحدة:

الكود:

final String a;
a = "test";
a = "test2"; // ERROR


أو

الكود:

final String a = "test";
a = "test2"; // ERROR


والى هنا ننتهى من السؤال الاول و الثاني و الثالث ....ولى معاك لقاء اخر

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في السبت يناير 05, 2019 9:34 pm

أهلا بيك 

السؤال الرابع : يطلب منك إنشاء عدد 2 فئة أو كلاس على النحو التالى :

a_الكلاس الاول : أن يكون باسم Animal
الكود:
public class Animal {

}

b_أن يحتوى على الحقول التالية :


  1. حقل باسم vegetarian نوعة boolean
  2. حقل باسم eats نوعة String
  3. حقل باسم noOfLegs نوعة int


ويتم ذلك على النحو التالى :
الكود:
public class Animal {

 private boolean vegetarian;

 private String eats;

 private int noOfLegs;
}

c-أن يتم بناء المشيد constructor الخاص بالفئة بمعاملات وذلك على النحو التالى :

الكود:
public Animal(boolean veg, String food, int legs){
 this.vegetarian = veg;
 this.eats = food;
 this.noOfLegs = legs;
 }


d_أن يحتوى على الطرق التالية :


  1. طريقة باسم isVegetarian نوعها boolean
  2. طريقة باسم setVegetarian بمعامل باسم veg من نوع boolean
  3. طريقة باسم getEats من نوع String
  4. طريقة باسم setEats بمعامل باسم eats من نوع String
  5. طريقة باسم getNoOfLegs من نوع int
  6. طريقة باسم setNoOfLegs بمعامل باسم noOfLegs من نوع int


اذن الكلاس بناء على تلك البيانات اعلاه سيكون على النحو التالى :

الكود:
public class Animal {

 private boolean vegetarian;

 private String eats;

 private int noOfLegs;

 public Animal(){}

 public Animal(boolean veg, String food, int legs){
 this.vegetarian = veg;
 this.eats = food;
 this.noOfLegs = legs;
 }

 public boolean isVegetarian() {
 return vegetarian;
 }

 public void setVegetarian(boolean vegetarian) {
 this.vegetarian = vegetarian;
 }

 public String getEats() {
 return eats;
 }

 public void setEats(String eats) {
 this.eats = eats;
 }

 public int getNoOfLegs() {
 return noOfLegs;
 }

 public void setNoOfLegs(int noOfLegs) {
 this.noOfLegs = noOfLegs;
 }

}

اذن الكلاس الاول الذى يسمي Animal كاملا سيكون على النحو التالى :

الكود:
public class Animal {

 private boolean vegetarian;

 private String eats;

 private int noOfLegs;

 public Animal(){}

 public Animal(boolean veg, String food, int legs){
 this.vegetarian = veg;
 this.eats = food;
 this.noOfLegs = legs;
 }

 public boolean isVegetarian() {
 return vegetarian;
 }

 public void setVegetarian(boolean vegetarian) {
 this.vegetarian = vegetarian;
 }

 public String getEats() {
 return eats;
 }

 public void setEats(String eats) {
 this.eats = eats;
 }

 public int getNoOfLegs() {
 return noOfLegs;
 }

 public void setNoOfLegs(int noOfLegs) {
 this.noOfLegs = noOfLegs;
 }

}

الكلاس الثاني :

a_ أن يكون باسم Cat سيكون على النحو التالى :
الكود:
public class Cat{

}

لكن السؤال طلب Inheritance أى ان يرث هذا الكلاس او الفئة دوال و طرق الكلاس الاول Animal لذلك سيتم استخدام الكلمة extends لتمديد الكلاس Cat ليرث من الكلاس  Animal و يتم ذلك على النحو التالى :
الكود:
public class Cat extends Animal{
}

b_ أن يحتوى على الحقول التالية :


  1. حقل باسم vegetarian نوعة boolean
  2. حقل باسم eats نوعة String
  3. حقل باسم noOfLegs نوعة int
  4. حقل باسم color نوعة String


وبما أننا قمنا بانشاء الحقول الثلاثة الاولى فى الكلاس الاول  Animal و الذى قمنا بالوراثة منه فى الكلاس الثاني Cat ...فلا داعى للاعلان عنها مرة اخرى و سنتكتفى فقط بالاعلان عن الحقل الاخير الا وهو الحقل color  على النحو التالى :
الكود:
public class Cat extends Animal{

 private String color;


C-أن يحتوي على الطرق التالية :


  1. طريقة باسم isVegetarian نوعها boolean
  2. طريقة باسم setVegetarian بمعامل باسم veg من نوع boolean
  3. طريقة باسم getEats من نوع String
  4. طريقة باسم setEats بمعامل باسم eats من نوع String
  5. طريقة باسم getNoOfLegs من نوع int
  6. طريقة باسم setNoOfLegs بمعامل باسم noOfLegs من نوع int
  7. طريقة باسم getColor من نوع String
  8. طريقة باسم setColor بمعامل باسم color من نوع String


الطرق من رقم 1 الى الرقم 6 تم انشائها فى الكلاس الاول Animal و الذى يرث منه الكلاس Cat لذلك لا داعى لانشائها مرة اخري و سنكتفي فقط بانشاء الطريقة getColor و الطريقة setColor على النحو التالى :
الكود:
public String getColor() {
 return color;
 }

 public void setColor(String color) {
 this.color = color;
 }

d_أن يتم بناء المشيد constructor الخاص بالفئة بمعاملات وذلك على النحو التالى :
الكود:
public Cat(boolean veg, String food, int legs) {
 super(veg, food, legs);
 this.color="White";
 }

 public Cat(boolean veg, String food, int legs,String color){
 super(veg, food, legs);
 this.color=color;
 }


اذن الكلاس الثاني Cat بالكامل على النحو التالى :
الكود:
public class Cat extends Animal{

 private String color;

 public Cat(boolean veg, String food, int legs) {
 super(veg, food, legs);
 this.color="White";
 }

 public Cat(boolean veg, String food, int legs,String color){
 super(veg, food, legs);
 this.color=color;
 }

 public String getColor() {
 return color;
 }

 public void setColor(String color) {
 this.color = color;
 }

}

أخير سنقوم بانشاء كلاس ثالث و ليكن باسم AnimalInheritanceTest  لتشغيل الكود على النحو التالى :
الكود:
public class AnimalInheritanceTest {

 public static void main(String[] args) {
 Cat cat = new Cat(false, "milk", 4, "black");

 System.out.println("Cat is Vegetarian?" + cat.isVegetarian());
 System.out.println("Cat eats " + cat.getEats());
 System.out.println("Cat has " + cat.getNoOfLegs() + " legs.");
 System.out.println("Cat color is " + cat.getColor());
 }

}

و أخيرا المخرجات

حل اسئلة وتمارين بلغة جافا الجزء الثاني 925091733

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في الأحد يناير 06, 2019 4:36 pm

كل الشكر لك استاذ احمد ربي ينور دربك...بالنسبة للسؤال الثالث فرع A هو عبارة عن متسلسلة حسابية..يريد فيها ايجاد علاقة جمع بين i الذي يبدأ من بواحد وينتهي بn
حيث ان ( 1 ) مرفوع للاس 1+!2 حيث ان (! ) هو مضروب (دالة fator) ..مقسوم على مضروب ال2....يعني انشاء دالة power ودالة factor...هذا مافهمته رياضيا لكن برمجيا لااعرف كيف نترجم هذه المعطيات...ونفس الشئ بالنسبة للاسئلة التي قبلها...
abushuber
abushuber
....
....

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الإثنين يناير 07, 2019 8:41 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:كل الشكر لك استاذ احمد ربي ينور دربك...بالنسبة للسؤال الثالث فرع A هو عبارة عن متسلسلة حسابية..يريد فيها ايجاد علاقة جمع بين i الذي يبدأ من بواحد وينتهي بn
حيث ان ( 1 ) مرفوع للاس 1+!2 حيث ان (! ) هو مضروب (دالة fator) ..مقسوم على مضروب ال2....يعني انشاء دالة power ودالة factor...هذا مافهمته رياضيا لكن برمجيا لااعرف كيف نترجم هذه المعطيات...ونفس الشئ بالنسبة للاسئلة التي قبلها...

أهلا بيك اخى

بعد البحث عن الرموز الرياضة بالمعادلة و بناء على بعض المعلومات منك اتضح لى الاتى :

الرمز Σ سيجما sigma هو حاصل جمع عناصر المجموعه من 1=i الى n ...وبنا أن السؤال لم يحدد قيمة n اذن سنفترض انها 5 أذن :
s=Σ 1:5
و بالتالى فان s=Σ 1:5

s=1+2+3+4+5
s=15

و الحل البرمجي على البرمجى على النحو التالى :

الكود:


public class TestAuthor {
   public static void main(String[] args) {
    
     int n = 5;
     System.out.println(factorsum(n));  
   }
  
   static int factorsum(int n)
    {
      
        int sum = 0;
        for (int i = 1; i <= n; i++)
            sum += (i);
        return sum;
    }
}

و كانت المخرجات على النحو التالى :

حل اسئلة وتمارين بلغة جافا الجزء الثاني 802539603

وهى نفس النتيجة التى تم الحصول عليها فى الحل الرياضى

لكن السؤال لم يكتفي بذلك بل كان التعبير الرياضى أكثر تعيقدا كان على النحو التالى :

s =sigma(i^2*i) / (!*i

_ الصيغة الرياضية الاولى وهى (i^2*i) ...تم تحليلها رياضيا على النحو التالى :

=(1 ^ 2 * 1 )+(2^2*2)+(3^2*3)+(4^2*4)+(5^2*5)
=(1)+(Cool+(27)+(64)+(125)
=225


_مقسومة على الصيغة الرياضية (!*i)

=(1*1)+(2*2)+(3*3)+(4*4)+(5*5)
=(1)+(4)+(9)+(16)+(25)
=55

أذن : s=225/55
=4.090


ملحوظة : هذا هو الحل الرياضى للمسالة الثالثة فى مسائل الجزء الاول التى بالصورة التالية :

حل اسئلة وتمارين بلغة جافا الجزء الثاني 247878920

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

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في الثلاثاء يناير 08, 2019 10:47 am

كل الشكر لك استاذ...بالنسبة للحل الرياضي ما نختلف علي...لكن الحل البرمجي هو المشكلة...ع العموم...هذه نسخة لكل من السؤالين...اذا تسنى لك الوقت ...فانني بانتظار اجابتك دوما......بالنسبة لفكرة الحل اعتقد بالبداية ننشئ دالة powerودالةfactor...ثم يتم انشاء كائن بجزء الmain...ويتم استدعاء هذين الدالتين وفق المعادلة المذكورة...ومن ثم طباعتها
حل اسئلة وتمارين بلغة جافا الجزء الثاني 110
حل اسئلة وتمارين بلغة جافا الجزء الثاني 210
abushuber
abushuber
....
....

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الثلاثاء يناير 08, 2019 12:05 pm

أهلا بيك اخى :

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

_ سنقوم بكتابة طريقة وليكن باسم factorsum لايجاد اجمالى المعاملات للسلسة الصيغة الرياضية التالية :

(!*i)

و التى تعنى العملية الحسابية التالية :
(1 * 1) + (2 * 2) + (3 * 3) + (4 * 4) + (5 * 5)
=55

وذلك من خلال حلقة تكرارية للحصول على القيم بين العددين i الى n ...ثم بعد ذلك ضرب كل قيمة فى المعاملة للقيمة ! و ايجاد مجموعهم على النحو التالى :

الكود:
static int factorsum(int n)
    {
     int res =0;
        for (int i = 1; i <= n; i++)
        res += (i * i);
        return res;
    
        
    }

سنقوم بكتابة طريقة وليكن باسم power لايجاد الصيغة الرياضية التالية :

(i^2*i)


وهى تعنى (1 ^ 2 * 1 ) +(2 ^ 2 * 2 )+(3 ^ 2 * 3 )+(4^2*4)+(5^2*5)


 أذن تساوى ((1^2)*1)+((2^2)*2)+((3^2)*3)+((4^2)*4)+((5^2)*5)
اذن تساوى (1*1)+(4*2)+(9*3)+(16*4)+(25*5)
          = (1)+(Cool+(27)+(64)+(125)
          =225


ويتم ذلك برمجيا من خلال حلقة تكرار للحصول على القيم من i الى n ...ثم الحصول على مربع كل قيمة باستخدام الدالة Math.pow مضروبة فى قيمة العنصر نفسة i ثم قسمته على الصيغة الرياضة التى تم الحصول عليها فى الكلاس factorsum وذلك على النحو التالى :

الكود:
 static double power(int n)
    {
        double sum = 0;
        for (int i = 1; i <= n; i++)
          
            sum += Math.pow(i,2)*i/factorsum(n);
        return sum;
    }

اذن البرنامج بالكامل سيكون على النحو التالى :



الكود:
public class Test {
   public static void main(String[] args) {
    
     int n = 5;
     System.out.println(power(n));  
   }
  
   static int factorsum(int n)
    {
     int res =0;
        for (int i = 1; i <= n; i++)
        res += (i * i);
        return res;
    
        
    }
  
   static double power(int n)
    {
        double sum = 0;
        for (int i = 1; i <= n; i++)
          
            sum += Math.pow(i,2)*i/factorsum(n);
        return sum;
    }
}



المخرجات 
حل اسئلة وتمارين بلغة جافا الجزء الثاني 710057362


وهى نفس النتيجة التى تم الحصول عليها رياضيا 


s =sigma(i^2*i) / (!*i


= 225/55
=4.090

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الثلاثاء يناير 08, 2019 12:13 pm

تم حل المعادلة الاولى فى المساهمة اعلاه قبل قراءة مساهمتك بالبيانات الجديدة لذلك ساوافيك بالتعديل 

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الثلاثاء يناير 08, 2019 12:52 pm

بالنسبة للسؤال التالى :
حل اسئلة وتمارين بلغة جافا الجزء الثاني 110

التعبير الرياضى سيكون على النحو التالى :
s =sigma(j)^2*! / (!*j

وعند النظر لتلك الصيفة فالذى تغير هى الصيغة الرياضية الاولى الى :

(1)^2*1+(2)^2*2 +.....(j)^*!

اما المعادلة الثانية لم تتغير الا فى اسم المتغير i الى j

و بالتالى فالحل البرمجى على النحو التالى :
الكود:

public class TestAuthor {
   public static void main(String[] args) {
    
     int n = 5;
     System.out.println(power(n));  
   }
  
   static int factor(int n)
    {
     int res =0;
        for (int j = 1; j <= n; j++)
        res += (j * j);
        return res;
    
        
    }
  
   static double power(int n)
    {
        double sum = 0;
        for (int j = 1; j <= n; j++)
          
            sum += Math.pow(j,2*j)/factor(n);
        return sum;
    }
}

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الثلاثاء يناير 08, 2019 2:42 pm

أما السؤال 
حل اسئلة وتمارين بلغة جافا الجزء الثاني 210

الحل البرمجي :

الكود:


public class TestAuthor {
   public static void main(String[] args) {
    
     int n = 5;
     System.out.println(power(n));  
   }
  
   static int factor(int n)
    {
     int res =0;
        for (int j = 1; j <= n; j++)
        res += (2 * j);
        return res;
    
        
    }
  
   static double power(int n)
    {
        double sum = 0;
        for (int j = 1; j <= n; j++)
         {  
            int s =2*j+1;
            sum += Math.pow(j,s)/factor(n);
             }
        return sum;
    }
}

المخرجات :
حل اسئلة وتمارين بلغة جافا الجزء الثاني 522502859



الحل الرياضى للتاكد من المعادلة :

التعبير الرياضى s =sigma(i)^2*!+1 / (!*2

ناخذ الصيغة الاولى : sigma(i)^2*!+1

أذن : ((1)^2*1+1) + ((2)^2*2+1) +((3)^2*3+1)+((4)^2*4+1)+((5)^2*5+1)

= (1^3)+(2^5)+(3^7)+(4^9)+(5^11)
= (1)+(32)+(2187)+(262144)+(48828125)
=49092489

و عند تشغيل الدالة power التى تقوم بحساب الصيغة الرياضية السابقة :
حل اسئلة وتمارين بلغة جافا الجزء الثاني 144376195
وهو يساوى الحل الرياضى

الصيغة الرياضية التانية 2*!

أذن = (2*1)+(2*2)+(2*3)+(2*4)+(2*5)

=(2)+(4)+(6)+(Cool+(10)
=24

و عند تشغيل الدالة factor التى تقوم بحساب الصيغة الرياضية السابقة كانت النتيجة هكذا

حل اسئلة وتمارين بلغة جافا الجزء الثاني 649425205

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

تحياتى لك

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف زهراء في الأربعاء يناير 09, 2019 11:22 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:بالنسبة للسؤال التالى :
حل اسئلة وتمارين بلغة جافا الجزء الثاني 110

التعبير الرياضى سيكون على النحو التالى :
s =sigma(j)^2*! / (!*j

وعند النظر لتلك الصيفة فالذى تغير هى الصيغة الرياضية الاولى الى :

(1)^2*1+(2)^2*2 +.....(j)^*!

اما المعادلة الثانية لم تتغير الا فى اسم المتغير i الى j

و بالتالى فالحل البرمجى على النحو التالى :
الكود:

public class TestAuthor {
   public static void main(String[] args) {
    
     int n = 5;
     System.out.println(power(n));  
   }
  
   static int factor(int n)
    {
     int res =0;
        for (int j = 1; j <= n; j++)
        res += (j * j);
        return res;
    
        
    }
  
   static double power(int n)
    {
        double sum = 0;
        for (int j = 1; j <= n; j++)
          
            sum += Math.pow(j,2*j)/factor(n);
        return sum;
    }
}

تحياتى لك يا استاذ @أحمد مناع على مجهودك الثمين ذلك ...لكن قيمة J فى السؤال هى -1 و ليس 1 و بالتالى فان الطريقة factor ستكون على النحو التالى :
الكود:
 static int factor(int n)
    {
    int res =0;
        for (int j =-1; j <= n-1; j++)
        res += (j * j);
        return res;
   
       
    }

و المخرجات = 31


للتاكد من الحل رياضيا 

=(-1*-1)+(1*1)+(2*2)+(3*3)+(4*4) 
=(1)+(1)+(4)+(9)+(16)
=31

و ايضا الطريقة power ستكون على النحو التالى :
الكود:
 static double power(int n)
    {
        double sum = 0;
        for (int j = -1; j <= n-1; j++)
         
            sum += Math.pow(j,2*j)/factor(n);
        return sum;
    }



و الكود بالكامل على النحو التالى بعد التعديل :
الكود:

public class TestAuthor {
  public static void main(String[] args) {
   
    int n = 5;
    System.out.println(power(n)); 
  }
 
  static int factor(int n)
    {
    int res =0;
        for (int j =-1; j <= n-1; j++)
        res += (j * j);
        return res;
   
       
    }
 
  static double power(int n)
    {
        double sum = 0;
        for (int j = -1; j <= n-1; j++)
         
            sum += Math.pow(j,2*j)/factor(n);
        return sum;
    }
}


نتيجة المعادلة :

= 2138.193

تحياتى لك  sunny
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 395
النقاط : 664
التقيم : 53
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف زهراء في الأربعاء يناير 09, 2019 12:07 pm

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

أستاذ [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....الحل الرياضي بيساوى ايضا 30 و ليس 24 وهى نفس النتيجة التى قامت الدالة factor بحسابها ....

أذن = (2*1)+(2*2)+(2*3)+(2*4)+(2*5)

=(2)+(4)+(6)+ 8 +(10)
=30 و ليس 24

تحياتى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 395
النقاط : 664
التقيم : 53
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الأربعاء يناير 09, 2019 6:39 pm

شابوووه [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....ارفع لك القبعة على ذكائك الفذ  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f44d  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f44d و صدقني يتشرف المنتدى باسمك فى كل مساهمة 

وأرجوا المعذرة أخى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] على هذا السهو وعدم التركيز

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف زهراء في الأربعاء يناير 09, 2019 9:27 pm

شابوووه [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....ارفع لك القبعة على ذكائك الفذ  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f44d  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f44d و صدقني يتشرف المنتدى باسمك فى كل مساهمة 


تلميذتك يا استاذ [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

وشرف لى ان اكون معكم 

تحياتى
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 395
النقاط : 664
التقيم : 53
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في الخميس يناير 10, 2019 8:35 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:
ارفع لك القبعة على ذكائك الفذ  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f44d  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f44d و صدقني يتشرف المنتدى باسمك فى كل مساهمة 


والله ياجماعة...لا ادري مااقول لكما....كل الامتنان والشكر وع المجهود والوقت المبذول من قبلكم لمساعدة من هو محتاج للمساعدة....حفظكم الله من كل سوء ونش الله في ميزان حسناتكم لكن ياريت توضيح مايلي حتى افهمه بشكل كامل..
1-لماذا كتابة الكود بهذه الطريقة...يعني مثلا ماذا تقصد ب(res += (j * j علما ان j  التي في البسط مرفوعة للاس 2 ضرب factor (!) وليس ضرب j او (i) كما ضربتها حضرتك وحضرتك قلت
 (sum += Math.pow(j,2*j)/factor(n وكذلك بالنسبة (res += (i*i  فالذي اعرفه انا ان للpowerمتغيرين (اس واساس) مثلا(n,k) وللfactor اساس فقد مثلا(n)... 

2-لماذا لم تكتب الطرق (power& factor) بجزء الكلاس ومن ثم تستطيع استدعائها بانشاء كائن  بجزء الmain .
3-لماذا استخدمت static لانشاء الطريقتين.
يعني قصدي ممكن كتابة الحل بكود ابسط من هذا لكلا المثالين ...بالطريقة اللي يعرفها المبتدين....او مايصير ياريت توضيح من حضرتك
abushuber
abushuber
....
....

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الجمعة يناير 11, 2019 9:45 am

أهلا بيك أخى 

بالنسبة لاستفسارك رقم 1

المعادلة تطلب مجموع الاعداد من -1 الى n وهى مكونة من جزئيين : 

الجزء الاعلى = j مرفوع لاس 2 ...هذا الاس مضروب فى ! 

حيث أن :

j = هو قيمة العدد هى -1 و 1 و 2 و 3 و4 .....و n

أما حرف التعجب ! هو معامل الرقم لكل قيمة اعلاه -1 و 1 و 2 ....و لما تم حسابها بالالة الحاسبة ظهرت هكذا لذلك اعتقدنا ان معامل الرقم هو نفسة وتم الحساب على ذلك 

و بالتالى فان الجزء الاعلى = j مرفوعة للاس 2 * j ...طالما ان ! هى معامل الرقم و التى تساوي قيمة نفسها 
                          

و بعد ذلك استخدمنا الدالة power لايجاد قيمة j مرفوعة للاس 2 ....لكن الاس 2 يجب زيادة كما طلب المثال بانه يساى 2*! ...و بالتالى فكل رقم من j سيتم رفعة للاس 2 مضروب فى فى المعامل ! الذى اعتقدنا يساونى نفس الرقم 


و بالتالى فالرقم 4 مثلا ستكون على النحو التالى :Math.pow(4,2*4 = Math.pow(j,2*j)


Math.pow(4,Cool


=4^8
=65536

وهكذا بالنسبة باقى ارقام المجموعة N حتى يتم الانتهاء من باقى المجموعة و تخزين النتائج فى المتغير sum 

أما بالنسبة للجزء الثاني من المعادلة هى !j و بالتالى فهى برمجيا = (j*j ) و ذلك لاعتقادنا أن معامل الرقم ! هى نفس قيمة الرقم ...وهى كما حسابنها على الالة الحاسبة فاذا كتب رقم 1 على الالة ثم وضعت الحرف ! ستظهر النتيجة 1 ...و ايضا الرقم 2 ستظهر النتيجة 2 ...ولذلك اعتدقنا ان معامل الرقم هو نفسة ...لكن اذا استمر فى الحساب على الالة الحاسبة ووضع الرقم 3 ستظهر النتجة 6 ...و الرقم 4 ستظهر النتيجة 24 ...و بالتالى فاعتقداى بان معامل الرقم أو حرف التعجب ! لا يساوى نفس الرقم ....وهذا الخطا قد وقعت فية بعد حل الاسئلة و لم اكتشفة الا بعد سؤالك هذا

بالنسبة لاستفسارك رقم 2
الكود:
لماذا لم تكتب الطرق (power& factor) بجزء الكلاس ومن ثم تستطيع استدعائها بانشاء كائن  بجزء الmain .

انا فعلا قمت باشاء الطرق (power& factor) بداخل الكلاس الذى يحتوى على الدالة main ....الا اذا كنت تريد انشاء كلاس اخر يحتوى على تلك الطرق ....أما لماذا لم يتم استدعاها عن طريق كائن جديد ...ٍيتم لإضاحة فى الجزئية التالية

بالنسبة لاستفسارك رقم 3

الكود:
3-لماذا استخدمت static لانشاء الطريقتين.

قمت باستخدام static لاستدعاء الدالة دون إنشاء كائن جديد منها اختصارا للكود ...فبدلا من ان يتم ساتدعائها كهذا بدون static
الكود:

public class TestAuthor {
    
   public static void main(String[] args) {
    
    int n = 5;
      
     TestAuthor p = new  TestAuthor();
     System.out.println(p.power(n));
   }

فكان اوفر لى كتابة الكود ان يتم وضع static للطريقة لاستدعاها مباشرة دون الحاجة الى انشاء كائن جديد من فئتها ثم استدعاها خصوصا لم يحدد السؤال كيفية انشاء الطرق و كان لنا الحرية فى ذلك


ساوافيك باتعديل بعد عملى أن ! ليست هى قيمة الرقم نفسة ...ربما بعد صلاة الجمعة او بالمساء 

نرجوا المعذرة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في الجمعة يناير 11, 2019 4:53 pm

احسنت استاذ ..الان زال الاشكال لدي....ولكن رياضيا الرمز(!) يدل ع المضروب (factor).... يعني مثلا...عندما j تساوي 2 ستكون هذه 2 مرفوعة لمضروب ال2 والذي يساوي 2 في جميع حالته حيث ان(2=1*2)....وهكذا ...وهذا حل المثالين رياضيا....
حل اسئلة وتمارين بلغة جافا الجزء الثاني 49947210حل اسئلة وتمارين بلغة جافا الجزء الثاني 49787310
abushuber
abushuber
....
....

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الجمعة يناير 11, 2019 4:56 pm

مضروب العدد Factorial فى الرياضيات هو نتيجة عملية ضرب كميتين اثنتين من الأعداد الصحيحة الموجبة n و يرمز له بالرمز ! ثم يكتب الرقم بعده , فمثلا 5! هو 120 حيث يتم حسابه على النحو التالى :

حل اسئلة وتمارين بلغة جافا الجزء الثاني 99c323c7c882d9a59dc8f0674e0da198fdeb134f


أذن لايجاد مضروب ! للرقم n برمجيا على النحو التالى :

الكود:
 static int factor(int n) 
    { 
     int res = 1 ;
     
       for (int i=1; i<=n; i++) 
       res *= i; 
          
        return res; 
                  
    }

1_قمنا بالاعلان عن المتغير res لتخزين قيمة مضروب الرقم n فية ...بما أن المتغير res  سيحتوي على ضرب جميع الأرقام, يجب إعطائه رقم 1 كقيمة أولية لأن الرقم 1 لا يؤثر في عملية الضرب

2_انشأنا حلقة تكرار من 1 الى القيمة n ...فى دورة من حلقة التكرار نقوم بضرب قيمة العداد بقيمة المتغير res ثم نضع الناتج فى المتغير res من جديد من خلال معامل الاسناد *= ....وهكذا نحصل على مضروب ! الرقم n



اذن قيمة ! استطعنا الحصول عليها من الطريقة السابقة ....فلنأتى لحساب المعادلة 

الكود:
static double power(int n) 
    { 
        double sum = 0; 
        for (int j = 1; j <= n; j++) 
          
            sum += Math.pow(j,2*factor(j))/j*factor(j); 
        return sum; 
    }

1_قمنا بالاعلان عن المتغير sum لتخزين قيمة إجمالى المعادلة بالكامل

المعادلة من شقين ....بسط و مقام

البسط =j مرفوع للاس 2...اس 2 هذا مضروب فى ! ....لذلك استخدمت حلقة تكرار للحصول على قيمة كل رقم فى المجموعة n و تمريرة للطريقة factor للحصول على مضروبة ...بعد ذلك قمت بضربة فى للاس 2 ...و استخدمت الدالة  Math.pow و تمرير الاساس لها هو j مرفوعا للاس الجديد 2*factor(j)

المقام = j * مضروب الرقم !
=j*factor(j)

و الحل الكامل هكذا

الكود:


public class TestAuthor {
    
   public static void main(String[] args) {
     
    int n = 5; 
       
    
     System.out.println(power(n));
   }
  
   static int factor(int n) 
    { 
     int res = 1 ;
     
       for (int i=1; i<=n; i++) 
       res *= i; 
          
        return res; 
                  
    } 
   
   static double power(int n) 
    { 
        double sum = 0; 
        for (int j = 1; j <= n; j++) 
          
            sum += Math.pow(j,2*factor(j))/j*factor(j); 
        return sum; 
    } 
}


و ارجوا المعذرة على فهمى أن مضروب الرقم يساوى الرقم نفسة كما كنت اعتقد

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الجمعة يناير 11, 2019 5:04 pm

تم وضع المساهمة قبل قراءة مساهتمك ....ساقرء حلك الرياضى ساوافيك ربما الليلة او غدا على الاكثر....لكن بدى افهم شيء

اذا كان السؤال الاول j مرفوعة للاس 2 *!....لماذا وضعت مثلا الرقم 3 مرفوعة لاس 2 فقط ....فمن المفترض أن 3مرفوعة للاس 12.... لان مضروب الرقم 3 =6 ....وبما ان الرقم مرفوع للاس 2 أذن الاس الجديد 12

هذا كما فهمت من سؤالك j اس 2*!....ارجوا التوضيح

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في الجمعة يناير 11, 2019 6:13 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:تم وضع المساهمة قبل قراءة مساهتمك ....ساقرء حلك الرياضى ساوافيك ربما الليلة او غدا على الاكثر....لكن بدى افهم شيء

اذا كان السؤال الاول j مرفوعة للاس 2 *!....لماذا وضعت مثلا الرقم 3 مرفوعة لاس 2 فقط ....فمن المفترض أن 3مرفوعة للاس 12.... لان مضروب الرقم 3 =6 ....وبما ان الرقم مرفوع للاس 2 أذن الاس الجديد 12

هذا كما فهمت من سؤالك j اس 2*!....ارجوا التوضيح
شكرا لك استاذي العزيز...ساوضح لك المقصود بالنسبة للبسط الj مرفوعة الى اس (مضروب ال2) يعني هذا الاس هو ثابت مهما كانت قيمة j وهذا الاس يقرء (مضروب ال2) وليس قيمة الـj التي نأخذ مضروبها فمثلا الرقم 3 مرفوع لاس مضروب ال2 وبما ان مضروب ال2 هو 2 , اذن تصبح 2^3...فتصبح 9 وليس 12...وهكذا في بقية الاعداد...هذا اولا..ااما في المقام فيختلف الوضع حيث كان المراد من السؤال...مضروب الj يعني مثلا كان الj يساوي 3...فان مضروبه يكون 6...واذا كان الjيساوي 4 فان مضروبه يكون 24...وهكذا...فالبسط يختاف عن المقاام ان كلاهما يحتوي مضروب لكن مضروب البسط محدد ومقيد با2 فقط...اما مضروب المقام...يتغير بتغير قيمة ال j , ارجو ان قد اوصلت لك الفكرة انظر الى المثال حل اسئلة وتمارين بلغة جافا الجزء الثاني Asasas10
abushuber
abushuber
....
....

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الجمعة يناير 11, 2019 6:55 pm

فهمتك أخير  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600 ....لانى اساسا انا فاشل فى الرياضيات وكنت اعتقد أن J مرفوعة للاس 2 ثم نضرب هذا الاس فى ! ...لكن بعد شرحك فهمت أن J مرفوعة للاس مضروب 2! ....اللى هو اساسا بيساوى 2 

حل المعادلة الاولى على النحو التالى :

الكود:

public class TestAuthor {
    
   public static void main(String[] args) {
    
    int n = 5;
      
    
     System.out.println(power(n));
   }
  
   static int factor(int n)
    {
     int res = 1 ;
    
       for (int i=1; i<=n; i++)
       res *= i;
          
        return res;
                  
    }
  
   static double power(int n)
    {
        double sum = 0;
        
        
        for (int j = 1; j <= n; j++)
        {
          sum += Math.pow(j,factor(2))/factor(j);
        
        }
          
        return sum;
    }
}

المخرجات 

5.375


ان شاء الله تعالى سيكون هذا هو الحل للمعادلة لكن بدون استخدام الاشارة السالبة ...وهتركة للاستاذة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....فى استخدام السالب هنا لانى لما استخدمت طريقتها ظهرت لى رسالة خطأ


المعادلة الثانية
الكود:
public class TestAuthor {
   
  public static void main(String[] args) {
   
    int n = 5;
     
   
    System.out.println(power(n));
  }
 
  static int factor(int n)
    {
    int res = 1 ;
   
      for (int i=1; i<=n; i++)
      res *= i;
         
        return res;
                 
    }
 
  static double power(int n)
    {
        double sum = 0;
       
       
        for (int j = 1; j <= n; j++)
        {
          sum += Math.pow(j,factor(2)+1)/factor(2);
       
        }
         
        return sum;
    }
}

المخرجات :
112.5

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف زهراء في السبت يناير 12, 2019 2:57 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:وهتركة للاستاذة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....فى استخدام السالب هنا 

scratch scratch scratch ... حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 395
النقاط : 664
التقيم : 53
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف أحمد مناع في الأحد يناير 13, 2019 12:45 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:وهتركة للاستاذة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....فى استخدام السالب هنا 

scratch scratch scratch ... حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600


لا فالحة ....شاطرة بس إنك تقولي الجمع بتاعك غير صحيح  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600  حل اسئلة وتمارين بلغة جافا الجزء الثاني 1f600

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 952
النقاط : 201717
التقيم : 113
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

حل اسئلة وتمارين بلغة جافا الجزء الثاني Empty رد: حل اسئلة وتمارين بلغة جافا الجزء الثاني

مُساهمة من طرف abushuber في الإثنين يناير 28, 2019 6:21 pm

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

تاريخ التسجيل : 29/09/2018
المساهمات : 57
النقاط : 81
التقيم : 0
الدولة : العراق
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى