دسته بندی
حلقه for و while در جاوا اسکریپت (JavaScript)

تا این مرحله از آموزش های مقدماتی بخش جاوا اسکریپت با کلیاتی از این زبان برنامه نویسی آشنا شدیم، شیوه نگارش و دستورالعمل (Syntax) آن را شناختیم و قادریم تا کدهای شخصی بنویسیم و از آنها در صفحه مرورگر خود خروجی بگیریم، در مطالب گذشته دیدیم که چگونه از مقایسه (Comparison) و شرط (Condition) استفاده و تفکری که در ذهن داریم را در بستر مفسر جاوا اسکریپت پیاده سازی کنیم، اکنون در ادامه آموزش های مقدماتی جاوا اسکریپت می خواهیم با مفهوم دیگری تحت عنوان حلقه (Loop) آشنا شده و با دو نوع پرکاربرد آن یعنی for و while به کمک مثال و نمونه کد تمرین کنیم.
حلقه ها (Loops) در جاوا اسکریپت چه کاربردی دارند؟
اگر بخواهیم به زبان ساده کاربرد حلقه ها (Loops) را توضیح دهیم باید بگوییم حلقه ها در زبان های برنامه نویسی و از جمله در جاوا اسکریپت برای تکرار اجرای قسمتی از کدها (بلاکی از کدها) در حین پردازش برنامه کاربرد دارند، به فرض اگر نمرات تحصیلی 7 دانش آموز را به صورت آرایه در اختیار داشته باشیم و بخواهیم معدل آنها را حساب کنیم می توانیم با حلقه while کدی بنویسیم و در دور تکرار مجموع نمرات دانش آموزان را بدست آورده و درنهایت معدل را حساب کنیم، از لحاظ ساختار برنامه نویسی حلقه ها عموما نیاز به وجود یک شرط دارند و تا زمانی که آن شرط درست (true) باشد دور حلقه ادامه پیدا می کند، به عنوان نمونه شرط می تواند به این صورت باشد:
تا زمانی که (while) تعداد دور به 7 نرسیده (7 > var) تکرار را انجام بده:
<script>
var student = new Array(20, 13, 18, 12, 15, 10, 19);
var all = 0;
var average = 0;
var i = 0;
while(i < 7){
all += student[i];
i++;
}
average = (all / student.length).toFixed(2);
alert(average);
</script>
نتیجه اجرای کد بالا به صورت زیر خواهد بود:15.29
که معدل نمرات فرضی دانش آموزان است.حلقه for در جاوا اسکریپت (JavaScript for Loop)
از حلقه for در جاوا اسکریپت مشابه با دیگر زبان های برنامه نویسی برای انجام فرآیندها در دور تکرار استفاده می شود، مقدار تکرار حلقه از قبل مشخص است و معمولا برای پایان دادن به آن باید شرط حلقه false شود، شاید در نگاه نخست درک نحوه کارکرد دستور for کمی پیچیده به نظر برسد اما با کمی موشکافی خواهیم دید که حداقل ساختار و عملکرد اولیه آن بسیار ساده است، شیوه نگارش حلقه for به صورت نمونه زیر است:
<script>
for(i = 0; i < 10; i++) {
}
</script>
توضیح:- در کد ساده بالا حرف i یک متغیر پیش فرض است که برای بررسی و کنترل دورهای حلقه کاربرد دارد.
- در قسمت اول دستور for، متغیر i را برابر صفر قرار می دهیم چون می خواهیم حلقه را از صفر شروع کنیم (i = 0).
- در قسمت دوم دستور، تعیین می کنیم که حلقه for تا چه زمانی تکرار شود (تا زمانی که i < 10 باشد).
- در قسمت سوم حلقه، به ازای هر دور تکرار متغیر i را یک واحد افزایش می دهیم و تا زمانی که i کوچکتر از 10 باشد این تکرار ادامه می یابد (دور اول 1 + 0، دور دوم 1 + 1، دور سوم 1 + 2 و...).
- در بخش چهارم حلقه، خروجی یا محاسبات را در هر دور بین علامت های {} انجام می دهیم.
در مثال زیر نمونه متغیرهایی را تعریف و در حلقه for از آنها خروجی فرضی گرفته ایم:
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | حلقه for در جاوا اسکریپت</title>
<!-- Webgoo.ir -->
<style>
body {
direction: rtl;
font-size: 12px;
font-family: Tahoma, Geneva, sans-serif;
}
</style>
</head>
<body>
<div class="rtl">
<noscript>جاوا اسکریپت در مرورگر شما پشتیبانی نمی شود یا غیرفعال است!</noscript>
<script>
var br = '<br>';
document.write("شروع حلقه for:<br>");
var loop = 1;
for(i = 0; i < 10; i++) {
document.write("مقدار i در دور " + loop + " برابر است با: " + i);
document.write(br);
loop++;
}
document.write("پایان حلقه for.<br>");
</script>
<hr>
- می توانیم متغیری را در خارج از حلقه تعریف کرده و مقادیر آن را در هر دور بر اساس نیاز برنامه تغییر دهیم، در این مثال متغیر loop به همین صورت به کار رفته است.<br><br>
- اگر از امکان View Source در مرورگرها استفاده کنیم (معمولا با کلیک راست در دسترس است)، خروجی دستورات جاوا اسکریپت در سورس متداول صفحه دیده نمی شود اما در HTML DOM وجود دارد و با ابزارهای توسعه دهندگان (قسمت Developer Tools معولا با زدن دکمه F12 در دسترس است) در مرورگرهای مختلف قابل روئیت و استخراج است.
</div>
</body>
</html>
پیش نمایش آنلایناگر بخواهیم به صورت ساده ساختار حلقه را در نمونه کد بالا بررسی کنیم، در دور اول متغیر loop برابر 1، متغیر i برابر صفر و خروجی دور اول به این صورت خواهد بود:
مقدار i در دور 1 برابر است با: 0
اگر در کدها دقت کنیم در انتهای هر دور حلقه متغیر loop یک واحد اضافه می شود و بر این اساس در دور دوم loop برابر است با 2 و i نیز یک مقدار افزایش یافته (به وسیله بخش سوم حلقه ++i) و نتیجه برابر 1 می شود، خروجی دور دوم برابر است با:
مقدار i در دور 2 برابر است با: 1
این ساختار به همین شکل ادامه می یابد تا زمانی که متغیر i کوچکتر از مقدار 10 باشد (i < 10) که این شرط حلقه است که در قسمت دوم آن تعریف شده است.
نکته: جاوا اسکریپت از شکل دیگری از حلقه ها تحت عنوان forEach نیز پشتیبانی می کند که در خصوص کار با آرایه ها کاربرد دارد، با توجه به وابسته بودن این نوع حلقه به مبحث آرایه ها و جلوگیری از پیچیده شدن آموزش جاری ارائه توضیحات تکمیلی در این خصوص را به مطالب بعدی و بحث آرایه ها در جاوا اسکریپت موکول می کنیم.
حلقه while در جاوا اسکریپت (JavaScript while Loop)
همانطور که دیدیم در دستور for متغیری تحت عنوان i را در ساختار حلقه بررسی و مقدار آن را افزایش (یا کاهش) می دهیم، اما اگر بخواهیم با توجه به متغیری خارج از ساختار حلقه خروجی داشته باشیم نیاز به دستوری دیگر تحت عنوان while است، while در لغت برابر است با "مادامی که، تا زمانی که" و در برنامه نویسی هنگامی که بخواهیم یک فرآیند تا زمان برقرار بودن یک شرط اجرا شود از آن استفاده می کنیم، به طور مثال تا زمانی که تعداد دانش آموزان به 10 نرسیده است دور تکرار حلقه ادامه داشته باشد، مثال زیر گویا است:
<script>
var num = 0;
while(num < 10) {
num++;
}
</script>
توضیح:- معمولا در ساختار while متغیری خارج از حلقه تعریف و در شرط ارزیابی می شود، تا زمانی که رابطه درست (true) و برقرار باشد دستورات داخل حلقه پردازش و زمانی که رابطه نادرست (false) بود دور تکرار حلقه while به پایان می رسد.
- در حلقه while الزاما دور تکرار از قبل مشخص نیست و ممکن است با توجه به فرآیندها حلقه در نقطات متفاوتی خاتمه یابد.
- در کد بالا ابتدا متغیری فرضی با عنوان num را تعریف و مقدار آن را برابر صفر قرار داده ایم، سپس در حلقه ی while تا زمانی که متغیر num کوچکتر از 10 است میزان num را در هر دور با عملگر ++ یک واحد افزایش می دهیم (++num).
در مثال زیر نمونه متغیرهایی را تعریف و در حلقه while از آنها خروجی فرضی گرفته ایم:
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | حلقه while در جاوا اسکریپت</title>
<!-- Webgoo.ir -->
<style>
body {
direction: rtl;
font-size: 12px;
font-family: Tahoma, Geneva, sans-serif;
}
</style>
</head>
<body>
<div class="rtl">
<noscript>جاوا اسکریپت در مرورگر شما پشتیبانی نمی شود یا غیرفعال است!</noscript>
<script>
var br = '<br>';
document.write("شروع حلقه while:<br>");
var loop = 1;
var i = 0;
while(i < 10) {
document.write("مقدار i در دور " + loop + " برابر است با: " + i);
document.write(br);
loop++;
i++;
}
document.write("پایان حلقه while.<br>");
</script>
<hr>
- استفاده از عملگر افزایشی ++ تنها یکی از شیوه های متداول در تعریف ساختار حلقه ها است و محدودیتی از این لحاظ وجود ندارد، به طور مثال در صورت نیاز برنامه می توانیم از عملگر کاهشی -- استفاده کنیم، نکته مهم این است که حلقه باید در جایی خاتمه یابد در غیر این صورت باعث ایجاد دور بینهایت شده و مفسر مرورگر به طور دائم مشغول خواهد بود که نتیجه کندی یا از کار افتادن کامل سیستم است.
</div>
</body>
</html>
پیش نمایش آنلاینتوضیح:
- در این مثال نیز متغیرهایی را به صورت فرضی تعریف و در حلقه ی while مقادیر را پردازش کرده ایم، ساختار دستور while شباهت زیادی به دستور for دارد، لذا از توضیحات مربوط به for تا حدود زیادی می توانیم در مورد while نیز استفاده کنیم.
- توجه کنیم حتما باید حلقه خود را طوری تعریف کنیم که پایان پذیر باشد!، یک اشتباه کوچک ممکن است موجب بی نهایت شدن دور شود که در نتیجه موجب از کارافتادن مرورگر می شود، به طور مثال در کد بالا اگر مقدار num را در هر دور یک واحد افزایش ندهیم حلقه تا بی نهایت ادامه می یابد چرا که شرط ادامه حلقه کوچکتر بودن num از 10 است و واضح است که مقدار صفر همیشه از 10 کوچکتر است و شرط while همیشه true و برقرار است.
حلقه do while در جاوا اسکریپت (JavaScript do while Loop)
در زبان های برنامه نویسی و از جمله در جاوا اسکریپت شکل دیگری از حلقه while وجود دارد که با عبارت do در ابتدا همراه است، در این نوع حلقه قسمت مربوط به do صرف نظر از برقرار بودن یا نبودن شرط آن حداقل برای یک بار اجرا می شود و در دورهای بعدی شرط حلقه اعمال شده و ارزیابی می شود، شیوه نگارش دستور do while به صورت کلی به شکل زیر است.
<script>
var num = 12;
do {
alert('num: ' + num);
num--;
} while(num > 10);
</script>
در صورت اجرای این نمونه کد دو پیام هشدار با متن زیر نمایش داده خواهد شد:num: 12
num: 11
در این مثال از علامت کاهشی -- برای پایان دادن به برقراری شرط حلقه استفاده کرده ایم.استفاده از دستور break و continue در حلقه
زمانی که در برنامه نویسی از حلقه ها صحبت می کنیم باید اشاره ای نیز به دستور break و continue داشته باشیم، همان طور که از معنی این عبارات مشخص است از دستور break برای پایان دادن به دور تکرار حلقه استفاده می کنیم، در هر قسمت از حلقه که break را درج کنیم مفسر جاوا اسکریپت اجرای ادامه دستورات حلقه را در همان نقطه خاتمه داده و به دور تکرار حلقه نیز پایان می دهد، به طور مثال:
<script>
var num = 12;
do {
if(num == 11){
break;
}
alert('num: ' + num);
num--;
} while(num > 10);
</script>
اگر کد بالا را در صفحه وب درج کرده و در مرورگر اجرا کنیم، نتیجه پیام هشداری به صورت زیر خواهد بود:num: 12
همان طور که مشخص است با تعریف شرط if و بررسی مقدار متغیر num تعیین کرده ایم که اگر این متغیر برابر با مقدار 11 بود حلقه do...while خاتمه یابد.دستور continue در بخشی مشابه break عمل می کند و اجرای ادامه دستورات حلقه در همان نقطه که continue را درج کرده ایم در دور جاری خاتمه می یابد با این تفاوت که بر خلاف break حلقه به دور بعد می رود و فرآیند تکرار ادامه می یابد، به طور مثال:
<script>
var num = 12;
do {
if(num == 12){
num--;
continue;
}
alert('num: ' + num);
num--;
} while(num > 10);
</script>
اگر کد بالا را در صفحه وب درج کرده و در مرورگر اجرا کنیم، نتیجه به صورت زیر خواهد بود:num: 11
همان طور که مشخص است در اولین دور حلقه با شرط if مقدار متغیر num را بررسی کرده ایم که اگر برابر 12 بود دور جاری حلقه خاتمه پیدا کرده و حلقه به دور بعد می رود، در این مثال در دور اول متغیر num برابر 12 است لذا باید دقت کنیم که قبل از درج دستور continue مقدار num را یک واحد کاهش دهیم و حلقه را به دور بعد بفرستیم، اگر این کاهش صورت نگیرد شرط if همواره برقرار و حلقه تا بینهایت و بدون پایان تکرار خواهد شد!دسته بندی: آموزش مقدماتی » JavaScript
برچسب ها: JavaScript

شروعی بر برنامه نویسی جاوا اسکریپت (JavaScript)
تعریف و استفاده از متغیر (Variable) در جاوا اسکریپت (JavaScript)
متدهای کار با آرایه در جاوا اسکریپت (JavaScript)
آرایه (Array) در جاوا اسکریپت (JavaScript)
عملگرها (Operators) در جاوا اسکریپت (JavaScript)
دیدگاه


ناشناس
۱۳:۵۳ ۱۴۰۳/۰۹/۱۸
سلام خسته نباشید وقتتون بخیر چطور می تونم با استفاده از حلقه وایل بزرگ ترین و کوچک ترین عدد را از بین چند عدد پیدا کنم ممنون می شم راهنمایی کنید (البته مثلا text باکس بزارم و اصلا اعداد رو خودم ندم و کدی باشه که بزرگترین و کوچک ترین عدد را از بین اعدای که خودمون به ان ندادیم و قراره که کاربر در text باکس وارد کنه پیدا کنه.)
برای استخراج کوچکترین و بزرگترین عدد از textarea با جاوا اسکریپت می توانید از نمونه کد زیر الگوبرداری کنید.
<html>
<textarea id="my_textarea"></textarea>
<button onclick="getTextareaMinMax('my_textarea');">Test</button>
<script>
function getTextareaMinMax(id){
const arr = document.getElementById(id).value.split(/(\s+)/ig);
let min = arr[0];
let max = arr[0];
let i = 0;
while(i < arr.length) {
if(parseInt(arr[i]) < min) {
min = arr[i];
}
if(parseInt(arr[i]) > max) {
max = arr[i];
}
i++;
}
alert('min:' + min + ' max:' + max);
}
</script>
</html>
استفاده کاربردی از این نمونه کد مستلزم این است که کمی با جاوا اسکریپت آشنا باشید و کد را مطابق نیازتان سفارشی سازی کنید.سیده مریم حسینی
۱۹:۳۲ ۱۴۰۰/۱۲/۱۴
با استفاده از حلقه ها قطعه کدی بنویسد که خروجی زیر را تولید کند
*
**
***
****
این برنامه با جاوا هستش، کد این چجوری میشه؟برای ایجاد این خروجی باید حلقه for را با while ترکیب کنیم، مثال:
<script>
let loop;
let max = 4;
for(let i = 1; i <= max; i++){
loop = 1;
while(loop <= i){
document.write('*');
loop++;
}
document.write('<br>');
}
</script>
البته دقت داشته باشید زبان جاوا با جاوا اسکریپت متفاوت است.Fatemeh
۱۰:۳۳ ۱۴۰۰/۱۱/۰۴
وقت بخیر خروجی این کد به چه صورته؟
<!DOCTYPE html>
<html>
<head>
<style>
body {
padding: 0;
margin: 0;
background-color:lightblue;
}
header ,footer {
background-color:yellow;
height: 200px;
}
nav {
background-color:lightblue;
min-height: 200px;
}
div table {
display:table;
width:1024px;
font-size:13pt;
font-family:titr;
direction:rtl;
}
div table row {display:table-row;}
div table cell {display:table-cell;
board:1px solid black;
padding:3px 10px;}
</style>
</head>
<body>
<div class="div table"><div class="div table row">
<div class="div table cell">
<header class="div table">
<div class="div table row"><div class="div table cell">لوگوی سايت </div></div>
</header><nav class="div table"><ul class="div table row"><li class="div table cell"><a class="set-style-link"href="index.php">صفحه اصلی سایت </a></li><li class="div table cell"><a class="set-style-link"href="#">عضویت در سایت </a></li>
<li class="div table cell"><a class="set-style-link"href="#">ورود به سایت </a></li></ul></nav>
<section class="div table"><section class="div table row"><section class="div table cell" style="width:25%;">محصولات </section>
</section></section><footer class="div table">
<section class="div table row"><article class="div table cell">مالکیت مادی و معنوی سایت </article></section>
</footer></div></div></div>
</body>
</html>
کد مشکل خاصی ندارد و فقط کمی آن را تکمیل کردیم، می توانید در یک فایل متنی Wordpad کدها را درج و با پسوند html ذخیره کنید، در نهایت با برنامه مرورگر فایل را اجرا نمائید تا خروجی نمایش داده شود.
Fatemeh
۰۸:۳۳ ۱۴۰۰/۱۱/۰۴
سلام وقت بخیر این قسمت رو چطوری میشه طراحی کرد؟
یک استایل شیت داخلی ایجاد کنید که رنگ زمینه صفحه به رنگ آبی کم رنگ درآید رنگ header و footer سایت به رنگ زرد در آید.
یک استایل شیت داخلی ایجاد کنید که رنگ زمینه صفحه به رنگ آبی کم رنگ درآید رنگ header و footer سایت به رنگ زرد در آید.
لطفا از منوی سمت راست سایت بخش "مهارتهای وب" گزینه "طراحی وب" را انتخاب کنید، چند آموزش مختلف به همراه کد کامل برای بحث طراحی قالب در سایت منتشر شده که می توانید از نمونه کدها استفاده کنید، به طور مثال:
https://webgoo.ir/example/other/web-template-sample.html
برای تغییر رنگ ها می توانید از ابزار زیر استفاده و کدهای هگز سفارشی را جایگزین مقادیر موجود در استایل CSS قالب کنید:https://webgoo.ir/tool/hex-rgb-color
رضا
۱۳:۳۲ ۱۴۰۰/۱۰/۲۸
سلام وقت بخیر. ببخشید من اشتباهی حلقه بینهایت رو اجرا کردم و کلی برای خودش ادامه داد و من به زور مرورگر رو بستم میخواستم بدونم الان یعنی به سیستمم آسیب رسونده؟
دور تکرار بینهایت به خودی خود نمی تواند مشکل دیگری ایجاد کند، بعد از چندین دور تکرار یا با ریست سیستم، پردازش مفسر خاتمه پیدا می کند، جای نگرانی نیست.
Fatemeh
۱۲:۰۰ ۱۴۰۰/۱۰/۲۸
<!DOCTYPE html>
<html>
<script>
var s="" , name="";
while (true)
{
name = window.prompt ("نام مورد نطر را وارد نمایید");
if (name=="end")
break;
s= s + name + "<br/>";
}
document.write(s);
</script>
</html>
وقت بخیر مشکل این کد چیه ؟اجرا نمیشهیک پرانتز در کد جا افتاده بود که اصلاح شد.
Fatemeh
۱۰:۵۹ ۱۴۰۰/۱۰/۲۸
سلام خسته نباشید مشکل این تیکه کد چیه؟
كدي بنويسيد كه اسامی افراد را تک تک خوانده و نهايتا همه آنها را روي صفحه نمايش دهد اتمام اسامی ورود رشته " end "خواهد بود
كدي بنويسيد كه اسامی افراد را تک تک خوانده و نهايتا همه آنها را روي صفحه نمايش دهد اتمام اسامی ورود رشته " end "خواهد بود
<script>
var name="", s="";
name = window.prompt("یک نام را وارد نمایید ");
do
{
s = s + name + "<br/>";
name = window.prompt("یک نام را وارد نمایید ");
}
while (name!="end")
document.write(s);
</script>
به جز پس و پیش شدن حروف فارسی و بهم ریخه شدن کد مشکل دیگری دیده نشد، کد بالا اصلاح شد.
Fatemeh
۱۸:۴۹ ۱۴۰۰/۱۰/۲۵
<!DOCTYPE html>
<html>
<script>
var i=1;
while(i<6)
{
document.write("<input type=\"text\" id=\"txt" + i + "\" value=\"txt" + i + "\"/><br/>");
++i;
}
</script>
</html>
سلام چه طوری داخل این کادرهای که ایجاد میشه با این کد متن txt1, txt2 ,... نوشته شود؟با افزودن صفت value می توانیم مقادیر را در کادرهای input نمایش دهیم، کد بالا اصلاح شد.
Fatemeh
۰۶:۵۶ ۱۴۰۰/۱۰/۲۵
سلام وقت بخیر چطوری میتونم موارد زیر رو انجام بدم؟! میشه کمک کنید ممنون!
پوسته تارنمای فروشگاه آنالین لوازم خانگی را به صورت زیر طراحی کنید
لوگوی سایت
صفحه اصلی عضویت در سایت ورود به سایت
محصوالت
مالکیت مادی و معنوی سایت
1 - لوگوی مناسب و مالکیت مادی و معنوی مناسب را قراردهید
2 - استایل شیت خارجی مناسبی برای پوسته طراحی نمایید تاشکل ظاهری سایت حاصل شود و متنهای به غیر زیر عکس به صورت zar و در صورت نبودن به صورت Titr در آید برای متن زیر عکسها فونت مناسبی در نظر بگیرید
3 - یک استایل شیت داخلی ایجاد کنید که رنگ زمینه صفحه به رنگ آبی کم رنگ درآید رنگ header و footer سایت به رنگ زرد در آید
4 - با کمک جاوااسکریپت وقتی که اشاره گر موس را روی لوگوی سایت بردید پیغام خوش آمد گویی و وقتی که روی footer کلیک کردید پیغام "مالکیت مادی و معنوی " نمایش یابد
5 - با کلیک روی عضویت در سایت فرمی به صورت زیر ظاهر گردد
- فرم را به گونه ای اعتبار سنجی کنید که ورود نام کاربری توسط کاربر الزامی و بین 6 تا 15 کارکتر باشد
کلمه عبور و تکرار آن توسط کاربر یکسان باشد و ورود آن الزامی .
پوسته تارنمای فروشگاه آنالین لوازم خانگی را به صورت زیر طراحی کنید
لوگوی سایت
صفحه اصلی عضویت در سایت ورود به سایت
محصوالت
مالکیت مادی و معنوی سایت
1 - لوگوی مناسب و مالکیت مادی و معنوی مناسب را قراردهید
2 - استایل شیت خارجی مناسبی برای پوسته طراحی نمایید تاشکل ظاهری سایت حاصل شود و متنهای به غیر زیر عکس به صورت zar و در صورت نبودن به صورت Titr در آید برای متن زیر عکسها فونت مناسبی در نظر بگیرید
3 - یک استایل شیت داخلی ایجاد کنید که رنگ زمینه صفحه به رنگ آبی کم رنگ درآید رنگ header و footer سایت به رنگ زرد در آید
4 - با کمک جاوااسکریپت وقتی که اشاره گر موس را روی لوگوی سایت بردید پیغام خوش آمد گویی و وقتی که روی footer کلیک کردید پیغام "مالکیت مادی و معنوی " نمایش یابد
5 - با کلیک روی عضویت در سایت فرمی به صورت زیر ظاهر گردد
- فرم را به گونه ای اعتبار سنجی کنید که ورود نام کاربری توسط کاربر الزامی و بین 6 تا 15 کارکتر باشد
کلمه عبور و تکرار آن توسط کاربر یکسان باشد و ورود آن الزامی .
این موارد مجموعا یک پروژه کامل طراحی و برنامه نویسی وب است، پاسخگویی به سوالات شامل ایرادات جزئی و مواقعی است که بخشی از پروژه را خودتان نوشته و در قسمت خاصی دچار مشکل باشید، در هر صورت برای تکمیل تمام این موارد باید مدت زمان زیادی صرف بحث طراحی و کدنویسی شود که با توجه به زمان محدود ما واقعا ممکن نیست.
Fatemeh
۱۱:۱۸ ۱۴۰۰/۱۰/۱۹
سلام روز بخیر این کد مشکلش چیه؟!
<!DOCTYPE html>
<script>
var s = window.prompt("نامی با طول بین ۳ تا ۱۵ کارکتر وارد نماید.");
if(s.length >= 3 && s.length < 15){
document.write("نام وارد شده" + s);
} else {
window.alert("نام وارد شده معتبر نمیباشد");
}
</script>
</html>
شرط else با کاراکتر { بسته نشده بود!، کد بالا اصلاح شد.
Fatemeh
۲۱:۱۸ ۱۴۰۰/۱۰/۱۲
وقت بخیر متاسفانه من هر کدی مینویسم یه اشکالی داره
این کد مشکلش چیه؟🤦🏻♀️
این کد مشکلش چیه؟🤦🏻♀️
<script type="text/javascript">
var n=window.prompt("عدد مورد نظر را وارد نمایید",0);
if(n%2==0)
document. write("عدد زوج است");
if (n%2!=0)
document. write ("عدد فرد است");
لطفا یک ادیتور حرفه ای مانند PhpStorm نصب و کدها را در این ادیتور بنویسید تا مشکلات کمتر شوند، در این کد مشکل خاصی دیده نمی شود جز اینکه تگ script بسته نشده است، نمونه صحیح تگ script باید به شکل زیر باز و بسته شود:
<script>
کدها...
</script>
Fatemeh
۱۳:۰۰ ۱۴۰۰/۱۰/۱۲
سلام وقت بخیر خسته نباشید
این تیکه کد با دستور if چه مشکلی داره!؟
این تیکه کد با دستور if چه مشکلی داره!؟
<!DOCTYPE html>
<html>
<script type="text/javascript">
var n=window.prompt("عدد مناسب را وارد نمایید")
if(n>=100 && n<=999)
}
document.write("این عدد سه رقمی است ");
{
</script>
</html>
جهت باز و بست کاراکترهای قلاب ({}) به اشتباه استفاده شده اند!
Fatemeh
۱۳:۰۳ ۱۴۰۰/۱۰/۱۱
ممنون از پاسخگویی
مشکل این یکی کد چیه ؟
مشکل این یکی کد چیه ؟
<html >
<head>
<script type="text/javascript">
function CloseWindow()
{
window.alert("خوش آمدید ");
window.close();
}
</script>
</head>
<body dir="rtl">
<input type="button" value="بستن " onClick="CloseWindow()"/>
</body>
</html>
کد بالا ویرایش و ایرادات آن رفع شد.
Fatemeh
۱۲:۲۷ ۱۴۰۰/۱۰/۱۱
سلام وقت بخیر مشکل این کد چیه اجرا نمیشه؟
<!DOCTYPE html>
<html>
<script>
var n=9;
if (n<10)
{
Document.write (n+"عدد کوچکتر از ۱۰ است");}
</script>
</body>
</html>
حرف D در عبارت Document را با حروف کوچک بنویسید.
امیررضا جانبازفرد
۲۱:۳۳ ۱۳۹۹/۰۹/۲۴
سلام خوبین میخواستم بدونم چجوری میشه با استفاده از ترکیب حلقه ی for و if اعداد اول رو پیدا کنم میشه کامل توضیح بدین؟
برای بررسی اول بودن یا چاپ اعداد اول می توانیم از تابع زیر استفاده کنیم (توضیحات در تابع ذکر شده):
تابع در زبان JavaScript:
تابع در زبان JavaScript:
<script>
//عدد اول (Prime Number) عددی طبیعی بزرگتر از ۱ است که نتوان آن را به صورت ضرب دو عدد طبیعی کوچکتر نوشت
function isPrime(num) {
//عدد 1 اول نیست
if(num === 1) {
return false;
}
//2 تنها عدد زوج اول است
if(num === 2) {
return true;
}
//اگر عدد بر 2 بخش پذیر باشد اول نیست (اعداد زوج)
if(num % 2 === 0) {
return false;
}
//عدد را به بالا گرد کرده و ریشه مربع آن را به دست می آوریم
var ceil = Math.ceil(Math.sqrt(num));
//در حلقه بخش پذیر بودن یا نبودن عدد بر 2 بررسی می شود (شروع دور حلقه از 3)
for(var i = 3; i <= ceil; i = i + 2) {
if(num % i === 0) {
return false;
}
}
return true;
}
//قراخوانی
var num = 251;
if(isPrime(num)) {
document.write(num + ' is Prime!');
} else {
document.write(num + ' is Not Prime!');
}
document.write('<br>');
for(var i = num; i > 0; i--){
if(isPrime(i)){
document.write(i + ' => Prime<br>');
}
}
</script>
تابع در زبان PHP:<?php
//عدد اول (Prime Number) عددی طبیعی بزرگتر از ۱ است که نتوان آن را به صورت ضرب دو عدد طبیعی کوچکتر نوشت
function isPrime($num) {
//عدد 1 اول نیست
if($num == 1) {
return false;
}
//2 تنها عدد زوج اول است
if($num == 2) {
return true;
}
//اگر عدد بر 2 بخش پذیر باشد اول نیست (اعداد زوج)
if($num % 2 == 0) {
return false;
}
//عدد را به بالا گرد کرده و ریشه مربع آن را به دست می آوریم
$ceil = ceil(sqrt($num));
//در حلقه بخش پذیر بودن یا نبودن عدد بر i بررسی می شود (شروع دور حلقه از 3 و افزایش 2 واحدی i در هر دور)
for($i = 3; $i <= $ceil; $i = $i + 2) {
if($num % $i == 0) {
return false;
}
}
return true;
}
//فراخوانی
$num = 251;
if(isPrime($num)) {
echo $num . ' is Prime!';
} else {
echo $num . ' is Not Prime!';
}
echo '<br>';
for($i = $num; $i > 0; $i--){
if(isPrime($i)){
echo $i . ' => Prime<br>';
}
}
?>
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.