الگوریتمها (توسعه منطق برنامهنویسی)
-
زیرنویس فارسی و انگلیسی
- زندگی فعال
- 17 اپیزود
- 2 ساعت و 6 دقیقه
- سطح مقدماتی
در این دوره چه چیز هایی می آموزید؟
اپیزودها
در این کلاس، من یک تمرین ساده پیشنهاد میکنم که شما را وادار به فکر کردن در مورد یک راهحل مبتکرانه میکند. این نوع موقعیت، توسعه منطق برنامهنویسی شما را آغاز خواهد کرد.کد این کلاس در اینجا است
در این کلاس به توسعه الگوریتمهایی بر اساس کلاس قبلی ادامه میدهیم.کد این کلاس در اینجا است: int mulAlg(int a, int b) { int value = 0; while (a) { a--; value += b; } return value; }
در این کلاس ما الگوریتمهای پیچیدهتری را توسعه میدهیم و در همین حال، برخی وبسایتها را معرفی میکنم که میتوانید از کدهای سایر کارشناسان حرفهای یاد بگیرید.کد این کلاس در اینجا قرار دارد: int divAlg(int a, int b) { int value = 0; while (a>=b) { value++; a -= b; } cout << "15 / 3 = " << value << "(" << a << ")" << endl; return value; }
در این کلاس، ما خواهیم دید که چگونه یک تمرین شناخته شده میتواند به طرز بسیار زیادی بهینهسازی شود. در اینجا عادت اساسی بهینهسازی را خواهید آموخت.کد این کلاس در اینجا است:void verifyPrime(int number) { bool prime = true; for (int i = 2; i <= number/2 && prime; i++) { if (number % i == 0) prime = false; } if (prime) cout << number << " یک عدد اول است" << endl; else cout << number << " یک عدد اول نیست" << endl;}
قبل از اینکه هر یک از الگوریتمهایی را که خواهیم دید توضیح دهیم، نگاهی کلی به این بخش خواهیم داشت. در این کلاس درباره اهمیت الگوریتمهای مرتبسازی صحبت خواهیم کرد و مقایسهای بین آنها انجام خواهیم داد. void verifyPrime(int number) { bool prime = true; for (int i = 2; i <= number/2 && prime; i++) { if (number % i == 0) prime = false; } if (prime) cout << number << " is prime" << endl; else cout << number << " is not prime" << endl; }
در این کلاس من منطق پشت الگوریتم مرتبسازی حبابی را توضیح خواهم داد تا به شما کمک کنم این روش مرتبسازی را درک کنید. پس از تماشای این ویدیو، شما را تشویق میکنم که سعی کنید این الگوریتم را کدنویسی کنید. سپس در کلاس بعدی میتوانید بررسی کنید که چگونه من آن را انجام دادهام. به این ترتیب، میتوانید مهارتهای خود را آزمایش کنید و توانایی خود را در تبدیل تفکر منطقی در مورد حل یک مشکل به کد بهبود بخشید.
در این کلاس ما پیادهسازی کد الگوریتم BubbleSort را با توضیح دقیق از اینکه هر خط و عنصر کد چه کاری انجام میدهد، خواهیم دید (قسمت 1).کد این کلاس در اینجا است: void byBubbleSort() { //int v[] = { 2,7,1,4,3,5,0,8,2,-1,2 }; int v[] = { 7, 28, 2, 53, 16, 13, 45, 345, 2345, 234, 35235 ,123, 4346,75, 4,7,3,68,2,6,63,2,0,68,436,12,343,54,25, 13, 15, 2, 97, 81, 981 ,618 ,61, 3280, 18, 5, 78, 23, 81, 65, 84, 72, 95 }; int size = sizeof(v) / sizeof(*v); int aux; int rounds = 0; bool ord = false; cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; while (!ord) { ord = true; for (int i = 0; i < size - 1 - rounds; i++) { if (v[i] > v[i + 1]) { aux = v[i + 1]; v[i + 1] = v[i]; v[i] = aux; ord = false; } } rounds++; } cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; }
در این کلاس ما پیادهسازی کد الگوریتم Bubble Sort را با توضیح دقیق اینکه هر خط و عنصر کد چه کاری انجام میدهد مشاهده خواهیم کرد (قسمت ۲).کد این کلاس در اینجا است void byBubbleSort() { //int v[] = { 2,7,1,4,3,5,0,8,2,-1,2 }; int v[] = { 7, 28, 2, 53, 16, 13, 45, 345, 2345, 234, 35235 ,123, 4346,75, 4,7,3,68,2,6,63,2,0,68,436,12,343,54,25, 13, 15, 2, 97, 81, 981 ,618 ,61, 3280, 18, 5, 78, 23, 81, 65, 84, 72, 95 }; int size = sizeof(v) / sizeof(*v); int aux; int rounds = 0; bool ord = false; cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; while (!ord) { ord = true; for (int i = 0; i < size - 1 - rounds; i++) { if (v[i] > v[i + 1]) { aux = v[i + 1]; v[i + 1] = v[i]; v[i] = aux; ord = false; } } rounds++; } cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; }
در این کلاس من منطق پشت الگوریتم انتخاب را توضیح میدهم تا شما بتوانید این روش مرتبسازی را درک کنید. بعد از مشاهده این ویدیو، شما را تشویق میکنم که سعی کنید الگوریتم را کدنویسی کنید. سپس در کلاس بعدی میتوانید بررسی کنید که من چگونه این کار را انجام دادهام. به این ترتیب میتوانید مهارتهای خود را آزمایش کرده و توانایی تبدیل تفکر منطقی درباره حل یک مسئله به کد را بهبود بخشید.
پیادهسازی کد الگوریتم به روش انتخاب بخش ۱در این کلاس ما مراحل کدنویسی الگوریتم انتخاب را با توضیح دقیق اینکه هر خط و عنصر کد چه کاری انجام میدهد، خواهیم دید.کد این کلاس در اینجا موجود است void bySelectionSort() { //int v[] = { 2,7,1,4,3,5,0,8,2,-1,2 }; int v[] = { 7, 28, 2, 53, 16, 13, 45, 345, 2345, 234, 35235 ,123, 4346,75, 4,7,3,68,2,6,63,2,0,68,436,12,343,54,25, 13, 15, 2, 97, 81, 981 ,618 ,61, 3280, 18, 5, 78, 23, 81, 65, 84, 72, 95 }; int size = sizeof(v) / sizeof(*v); int aux; int PosMin; cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; for (int i = 0; i < size; i++) { PosMin = i; for (int j = i + 1; j < size; j++) { if (v[PosMin] > v[j]) PosMin = j; } aux = v[i]; v[i] = v[PosMin]; v[PosMin] = aux; } cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; }
پیادهسازی کد الگوریتم به انتخاب بخش ۲در این کلاس مرحله کدنویسی الگوریتم انتخاب را با توضیح دقیق اینکه هر خط و عنصر کد چه کاری انجام میدهد، خواهیم دید.کد این کلاس در اینجا است: void bySelectionSort() { //int v[] = { 2,7,1,4,3,5,0,8,2,-1,2 }; int v[] = { 7, 28, 2, 53, 16, 13, 45, 345, 2345, 234, 35235 ,123, 4346,75, 4,7,3,68,2,6,63,2,0,68,436,12,343,54,25, 13, 15, 2, 97, 81, 981 ,618 ,61, 3280, 18, 5, 78, 23, 81, 65, 84, 72, 95 }; int size = sizeof(v) / sizeof(*v); int aux; int PosMin; cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; for (int i = 0; i < size; i++) { PosMin = i; for (int j = i + 1; j < size; j++) { if (v[PosMin] > v[j]) PosMin = j; } aux = v[i]; v[i] = v[PosMin]; v[PosMin] = aux; } cout << endl; for (int i = 0; i < size; i++) cout << v[i] << " "; }
قسمت ۱ از پروژه ایجاد الگوریتم مرتبسازی خودتاندر این ویدیو، الگوریتمی که به طور شخصی برای مرتبسازی دادهها توسعه دادهام و پیادهسازی مربوطه در کد را توضیح میدهم.لطفاً سعی کنید الگوریتم خود را ایجاد کنید و کد خود را به اشتراک بگذارید! :)
قسمت ۲ از پروژه ایجاد الگوریتم مرتبسازی خودتاندر این ویدئو، من الگوریتمی را که بهصورت شخصی برای مرتبسازی دادهها توسعه دادهام و پیادهسازی مربوطه در کد را توضیح میدهم.لطفاً سعی کنید الگوریتم خود را ایجاد کنید و کد خود را به اشتراک بگذارید! :)
قسمت ۳ از پروژه ایجاد الگوریتم مرتبسازی خودتاندر این ویدیو من الگوریتمی که به طور شخصی برای مرتبسازی دادهها توسعه دادهام و پیادهسازی مربوطه در کد را توضیح خواهم داد.لطفاً سعی کنید الگوریتم خود را ایجاد کرده و کد خود را به اشتراک بگذارید! :)کد این کلاس در اینجا است
قبل از بستن بخش الگوریتمها، به شما چند نکته میدهم تا مهارتهای برنامهنویسی خود را بیشتر توسعه دهید.
اکشن های دوره
توضیحات دوره
در این دوره الگوریتمها، شما اصول پایهای برای توسعه منطق برنامهنویسی خود را یاد خواهید گرفت. این دوره یک تور کامل از تمام مفاهیم اولیه به شما ارائه میدهد تا یاد بگیرید چگونه الگوریتمهای خود را ایجاد کنید، به لطف دیدگاهی جهانی که به دست خواهید آورد. در واقع، در طول دوره، شما خواهید آموخت که چگونه هر ایده را در هر زبان برنامهنویسی به کار ببرید.
شما مهارتهای بنیادی برنامهنویسی را یاد خواهید گرفت:
الگوریتمهای ابتدایی
توسعه منطق برنامهنویسی
بهترین شیوهها هنگام نوشتن کد
بهینهسازی منابع، زمان و عملیات در یک الگوریتم.
شما همچنین به مواد آموزشی قابل دانلود، نکات از بیش از ۱۵ سال تجربه برنامهنویسی من و تمرینات حل شده دسترسی خواهید داشت تا بفهمید هر الگوریتم چه منطقی را دنبال میکند و چگونه آن را در زبان انتخابی خود پیادهسازی کنید.
شما یاد خواهید گرفت که چگونه از صفر الگوریتمهایی برای حل مسائل توسعه دهید، بدون توجه به اینکه کدام زبان برنامهنویسی یا فناوری را استفاده میکنید. ما عمدتاً بر روی منطق توسعه تمرکز خواهیم کرد تا بتوانید ایده را به محیط توسعه خود منتقل کنید. بنابراین، مهم نیست که از کدام زبان استفاده میکنید، محتوای این کلاسها برای شما کاملاً مفید خواهد بود.
در میان الگوریتمهای مختلفی که مشاهده خواهیم کرد، الگوریتمهای مرتبسازی نیز گنجانده شدهاند، با توضیحات دقیق در مورد نحوه عملکرد آنها و هر خط و عنصر کدی که دارند. آیا میدانستید که در این دوره ما یک الگوریتم مرتبسازی سریعتر از الگوریتمهای معروف Bubble Sort، Selection یا Insertion ایجاد خواهیم کرد؟؟؟؟ اگر میخواهید یاد بگیرید که چگونه الگوریتمها را با بهینهسازی و کارایی در نظر بگیرید... این دوره ایدهآل برای شما است.
همه مفاهیم به تفصیل، گام به گام و با درک چرایی هر چیز توضیح داده شده است. بدین ترتیب، شما قادر خواهید بود اصول این ارکان برنامهنویسی را درک کنید.
در ابتدای راه توسعه حرفهای شما. این دوره به شما اجازه میدهد تا به هر زمینهای از توسعه نرمافزار گسترش یابید. آیا این عالی نیست؟ خوب، بهترین موضوع این است که همهی اینها در دستان شماست. دوره را خریداری کنید و از تمام چیزی که در انتظار شماست لذت ببرید. به زودی میبینمتان! خوزه خاویر ویلنا
✅ این دوره برای چه کسانی مناسب است؟
- دانشجویان برنامه نویسی
- علاقه مند به بهبود مهارت های برنامه نویسی خود هستید.
✅ این دوره چه پیشنیازهایی دارد؟
مهارت های اولیه برنامه نویسی
دانشجویان دیگر خریده اند
- 13 اپیزود
- 1 ساعت و 6 دقیقه
- سطح مقدماتی
- 1 اپیزود
- 37 دقیقه
- سطح مقدماتی
- 1 اپیزود
- 23 دقیقه
- 25 اپیزود
- 1 ساعت و 18 دقیقه
- سطح مقدماتی
- 67 اپیزود
- 12 ساعت و 18 دقیقه
- 10 جلسه
- 15 ساعت
- سطح مقدماتی
استاد دوره
کامنت ها
هشتگ ها
-
17 اپیزود در مجموع 2 ساعت و 6 دقیقه
-
28 دانشجو
-
قابل پخش در همه ساعات شبانه روز
-
قابل استفاده روی تلفن همراه و رایانه
-
گواهینامه پایان دوره ماراد
کامنت شما با موفقیت ارسال شد
ثبت گزارش دوره
برای ارسال گزارش میبایست ابتدا وارد شوید
گزارش شما با موفقیت ارسال شد
ورود / ثبت نام
برای فالو کردن استاد ابتدا وارد شوید
ثبت نام در دوره
برای مشاهده این اپیزود باید در دوره ثبت نام کنید.