السلام عليكم
انا مشتركة جديدة
طالبة حاسب مبتدئة
ارجو ان يكون تعبيركم عن الترحيب بي عن طريق الاجابة عن سؤالي
السؤال هو....
ماهي طريقة حساب
excution Time
لأي كود بالجافا او غيرها من لغات البرمجة؟؟
وجزيتم الف خير
السلام عليكم
انا مشتركة جديدة
طالبة حاسب مبتدئة
ارجو ان يكون تعبيركم عن الترحيب بي عن طريق الاجابة عن سؤالي
السؤال هو....
ماهي طريقة حساب
excution Time
لأي كود بالجافا او غيرها من لغات البرمجة؟؟
وجزيتم الف خير
بيكون بكرق حسابيه ملهاش علاقه بالجافا
دوري تحت هذا العنوان :
performance evaluation for computer systems
في حاجة بيسموها complexity بتقاس بال big O
على ما أظن
لكن لحساب الوقت الفعلي للتنفيذ طبعاً متأثراً بعوامل كثيرة ممكن في الجافا من خلال الفئة System
الله معك
اعتقد اختى من فهمى لسؤالك انت عاوزة تحسبى مثلا مدة عمل البرنامج بتاعك
لو اللى انا فهمه صح تستطيعى عملها بسهولة عن طريق كتابة الجملة دى عند بداية الكود بياعك
long x=System.currentTimeMillis();
وفى نهاية الكود بتاعك
long y=System.currentTimeMillis();
ثم لحساب الوقت اطرحى القيمتين السابقتين
long z=y-x;
حيث ان System.currentTimeMillis
تعطى لكى الوقت من خلال ساعة حاسوبك على ما اعتقد ولذلك بطرح القيمتين تستطيعى حساب الوقت الذى استغرقه برنامجك
اتمنى اكون افدتك
سلاااااااااااااااااااااااااااااااااااااااااااااام
شكرا لك اخي
engineero
بالزبط هاد اللي بدي اياه
ولكن هناك مشكلة واجهتني
كتبت اللي قلتلي عليه
وبعد هيك كتبت
System.out.println(z);
لطباعة الوقت
بيطلعلي صفر
فماهي المشكلة؟؟؟
أخي عفوا
هل لديك فكرة عن كتابة هذا الكود بلغة الاسمبلي و
c++
شااااااااااااااااااكرة لك
العفو و انا سعيد انى افدتك
انا معرفش اكتب الكود C++ او اسمبلى انا اسف
اما بخصوص ان z=0 ممكن انتى نفذتيها غلط على العموم ده كود بيحسب مضروب عدد معين وبيحسب الوقت اللى اخده البرنامج شوفى بحسب الوقت ازاى وانا موجود متألقيش
import javax.swing.JOptionPane;
public class Factorial {
public static void main(String args[]) {
long x = System.currentTimeMillis();
String snum1;
int num1, fac_of_num1;
snum1 = JOptionPane.showInputDialog("Enter Number:");
num1 = Integer.parseInt(snum1);
fac_of_num1 = fact(num1);
long y = System.currentTimeMillis();
long z = y - x;
JOptionPane.showMessageDialog(null, num1 + "! = " + fac_of_num1
+ "\n at time = " + z + " milli second");
} // end of main
static int fact(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * fact(n - 1);
} // end of fact method
} // end of class factorialأخي اطلعت على الكود اللي بعتلي اياه وقارنته بكودي
برضو مافي فايدة
اول مرة بعمل فيها
compile
بيطلعلي قيمة بس بعد هيك برجع يطلعلي صفر
ازا مافي كلافة عليك ممكن تشوفلي كودي هو عن
selecte sort
واريد حساب
excutionTime
للبرنامج
public class selectionsort
{
public static void main (String[ ] args)
{
long x=System.currentTimeMillis();
int [ ] array={14,115,20,7,60,82,44,30,12,66,15,40,80,46,90,120,33,70,50};
int min;
int temp;
for(int index=0;index<array.length-1;index++)
{
min=index;
for(int scan=index+1;scan<array.length;scan++)
if(array[scan]<(array[min]))
min=scan;
//swap the value
temp=array[min];
array[min]=array[index];
array[index]=temp;
}//end for
for (int dis:array)
System.out.println(dis);
long y=System.currentTimeMillis();
long z=y-x;
System.out.println("The Time in milliSecond is"+z);
}//end main method
}//end classتم تعديل هذه المشاركة بواسطة عيسى عايد العنزي في 16 ديسمبر 2007 في 21:53 — السبب: اضافة الكود تاق
مفيش مشكلة اختى البرنامج بتاعك صح والنتائج بتعته ممتازة حتى الصفر لان البرنامج سريع جدا لذلك لا ياخذ وقت فلو طبعتى قيمة x و y حتلقيهم متساوين لذلك z=0
ولو عاوزة تعطلى البرنامج شوية علشان تظهرى الوقت
خلى ال user هو اللى يدخل ال array بأيده فياخد وقت شوية علشان كده انا زودت فى البرنامج بتاعك الحتة دى
String snum1 = JOptionPane.showInputDialog("Enter Array Length");
int length = Integer.parseInt(snum1);
int[]array =new int[length];
String number;
for(int i=0;i<array.length;i++){
number=JOptionPane.showInputDialog("Enter Array["+i+"]");
array=Integer.parseInt(number);
}بدل الحتة دى علشان ياخد شوية وقت
int[] array = { 14, 115, 20, 7, 60, 82, 44, 30, 12, 66, 15, 40, 80, 46,
90, 120, 33, 70, 50 };وهذا هو البرنامج بالكامل
//sanfora 7asobya
import javax.swing.JOptionPane;
public class selectionsort {
public static void main(String[] args) {
long x = System.currentTimeMillis();
// int[] array = { 14, 115, 20, 7, 60, 82, 44, 30, 12, 66, 15, 40, 80, 46,
// 90, 120, 33, 70, 50 };
String snum1 = JOptionPane.showInputDialog("Enter Array Length");
int length = Integer.parseInt(snum1);
int[]array =new int[length];
String number;
for(int i=0;i<array.length;i++){
number=JOptionPane.showInputDialog("Enter Array["+i+"]");
array=Integer.parseInt(number);
}
int min;
int temp;
for (int index = 0; index < array.length - 1; index++) {
min = index;
for (int scan = index + 1; scan < array.length; scan++)
if (array[scan] < (array[min]))
min = scan;
// swap the value
temp = array[min];
array[min] = array[index];
array[index] = temp;
}// end for
for (int dis : array){
System.out.println(dis);
}
long y = System.currentTimeMillis();
long z = y - x;
System.out.println("The Time in milliSecond is : " + z);
}// end main method
}// end classاتمنى انى اكون ساعدتك واسف على تاخير الرد علشان كنت فى الكلية
سلاااااااااااااااااااااااااااااااااااااااااااااااام
المشكلة اخي انا متقصدة ان اليوزر مايدخل حاجة
لانه هيك طلب منا
فانا مستغربة لان اول مرة احيانا لو لاحظت بيطلع قيمة 16
وبعد هيك بيطلع صفر
والمطلوب منا فقط عرض
جزيت الف خير اخي الكريم
واسفة جدا لاني اشغلتك
بالتوفيييييييييييق
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…