PDA

View Full Version : برنامه ای با جاوا اسکریپت



lind73
سه شنبه 14 شهریور 1391, 11:12 صبح
با سلام خدمت تمام دوستان عزیز
من یک برنامه جاوا اسکریپت میخواستم که اگه منو کمک کنید خیلی ممنون میشم
برنامه اینطوره که
اعداد زوج را در یک دهم ثانیه چاپ کند و هر ده عدد را در یک خط نمایش دهد
لطفا منو راهنمایی کنید
با تشکر

Yuness Mehdian
چهارشنبه 15 شهریور 1391, 01:57 صبح
ببین اگه منظورت اینه که تو زمان 100 میلی ثانیه یا همون یک دهم ثانیه هر چی عدد زوج میتونه رو چاپ کنه می تونی از کد زیر استفاده کنی که زمان سپری شده رو به میلی ثانیه هر بار محاسبه میکنه (اختلاف زمانی) :


var n = 0; //counter variable

var start = new Date().getTime();

var elapsed;

while(1)
{
document.write(++n % 2 == 0 ? n+" " : "");
document.write(n % 10 == 0 ? "<br>" : "");

elapsed = new Date().getTime() - start;

if (elapsed>=100) break;
{


پیشنهاد میکنم عدد های بیشتر از 100 رو امتحان نکنی چون عدد های زیادی رو میخواد تولید کنه و مرور گر امکان داره هنگ کنه:گیج:، اگه منظورت اینه که هر 20 میلی ثانیه یه عدد زوج بده بیرون از کد زیر استفاده کن البته واسه این حالت باید یه نقطه پایان تعیین کنی مثلا اگه به 1000 رسید متوقف بشه :


var n = 0; //counter variable
var timer_Handle;
var max = 1000;

function print_Even()
{
document.write(++n % 2 == 0 ? n+" " : "");
document.write(n % 10 == 0 ? "<br>" : "");

if (n >= max) clearInterval(timer_Handle); //stop point

}

window.onload = function(){
timer_Handle = setInterval(print_Even ,100)
}



این کد دوم رو تست نکردم :افسرده:

lind73
چهارشنبه 15 شهریور 1391, 10:51 صبح
خیلی ممنون از راهنمایتون
کاملا درست بود ولی من میخوام که در یک دهم ثانیه اعداد زوج رو نمایش بده و هر ده عدد رو در یک خط چاپ کنه
ممنون میشم که برنامه رو دوباره برام بنویسید

Yuness Mehdian
چهارشنبه 15 شهریور 1391, 11:01 صبح
این کد رو تو یه فایل خالی پیست کن با پسوند html ذخیره کن، الان تو firefox و ie تست کردم کار میکنه


var n = 0; //counter variable

var start = new Date().getTime();

var elapsed;

while(1)
{
document.write(++n % 2 == 0 ? n+" " : "");
document.write(n % 20 == 0 ? "< br >" : "");

elapsed = new Date().getTime() - start;

if (elapsed>=100) break;
}


راستی همونطور که میدونی تو زبان های شبه c علامت سوال عبارت شرطی ایجاد میکنه یعنی این دو خط:


document.write(++n % 2 == 0 ? n+" " : "");
document.write(n % 20 == 0 ? "< br >" : "");


معادل این هستن :


if (++n % 2 == 0)
document.write(n+" ");
else
//nothing

if (n % 20 == 0)
document.write("< br >");
else
//nothing

یه موضوع دیگه فاصله های < br > رو حذف کن چون اینجا نمیشه کد html گذاشت با فاصله گذاشتم که حذف نشه تو پست اول هم حذف شدن


موفق باشی

lind73
چهارشنبه 15 شهریور 1391, 12:29 عصر
سلام من برنامه رو دقیقا اجرا کردم اما مشکل اینجاس که ده عدد رو در یک خط چاپ نمیکنه

Yuness Mehdian
چهارشنبه 15 شهریور 1391, 13:00 عصر
ببین اون < br > که نوشتم بین علامت کوچیک تر بزرگ تر و br نباید قاصله ای باشه وگرنه تاثیری نداره ببین اینجا (http://yuness.persiangig.com/test.html) آپلودش کردم اگه کلیک کنی نتیجه رو میبینی میتونی هم راست کلیک کنی save as بزنی کدش رو ببینی

lind73
چهارشنبه 15 شهریور 1391, 13:10 عصر
اقا ممنون واقعا نمیدونم چطور ازت تشکر کنم کارم جور شد بازم یه دنیا ممنون.