هدایت شده از آموزش بازیسازی و برنامه نویسی | سجاد احمدی نیت
پیام سرویس شکن:
کاربران عزیز شکن
پس از محدودیتهای اعمالشده بر روی سرویس شکن و با وجود اختلالاتی که در دسترسی به برخی سرویسها برای شما ایجاد شد، اخیراً تسهیلهایی برای بهبود دسترسی فراهم شده است.
در همین راستا، از «شکن» خواسته شده دامنههای سرویسها بهصورت مرحلهای و بر اساس اولویت بازگشایی شوند. به همین دلیل، تعیین این اولویتها اهمیت زیادی دارد و مستقیماً بر سرعت دسترسی شما به سرویسهای موردنیازتان تأثیر میگذارد.
لطفاً از طریق لینک زیر، سرویسهای موردنیاز خود را بهترتیب اولویت ثبت کنید:
https://survey.porsline.ir/s/DFS6lqgt
همچنین در صورتی که تمایل دارید در فرآیند بررسی و استخراج دامنههای هر سرویس مشارکت داشته باشید، میتوانید در انتهای فرم شماره تماس خود را ثبت کنید.
در پایان، به اطلاع میرسانیم تمامی کاربرانی که در این مدت قطعی، سرویس فعال داشتهاند، پس از در دسترس قرار گرفتن کامل شکن، مدت سرویسشان تمدید خواهد شد تا امکان استفاده کامل برایشان فراهم شود.
با تشکر از همراهی شما
🎮 @SajadAhmadiNiat 🪔
نمادهای رایج کیبورد و نگارشی باشد، یک لیست پرکاربرد انگلیسی–فارسی:
- . — dot — نقطه
- , — comma — ویرگول
- : — colon — دو نقطه
- ; — semicolon — نقطه ویرگول
- ! — exclamation mark — علامت تعجب
- ? — question mark — علامت سؤال
- ' — apostrophe — آپاستروف
- " — quotation mark — گیومه / نقل قول
پرانتزها
- () — parentheses — پرانتز
- [] — brackets — براکت / کروشه
- {} — braces / curly brackets — آکولاد
نمادهای کیبورد
- @ — at sign — اَت
- # — hash / pound — هش / علامت عدد
- $ — dollar sign — علامت دلار
- % — percent — درصد
- ^ — caret — کَرِت
- & — ampersand — امپرسند
- * — asterisk — ستاره
- _ — underscore — آندرلاین
- - — hyphen / dash — خط تیره
- + — plus — علامت جمع
- = — equals — مساوی
- / — slash — اسلش
- \ — backslash — بکاسلش
- | — vertical bar / pipe — پایپ
- ~ — tilde — تیلدا
- `` ` — backtick — بکتیک
- < — less than — کوچکتر از
- > — greater than — بزرگتر از
چند نماد ریاضی مهم
- ± — plus-minus — مثبت منفی
- × — multiplication — ضرب
- ÷ — division — تقسیم
- √ — square root — ریشه
- ∞ — infinity — بینهایت
- ≈ — approximately — تقریباً
- ≠ — not equal — نامساوی
- ≤ — less or equal — کوچکتر یا مساوی
- ≥ — greater or equal — بزرگتر یا مساوی
Microsoft .NET 10.0.7 Runtime+.NET Framework 4.8.1+All versions تمامی...
https://p30download.ir/fa/entry/32770/microsoft-dot-net-framework-redistributable-package
دانلود نرم افزار Microsoft .NET Core Runtime v8.0.8/3.1.32 - دانلود دات نت کور
https://softsara.ir/microsoft-net-core/
داتنت اسدیکی / .NET SDK
دات نت ۸ ویندوز ۶۴ بیت
Microsoft .NET SDK (Software Development Kit)
به زبان ساده یک چارچوب نرم افزاری است که توسط شرکت مایکروسافت ارائه میشود، چارچوب داتنت شامل کتابخانههای وسیع و زبانهای مختلف برنامه نویسی است که سهولت زیادی در برنامه نویسی برای توسعه دهندگان به همراه میآورد.
.NET SDK (Software Development Kit)
کاربرد: برای توسعهی نرمافزار
شامل:
کامپایلر (C#، F#، VB)
ابزارهای خط فرمان (CLI)
کتابخانههای استاندارد
.NET Runtime (برای اجرای برنامهها)
✅ نیاز به نصب؟ اگر توسعهدهنده هستید و میخواهید برنامهای با .NET بنویسید، باید .NET SDK را نصب کنید.
حجم ۲۱۲ مگابایت
بسته توسعه دات نت ۸ در داخل سروش
https://splus.ir/sisharpapp/332
نرمافزار VSCode با امکانات بینظیر خود یکی از بهترین ابزارهای توسعه کد است که افزونهها نقش کلیدی در افزایش کارایی آن ایفا میکنند. برای کاربران ایرانی که با محدودیتهای اینترنتی مواجه هستند، سایت vscode.devneeds.ir یک راهحل کارآمد و مطمئن جهت دانلود رایگان و بدون مشکل افزونهها محسوب میشود.
با استفاده از این سایت نه تنها به مجموعهای کامل از افزونهها دسترسی خواهید داشت، بلکه امکان بروزرسانی آسان و بدون دردسر نیز فراهم میشود.
پس اگر به دنبال منبعی مطمئن و ایرانی برای دانلود افزونههای VSCode هستید، به vscode.devneeds.ir سر بزنید و از خدمات رایگان و کاربردی آن بهرهمند شوید.
با سپاس از سایت vscode.devneeds.ir که به عنوان یک منبع معتبر و کاربردی، به کاربران ایرانی در حل مشکلات مربوط به VSCode با توجه به شرایط دشوار عدم دسترسی به اینترنت بین الملل کمک کرده است.
این محتوا در تاریخ ۱۷ فروردین ۱۴۰۵ انتشار یافته است. امیدواریم که در زمان مطالعه این مطلب، مشکل عدم دسترسی به اینترنت بین الملل رفع شده باشد.
خیلی خوب. یک درس اول کامل و خودکفا برای شما آماده میکنم که شامل همه مفاهیم پایهای است، با توضیح کامل و تمرین در انتها.
اگر تازه یک پروژه کنسولی ساختهاید (dotnet new console)، فایل Program.cs را پاک کنید و کدهای زیر را بهترتیب بنویسید و اجرا کنید.
---
📘 درس اول: آشنایی با خروجی، ورودی و توقف برنامه
🎯 سرفصلها:
1. چاپ متن در خروجی (WriteLine و Write)
2. تفاوت WriteLine و Write
3. گرفتن ورودی از کاربر (ReadLine)
4. گرفتن یک کلید از کاربر (ReadKey)
5. جلوگیری از بسته شدن پنجره
---
⏱️ قسمت 1: چاپ متن در خروجی
csharp
Console.WriteLine("Hello World");
Console.WriteLine("Welcome to C#");
WriteLine یعنی: چاپ کن + برو به خط بعدی.
خروجی:
Hello World
Welcome to C#
---
⏱️ قسمت 2: تفاوت Write و WriteLine
csharp
Console.Write("A");
Console.Write("B");
Console.WriteLine("C");
Console.Write("D");
Console.WriteLine("E");
خروجی:
ABC
DE
📌 قانون:
· Write = چاپ در همان خط
· WriteLine = چاپ + رفتن به خط بعد
---
⏱️ قسمت 3: گرفتن متن از کاربر با ReadLine
csharp
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
📌 توضیح:
· برنامه منتظر میماند تا کاربر Enter بزند
· هر چی کاربر تایپ کند، داخل متغیر name ذخیره میشود
· string یعنی متنی
---
⏱️ قسمت 4: گرفتن یک کلید با ReadKey
csharp
Console.Write("Press any key to continue: ");
Console.ReadKey();
Console.WriteLine("Done!");
📌 تفاوت با ReadLine:
· ReadKey = منتظر هر یک کلید میماند (بدون Enter)
· ReadLine = منتظر Enter میماند
---
⏱️ قسمت 5: جلوگیری از بسته شدن پنجره
اگر روی فایل exe دوبار کلیک کنید، برنامه تمام میشود و صفحه میپرد.
برای جلوگیری:
csharp
Console.WriteLine("End of program.");
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
یا با ReadKey:
csharp
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
---
✅ تمرین نهایی درس اول
برنامه زیر را بدون کپی کردن، خط به خط بنویسید و اجرا کنید:
csharp
// برنامه معرفی شخص
Console.WriteLine("=== Personal Info Program ===");
Console.Write("Enter your first name: ");
string firstName = Console.ReadLine();
Console.Write("Enter your last name: ");
string lastName = Console.ReadLine();
Console.Write("Enter your age: ");
string age = Console.ReadLine();
Console.WriteLine("\n=== Your Info ===");
Console.Write("Name: ");
Console.Write(firstName);
Console.Write(" ");
Console.WriteLine(lastName);
Console.WriteLine("Age: " + age);
Console.WriteLine("\nPress any key to exit...");
Console.ReadKey();
🧪 بعد از اجرا، این کارها را بکنید:
1. برنامه را تغییر دهید بهطوری که به جای ReadKey از ReadLine استفاده کند
2. یک خط Console.WriteLine("Goodbye!") قبل از خروج اضافه کنید
3. جمله خوشآمدگویی را با چند Write و یک WriteLine درست کنید
---
📌 جمعبندی درس اول
دستور کاربرد
Console.WriteLine("text") چاپ متن + رفتن به خط بعد
Console.Write("text") چاپ متن در همان خط
Console.ReadLine() گرفتن متن تا زدن Enter
Console.ReadKey() گرفتن یک کلید بدون Enter
// text توضیح (کامنت) - اجرا نمیشود
---
اگر تمرین را انجام دادید و جواب گرفتید، بگویید تا درس دوم (متغیرها و اعداد) را شروع کنیم. هر جای درس اول سوال داشتید، بپرسید.
📘 درس دوم – متغیرها، انواع داده و تبدیلات (نسخه کامل)
🎯 سرفصلها:
1. انواع داده اصلی (int, double, decimal, string, bool, char)
2. تفاوت decimal و double
3. تعریف متغیر و مقداردهی
4. تبدیل انواع: int.Parse و ToString
5. کار با DateTime
6. تمرین جامع
---
⏱️ قسمت 1: انواع داده (6 نوع مهم)
نوع معنی مثال توضیح
int عدد صحیح int x = 10; بدون اعشار
double عدد اعشاری (15 رقم دقت) double pi = 3.1415926535; برای محاسبات علمی
decimal عدد اعشاری دقیق (28 رقم دقت) decimal price = 99.99m; برای پول و قیمت
string متن string s = "Hi"; داخل کوتیشن
bool درست/نادرست bool isOk = true; true یا false
char یک کاراکتر char c = 'A'; داخل 'تکی'
---
⭐ تفاوت مهم decimal و double
csharp
double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine("double: " + d); // 0.30000000000000004 (تقریبی!)
Console.WriteLine("decimal: " + m); // 0.3 (دقیق!)
📌 قاعده طلایی:
· پول، قیمت، موجودی حساب → از decimal استفاده کنید
· محاسبات علمی، مختصات → از double استفاده کنید
📌 نکته: برای decimal حتماً بعد عدد m بگذارید (مثل 10.5m)
---
⏱️ قسمت 2: تعریف متغیر و مقداردهی
csharp
int age = 25;
double height = 1.75;
decimal salary = 4500000.50m;
string name = "Mohammad";
bool isMarried = false;
char grade = 'A';
Console.WriteLine("Name: " + name);
Console.WriteLine("Age: " + age);
Console.WriteLine("Height: " + height);
Console.WriteLine("Salary: " + salary);
Console.WriteLine("Married: " + isMarried);
Console.WriteLine("Grade: " + grade);
---
⏱️ قسمت 3: تبدیل انواع (خیلی مهم)
روش اول: int.Parse() – تبدیل متن به عدد صحیح
csharp
string input = "100";
int number = int.Parse(input); // تبدیل "100" به 100
Console.WriteLine(number + 5); // نتیجه: 105
روش دوم: Convert.ToInt32() – همان کار را میکند
csharp
string ageText = "30";
int age = Convert.ToInt32(ageText);
📌 فرق آنها:
· int.Parse() فقط برای متن استفاده میشود
· Convert.ToInt32() عدد هم قبول میکند (Convert.ToInt32(3.7) → 4)
تبدیل متن به decimal:
csharp
string priceText = "12500.99";
decimal price = decimal.Parse(priceText);
Console.WriteLine(price);
---
⏱️ قسمت 4: ToString() – تبدیل هر چیزی به متن
csharp
int age = 25;
string ageText = age.ToString(); // "25"
decimal money = 1250000.5m;
string moneyText = money.ToString(); // "1250000.5"
double pi = 3.14;
string piText = pi.ToString(); // "3.14"
Console.WriteLine("Age as text: " + ageText);
استفاده از فرمت در ToString:
csharp
decimal salary = 12500000.75m;
Console.WriteLine(salary.ToString("N0")); // 12,500,001
Console.WriteLine(salary.ToString("C")); // $12,500,000.75 (پول)
Console.WriteLine(salary.ToString("F2")); // 12500000.75 (2 رقم اعشار)
---
⏱️ قسمت 5: مثال عملی – گرفتن ورودی از کاربر با Parse
csharp
Console.Write("Enter your age: ");
string ageInput = Console.ReadLine();
int age = int.Parse(ageInput); // تبدیل متن به عدد
Console.Write("Enter your salary: ");
string salaryInput = Console.ReadLine();
decimal salary = decimal.Parse(salaryInput); // تبدیل به decimal
Console.Write("Enter your height: ");
string heightInput = Console.ReadLine();
double height = double.Parse(heightInput); // تبدیل به double
Console.WriteLine($"Age: {age}, Salary: {salary:C}, Height: {height}");
📌 نکته: اگر کاربر به جای عدد حرف بزند، برنامه خطا میدهد. بعداً یاد میگیریم چطور از خطا جلوگیری کنیم.
---
⏱️ قسمت 6: DateTime – تاریخ و زمان
csharp
DateTime now = DateTime.Now;
Console.WriteLine("Full date: " + now);
Console.WriteLine("Year: " + now.Year);
Console.WriteLine("Month: " + now.Month);
Console.WriteLine("Day: " + now.Day);
Console.WriteLine("Day of week: " + now.DayOfWeek);
// تبدیل DateTime به متن با فرمتهای مختلف
Console.WriteLine(now.ToString("yyyy-MM-dd")); // 2026-05-19
Console.WriteLine(now.ToString("dd/MM/yyyy")); // 19/05/2026
Console.WriteLine(now.ToString("HH:mm:ss")); // 14:25:30
// تبدیل متن به DateTime
string dateText = "2025-12-25";
DateTime christmas = DateTime.Parse(dateText);
Console.WriteLine(christmas.ToString("dddd")); // Thursday
---
✅ تمرین نهایی درس دوم (جامع)
برنامهای بنویسید که:
1. اسم کاربر را بگیرد (string)
2. حقوق ماهانه را بگیرد (decimal)
3. سن را بگیرد (int)
4. سال تولد را محاسبه کند (سال جاری - سن)
5. بگوید حقوق سالانه چقدر است (حقوق ماهانه × 12)
6. تاریخ امروز را با فرمت 1405/02/29 (شمسی تقریبی) نشان دهد
csharp
using System.Text;
Console.OutputEncoding = Encoding.UTF8;
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.Write("Enter your monthly salary: ");
string salaryInput = Console.ReadLine();
decimal monthlySalary = decimal.Parse(salaryInput);
Console.Write("Enter your age: ");
string ageInput = Console.ReadLine();
int age = int.Parse(ageInput);
int currentYear = DateTime.Now.Year;
int birthYear = currentYear - age;
decimal yearlySalary = monthlySalary * 12;
Console.WriteLine("\n=== Your Info ===");
Console.WriteLine("Name: " + name);
Console.WriteLine("Age: " + age);
Console.WriteLine("Birth year: " + birthYear);
Console.WriteLine("Monthly salary: " + monthlySalary.ToString("N0") + " Tomans");
Console.WriteLine("Yearly salary: " + yearlySalary.ToString("N0") + " Tomans");
Console.WriteLine("Today: " + DateTime.Now.ToString("yyyy/MM/dd"));
Console.WriteLine("\nPress Enter to exit...");
Console.ReadLine();
---
📌 جمعبندی درس دوم
مفهوم مثال
عدد صحیح int x = 5;
عدد اعشاری معمولی double d = 3.14;
عدد اعشاری دقیق (پول) decimal m = 99.99m;
متن string s = "hi";
تبدیل متن به int int.Parse("10")
تبدیل متن به decimal decimal.Parse("10.5")
تبدیل هر چیزی به متن variable.ToString()
تاریخ و زمان DateTime.Now
---
اگر این درس را کامل فهمیدید، بگویید تا درس سوم (شرط if-else) را شروع کنیم. سوالی بود بپرسید.
خیلی خوب، رسیدیم به درس سوم: دستورات شرطی (if, else if, else) و Switch Case.
یک پروژه جدید بسازید (dotnet new console) و کدها را همراه من بنویسید و اجرا کنید.
---
📘 درس سوم – شرطها و تصمیمگیری در برنامه
🎯 سرفصلها:
1. شرط if (اگر)
2. شرط if-else (اگر-وگرنه)
3. شرط else if (چند شرط)
4. عملگرهای مقایسه و منطقی
5. دستور switch-case
6. تمرین جامع
---
⏱️ قسمت 1: عملگرهای مقایسه (مهم)
قبل از شرطها، باید عملگرهای مقایسه را بلد باشید:
عملگر معنی مثال درست
== مساوی 5 == 5 ✅
!= نامساوی 5 != 3 ✅
> بزرگتر 10 > 5 ✅
< کوچکتر 3 < 8 ✅
>= بزرگتر یا مساوی 5 >= 5 ✅
<= کوچکتر یا مساوی 4 <= 5 ✅
---
⏱️ قسمت 2: شرط if (اگر)
csharp
int age = 18;
if (age >= 18)
{
Console.WriteLine("You are an adult");
Console.WriteLine("You can vote");
}
📌 نکات:
· شرط داخل () نوشته میشود
· اگر شرط درست بود، کد داخل {} اجرا میشود
· اگر فقط یک خط دارید، میتوانید {} را حذف کنید (ولی بهتر نگذارید)
---
⏱️ قسمت 3: شرط if-else (اگر-وگرنه)
csharp
int age = 15;
if (age >= 18)
{
Console.WriteLine("You are an adult");
}
else
{
Console.WriteLine("You are a minor");
}
خروجی: You are a minor
📌 منطق: اگر شرط if درست بود، if اجرا میشود و else نادیده گرفته میشود. اگر if غلط بود، else اجرا میشود.
---
⏱️ قسمت 4: شرط else if (چند شرط)
csharp
int score = 85;
if (score >= 90)
{
Console.WriteLine("Grade: A");
}
else if (score >= 80)
{
Console.WriteLine("Grade: B");
}
else if (score >= 70)
{
Console.WriteLine("Grade: C");
}
else if (score >= 60)
{
Console.WriteLine("Grade: D");
}
else
{
Console.WriteLine("Grade: F");
}
خروجی: Grade: B
📌 نکته: شرطها از بالا به پایین بررسی میشوند. به محض اینکه یکی درست شد، بقیه نادیده گرفته میشوند.
---
⏱️ قسمت 5: عملگرهای منطقی (و، یا، نه)
عملگر معنی مثال
&& و (هر دو شرط باید درست باشد) age > 18 && hasLicense == true
! نه (برعکس میکند) !isRaining مثال: csharp int age = 20; bool hasLicense = true; if (age >= 18 && hasLicense == true) { Console.WriteLine("You can drive"); } else { Console.WriteLine("You cannot drive"); } csharp string day = "Friday"; if (day == "Friday" || day == "Thursday") { Console.WriteLine("It's weekend in Iran!"); } --- ⏱️ قسمت 6: Switch Case (انتخابگر) وقتی یک متغیر را با چند مقدار مختلف مقایسه میکنیم، switch خواناتر از if-else است. ساختار کلی: csharp switch (متغیر) { case مقدار1: // کد break; case مقدار2: // کد break; default: // اگر هیچکدام نبود break; } مثال واقعی: csharp Console.Write("Enter day number (1-7): "); int dayNumber = int.Parse(Console.ReadLine()); switch (dayNumber) { case 1: Console.WriteLine("Saturday"); break; case 2: Console.WriteLine("Sunday"); break; case 3: Console.WriteLine("Monday"); break; case 4: Console.WriteLine("Tuesday"); break; case 5: Console.WriteLine("Wednesday"); break; case 6: Console.WriteLine("Thursday"); break; case 7: Console.WriteLine("Friday"); break; default: Console.WriteLine("Invalid day number!"); break; } مثال با string: csharp Console.Write("Enter your favorite color: "); string color = Console.ReadLine(); switch (color.ToLower()) // ToLower: همه را کوچک میکند { case "red": Console.WriteLine("You chose passion"); break; case "blue": Console.WriteLine("You chose calm"); break; case "green": Console.WriteLine("You chose nature"); break; default: Console.WriteLine("Nice color!"); break; } 📌 نکات switch: · هر case باید با break تمام شود · default اختیاری است (مثل else) · میتوان چند case را بدون break پشت سر هم نوشت (fall-through) چند مقدار در یک case:
`csharp char grade = 'B';
switch (grade)
{
case 'A':
case 'B':
case 'C':
Console.WriteLine("You passed!");
break;
case 'D':
case 'F':
Console.WriteLine("You failed!");
break;
default:
Console.WriteLine("Invalid grade");
break;
}
---
✅ تمرین نهایی درس سوم
برنامهای بنویسید که:
1. از کاربر یک عدد بین 1 تا 12 بگیرد (ماه میلادی)
2. با switch نام ماه را چاپ کند
3. تعداد روزهای آن ماه را با if-else تعیین کند
4. بگوید فصل آن ماه چیست (بهار، تابستان، پاییز، زمستان)
csharp
Console.Write("Enter month number (1-12): ");
int month = int.Parse(Console.ReadLine());
// قسمت 1: نام ماه با switch
string monthName;
switch (month)
{
case 1: monthName = "January"; break;
case 2: monthName = "February"; break;
case 3: monthName = "March"; break;
case 4: monthName = "April"; break;
case 5: monthName = "May"; break;
case 6: monthName = "June"; break;
case 7: monthName = "July"; break;
case 8: monthName = "August"; break;
case 9: monthName = "September"; break;
case 10: monthName = "October"; break;
case 11: monthName = "November"; break;
case 12: monthName = "December"; break;
default: monthName = "Invalid"; break;
}
// قسمت 2: تعداد روزها با if-else
int days;
if (month == 2)
{
days = 28; // کبیسه را فعلاً نادیده میگیریم
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
days = 30;
}
else
{
days = 31;
}
// قسمت 3: تشخیص فصل
string season;
if (month >= 3 && month <= 5)
{
season = "Spring";
}
else if (month >= 6 && month <= 8)
{
season = "Summer";
}
else if (month >= 9 && month <= 11)
{
season = "Autumn";
}
else
{
season = "Winter";
}
Console.WriteLine($"Month: {monthName}");
Console.WriteLine($"Days: {days}");
Console.WriteLine($"Season: {season}");
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
`--- 📌 جمعبندی درس سوم مفهوم مثال if ساده if (x > 5) { ... } if-else if (x > 5) { ... } else { ... } else if if (x > 90) { ... } else if (x > 80) { ... } switch switch(day) { case 1: ... break; } عملگرهای مقایسه ==, !=, >, <, >=, <= عملگرهای منطقی && (و), ` --- 🧪 تمرین کوچک برای شما برنامهای بنویسید که یک عدد از کاربر بگیرد و بگوید: · عدد مثبت است، منفی است یا صفر · زوج است یا فرد (از عملگر % استفاده کنید: number % 2 == 0) اگر انجام دادید و جواب گرفتید، بگویید تا درس چهارم (حلقهها) را شروع کنیم. سوالی بود بپرسید.