تمرین های دوره یوتیوب پلاس جاوا اسکریپت

در این پست همه تمرینهایی که در دوره پوتیوب جاوا اسکریپت برای شما مشخص کردم رو میتونید ببینید. اگر این دوره رو در یوتیوب شروع نکردید پیشنهاد میکنم این دوره رو از دست ندید. ویژگی مهم این دوره اینه که آموزشها با کیفیت و کوتاه در نظر گرفته شده و برای هر جلسه تمرینهای خیلی خوبی در نظر گرفتم که در دل این تمرینها شما میتونید نکات جدید رو یاد بگیرید و مهم تر از اون هنر سرچ کردن رو یاد بگیرید:

تمرین جلسه اول - جاوا اسکریپت چیست؟

در این جلسه به معرفی زبان جاوا اسکریپت پرداخته شده است و تمرینی تعریف نشده است
 

به چهار سوال زیر پاسخ داده شده است:

1- جاوا اسکریپت چیست؟
2- فریم ورک چیست؟
3- تفاوت جاوا اسکریپت و اکما اسکریپت چیست؟
4- بازار کار جاوا اسکریپت در ایران چگونه است؟

8 دقیقه آموزش، مختصر و مفید!

تمرین جلسه دوم - آماده سازی محیط کدنویسی

1- vscode  و node را نصب کنید

2- افزونه های زیر را نصب کنید:

1- Live server
2- Prettier – Code formatter
3- Bracket Pair Colorizer 2
4- JavaScript (ES6) code snippets
5- Dracula Official

 

1- کدهای جاوا اسکریپت کجا اجرا میشن؟

2- نصب vscode  و node
3- تفاوت IDE و TextEditor
4- نصب افزونه های مهم در vscode
5 – ساخت اولین پروژه

10 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

تمرین جلسه سوم: نوشتن اولین کد جاوا اسکریپت

برنامه ای بنویسید که در محیط کنسول جمله زیر را چاپ کند:

I Love Javascript

حواستون باشه تمرینهای چند جلسه اول دست گرمیه، تمرینهای جلسات اول رو ساده در نظر گرفتم که مطممئن بشم همه این تمرینها رو انجام میدید. خان اول یادگیری برنامه نویسی اینه که ترستون از کدنویسی بریزه و کدنویسی کنید.

در این آموزش با هم اولین کد جاوا اسکریپت رو مینویسم و هم از طریق مرورگر و هم از طریق ترمینال اجرا میکنیم

10 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

تمرین جلسه چهارم: متغیرها در جاوا اسکریپت

این جلسه تمرینی نداریم. اما آماده باشید که از جلسه بعد تمرینها به صورت جدی شروع میشه 🙂

ممنونتون میشم که من رو در یوتیوب سابسکرایب کنید و با لایک و کامنتهای پر انرژیتون از من حمایت کنید. قطعا حمایتهای شما در تولید آموزشهای رایگان و باکیفیت خیلی تاثیر گذاره 🙂

در این آموزش با متغیرها در جاوا اسکریپت آشنا می‌شوید. تعریف متغیر با let و const را یاد میگیرید و با اصول نامگذاری متغیرها در جاوااسکریپت آشنا می‌شوید

10 دقیقه آموزش، مختصر و مفید!

تمرین جلسه پنجم: انواع داده ای در جاوا اسکریپت

1-  کدام‌ یک از گزینه (یا گزینه های) زیر string  است؟

الف) 4         ب) 4.0           ج) ‘4’

2-  کدام‌ یک از گزینه (گزینه های) زیر number  است؟
الف) 4         ب) 4.0           ج)   ‘4’     د) 4-

3-  کدام‌ یک از گزینه (گزینه های) زیر boolean  است؟
الف) true    ب) false   ج)’true’    د) همه موارد

4-  نتیجه  2+”2”چند میشود؟ (در محیط کنسول امتحان کنید!)

الف)  4    ب)  “4”   ج) 22  د) “22”

5-آیا این جمله درست است؟ null و undefined مثل همن!
الف) true    ب) false

در این آموزش با انواع داده ای در جاوا اسکریپت آشنا می‌شوید:
string
number
boolean
undefined
null

8 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

تمرین جلسه ششم: آبجکت در جاوا اسکریپت

1- object destructuring را در گوگل جستجو کنید و این مفهوم را یاد بگیرید.

2- خروجی کد زیر چیست؟

3- خروجی کد زیر چیست؟

4- کدی بنویسید که شهرِ دانشجو را لاگ کند:

5-این تمرین کمی به دقت و تحلیل نیاز دارد و در قالب یک ویدیوی جداگانه به آن پاسخ داده خواهد شد.
فرض کنید در سایتتان همچین نمایشی برای محصولات شگفت انگیز دارید:

برای محصول بالا یک آبجکت تعریف کنید  و داده های بالا را در آبجکت ذخیره کنید.

این تمرین به چند روش میتواند پیاده سازی شود آبجکت خود را در vscode کدنویسی کنید و اسکرین شات کد خود را در کانال تلگرام و زیر این پست قرار دهید

تو این آموزش با مفهوم آبجکت آشنا میشید. پیشنهاد میکنم حتما ویدیوی این جلسه رو ببینید. به زبان ساده آبجکت رو براتون توضیح دادم.

11 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه هفتم: آرایه در جاوا اسکریپت

1-  آرایه [ 3 , 2 , 1 ] = a را در نظر بگیرید و دومین عنصر آرایه را در خروجی چاپ کنید.

2- کدام یک از پروپرتی های زیر در یک آرایه قابل دسترس است؟
الف- length       ب- len     ج- size

3- کد زیر را بررسی کنید و با توجه به تعریف متغیر با const بگویید آیا در خط دوم خطایی رخ میدهد؟ حتما در vscode اجرا کنید

4- انتظار دارید کد زیر چه چیزی را در خروجی چاپ می‌کند؟ حتما در vscode اجرا کنید و تحلیل کنید

 

5- وقتی که در آموزش بعد از اسم آرایه دات گذاشتم یک لیست از پروپرتی ها (و دقیق تر بخواهم بگویم پروپرتی ها و متدها) باز شد. یکی از متدها indexOf است. کد  زیر را در vscode پیاده کنید تا متوجه کارکرد این دستور شوید. (در مورد متدهای آرایه در جلسات بعد بیشتر صحبت خواهد شد)

تو این آموزش با مفهوم آرایه آشنا میشید.

7 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه هشتم: تابع در جاوا اسکریپت

1- یک تابع چه مقادیری را میتواند برگرداند؟ آیا میتواند یک آرایه return کند؟ 
تابعی بنویسید که یگ آرایه برمیگرداند و با فراخوانی تابع به درایه های مقدار بازگشتی دسترسی داشته باشد.

2- کد زیر را در vscode اجرا کنید، چرا به ما خطا میدهد؟

3- کد زیر را در نظر بگیرید. به نظرتان فراخوانی myFunction قبل از پیاده سازی آن باعث بروز خطا می‌شود؟ کد را در vscode اجرا کنید و جواب خود را بررسی کنی

تو این آموزش با مفهوم تابع آشنا میشید.

15 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه نهم: شرط در جاوا اسکریپت

1- فرض کنید ضرایب یک معادله درجه دو را در متغیرهای a، b و c ذخیره کردید. برنامه ای بنویسید که مشخص  کند این معادله چند ریشه دارد.
(راهنمایی: شما باید ابتدا دلتا را محاسبه کنید و سپس از مثبت بودن، منفی بودن و یا صفر بودن دلتا نتیجه بگیرید این معادله چند ریشه دارد) میتوانید ویدیو حل این مساله با فلوچارتها را در این لینک ببینید:

2- فرض کنید ساعت فعلی سیستم رو در متغیری به اسم hour به صورت دستی ذخیره میکنیم. برنامه ای بنویسید که بر اساس مقدار متغیر در خروجی صبح بخیر، ظهر بخیر، عصر بخیر و یا شب بخیر چاپ کند.
(راهنمایی: برای این مساله به ترکیب شرطها نیاز دارید که در جلسه بعدی آموزش میدم ولی فعلا این شرط رو از من داشته باشید که بتونید کدش رو بنویسید: hour>6 && hour<12 یعنی ساعت بین 6 تا 12 باشه)

3- برای مساله قبلی هوشمندتر عمل کنید! یعنی ساعت سیستم رو با استفاده از توابع جاوا اسکریپت پیدا کنید. (راهنمایی: در گوگل سرچ کنید توابع مربوط به زمان در جاوا اسگریپت و ببینید چطور میشه به ساعت فعلی سیستم دسترسی پیدا کرد)

تو این آموزش با مفهوم ساختار شرط آشنا میشید و یاد میگیرید چطور از if، else if و swith case استفاده کنید

17 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه 10 و 11 : عملگرها در جاوا اسکریپت

1- کدام یک از گزینه های زیر مقدار  true را برمیگرداند؟

a-   ‘1’ === 1
b-    1 == 1
c-   1 === 1
d   – b and c

2- مقدار x در قطعه کد زیر چیست؟

a- 1    b- true  c- false  d- undefined

3- مقدار x در قطعه کد زیر چیست؟

a- 3    b- 8  c- 15  d- 5

4- نتیجه true && false  چیست؟
a- true   b-false   c- null    d- undefined

5-نتیجه (true && false) || true چیست؟ 
a- true   b-false   c- null    d- undefined

6- مقدار y در قطعه کد زیر چند است؟
a- 1   b- 10   c-0   d-11

7- مقدار x در قطعه کد زیر چند است؟
a- 40   b- 45   c-19   d-50

 

8- مقدار y در قطعه کد زیر چند است؟
a- 10   b- 20   c-11   d-9

 

9- یکی از انواع داده ای که در جلسه دوزادهم به آن اشاره شد NaN  بود و همانطور که گفته شد NaN برای نشان دادن این که نتیجه یک محاسبه ریاضیاتی قابل نمایش نیست مورد استفاده قرار می‌گیرد. در محیط کنسول دستورات زیر را اجرا کنید تا متوجه شوید که دستور isNaN دقیقا چه کاری انجام می دهد:

isNaN(5)
isNaN(‘5’)
isNaN(‘salam’)
isNaN(‘4’+3)

10 – فرض کنید میخواهید برای سایت فروشگاهی تان سیستمی برای محاسبه هزینه پست تعریف کنید:
به ازای مبالغ خرید کمتر از 200 هزارتومان برای مشتریان داخل شهر برابر با جاصلضرب مسافت (کیلومتر) در 200 تومان و برای مشتریان خارج از شهر اگر فاصله کمتر از 20 کیلومتر باشد مشابه هزینه داخل شهر و اگر بیشتر از 20 کیلومتر باشد از رابطه  4000 + 150 * (20 – مسافت) محاسبه شود.
به ازای مبالغ خرید بالاتر از 200 هزارتومان برای مشتریان داخل شهر ارسال رایگان و برای مشتریان خارج از شهر از رابطه 100 * (20 – مسافت) محاسبه شود.

در جلسه 10 و 11 جاوا اسکریپت با مفهوم عملگر ها آشنا میشید.  همه عملگرهایی که تو جاوااسکریپت خیلی ازشون استفاده میکنیم رو براتون توضیح دادم. پیشنهاد میکنم هر دو ویدیو رو حتما ببینید

جلسه دهم 17 دقیقه و جلسه یازدهم 14 دقیقه

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه 12: truthy و falsy در جاوا اسکریپت

1- از مقادیر زیر کدامشان truthy هستند، کدامشان falsy؟

‘Awesome’ , 1 , null , {‘state’ : false} , [false]

2- تابع زیر چه کاری انجام میدهد؟ جواب تمرین قبل را با کمک این تابع بررسی کنید:

 

3- خروجی کد زیر چیست؟

 

در این آموزش با مفهوم truthy و falsy آشنا می‌شوید و در مورد الگوریتمهای مقایسه در اکما اسکریپت به صورت مختصر توضیح داده می شود.

16 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه 13: مینی پروژه اول: سنگ کاغذ قیچی

1- به نظرتون کد زیر چه کاری انجام میده؟ به ازای ورودی های 5 و 10 تست کنید ولی قبل از اینکه تو vscode تست کنید حدس بزنید تو خروجی چند چاپ میشه.

 
2- تمرین قبلی رو با کد زیر تکرار کنید. اگر در تمرین قبلی اون چیزی که حدس میزدید با چیزی که در خروجی چاپ شد متفاوت بود با این کد مشکلتون حل میشه:

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

3- کد زیر چه کاری انجام میده؟ میتونید چندین بار  اجراش کنید که دقیقتر بفهمید:

4- کدی بنویسید که یک عدد تصادفی در بازه 150 تا 300 تولید کنه

5- و تمرین آخر یه تمرین خیلی قشنگ!
بازی قبلی رو تا جایی ادامه دادیم که من به عنوان کاربر باید دستی رو انتخاب کنم که کامپیوتر برنده بشه. اما الان میخواهیم بازی رو سخت ترش کنیم و اونم اینه که تو هر مرحله بازی بکگراند بازی میتونه سبز یا قرمز باشه. اگه سبز بود کاربر باید دستی انتخاب کنه که برنده شه و اگه قرمز بود باید دستی انتخاب کنه کامپیوتر برنده شه. راهنمایی در مورد این تمرین رو هم در لابلای ویدیوی یوتیوب و به صورت ویژه در انتهای آموزش گفتم.

در این آموزش بازی سنگ کاغذ قیچی رو با هم پیاده سازی میکنیم. در قدم اول در محیط کنسول و در ادامه به صورت گرافیکی

33 دقیقه آموزش، مختصر و مفید!

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

جلسه 14: ساختار تکرار در جاوا اسکریپت (for و while)

1-  خروجی کد زیر چیست؟

 
2- در کد این جلسه اعداد 1 تا 5 رو با حلقه for نوشتیم. برنامه نویسید که از کاربر یک عدد دریافت کنید (prompt) و اعداد زوج 1 تا عددی که کاربر وارد کرده است را چاپ کند. مثلا اگر کاربر عدد 10 وارد کند خروجی باید به شکل زیر باشد:

2   4   6   8   10

3- در کد این جلسه اعداد 1 تا 5 رو با حلقه for نوشتیم. قدم های زیر رو انجام بدید تا بازی HOP رو پیاده کنید
   الف – با دستور prompt از کاربر یک عدد دریافت کنید و در متغیر n بریزید
   ب- اعداد یک تا n را با حلقه for در خروجی چاپ کنید
   ج- کد مرحله ب رو اینجوری اصلاح کنید: اعداد یک تا n را در خروجی چاپ کنید با این تفاوت که جای اعداد ضریب 3 ، Hop چاپ کنید! (از % برای اینکار استفاده کنید.)
    د- حالا بیاید این مساله رو حل کنید: از کاربر m و n دریافت کنید و اعداد 1 تا n را در خروجی چاپ کنید با این تفاوت که جای اعداد ضریب m باید Hop چاپ کنید. یعنی اگر کاربر n=10 و m=3 وارد کرد:

1 2 Hop 4 5 Hop 7 8 Hop 10

4- برنامه ای بنویسید که از کاربر یک عدد دریافت کند (n) و اعداد یک تا n را اینگونه در خروجی چاپ کند:
   الف- اگر  بر 3 بخش پذیر بود Fizz چاپ کند
    ب-  اگر بر 5 بخش‌پذیر بود Buzz چاپ کند
    ج- اگر هم بر 5 و هم بر 3 بخش پذیر بود FizzBuzz چاپ کند
     د- اگر هیچکدام از موارد بالا نبود خود عدد را چاپ کند
مثلا به ازای ورودی n = 16:

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz

5- برنامه ای بنویسید که با استفاده از for مجموع سبد خرید کاربر را محاسبه کند. (فرض کنید سبد خرید کاربر در آرایه به صورت زیر باشد:)

 

const products = [ 5000, 25000, 12000,30000,10000,45000,20000]

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

در این آموزش با مفهوم ساختار تکرار آشنا می‌شوید که چرا به آن نیاز داریم و بعد از آن به معرفی ساختار for، while و do -while می پردازیم

14 دقیقه آموزش، مختصر و مفید!

جلسه 15: for -in و for -of در جاوا اسکریپت

برای حل تمرینات این جلسه همونجور که قبلا هم گفتم بهتر دوره الگوریتم و فلوچارت من در یوتیوب و یا دوره کامل الگوریتم و فلوچارت من در سایت رو دیده باشید
1- آرایه ای از اعداد در نظر بگیرید، برنامه ای بنویسید که با استفاده از for of بزرگترین عدد را در آرایه پیدا کند و در خروجی چاپ کند (اگر الگوریتم پیدا کردن بزرگترین عدد را بلد نیستید مثال پیدا کردن بزرگترین عدد در الگوریتم و فلوچارت را ببینید)

2-  در آبجکت زیر نمرات درس عباسقلی ذخیره شده است.

 
این دستور را در خروجی چاپ کنید و بررسی کنید این دستور چه کاری انجام میدهد:
 

حالا بیایید این دستور رو اجرا کنید:

الان متوجه شدید که این دستورات چیکار میکنه؟ پس بریم سوال بعدی رو حل کنیم.

3- آبجکت مثال قبلی رو در نظر بگیرید. با استفاده از for in میانگین نمرات عباسقلی رو پیدا کنید.

4- کد زیر رو در vscode اجرا کنید. چرا این دستور خطا میده؟

حالا بیاید و تعریف key رو قبل for انجام بدید: 

خطا نداد! چرا؟ برای اینکه دلیلش رو بفهمید توی گوگل سرچ کنید : حوزه تعریف let در جاوا اسکریپت

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

در این آموزش با ساختار تکرار for-in و for-of آشنا میشوید.

11 دقیقه آموزش، مختصر و مفید!

جلسه 16 : حلقه های تکرار تو در تو

تمرینهای این جلسه پر از الگوهای ستاره داره! در ویدیوی این جلسه هم در مورد این موضوع صحبت شد که چاپ الگوهای ستاره داره به خودی خود اهمیت نداره اما یک چالش خیلی خوب جلوی پای شما میذاره که ساختار تکرار تو در تو رو بهتر یاد بگیرید.

1- در عکس زیر 9 الگوی ستاره دار نمایش داده شده است. کدهای هر کدام از الگوها را بنویسید.

 

2- کد زیر را در نظر بگیرید، این کد چکاری انجام میدهد؟

3- کدی بنویسید که بزرگترین عدد ماتریس کد بالا را پیدا کند.

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

 

در این آموزش با ساختار تکرار تو در تو آشنا می‌شوید. همچنین مفهوم ماتریس و منطق بازی کندی کراش برای درک اهمیت حلقه های تو در تو توضیح داده می شود

19 دقیقه آموزش، مختصر و مفید!

جلسه 17 : مینی پروژه دوم

در تمرینهای این جلسه تصمیم گرفتم سوالات رو جوری انتخاب کنم که مروری باشه بر جلسات گذشته. سطح سوالات را از ساده به سخت در نظر گرفتم

1- برنامه ای بنویسید که دو عدد دریافت کند و بزرگترین عدد را چاپ کند

2-  برنامه ای بنویسید که یک عدد دریافت کند و زوج و فرد بودن عدد را تشخیص دهد (راهنمایی: عددی زوج است که بر 2 بخش پذیر باشد و % عملگر باقیمانده است)

3- برنامه ای بنویسید که یک عدد دریافت کند ئ تشخیص دهد عدد اول است یا خیر (فلوچارت این مساله را در این ویدویو توضیح دادم : مثال 23 از جلسه سوم الگوریتم و فلوچارت در یوتیوب  )

4- برنامه ای بنویسید که از کاربر یک عدد دریافت کند (n) و اعداد یک تا n را اینگونه در خروجی چاپ کند:
   الف- اگر  بر 3 بخش پذیر بود Fizz چاپ کند
    ب-  اگر بر 5 بخش‌پذیر بود Buzz چاپ کند
    ج- اگر هم بر 5 و هم بر 3 بخش پذیر بود FizzBuzz چاپ کند
     د- اگر هیچکدام از موارد بالا نبود خود عدد را چاپ کند
مثلا به ازای ورودی n = 16:

 

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz

5- برنامه ای بنویسید که با استفاده از for مجموع سبد خرید کاربر را محاسبه کند. (فرض کنید سبد خرید کاربر در آرایه به صورت زیر باشد:)

 

const products = [ 5000, 25000, 12000,30000,10000,45000,20000]

6- فرض کنید سبد خرید کاربر یک آرایه از محصولات باشد که هر محصول شامل نام، قیمت ، درصد تخفیف در جشنواره باشد. برنامه ای بنویسید که:
الف – نام محصول به همراه قیمت نهایی محصول (قیمت با تخفیف) در خروجی چاپ کند
ب- میزان سود کاربر از سبد خرید را محاسبه کند (مجموع تخفیفها)
ج- نام گران ترین محصول را در خروجی مشخص کند.

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

من در طول آموزشها یک رمز 5 کاراکتری در اختیار شما قرار میدم که شما با قرار دادن این رمزها کنار هم میتونید لینک هدیه رو پیدا کنید. در ویدیوهای قبلی 2 تا از کاراکترهای رمز رو بهتون گفتم و اینجا رمز سوم رو بهتون میگم: Z

آموزش این جلسه در واقع پیاده سازی یک بازی به نام رمز گاو صندوق است و تمرینهای این جلسه ارتباطی به محتوای این آموزش ندارد. تمرینها صرفا یه این دلیل مطرح شده است که آموخته های شما را محک بزند

25دقیقه آموزش، مختصر و مفید!

جلسه 19 : Higher Order Function

در قالب یک تمرین میخواهیم با هم کاربرد Higher Order Function رو ببینیم. من در قالب یک تمرین ساده این موضوع رو براتون باز میکنم. اول ببینیم مشکل چیه که higher order function میخواد به کمکمون بیاد!

فرض کنید یه آرایه از اعداد دارید. میخواهید همه عناصر این آرایه رو در 2 ضرب کنید (دقت کنید یه مثال ساده دارم میزنم که راحت تر موضوع رو درک کنید) الگوریتمتون چیه؟ یه حلقه for بنویسید و تک تک عناصر رو در 2 ضرب کنید. به همین راحتی!

حالا فرض کنید به جای یه آرایه 5 تا آرایه دارید، باید 5 تا حلقه for بنویسید. هم الگوریتمتون طولانی تر  میشه و هم اگه قرار باشه یه تغییری در الگوریتمتون بدید باید هر 5 تا حلقه for تغییر کنه.

برای اینکه از قدرت Higher Order Function استفاده کنیم قدم های زیر رو انجام بدید و خودتون کدش رو بنویسید:

1- یه تابع معمولی به اسم transform بنویسید که یک عدد دریافت کنه و توان دومش رو برگردونه. الگوی تابع رو براتون مینویسم پیاده سازیش که خیلی ساده است با خودتون:

 

2- یک تابع به اسم map بنویسید که دو تا پارامتر ورودی داره، یکی آرایه array و یکی تابع transform. در واقع تابع map، یک higher order function است.
در تابع map باید دستوراتی بنویسید که تابع transform روی تک تک عناصر آرایه اعمال بشه. یعنی کاری کنیم که با استفاده از تابع transform عناصر آرایه نگاشت بشن به همون چیزی که تو مساله ازمون خواستن. برای این کار میتونید از یک آرایه کمکی هم استفاده کنید. قالب تابع به این صورته و شما باید تابع رو کامل کنید:

اگر بتوانید تابع map را پیاده سازی کنید فراخوانی و استفاده از این تابع خیلی راحت میشود! یک بار تابع transform را مینویسید و بارها از اون استفاده میکنید. حتی میتوانید چندین تابع transform تعریف کنید

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

 

آموزش این جلسه در واقع پیاده سازی یک بازی به نام رمز گاو صندوق است و تمرینهای این جلسه ارتباطی به محتوای این آموزش ندارد. تمرینها صرفا یه این دلیل مطرح شده است که آموخته های شما را محک بزند

14 دقیقه آموزش، مختصر و مفید!

جلسه 20: متد sort

قبل از اینکه تمرین و نکات این جلسه رو ببینید باید بگم که آرایه های متدهای زیادی دارن که باید شما اونا رو یاد بگیرید. متدهای مهمی که باید بلد باشید رو اینجا براتون لیست میکنم، میتونید برید سرچ کنید و در مورد تک تکشون اطلاعات کسب کنید:

 

include, shift, unshift, pop, push, slice, splice, concat, reverse, join

sort, foreach, map, reduce, filter, find

1- آرایه زیر را در نظر بگیرید که آرایه ای از آبجکت است. برنامه ای بنویسید که عناصر آرایه را بر اساس distance به صورت صعودی مرتب کند

2- متد filter را در گوگل سرچ کنید و طریقه کار کردن با آن را یاد بگیرید، سپس با استفاده از این متد برنامه ای بنویسید که شهرهای با فاصله کمتر از 600 کیلومتر را پیدا کند.

3- در سرچ کردن سوال 2 ممکن است توابعی شبیه  تابع زیر روبرو شوید که به آنها arrow function میگویند. در گوگل arrow function را جستجو کنید و طریقه کار با آنها را یاد بگیرید. (در جلسه 18 که نقشه راه یادگیری جاوا اسکریپت را به شما آموزش دادم در مورد این موضوع صحبت شد که در کنار مفهوم تابعی که تا الان یاد گرفتید  Function Expression  و  Arrow Function  هم باید یاد بگیرید.)

دوره یوتیوب پلاس جاوا اسکریپت برای شمایی طراحی شده که مصمم و با انگیزه ویدیوهای یوتیوب رو دنبال میکنید و تمرین ها رو حل میکنید. تو این دوره که هزینه اون خیلی پایین در نظر گرفته شده میتونید جواب همه تمرین ها به همراه نکات تکمیلی هر جلسه رو یاد بگیرید. پیشنهاد میکنم حتما ویدیوی معرفی این دوره رو ببینید.

با متد sort آشنا میشید. یکی از متدهای کاربردی در آرایه که میتونید کاربرد higher order function هم در این آموزش ببینید

12 دقیقه آموزش، مختصر و مفید!

اگر دوست دارید میتونید همه آموزشهای رایگان من رو در سایت و یا یوتیوب از اینجا دنبال کنید:
دوره جامع جاوا اسکریپت

این مطلب برات مفید بود؟

من یک دوره آموزشی جامع جاوا اسکریپت آماده کردم که با شرکت در این دوره شما رو آماده ورود به بازار کار میکنم. مزیت این دوره پشتیبانی دائمی دوره است که من همراه شما خواهم بود که جاوا اسکریپت رو یاد بگیرید و قدم در راه ورود به بازار کار بردارید. پیشنهاد میکنم سرفصلهای دوره و پروژه هایی که در دوره پیاده سازی شده رو ببینید:

ممنون که تا اینجا همراه من بودید. اگر از آموزش این پست خوشتون اومد و یا سوالی داشتید حتما در قسمت نظرات با من درمیون بذارید. اگر هم به یوتیوب و یا اینستاگرام دسترسی دارید من رو در این دو پلتفرم دنبال کنید و با لایک ها و کامنتاتون به من انرژی بدید. در کانال تلگرام هم میتونید بیشتر با من در ارتباط باشید