ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
در این سوال قراره تعداد نقطه های یک کلمه یا یک متن کوتاه رو محاسبه کنیم شما باید برنامه ای بنویسید که تعداد نقطه های رشته ی ورودی input با کلاس input رو محاسبه کنه و در تگ span با کلاس result خروجی را نمایش دهد
یک فایل به نام data در پروژه موجود است که داخل آن یک آبجکت به نام obj وجود دارد کلید های این آبجکت حروف فارسی و انگلیسی هستن و مقادیر این آبجکت تعداد نقطه های هر حرف است شما میتوانید از این آبجکت در پروژه استفاده کنید
شما تنها مجاز به اعمال تغییرات در فایل های main.js
هستید. و برای ارسال پاسخ کافیست فقط همان فایل main.js رو ارسال کنید
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.مهیار به تازگی چند کتابی خوانده است و با مبحث فراکتال ها یا اشکال خود تکرار شونده در ریاضیات آشنا شده است یکی از اشکال مورد علاقه او مثلث سیرپینسکی می باشد و خیلی دوست دارد بتواند آن را در قالب صفحه تحت وبی به ازای تکرارهای مشخصی مشاهده کند چیزی مانند تصویر زیر:
اما مهیار برنامه نویس خوبی نیست و صرفا اندکی css و html بلد است و میداند برنامه نویسی با زبان جاوااسکریپت کاری است بسیار دشوار برای همین خیلی دوست ندارد شما را اذیت کند به همین جهت تصمیم گرفته است که پایه ای ترین شکل به جای مثلث، مربع باشد و ساختار مربوطه آن را با CSS و HTML برای شما نوشته است که شیوه استفاده از آن به شرح زیر است:
همچنین اگر کلاس active را به آن اضافه شود رنگ آن به سیاه تغییر پیدا میکند، همچنین مهیار برای شما ساختار دیگری تحت عنوان ردیف نیز درست کرده است که می توانید چندین مربع چه فعال و چه غیر فعال را کنار یکدیگر قرار دهید به صورت خودکار برایتان وسط چین می شود بالطبع اگر چندین ردیف را درون div#container
قرار دهید ردیف ها به ترتیب بر روی هم قرار میگیرند برای مثال:
موجب نمایش شکل زیر می شود که فی الواقع همان مثلث سرپینسکی صرفا با یک تکرار یعنی n = 1
می باشد:
حال مهیار از شما می خواهد برنامه را در فایل script.js
به نحوی تکمیل کنید که با سابمیت شدن عدد وارد شده در تکست باکس مورد نظر یعنی همان n، فرکتال سیرپینسکی پس از n تکرار نمایش داده شود.
ورودی شامل عددی طبیعی که در input#number
وارد میشود:
شکل را درقالب مجموعه ای از ردیف هایی شامل بلوکهای ضروری مذکور درون div#contaienr
رندر نمایید
script.js
هستید.script.js
را بدون zip کردن ارسال کنید یا کل پروژه را zip کرده و ارسال کنید.ظاهر کلی برنامه بدین صورت است (بعد از نوشتن آدرسها و کلیک کردن ارسال درخواستها):
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.در این سوال میخواهیم یک درخواستدهنده بسازیم که لیستی از آدرسها رو میگیرد و خروجیها آنها را به ترتیب نمایش میدهد.
#urls
دریافت میشود و با فاصله یا خط جدید یا هر تعداد ترکیبی از این دو از هم جدا میشوند..result
به لیست نتایج داخل المان div#results
اضافه میشود..result
چاپ شود.نکته: جواب هر درخواست در همان لحظه که این جواب دریافت میشود، باید نمایش داده شود و منتظر بقیه درخواستها نباید باشد.
نکته: درخواستها نباید همزمان فرستاده شوند، بلکه منتظر جواب درخواست قبلی میماند تا درخواست بعدی را شروع کند.
main.js
هستید.main.js
را بدون zip کردن ارسال کنید یا کل پروژه را zip کرده و ارسال کنید.در این سوال قصد داریم یک برنامه تست سرعت تایپ را پیادهسازی کنیم. ظاهر کلی برنامه به شکل زیر است:
پروژه اولیه را از این لینک دانلود کنید.
index.html
را در مرورگر خود باز کنید.در فایل typing-test.js
تعداد تابع وجود دارند که شما باید آنها را کامل کنید:
initializeTest
این تابع دو پارامتر را به عنوان ورودی دریافت میکند. timeLimit
زمان تست (در واحد ثانیه) و text
متن تست میباشد.
در این تابع باید مقدار اولیه زمان باقی مانده (timeLeft
) را در صفحه نمایش دهید. همچنین هر کاراکتر از متن را در یک تگ span قرار دهید و این تگها را به ترتیب داخل تگ div با آیدی type-text
قرار دهید. برای مثال اگر متن اولیه کلمه سلام باشد HTML رندر شده به صورت زیر باید باشد:
updateCharactersStatus
در این تابع باید وضعیت هر کاراکتر آپدیت کنید. هر کاراکتر میتواند سه وضعیت داشته باشد:
correct-char
را به آن بدهید.incorrect-char
را به آن بدهید. همچنین باید تعداد خطاهای کاربر (errors
) را نیز آپدیت کنید.
updateTimer
در این تابع در صورتی که زمان باقی مانده (timeLeft
) بزرگتر از صفر باشد، باید زمان باقی مانده (timeLeft
) و زمان گذشته شده (timeElapsed
) و مقدار کلمه بر دقیقه (wpm
) را آپدیت کنید. در غیر اینصورت تست تایپ باید تمام شود.
finishTest
در این تابع باید تایمری که ایجاد شده است را clear کنید. همچنین textarea را disable
کنید تا کاربر نتواند در آن تایپ کند.
updateAccuracy
در این تابع باید درصد دقت تایپ (accuracy
) را از طریق فرمول زیر محاسبه کنید و نمایش دهید:
همچنین باید عبارت بالا را به نزدیکترین عدد صحیح رند کنید.
updateErrors
در این تابع باید تعداد فعلی خطاهای کاربر را در صفحه نمایش دهید.
updateWpm
در این تابع باید مقدار کلمه بر دقیقه (wpm) را از طریق فرمول زیر محاسبه کنید و نمایش دهید:
همچنین باید عبارت بالا را به نزدیکترین عدد صحیح رند کنید.
typing-test.js
هستید.typing-test.js
را بدون zip کردن ارسال کنید یا کل پروژه را zip کرده و ارسال کنید.ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید.
ساختار فایلهای این پروژه به صورت زیر است.
در این سوال 2 لیست وجود دارد با کلاس های left-side و right-side و با کلاس مشترک side که داخل هر لیست آیتم هایی به همراه چک باکس وجود دارد ، علاوه بر لیست ها 4 دکمه وجود دارد برای جا به جایی آیتم های داخل لیست ها ، این سوال 4 هدف را دنبال میکند
در فایل پروژه اولیه شما دو آرایه دارید به نام های leftList و rightList که مقادیر داخل این ارایه توسط تابع renderDom تبدیل به آیتم هایی میشود که در لیست ها به شما نمایش داده شده دقت شود که شما در این سوال باید با تابع renderDom کار کنید و تغییری در ساختار المان هایی که به کمک این تابع ساخته شده اند ایجاد نکنید
شما تنها مجاز به اعمال تغییرات در فایل main.js
هستید.