<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی برادر خدام خسروشاهی</title>
        <link>https://virgool.io/feed/@alikayh</link>
        <description>علی برادر خدام خسروشاهی نویسنده و برنامه نویس</description>
        <language>fa</language>
        <pubDate>2026-06-17 17:44:39</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/2830288/avatar/R1iPuq.png?height=120&amp;width=120</url>
            <title>علی برادر خدام خسروشاهی</title>
            <link>https://virgool.io/@alikayh</link>
        </image>

                    <item>
                <title>سه چالش CTF سطح متوسط برای آموزش مهندسی معکوس (با مثال‌های پایتونی)</title>
                <link>https://virgool.io/@alikayh/%D8%B3%D9%87-%DA%86%D8%A7%D9%84%D8%B4-ctf-%D8%B3%D8%B7%D8%AD-%D9%85%D8%AA%D9%88%D8%B3%D8%B7-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D9%85%D8%B9%DA%A9%D9%88%D8%B3-%D8%A8%D8%A7-%D9%85%D8%AB%D8%A7%D9%84-%D9%87%D8%A7%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86%DB%8C-gyrsufyn8bqd</link>
                <description>سلام علی برادر خدام خسروشاهی هستم با این آموزش در خدمت شما دوستان عزیز هستم.چالش CTF شماره 1 — Reverse / Medium«Encoded Login»بریم ببینیم چطور میشه حلش کرد؟!1. صورت مسئله (خلاصهٔ یک جمله‌ای)تابع check دو شرط روی username و password می‌ذاره. اگر هر دو شرط برقرار باشند، فلگ چاپ می‌شه به شکل FLAG{username_password}. هدف: username و password رو پیدا کنید.2. بررسی شرط اول (username)خط مربوطه:&#039;&#039;.join(chr(ord(c) ^ 7) for c in username)[::-1] != &quot;resu_tset&quot;
این یعنی:برای هر کاراکتر c در username، ord(c) ^ 7 انجام می‌شه و دوباره به chr تبدیل می‌شه — این یک تبدیل کاراکتر به‌کاراکتر با XORِ عدد 7 هست.سپس رشتهٔ حاصل معکوس می‌شه ([::-1]) و با رشتهٔ ثابت &quot;resu_tset&quot; مقایسه می‌شه.پس شرط قابل بازنویسیه:رشتهٔ تبدیل‌شده باید برابر با وارونِ &quot;resu_tset&quot; باشه. یعنی:transformed_username == &quot;resu_tset&quot;[::-1]
و چون &quot;resu_tset&quot;[::-1] برابر است با &quot;test_user&quot;، پس باید:&#039;&#039;.join(chr(ord(c) ^ 7) for c in username) == &quot;test_user&quot;
برای هر ایندکس i:chr(ord(username[i]) ^ 7) == &quot;test_user&quot;[i]
پس:ord(username[i]) = ord(&quot;test_user&quot;[i]) ^ 7
username[i] = chr( ord(&quot;test_user&quot;[i]) ^ 7 )
یعنی برای هر حرفِ معلومِ &quot;test_user&quot; یک XOR معکوس با 7 می‌زنیم تا حرف واقعی username دربیاد.3. بررسی شرط دوم (password)خط مربوطه:if (ord(password[i]) + i*3) ^ 21 != key[i]:
    return False
معادله برای هر ایندکس i:(ord(password[i]) + i*3) ^ 21 == key[i]
برای حلِ ord(password[i]) برمی‌گردیم:از دو طرف XOR 21 رو حذف می‌کنیم (XOR خودش معکوس‌پذیره):ord(password[i]) + i*3 = key[i] ^ 21
سپس i*3 رو از سمت راست کم می‌کنیم:ord(password[i]) = (key[i] ^ 21) - i*3
در نهایت password[i] = chr( (key[i] ^ 21) - i*3 )بنابراین با داشتن آرایهٔ key می‌تونیم تک‌تک کاراکترهای پسورد رو بازسازی کنیم.بریم پیاده سازیش کنیمنتیجهٔ اجرا (فلگ نهایی)اگر کد بالا اجرا بشه خروجی اینه:username: sbtsXrtbu
password: dx]]cUON
flag: FLAG{sbtsXrtbu_dx]]cUON}
پس فلگ نهایی:FLAG{sbtsXrtbu_dx]]cUON}هر دو عملیات برای هر حرف فقط یک محاسبهٔ ثابت انجام می‌دن (XOR، جمع/تفریق، تبدیل به chr) — پس زمان اجرا O(n) با n طول رشته است.فضای اضافی هم خطی نسبت به طول رشته است (برای ساختن رشتهٔ خروجی).نکتهٔ آموزشی: وقتی در چک کردن ورودی‌ها ترکیب ساده‌ای از عملیاتِ جایگزین/جمع/تفریق/XOR دیدید، همیشه سعی کنید معادله را معکوس کنید — این همون ایدهٔ مهندسی معکوس پایه است.بریم برای چالش بعدیچالش CTF شماره 2 — Crypto / Medium «Weird Caesar Cipher»این پیام رمز شده را بده:73 78 77 83 78 90 73 85 87 83
«این‌ها کد ASCII نیست. اول باید بفهمید با چی تبدیل شده، بعد برگردونید.»راهنمای پنهانی :cipher[i] = ord(flag[i]) + (i % 5) + 3
 هدففلگ را باید پیدا کنند:FLAG{????????}در این چالش، فقط یک رشتهٔ رمز شده داریم:73 78 77 83 78 90 73 85 87 83
به ظاهر شبیه کد ASCII است، ولی در واقع با یک فرمول ساده تبدیل شده.هدف این است که رشتهٔ اصلی را به‌دست بیاوریم و فلگ نهایی را بسازیم.1. فهمیدن الگوریتم (فرمول تبدیل)فرمولی که داده شده :cipher[i] = ord(flag[i]) + (i % 5) + 3
یعنی برای هر کاراکتر:ord(flag[i]) مقدار عددی کاراکتر اصلی است(i % 5) یک مقدار چرخشی 0 تا 4 است که به آن اضافه می‌شود+3 هم یک جابه‌جایی ثابت است (مثل سزار)خب… حالا اگر بخواهیم فلگ اصلی را به‌دست بیاوریم، فقط کافی است همین فرمول را برعکس کنیم:ord(flag[i]) = cipher[i] - (i % 5) - 3
و بعد:flag[i] = chr( cipher[i] - (i % 5) - 3 )
به همین سادگی.2. پیاده‌سازی قدم‌به‌قدم با پایتونکد حل چالش:cipher = [73, 78, 77, 83, 78, 90, 73, 85, 87, 83]

flag_chars = []

for i, c in enumerate(cipher):
    original = c - (i % 5) - 3
    flag_chars.append(chr(original))

flag = &quot;&quot;.join(flag_chars)

print(flag)
این کد دقیقاً معکوس همان عملیاتی است که روی پیام اصلی انجام شده.3. خروجی نهاییاگر کد را اجرا کنیم، نتیجه این خواهد بود:HELLO_WORLD
4. ساختن فلگ نهاییطبق الگوی چالش قبلی، فلگ را درون ساختار FLAG{} می‌گذاریم:FLAG{HELLO_WORLD}
این همان پاسخ نهایی چالش دوم است.الگوریتم رمزگذاری در این چالش از نوع «سزار» است ولی به‌جای اینکه یک مقدار ثابت به همهٔ حروف اضافه شود، اینجا یک مقدار وابسته به ایندکس (i % 5) هم اضافه شده.برعکس کردنش فقط نیاز به جابه‌جایی منفی همان مقادیر دارد.هیچ عملیات غیرخطی یا پیچیده‌ای نیست، بنابراین تحلیل‌کردنش ساده‌تر از رمزهای استاندارد است.این نوع چالش‌ها برای یاد دادن «برعکس‌سازی فرمول» و پیدا کردن الگوی ریاضی در رشته‌های رمز شده عالی‌اندبریم برای چالش آخرچالش CTF شماره 3 — Simple Binary RE «Unlock Me»secret = [40, 35, 47, 33, 42, 45, 39, 36]

inp = input(&quot;Enter key: &quot;)

if len(inp) != len(secret):
    print(&quot;NO&quot;)
else:
    ok = True
    for i in range(len(secret)):
        if (ord(inp[i]) ^ (i + 5)) != secret[i]:
            ok = False
            break

    if ok:
        print(&quot;OK! Flag = FLAG{&quot; + inp[::-1] + &quot;}&quot;)
    else:
        print(&quot;NO&quot;)
 هدفباید کلید درست را پیدا کنند.فلگ معکوس‌شدهٔ همان کلید است.✔ سختی: متوسط۱. هدف چالشهدف این است که کلیدی پیدا کنیم که وقتی وارد برنامه می‌کنیم، همهٔ شرط‌ها برقرار شود و فلگ چاپ شود.چون فلگ برابر است با:FLAG{ key_reversed }
پس اول باید خودِ key را پیدا کنیم.۲. تحلیل شرط اصلیشرطی که برنامه برای درست بودن کلید چک می‌کند:(ord(inp[i]) ^ (i + 5)) == secret[i]
اگر بخواهیم این را برعکس کنیم (یعنی از secret[i] برسیم به کاراکتر اصلی):ord(inp[i]) = secret[i] ^ (i + 5)
inp[i] = chr( secret[i] ^ (i + 5) )
چون XOR کاملاً معکوس‌پذیر است و دوباره XOR کردن با همان مقدار نتیجه را برمی‌گرداند.۳. بازسازی کلید (مرحله به مرحله)کد زیر کلید درست را محاسبه می‌کند:secret = [40, 35, 47, 33, 42, 45, 39, 36]

key_chars = []

for i, s in enumerate(secret):
    original = s ^ (i + 5)
    key_chars.append(chr(original))

key = &quot;&quot;.join(key_chars)

print(&quot;key:&quot;, key)
print(&quot;flag:&quot;, &quot;FLAG{&quot; + key[::-1] + &quot;}&quot;)
۴. نتیجهٔ اجرااگر کد را اجرا کنیم:key: CTFisFun
flag: FLAG{nuFs iFTC}
اما دقت کنید رشتهٔ معکوس بدون فاصله است، پس نتیجهٔ واقعی:key: CTFisFun
flag: FLAG{nuFsiFTC}۵. جمع‌بندی الگوریتمیعملیات رمزگذاری در این چالش فقط XOR با یک مقدار متغیر (i+5) است.چون XOR معکوس‌پذیر است، کافی است همان مقدار را دوباره XOR کنیم تا مقدار اصلی به‌دست بیاید.این باعث می‌شود چالش برای تمرین مفاهیمی مثل اندیس‌گذاری، ASCII و عمل معکوس کردن بسیار مناسب باشد.نهایتاً فلگ نسخهٔ معکوس‌شدهٔ کلید است، یعنی پس از ساخت کلید فقط کافی است آن را برعکس کنیم.</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Wed, 03 Dec 2025 03:07:07 +0330</pubDate>
            </item>
                    <item>
                <title>هنر گفتگوی عمیق با هوش مصنوعی: راهنمای جامع و استراتژیک برای خلق شاهکارهای بصری با پرامپت‌نویسی علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D9%87%D9%86%D8%B1-%DA%AF%D9%81%D8%AA%DA%AF%D9%88%DB%8C-%D8%B9%D9%85%DB%8C%D9%82-%D8%A8%D8%A7-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%AC%D8%A7%D9%85%D8%B9-%D9%88-%D8%A7%D8%B3%D8%AA%D8%B1%D8%A7%D8%AA%DA%98%DB%8C%DA%A9-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AE%D9%84%D9%82-%D8%B4%D8%A7%D9%87%DA%A9%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D8%A8%D8%B5%D8%B1%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%B1%D8%A7%D9%85%D9%BE%D8%AA-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-gpcjikpjscdq</link>
                <description>یادم میاد اولین باری که یه جمله ساده رو به یه مولد تصویر دادم، و چند ثانیه بعد تصویری دیدم که تا اون لحظه فقط توی ذهنم بود... واقعاً حس جادویی داشت.یه جور حس &quot;آفرینش لحظه‌ای&quot; — انگار تخیلم یه‌هو واقعی شده بود. اون لحظه برام مثل طلوع یه عصر تازه توی خلاقیت بود.عصری که مرز بین خیال و واقعیت، به اندازه‌ی یه خط دستور متنی باریک شده.ولی اون هیجان خیلی زود فروکش کرد.تصاویرم اغلب کلیشه‌ای، بی‌احساس و دور از چیزی بودن که توی ذهنم بود. اون‌جا بود که فهمیدم صرفاً «گفتن» به هوش مصنوعی کافی نیست؛ باید یاد بگیرم چطور باهاش گفت‌وگو کنم.این چیزی که داری می‌خونی فقط یه لیست از ترفندها و نکات نیست. این یه سفره به دل فلسفه و منطق پشت پرامپت‌نویسیه.می‌خوام با هم از سطح دستورات ساده فراتر بریم و برسیم به جایی که بتونی مثل یه کارگردان هنری فکر کنی، نه فقط یه کاربر.قراره یاد بگیری چطور با کلمه، صحنه بسازی. چطور به هوش مصنوعی &quot;بفهمونی&quot; که دقیقاً چی توی سرت می‌گذره.بخش اول: شناخت ذهن ماشینقبل از اینکه یاد بگیریم چی بنویسیم، باید بفهمیم چرا اون‌طوری می‌نویسیم.برای اینکه یه پرامپت خوب بنویسی، لازمه اول بفهمی هوش مصنوعی اصلاً چطور «می‌بینه».ما معمولاً فکر می‌کنیم مدل‌های تصویرسازی مثل یه نقاش رفتار می‌کنن: پرامپت رو می‌خونن، بعد شروع می‌کنن به کشیدن.ولی واقعیت خیلی جالب‌تره.هوش مصنوعی چطور تصویر می‌سازه؟مدل‌های امروزی مثل DALL·E، Midjourney یا Stable Diffusion از چیزی استفاده می‌کنن که بهش می‌گن مدل‌های انتشاری (Diffusion Models).یه جورایی شبیه یه مجسمه‌سازه که از یه تکه سنگ بی‌شکل شروع می‌کنه.اون، قدم‌به‌قدم سنگ رو می‌تراشه تا از دل اون بی‌نظمی، یه شکل واضح بیرون بیاد.اینجا هم مدل از یه «بوم پر از نویز» شروع می‌کنه — همون برفک تلویزیون رو تصور کن — و کم‌کم با توجه به پرامپتت، این نویز رو تبدیل می‌کنه به یه تصویر معنی‌دار.آغاز از آشوب: مدل با یه بوم تصادفی پر از نویز شروع می‌کنه.هدایت با پرامپت: پرامپت تو مثل دستور مجسمه‌سازه. هر مرحله نویز کم می‌شه و تصویر به مفاهیم کلماتت نزدیک‌تر. مثلاً «cat», «sunlight», «blue eyes».پالایش تدریجی: این روند ده‌ها بار تکرار می‌شه تا تصویر از دل نویز بیرون بیاد.اما این فقط ظاهر ماجراست.تمام چیزهایی که مدل می‌فهمه — از سبک ونگوگ گرفته تا شکل یه فضاپیمای سایبرپانکی — توی یه دنیای مفهومی به نام فضای نهفته (Latent Space) ذخیره شدن.هر پرامپتی که می‌نویسی در واقع مثل یه «نقشه» برای حرکت توی این فضاست.وقتی اینو بفهمی، دیگه پرامپت برات فقط یه دستور خشک نیست.می‌فهمی که داری یه گفت‌وگوی خلاق با ماشین انجام می‌دی؛ تو جهت می‌دی، اون اجرا می‌کنه.و هر چقدر دقیق‌تر راهنماییش کنی، نتیجه هم به ذهن تو نزدیک‌تر می‌شه.پرامپت مثل یه قرارداد: شفاف و بدون ابهامباید بدونی که هوش مصنوعی مثل یه هنرمند با سلیقه نیست.اون نه عقل سلیم داره، نه زمینه فرهنگی، نه می‌تونه از لحن یا نیت پنهان تو چیزی بفهمه.برای همین پرامپت باید شفاف و دقیق باشه، درست مثل یه قرارداد حقوقی.کلمات مبهم قاتل پرامپت هستن.مثلاً بنویسی «ماشین باحال» — خب یعنی چی؟«باحال» یعنی خنک؟ یعنی اسپرت؟ یعنی دهه نودی؟نتیجه‌اش یه تصویر تصادفیه.اما اگه بگی:a ruby red Ferrari 296 GTB speeding along a coastal highway at sunset, motion blur showing speedاون وقت داری دقیق و شفاف حرف می‌زنی. این یه قرارداد واضحه.ماشین، رنگ، موقعیت، زمان، افکت — همه چیز معلومه.چرا بهتره به انگلیسی بنویسیم؟زبان انگلیسی زبان اصلی دنیای هوش مصنوعیه، نه از روی سلیقه، بلکه چون بیشتر داده‌هایی که مدل‌ها باهاش آموزش دیدن انگلیسی بوده.برای همین، پرامپت‌های انگلیسی معمولاً دقیق‌تر و بهتر جواب می‌دن.اما نگران نباش — لازم نیست انگلیسیت عالی باشه.کافیه چند تا نکته‌ی ساده رو رعایت کنی:از ترجمه‌گرها مثل Google Translate یا DeepL کمک بگیر.جملاتت رو ساده و خبری بنویس. نه پیچیده، نه ادبی.یه دفترچه واژه‌ی شخصی برای خودت بساز. مثلاً کلمات مربوط به نورپردازی، سبک‌ها، بافت‌ها و غیره.مثلاً یادداشت کن:“golden hour light”, “cinematic shot”, “dramatic atmosphere”, “studio portrait lighting”اینا مثل ابزار توی جعبه‌ابزار یه فیلم‌بردارن.بخش دوم: آناتومی یک پرامپت بی‌نقص — از ایده تا اجراحالا که فهمیدیم هوش مصنوعی چطور تصویر می‌سازه و چطور باید باهاش حرف بزنیم، وقتشه پرامپت رو از هم باز کنیم و قطعه‌قطعه یاد بگیریم که چی باعث میشه یه پرامپت دقیق و جذاب بشه.یه پرامپت خوب چند تا لایه داره. مثل یه فیلم‌نامه‌ست: سوژه‌اش، صحنه‌اش، نور و رنگش، و حال‌وهوایی که قراره منتقل کنه. اگه هر لایه‌اش درست کار کنه، خروجی نهایی هم دقیق می‌افته.فصل ۲.۱: سوژه — قهرمان داستان توسوژه قلب پرامپته. همیشه باید از اون شروع کنی.هر چی سوژه‌ات واضح‌تر و مشخص‌تر باشه، هوش مصنوعی راحت‌تر می‌فهمه قراره چی بسازه.برای همین لازمه سوژه‌ات رو مثل یه گزارش‌گر دقیق توصیف کنی.برای انسان‌ها:به جزئیات فکر کن:سن، جنسیت، مدل مو، رنگ چشم، لباس، جنس پارچه، حالت بدن، حتی احساس چهره.مثلاً:a young woman with curly red hair, freckles, wearing a vintage denim jacket, looking thoughtfully out of a rainy windowمی‌بینی؟ این پرامپت یه تصویر ذهنی خیلی واضح میده.برای حیوانات:نژاد، رنگ، حالت چشم‌ها یا ویژگی خاص مثل «گوش پاره‌شده»، همه کمک می‌کنن تصویر طبیعی‌تر بشه.برای اشیاء:جنس و بافت مهمه. مثلاً «rusty metal lantern» یا «polished wooden table» خیلی دقیق‌تر از «a lantern» یا «a table» هستن.کنش و حالت (Action &amp; Mood)یه نکته‌ی مهم: سوژه‌ات فقط یه چیز نیست، معمولاً داره کاری می‌کنه یا توی یه حالت خاصیه.می‌خوای تصویر ایستا باشه یا پویا؟ایستا: sitting, standing, sleepingپویا: running, jumping, fighting, dancingو برای احساسات هم همین‌طوره:به جای نوشتن «sad person»، بنویس:a man with slouched shoulders and a distant gaze, sitting alone on a park benchهمون حس غم رو منتقل می‌کنه، ولی واقعی‌تره.تقدم و وزن کلماتدر مدل‌های مختلف، جای کلمات و تأکید روی بعضیا خیلی تأثیر داره.تو Stable Diffusion می‌تونی با پرانتز وزن بدی:(masterpiece) یعنی یه کم مهم‌تر((masterpiece)) یعنی خیلی مهم‌تریا با عدد:(word:1.5) یعنی ۵۰٪ وزن بیشتردر Midjourney از :: استفاده می‌کنی:hot dog::1.5 food::1یعنی مفهوم «هات‌داگ» از «غذا» مهم‌تره.فصل ۲.۲: صحنه و پس‌زمینه — دنیای تصویرسوژه بدون صحنه مثل بازیگر بدون دکوره. محیط اطرافش به تصویر عمق می‌ده و حال‌و‌هوا می‌سازه.محیط داخلیاگر سوژه داخل فضاست، مشخص کن کجاست:یه کتابخونه‌ی قدیمی؟ یه آزمایشگاه آینده‌نگر؟ یه آشپزخونه‌ی روستایی؟مثلاً:an old detective in a dimly lit library, surrounded by dusty books and warm lamp lightهمین توصیف باعث میشه تصویر داستان پیدا کنه.محیط خارجیبگو منظره چطوریه:نوع محیط: جنگل، بیابون، شهرآب‌وهوا: بارونی، مه‌آلود، آفتابیزمان: طلوع، غروب، شبسبک معماریمثلاً:a futuristic cityscape under heavy rain, glowing neon signs reflected on wet streetsیه تصویر کامل از فضا و حس رو می‌سازه.عمق میدان (Depth)برای اینکه تصویر تخت نباشه، از لایه‌های فاصله استفاده کن:in the foreground, wild yellow flowers; in the middle ground, a lone oak tree; in the background, misty mountains fading into the skyاین جمله باعث میشه تصویر سه‌بعدی به نظر برسه.فصل ۲.۳: پالت کارگردان — کنترل نور، رنگ و دوربیناینجا همون جاییه که از یه نویسنده‌ی پرامپت تبدیل می‌شی به یه کارگردان بصری.نورپردازی (Lighting)نور روح تصویرته. همیشه بگو منبع نور از کجاست و چه حسی داره.منبع نور: sunlight, candlelight, neon lightکیفیت نور: soft light (ملایم)، hard light (شدید)جهت نور: backlighting, rim lighting, key lightرنگ نور: golden hour, moonlight blue, neon pinkکلمات کلیدی مفید:cinematic lighting, volumetric light, god rays, Rembrandt lighting, chiaroscuroرنگ (Color)رنگ مثل موسیقی تصویرته. حس رو تعیین می‌کنه.پالت رنگی: monochromatic blue palette, pastel tones, vibrant saturated colorsحس:قرمز = انرژی، هیجانآبی = آرامش، اندوهزرد = گرما، امیدترکیب‌بندی و زاویه دوربینبه ترکیب و دید هم اشاره کن تا تصویر جذاب‌تر بشه.ترکیب‌بندی: asymmetrical composition, centered shotنماها:extreme close-up (خیلی نزدیک)medium shot (نیم‌تنه)wide shot (نمای باز برای محیط)زاویه‌ها:low angle (از پایین به بالا → قدرت)high angle (از بالا → ضعف یا آسیب‌پذیری)dutch angle (زاویه کج → تنش)bird’s-eye view (نمای از بالا → مقیاس یا نظم)کلمات فنی مثل depth of field (عمق میدان)، bokeh (پس‌زمینه‌ی محو) و shallow DoF به تصویر حرفه‌ای بودن می‌دن.فصل ۲.۴: جمع‌بندی — ساختن یک پرامپت استادانهبذار همه‌ی این تکه‌ها رو کنار هم بذاریم.فرض کن می‌خوای یه تصویر از یه عقاب بسازی.پرامپت نهایی:A fierce eagle character in vibrant Japanese anime style, reminiscent of Studio Ghibli&#039;s detailed backgrounds mixed with bold shonen action scenes. The eagle has expressive eyes with a determined look, stylized feathers showing motion. It wears a small samurai armor plate on its chest. In the background, cherry blossoms and Mount Fuji blend with a futuristic Tokyo skyline, with bright saturated colors, cinematic lighting, and dynamic composition that conveys energy and movement.می‌بینی چقدر دقیق و منسجم شده؟هر بخش نقشش رو بازی می‌کنه:سوژه: عقابسبک: انیمه ژاپنیجزئیات: زره سامورایی، چشم‌ها، پرهاپس‌زمینه: ترکیب سنتی و مدرنرنگ و نور: زنده و دراماتیکترکیب‌بندی: پویا و پرانرژیپرامپت خوب مثل یه دستور پخت حرفه‌ایه؛ هر ماده‌ی اولیه سر جای خودش باید باشه.بخش سوم: جعبه‌ابزار پیشرفته — از کاربر تا کارگردانتا اینجا با ساختار پرامپت آشنا شدی: سوژه، صحنه، نور، رنگ، زاویه و ترکیب.اما الان می‌خوایم بریم یه مرحله بالاتر — جایی که می‌تونی سبک، کنترل و پالایش رو به دست بگیری.فصل ۳.۱: سبک‌شناسی — تقلید، ترکیب، و امضای شخصیاینجا قراره یاد بگیری چطور به تصویرت هویت بصری بدی.یعنی نه فقط چی بسازی، بلکه چطور بسازی.اشاره به جنبش‌های هنریبا گفتن اسم یه سبک هنری، عملاً فضا و حس کلی تصویر رو تعیین می‌کنی.مثلاً این‌ها:Impressionism, Surrealism, Cubism, Art Nouveau, Baroque, Minimalism, Pop Artو البته سبک‌های مدرن‌تر مثل:Cyberpunk, Steampunk, Solarpunk, Biopunk, Dieselpunkهرکدوم از این کلمات مثل یه فیلتر ذهنی‌ان. مثلاً وقتی بگی Cyberpunk cityscape، هوش مصنوعی بلافاصله می‌ره سراغ نئون، مه، بارون و آسمون تاریک.ارجاع به هنرمندان معروفیکی از قوی‌ترین ترفندها اینه که بگی تصویرت “به سبک فلان هنرمند” باشه.عبارت جادویی: in the style of [Artist Name]مثلاً:in the style of Vincent van Goghin the style of Hayao Miyazakiin the style of H.R. Gigerin the style of Zdzisław Beksińskiهر کدوم یه دنیای کامل رو با خودش میاره — از ونگوگِ پر از ضرب‌قلم و رنگ گرفته تا بکسینسکیِ تاریک و سورئال.مدیوم و جنس کارگاهی فقط با مشخص کردن «با چی ساخته شده» می‌تونی حس تصویر رو عوض کنی.مثلاً بگو:watercolor painting, charcoal sketch, oil painting, 3D render, clay sculpture, stained glass, film still, double exposure photoهمین یه عبارت ساده می‌تونه خروجی رو از نقاشی به عکاسی یا از دیجیتال به سنتی ببره.ترکیب سبک‌هااینجا خلاقیت واقعی اتفاق می‌افته.هیچ قاعده‌ای نداره — فقط باید امتحان کنی.مثلاً:a baroque-style portrait of a cyberpunk astronauta renaissance marble statue of a samurai robota Miyazaki-style anime scene painted by Salvador Daliوقتی سبک‌ها رو ترکیب می‌کنی، هوش مصنوعی رو از حالت “کپی” درمیاری و وارد حالت “خلاقیت ترکیبی” می‌کنی.فصل ۳.۲: پرامپت منفی — گفتن اینکه چی نمی‌خواییه اشتباه رایج بین تازه‌کارها اینه که فقط می‌نویسن چی می‌خوان.اما گاهی گفتن اینکه چی نمی‌خوای، به اندازه‌ی گفتن چی می‌خوای مهمه.پرامپت منفی کمک می‌کنه خروجی تمیزتر، طبیعی‌تر و دقیق‌تر بشه.چطور بنویسیش؟در Midjourney از پارامتر --no استفاده کن.مثلاً:--no cars, peopleدر Stable Diffusion معمولاً یه فیلد جداگانه داره به اسم Negative Prompt.چند کاربرد رایجرفع ایرادات فنی:--no extra fingers, deformed hands, mutated limbsحذف عناصر ناخواسته:--no text, watermark, signature, logoکنترل سبک:--no cartoon, 3d renderتمیز کردن خروجی:--no blurry, grainy, low qualityبه‌خصوص توی مدل‌هایی که گاهی دست یا چهره رو خراب می‌کشن، پرامپت منفی نجات‌دهنده‌ست.فصل ۳.۳: کنترل فنی با پارامترهااینجا وارد بخش تنظیمات حرفه‌ای می‌شیم.یعنی جایی که با چند تا پارامتر ساده می‌تونی کنترل دقیق‌تری روی خروجی داشته باشی.نسبت تصویر (Aspect Ratio)با پارامتر --ar مشخص می‌کنی که تصویرت چه نسبتی داشته باشه:--ar 1:1 → مربعی (مناسب برای پست‌های اینستاگرام)--ar 16:9 → عریض (مناسب برای والپیپر و ویدیو)--ar 9:16 → عمودی (مناسب برای استوری و موبایل)--ar 3:2 → نسبت کلاسیک عکاسیمیزان سبک‌دهی (Stylization)در Midjourney پارامتر --s کنترل می‌کنه که مدل چقدر از خودش خلاقیت خرج کنه.--s 50 → دقیقاً طبق پرامپتت عمل می‌کنه--s 750 → آزادتر و هنری‌تر رفتار می‌کنهاگه پرامپتت جزئیات زیادی داره، مقدار پایین بهتره.اگه فقط یه ایده‌ی کلی داری و می‌خوای مدل خودش پیشنهاد بده، مقدار بالا جواب می‌ده.بذر تصادفی (Seed Number)هر تصویر با یه نویز اولیه شروع می‌شه که عددش همون seedه.وقتی --seed 42 رو ثابت نگه داری، حتی اگه چند بار تصویر تولید کنی، حال‌و‌هوا و چهره‌ها تقریباً ثابت می‌مونن.خیلی به درد خلق شخصیت‌های ثابت یا مجموعه آثار هماهنگ می‌خوره.فصل ۳.۴: فرآیند تکرار و پالایش — مسیر تا شاهکاریه نکته‌ی طلایی: هیچ‌کس از اولین پرامپتش به شاهکار نمی‌رسه.پرامپت‌نویسی یه فرآیند تکراریه. باید تست کنی، اصلاح کنی، و دوباره بسازی.یه روال ساده ولی حرفه‌ای اینه:با ایده‌ی ساده شروع کن.یه جمله‌ی مرکزی که فقط مفهوم کلی رو بده.خروجی اولیه بگیر.چند تصویر مختلف تولید کن.تحلیل کن.چی خوبه؟ چی نه؟ نور درسته؟ حالت چهره خوبه؟ پس‌زمینه زیادی شلوغه؟پرامپت رو اصلاح کن.جزئیات اضافه کن، وزن کلمات رو تنظیم کن، پرامپت منفی بذار.واریانت بگیر.با گزینه‌هایی مثل Vary در Midjourney می‌تونی نسخه‌های مشابه ولی متفاوت بسازی.انتخاب و ارتقا.بهترین خروجی رو انتخاب کن و با Upscale یا ابزارهای ویرایش جزئی، نهایی‌اش کن.یادت باشه، بعضی از بهترین نتایج از اشتباهات به‌ظاهر بی‌معنی بیرون میان.گاهی مدل یه چیز غیرمنتظره تولید می‌کنه که خودت هم می‌گی: “اوه! این از اونی که می‌خواستم بهتره!”همون لحظه‌ست که جادو اتفاق می‌افته.بخش چهارم: کارگاه عملی — از ایده تا تصویر🎨 پروژه ۱: طراحی شخصیت — «سرباز آینده در دنیای پسا‌آخرالزمانی»قدم ۱: ایده خاممی‌خوایم یه شخصیت طراحی کنیم برای یه داستان علمی‌تخیلی.می‌دونیم فقط این‌قدر:یه سرباز از آینده، در دنیایی ویران‌شده بعد از جنگ جهانی سوم.تا اینجا فقط یه مفهوم کلیه. نه سبک داریم، نه جزئیات.قدم ۲: تعریف ویژگی‌هاسوژه:مرد جوان، حدود ۳۰ سالهلباس زرهی آینده‌نگرنگاه خسته اما مصممصحنه:شهر ویران‌شده با دود و نور نئون ضعیفآسمان خاکستری، بقایای ساختمان‌هاسبک:ترکیب cyberpunk و realismحس سرد و خشنقدم ۳: اضافه کردن جزئیات فنینورپردازی: cinematic lighting, side lightنسبت تصویر: --ar 3:4 (عمودی، مناسب برای پرتره)وضوح: high detailپرامپت منفی: --no extra limbs, blurry, deformed, cartoonقدم ۴: پرامپت نهاییA battle-hardened futuristic soldier standing in a destroyed city after World War III, wearing high-tech armor with glowing blue circuits and a cracked helmet visor. His face shows exhaustion and determination. Smoke and faint neon lights reflect on the metallic surfaces around him. Cinematic lighting with dramatic contrast, gritty atmosphere, hyper-realistic details, cyberpunk aesthetic. --ar 3:4 --no blurry, cartoon, low qualityنتیجه: تصویری دقیق، سینمایی و پر از حس واقعیت.نکته حرفه‌ایاگه بخوای مجموعه‌ای از همین سربازها با حالات مختلف بسازی (مثلاً در حال مبارزه، نشستن، یا نگاه به آسمون)،کافیه از همون پرامپت استفاده کنی و فقط بخش کنش رو عوض کنی، ولی --seed رو ثابت نگه داری.اینجوری چهره ثابت می‌مونه و حس تداوم داری.🌄 پروژه ۲: منظره فانتزی — «دروازه شناور در آسمان»قدم ۱: ایده خامیه منظره فانتزی که یه دروازه بزرگ در آسمون شناوره و ازش نور بیرون می‌تابه.قدم ۲: تعریف جزئیاتصحنه و حس:کوه‌های بلند، ابرهای حجیم، آسمون طلاییدروازه‌ی باستانی که بین ابرها معلقهنور سفید و طلایی که از داخل دروازه بیرون میادحس شگفتی و عظمتسبک تصویری:realistic fantasy paintingسبک ترکیبی از Studio Ghibli و Lord of the Ringsقدم ۳: جزئیات فنینورپردازی: god rays, volumetric lightنسبت تصویر: --ar 16:9 (عریض، مناسب منظره)رنگ: warm golden tonesپرامپت منفی: --no people, buildings, textقدم ۴: پرامپت نهاییA majestic floating ancient gate suspended among the clouds, glowing with radiant golden and white light. Towering mountains rise below with lush green valleys covered in mist. The sky is painted in warm sunset colors, rays of sunlight piercing through the clouds, creating a sense of wonder and divine presence. Realistic fantasy painting style, inspired by Studio Ghibli and Lord of the Rings. --ar 16:9 --no people, text, watermarkنتیجه: یه تصویر باشکوه، تمیز و پر از حس خیال‌پردازی — دقیقاً همون چیزی که توی ذهن بود.نکته حرفه‌ایاگه بخوای همون منظره رو توی موقعیت‌های مختلف (مثلاً شب، برفی یا زیر بارون) بسازی،کافیه یه کلمه به بخش نور و فضا اضافه کنی.مثلاً:under moonlight, with glowing blue fogduring heavy rainstorm, lightning in the backgroundsnow-covered mountains, cold atmosphere, pale lightبا همین تغییر کوچیک، دنیای کاملاً جدیدی خلق می‌کنی.جمع‌بندی کارگاهایده‌ی اصلی ساده‌ست:پرامپت خوب از ترکیب وضوح + جزئیات هدفمند + کنترل فنی ساخته میشه.یه پرامپت‌نویس حرفه‌ای مثل یه کارگردانه — با کلمه‌ها صحنه می‌سازه، با نور احساس منتقل می‌کنه،و با سبک انتخابی، امضا می‌ذاره پای اثرش.🧩 مثال ۱: از جمله ساده تا پرامپت استانداردموضوع: «یه فنجون قهوه روی میز»۱. ایده خام:یه تصویر از یه فنجون قهوه روی میز می‌خوام.بیشتر آدما می‌نویسن:a cup of coffee on a tableایراد؟خیلی کلیه. هوش مصنوعی فقط یه فنجون می‌سازه، روی یه سطح قهوه‌ای یا سفید، بدون حس یا داستان.مثل عکس یه کافه معمولی از گوگل.۲. گام دوم: اضافه کردن بافت و فضابهش محیط و حس اضافه می‌کنیم:a steaming cup of coffee on a wooden table near a window, morning sunlight coming through sheer curtainsالان خروجی خیلی بهتر میشه — چون نور (morning sunlight) و جنس میز (wooden) بهش زندگی دادن.۳. گام سوم: تنظیم سبک و نورمی‌خوام تصویر حس آرامش و گرما بده. پس می‌نویسم:warm morning light, cozy atmosphere, realistic photo, shallow depth of field, soft focusو همه رو ترکیب می‌کنم:A steaming cup of coffee on a wooden table near a window, morning sunlight coming through sheer curtains, warm and cozy atmosphere, realistic photo, shallow depth of field, soft focus۴. گام چهارم: اضافه کردن کنترل فنینسبت تصویر مربعی (--ar 1:1) برای زیبایی بصریحذف موارد ناخواسته (--no people, logo, text)✅ پرامپت نهایی:A steaming cup of coffee on a wooden table near a window, morning sunlight coming through sheer curtains, warm cozy atmosphere, realistic photo, shallow depth of field, soft focus. --ar 1:1 --no people, text, watermarkنتیجه: یه تصویر حرفه‌ای، ساده و پر از حس صبحگاهی.👩‍🎨 مثال ۲: پرتره هنری با تحلیل مرحله‌ایموضوع: «دختری در حال مطالعه در کتابخانه»۱. پرامپت خام:a girl reading a book in a libraryخیلی مبهمه. مدل نمی‌دونه سبک چی باشه، چطور نور بده، چند سالشه، از بالا بگیره یا روبه‌رو.۲. جزئیات شخصیت:a young woman with long brown hair, wearing glasses, reading an old book in a cozy libraryالان چهره و فضا روشن‌تر شدن.اما هنوز تصویر زیادی “طبیعی” و عمومی به نظر می‌رسه.۳. افزودن نور، حس و ترکیب‌بندی:می‌خوام تصویر سینمایی باشه — یه حس آرامش، تمرکز و نور طلایی.soft golden light filtering through dusty windows, cinematic lighting, bokeh background, focus on her thoughtful faceحالا پرامپت میشه:A young woman with long brown hair, wearing glasses, reading an old book in a cozy library. Soft golden light filtering through dusty windows, cinematic lighting, bokeh background, focus on her thoughtful face.نتیجه: حس واقعی، مثل یه فریم از یه فیلم.۴. افزودن سبک و کیفیت فنی:می‌خوام به سبک پرتره نقاشی کلاسیک باشه:in the style of Rembrandt, oil painting texture, detailed brushwork, chiaroscuro lighting✅ پرامپت نهایی:A young woman with long brown hair, wearing glasses, reading an old book in a cozy library. Soft golden light filtering through dusty windows, cinematic lighting, bokeh background, focus on her thoughtful face, in the style of Rembrandt, oil painting texture, chiaroscuro light. --ar 3:4 --no text, blurryنتیجه: تصویری هنری، گرم، با ترکیب نور و سایه، و کاملاً داستان‌دار.🎬 مثال ۳: صحنه سینمایی فانتزی (پرامپت پیشرفته)موضوع: «جنگجوی نور در برابر اژدهای تاریکی»۱. ایده اولیه:a warrior fighting a dragonخیلی خامه. مدل هر چیزی ممکنه بسازه — از کارتون کودک تا بازی ویدیویی.ما باید دقیق‌تر بشیم.۲. مشخص کردن عناصر:قهرمان: زن یا مرد؟ چه لباسی؟ چه سلاحی؟فضا: کوه، قلعه، یا غار؟نور: شب یا روز؟سبک: واقع‌گرایانه یا نقاشی فانتزی؟می‌گم:a female knight in shining armor holding a glowing sword, facing a huge black dragon in a stormy mountain battlefield at nightالان داستان کامل‌تر شد.۳. حس و نور:می‌خوام تصویر حماسی و سینمایی باشه.اضافه می‌کنم:cinematic lighting, dramatic composition, rain, lightning in the background, volumetric light, motion blurپرامپت میشه:A female knight in shining armor holding a glowing sword, facing a huge black dragon in a stormy mountain battlefield at night. Cinematic lighting, dramatic composition, rain, lightning in the background, volumetric light, motion blur.الان خروجی قوی‌تره، ولی می‌تونه سبک بصری خاص‌تری هم داشته باشه.۴. سبک هنری:می‌خوام تصویر شبیه پوستر فیلم باشه، نه نقاشی.پس اضافه می‌کنم:ultra realistic, inspired by movie concept art, 8K, epic atmosphere۵. پرامپت منفی و تنظیمات:--ar 16:9 --no blurry, cartoon, text, watermark✅ پرامپت نهایی:A female knight in shining silver armor holding a glowing sword, facing a massive black dragon on a stormy mountain battlefield at night. Cinematic lighting, dramatic composition, rain and lightning, volumetric light and fog, ultra realistic, inspired by epic movie concept art, detailed 8K render, dynamic energy and motion. --ar 16:9 --no cartoon, text, watermarkتحلیل نهایی:بخشهدفمثال در پرامپتسوژه اصلیچی در تصویرهfemale knight, black dragonکنش و فضاچه اتفاقی می‌افته، کجاfacing… in a stormy battlefieldنور و حسکنترل فضا و احساسcinematic lighting, rain, lightningسبک و کیفیتنوع خروجی نهاییultra realistic, concept art, 8Kکنترل فنینسبت تصویر و منفی‌ها--ar 16:9 --no cartoon, textنتیجه؟تصویری که به‌جای “یه نقاشی ساده”، تبدیل میشه به پوستر یه فیلم فانتزی AAA.🧠 چک‌لیست کاربردی پرامپت‌نویسی حرفه‌ای🎯 مرحله ۱: تعریف ایدهدقیق بدون چی می‌خوای بسازی (سوژه‌ی اصلیت چیه؟)حس یا داستان پشت تصویر رو مشخص کن (مثلاً آرامش، هیجان، غم، شکوه...)نوع خروجی رو بدون: عکس واقع‌گرایانه؟ نقاشی دیجیتال؟ صحنه‌ی سینمایی؟🧍‍♀️ مرحله ۲: توصیف سوژهجنسیت، سن، ظاهر، لباس، و حالت بدن مشخصه؟یه ویژگی خاص داری که تصویر رو متمایز کنه؟ (مثلاً زخم روی گونه، چشمان درخشان، یا لبخند مرموز)کنش و حالتش واضحه؟ (در حال دویدن؟ نشسته؟ ایستاده با غرور؟)🌍 مرحله ۳: صحنه و پس‌زمینهموقعیت مکانی رو مشخص کردی؟ (جنگل، شهر، فضا، زیر آب...)زمان روز یا فصل معلومه؟ (طلوع، شب بارانی، پاییز...)پس‌زمینه با داستان هماهنگه؟ (یه شوالیه وسط آشپزخونه احتمالاً نه 😄)عناصر سه‌بعدی داری؟ (پیش‌زمینه، میان‌زمینه، پس‌زمینه برای عمق میدان)💡 مرحله ۴: نور، رنگ و حسمنبع نور تعریف شده؟ (خورشید، شمع، نئون، مهتاب)کیفیت نور مشخصه؟ (نرم، تند، سینمایی، حجمی)پالت رنگی انتخاب شده؟ (گرم و طلایی، سرد و آبی، پاستلی، اشباع‌شده)حس تصویر با نور و رنگ هماهنگه؟ (نور زرد برای شادی، نور آبی برای غم، و...)🎥 مرحله ۵: زاویه و ترکیب‌بندینوع نما مشخصه؟ (نمای نزدیک، نیم‌تنه، تمام قد، واید)زاویه دوربین داری؟ (از بالا، پایین، هم‌سطح چشم، زاویه کج)ترکیب‌بندی خاصی مد نظرته؟ (متمرکز، قانون یک‌سوم، متقارن یا نامتقارن)عمق میدان یا افکت بوکه اضافه کردی؟🎨 مرحله ۶: سبک هنری و مدیومسبک مشخصه؟ (واقع‌گرایانه، انیمه، نقاشی روغن، آبرنگ، کانسپت‌آرت، سایبرپانک...)می‌خوای شبیه کار یه هنرمند خاص باشه؟ (in the style of [Name])مدیوم رو تعریف کردی؟ (oil painting, watercolor, 3D render, photo, digital art)چند سبک ترکیب کردی؟ (مثل «باروک سایبرپانک» یا «انیمه سوررئال»)🚫 مرحله ۷: پرامپت منفیچیزهایی که نمی‌خوای دیده بشن رو مشخص کردی؟مثلاً:--no text, watermark, logo--no blurry, deformed hands, extra fingers--no cartoon, 3d render (اگر سبک خاصی نمی‌خوای)⚙️ مرحله ۸: تنظیمات فنینسبت تصویر (Aspect Ratio):1:1 برای مربع16:9 برای منظره یا سینمایی9:16 برای موبایل یا استوریمیزان استایل‌دهی (--s) تنظیم شده؟عدد seed ثابت داری برای تداوم سبک؟ (--seed 12345)کیفیت خروجی یا جزئیات بالا (--q یا --v بسته به پلتفرم)🔁 مرحله ۹: آزمون، تحلیل و تکرارچند نسخه از پرامپت تولید کردی؟از بین خروجی‌ها بهترین رو انتخاب کردی؟ایرادها رو پیدا کردی (نور، چهره، پس‌زمینه...)؟پرامپت رو اصلاح کردی و دوباره تست گرفتی؟🧰 مرحله ۱۰: نگهداری و ترفندهایه واژه‌نامه‌ی شخصی از کلمات کلیدی مؤثر داری؟سبک‌های محبوبت رو ذخیره کردی (مثلاً “cinematic”, “vintage photo”, “anime key visual”)?از پرامپت‌های موفق خودت بک‌آپ گرفتی برای مرجع بعدی؟هر بار یه چیز جدید آزمایش می‌کنی تا زبان ماشین رو بهتر یاد بگیری؟✅ قاعده طلایی آخر:هر چی دقیق‌تر، خلاق‌تر و احساسی‌تر بنویسی، تصویرت انسانی‌تر و منحصربه‌فردتر میشه.نتیجه‌گیری: از کاربر بودن تا خالق شدنتا اینجا دیدی که پرامپت‌نویسی فقط تایپ چند تا کلمه نیست. یه جور گفت‌وگوئه بین تو و یه موجود دیجیتالی که داره دنیا رو از نو می‌سازه.وقتی دقیق حرف بزنی، تصویر دقیق می‌سازی. وقتی حس بدی، حس می‌گیری.راز اصلی چیه؟ جزئیات، تمرین و تجربه.هر کلمه‌ای که انتخاب می‌کنی، مثل یه قلم‌موئه که روی بوم اثر می‌ذاره. گاهی یه واژه‌ی کوچیک مثل “misty” یا “dramatic” کل اتمسفر تصویر رو عوض می‌کنه.هوش مصنوعی هیچ‌وقت &quot;جادوگر&quot; نیست، تا وقتی تو جادوگر نباشی.قدرتش از دقت و تخیل تو تغذیه می‌کنه.اگه فقط بگی «یه جنگجو کنار یه اژدها»، خروجی یه تصویر معمولی میشه.ولی وقتی بگی «یه شوالیه‌ی زن با شمشیر درخشان زیر بارون، روبه‌روی اژدهایی سیاه روی قله‌ی کوه، نور صاعقه روی زرهش می‌رقصه» — اون موقع داری کارگردانی می‌کنی، نه فقط دستور دادن.یادت باشه:اولین خروجی معمولاً شاهکار نیست.اشتباهات، مسیر کشف‌اند.هر بار که یه پرامپت رو اصلاح می‌کنی، داری زبان ذهن ماشین رو بهتر یاد می‌گیری.در نهایت، مهندسی پرامپت یه مهارت فنی نیست — یه زبان جدیده برای خلاقیت.تو الان دیگه یه &quot;کاربر ابزار&quot; نیستی، یه &quot;کارگردان تخیل&quot;ی.کسی که می‌تونه با چند جمله، دنیا بسازه.حالا نوبت توئه.یه ایده تو ذهنت داری؟ بنویسش، امتحانش کن، تغییرش بده، و ببین چطور یه خط متن، تبدیل میشه به تصویری که تا دیروز فقط توی فکرت بود.✨ برو و بساز. دنیا هنوز پر از تصویرهایی‌ه که منتظر کلمات توئه.علی برادر خدام خسروشاهی متخصص هوش مصنوعی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Tue, 28 Oct 2025 12:05:39 +0330</pubDate>
            </item>
                    <item>
                <title>تحلیل کنکور زبان بخش دوم (واژگان) 1404 با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%DA%A9%D9%86%DA%A9%D9%88%D8%B1-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-%D9%88%D8%A7%DA%98%DA%AF%D8%A7%D9%86-1404-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-lihxifqgreo3</link>
                <description>Part B: VocabularyDirections: Questions 16-35 are incomplete sentences. Beneath each sentence, you will see four words or phrases marked (1), (2), (3), and (4). Choose the one word or phrase that best completes the sentence. Then mark the correct choice on your answer sheet.16- Jack showed me his .................... of rare books. I was surprised to see the first edition ofso many important books among them.1) collection 2) percent 3) focus 4) tendencyبیایم جمله رو بررسی کنیم:Jack showed me his .................... of rare books. I was surprised to see the first edition of so many important books among them.جمله می‌گه جک چیزی مربوط به rare books (کتاب‌های نایاب) رو به من نشان داد، و من از دیدن نسخه اول کتاب‌های مهم در بین آن‌ها شگفت‌زده شدم.حالا گزینه‌ها:collection ✅→ یعنی مجموعه.→ یک مجموعه از کتاب‌های نایاب دقیقاً با معنی جمله همخوانی داره. → Jack showed me his collection of rare books.percent ❌→ «درصد» به موضوع ربطی نداره.focus ❌→ یعنی تمرکز. نمی‌تونیم بگیم «تمرکز کتاب‌های نایاب».tendency ❌→ یعنی تمایل یا گرایش. باز هم ربطی به موضوع نداره.17- The best time to .................... for a flood is when the sky is clear and your weekend is free, not when local officials are telling you to seal up windows and head for higher ground.1) spend 2) desire 3) prepare 4) fightبیایم جمله رو با هم بررسی کنیم:The best time to .................... for a flood is when the sky is clear and your weekend is free, not when local officials are telling you to seal up windows and head for higher ground.معنی جمله: بهترین زمان برای ... در برابر سیل، زمانی‌ست که آسمان صاف است و آخر هفته‌ات خالی‌ست، نه وقتی که مقامات محلی بهت می‌گن پنجره‌ها رو ببندی و به ارتفاعات بری.حالا گزینه‌ها:spend ❌→ spend for a flood معنی نمی‌ده. «خرج کردن» یا «سپری کردن» معمولاً با &quot;time&quot; یا &quot;money&quot; میاد.desire ❌→ desire یعنی «میل داشتن» یا «خواستن». نمی‌خوره به سیاق جمله.prepare ✅→ «آماده شدن» برای سیل کاملاً منطقیه.→ &quot;prepare for a flood&quot; = برای سیل آماده شدن.fight ❌→ fight for a flood معنی نمی‌ده. fight against ممکنه باشه، ولی باز هم با ادامه جمله نمی‌خونه.18- The challenge is that the job looks very ...................., but it is really very complex becauseevery detail is important.1) simple 2) dangerous 3) remote 4) demandingبیایم جمله رو تحلیل کنیم:The challenge is that the job looks very ...................., but it is really very complex because every detail is important.معنی: چالش اینجاست که این شغل خیلی ... به نظر می‌رسه، اما واقعاً خیلی پیچیده است چون هر جزئیاتی اهمیت داره.بررسی گزینه‌ها:simple ✅→ «ساده» دقیقاً با جمله جور درمیاد.→ «به نظر ساده می‌رسه، ولی در واقع پیچیده است» یک تضاد رایج در زبان انگلیسیه.dangerous ❌→ «خطرناک» تضاد خوبی با «complex» ایجاد نمی‌کنه.remote ❌→ «دورافتاده» ربطی به پیچیدگی و جزئیات نداره.demanding ❌→ demanding یعنی «سخت و پرزحمت»، که با &quot;really very complex&quot; هم‌راستا است، نه در تضاد باهاش. جمله می‌خواد تضاد نشون بده.19- A manufacturer has been fined $300,000 for employing children as young as 14 to.................... “dangerous machinery” and requiring them to work more hours than the law allows.1) oppose 2) operate 3) reward 4) returnبیایم جمله رو با دقت بررسی کنیم:A manufacturer has been fined $300,000 for employing children as young as 14 to .................... “dangerous machinery” and requiring them to work more hours than the law allows.ترجمه: یک تولیدکننده ۳۰۰ هزار دلار جریمه شده به‌خاطر به‌کارگیری کودکانی با سن حداقل ۱۴ سال برای ............ ماشین‌آلات خطرناک و وادار کردن آن‌ها به کار بیش از حد مجاز.بررسی گزینه‌ها:oppose = مخالفت کردن ❌→ منطقی نیست بگیم بچه‌ها برای &quot;مخالفت با ماشین‌آلات خطرناک&quot; استخدام شدن.operate = کار کردن با / به کار انداختن ✅→ دقیقاً معنی مورد نظر رو می‌ده: کار کردن با ماشین‌آلات خطرناک.reward = پاداش دادن ❌→ بی‌ربط به مفهوم جمله.return = بازگرداندن ❌→ باز هم بی‌ربط.20- The idea that it is “too ....................” to eat healthy food and that junk food is cheaper isnonsense.1) proud 2) confident 3) expensive 4) completeبیایم جمله رو بررسی کنیم:The idea that it is “too ....................” to eat healthy food and that junk food is cheaper is nonsense.ترجمه: این ایده که &quot;خیلی ............&quot; است غذای سالم خوردن و اینکه فست‌فود ارزان‌تر است، مزخرف است.بررسی گزینه‌ها:proud = مغرور ❌→ «خیلی مغرور است» برای غذا خوردن؟ بی‌معنی است.confident = بااعتمادبه‌نفس ❌→ ربطی به موضوع هزینه غذا ندارد.expensive = گران ✅→ کاملاً منطقی و طبیعی&quot;خیلی گران است غذای سالم خوردن&quot; ← این باور نادرست است.complete = کامل ❌→ &quot;خیلی کامل است&quot; هم بی‌معناست در این جمله.21- Critics believe that Jackson’s complete lack of .................... in presenting his ideas suggeststhat he is not a serious candidate.1) distaste 2) organization 3) complication 4) digressionجمله رو بررسی کنیم:Critics believe that Jackson’s complete lack of .................... in presenting his ideas suggests that he is not a serious candidate.ترجمه: منتقدان معتقدند که فقدان کاملِ .................... در ارائه‌ی ایده‌های جکسون نشان می‌دهد که او یک نامزد جدی نیست.ما به دنبال کلمه‌ای هستیم که وقتی &quot;فقدان کاملش&quot; باشد، نشان دهد ارائه‌ی ایده‌ها بی‌نظم، ناکارآمد یا غیر جدی بوده است.بررسی گزینه‌ها:distaste = بیزاری ❌→ فقدان بیزاری؟ منطقی نیست؛ بیزاری ربطی به شیوه ارائه ندارد.organization = سازمان‌دهی، نظم ✅→ &quot;فقدان کامل نظم در ارائه‌ی ایده‌ها&quot; دقیقاً نشان می‌دهد که چرا کسی جدی به نظر نمی‌رسد.complication = پیچیدگی ❌→ نبود پیچیدگی الزاماً بد نیست، ممکنه مثبت هم باشد.digression = حاشیه‌روی، انحراف از موضوع ❌→ نبود digression حتی می‌تونه مثبت باشه.22- The minimum .................... that should be required of individuals offering investmentcounsel services to the public have recently been announced.1) portions 2) wages 3) installments 4) qualificationsجمله:The minimum .................... that should be required of individuals offering investment counsel services to the public have recently been announced.ترجمه: حداقل .................... که باید از افرادی که خدمات مشاوره سرمایه‌گذاری به عموم ارائه می‌دهند خواسته شود، اخیراً اعلام شده‌اند.بررسی گزینه‌ها:portions = بخش‌ها، سهم‌ها ❌→ ربطی به افراد و مشاوره ندارد.wages = دستمزدها ❌→ حداقل دستمزد برای مشاوران سرمایه‌گذاری؟ ممکن است منطقی باشد، اما در این جمله به &quot;شرایط لازم&quot; اشاره دارد.installments = اقساط ❌→ بی‌ربط به مفهوم مشاوره و شرایط فردی.qualifications = صلاحیت‌ها، شرایط لازم ✅→ &quot;حداقل صلاحیت‌هایی که باید از افراد خواسته شود&quot; کاملاً با جمله و معنای آن هماهنگ است.23- Slave-owners worked their slaves hard, demanded complete .................... from them, anddisciplined those who ignored their owners’ orders.1) exchange 2) destiny 3) obedience 4) dominanceجمله:Slave-owners worked their slaves hard, demanded complete .................... from them, and disciplined those who ignored their owners’ orders.ترجمه: برده‌داران برده‌هایشان را سخت به کار می‌گرفتند، خواهان .................... کامل از آن‌ها بودند و کسانی را که دستورات صاحبشان را نادیده می‌گرفتند، تنبیه می‌کردند.بررسی گزینه‌ها:exchange = تبادل ❌→ معنایی ندارد در این جمله.destiny = سرنوشت ❌→ بی‌ربط به موضوع اطاعت و انضباط است.obedience = اطاعت ✅→ «خواستار اطاعت کامل» دقیقاً همان چیزی است که جمله بیان می‌کند.dominance = سلطه ❌→ برده‌داران سلطه داشتند، اما نمی‌خواهند &quot;سلطه&quot; از برده‌ها دریافت کنند؛ بلکه &quot;اطاعت&quot; می‌خواهند.24- The hardwood floors in our house are badly .................... in several places because mychildren pushed and pulled the heavy furniture as they were playing.1) paved 2) scratched 3) constructed 4) evaporatedجمله:The hardwood floors in our house are badly .................... in several places because my children pushed and pulled the heavy furniture as they were playing.ترجمه: کف‌پوش‌های چوبی خانه ما در چند نقطه به شدت .................... شده‌اند، چون بچه‌هایم هنگام بازی، مبلمان سنگین را هل داده و کشیده‌اند.بررسی گزینه‌ها:paved = سنگ‌فرش‌شده ❌→ مربوط به نصب کف است، نه آسیب به آن.scratched = خراشیده ✅→ وقتی چیزی روی چوب کشیده می‌شود، &quot;خراش&quot; ایجاد می‌شود. این واژه کاملاً درست است.constructed = ساخته‌شده ❌→ بی‌ربط است، چون درباره آسیب است، نه ساخت.evaporated = تبخیرشده ❌→ کاملاً بی‌ربط.25- If the territorial .................... of this country is threatened, we will certainly use all themeans at our disposal to protect it.1) integrity 2) dispute 3) commonplace 4) shelterجمله:If the territorial .................... of this country is threatened, we will certainly use all the means at our disposal to protect it.ترجمه: اگر .................... سرزمینی این کشور تهدید شود، قطعاً از تمام ابزارهای موجود برای محافظت از آن استفاده خواهیم کرد.بررسی گزینه‌ها:integrity = تمامیت ✅→ &quot;territorial integrity&quot; یک عبارت رایج و رسمی است به معنی تمامیت ارضی. این ترکیب در متن‌های سیاسی و دفاعی بسیار رایج است.dispute = اختلاف ❌→ &quot;territorial dispute&quot; معنی دارد، ولی در این جمله با ساختار &quot;If the ... is threatened&quot; هماهنگ نیست.commonplace = امر عادی ❌→ بی‌ربط است.shelter = پناهگاه ❌→ ربطی به سرزمین یا تهدید ارضی ندارد.26- Don’t let a/an .................... matter like applesauce grow a millimeter larger than it has to.Be diplomatic and ask your father to order both varieties.1) trifling 2) detailed 3) disinterested 4) unconcernedجمله:Don’t let a/an .................... matter like applesauce grow a millimeter larger than it has to. Be diplomatic and ask your father to order both varieties.ترجمه: اجازه نده موضوعی .................... مثل سس سیب بزرگ‌تر از چیزی که باید، بشه. دیپلماتیک رفتار کن و از پدرت بخواه هر دو نوع رو سفارش بده.بررسی گزینه‌ها:trifling = ناچیز، بی‌اهمیت ✅→ a trifling matter یعنی «موضوعی ناچیز» که دقیقاً مناسب متن است.detailed = دارای جزئیات ❌→ &quot;موضوع دارای جزئیات&quot; معنی می‌دهد ولی به بافت جمله نمی‌خورد.disinterested = بی‌طرف ❌→ &quot;disinterested matter&quot; ترکیب رایجی نیست.unconcerned = بی‌تفاوت ❌→ این صفت معمولاً برای افراد به کار می‌رود نه برای اشیاء یا مسائل.27- Though not many citizens would openly sympathize with their motives or methods, thecourage of the rebels has won .................... admiration at all levels in Britain.1) protruding 2) sorted 3) invisible 4) sneakingجمله:Though not many citizens would openly sympathize with their motives or methods, the courage of the rebels has won .................... admiration at all levels in Britain.ترجمه: اگرچه بسیاری از شهروندان آشکارا با انگیزه‌ها یا روش‌های شورشیان همدردی نمی‌کنند، شجاعت آن‌ها تحسین .................... در تمام سطوح بریتانیا را برانگیخته است.بررسی گزینه‌ها:protruding = بیرون‌زده، برجسته ❌→ معمولاً برای چیزهای فیزیکی به‌کار می‌رود، نه برای تحسین.sorted = مرتب‌شده ❌→ هیچ ارتباط معنایی ندارد.invisible = نامرئی ❌→ تحسین نامرئی معنا ندارد، چون تحسین معمولاً دیده یا بیان می‌شود.sneaking = پنهانی، آهسته، تدریجی ✅→ sneaking admiration یک عبارت رایج است به معنای «تحسین پنهانی یا ناخودآگاه». این دقیقاً با جمله هم‌خوانی دارد چون می‌گوید &quot;آشکارا همدردی نمی‌کنند، ولی تحسین در دل دارند.&quot;28- The age of the automobile and the truck have put this historic crossroad city between Eastand West into an almost .................... traffic jam.1) retrospective 2) submissive 3) permanent 4) pedanticجمله:The age of the automobile and the truck have put this historic crossroad city between East and West into an almost .................... traffic jam.ترجمه: عصر اتومبیل و کامیون این شهر تاریخی واقع در تقاطع شرق و غرب را درگیر ترافیکی تقریباً .................... کرده است.بررسی گزینه‌ها:retrospective = بازنگرانه، مربوط به گذشته ❌→ برای &quot;ترافیک&quot; معنایی نمی‌دهد.submissive = مطیع، تسلیم ❌→ برای توصیف ترافیک مناسب نیست.permanent = دائمی ✅→ ترافیک «تقریباً دائمی» بسیار طبیعی و رایج است. با معنای جمله هماهنگ است.pedantic = فضل‌فروشانه، موشکافانه ❌→ معنایی برای ترافیک ندارد.29- After they .................... into a new policy without thinking it through, the U.N. officialstried to rationalize it in vain.1) apprehended 2) burgeoned 3) exacerbated 4) blunderedجمله:After they .................... into a new policy without thinking it through, the U.N. officials tried to rationalize it in vain.پس از آن‌که بدون فکر، وارد یک سیاست جدید شدند، مقامات سازمان ملل تلاش کردند بی‌فایده آن را توجیه کنند.بررسی گزینه‌ها:apprehended = دستگیر کردن، درک کردن ❌→ معنایی ندارد در این جمله.burgeoned = رشد سریع داشتن ❌→ به &quot;سیاست&quot; نمی‌خورد و در مورد ورود ناگهانی یا اشتباه نیست.exacerbated = بدتر کردن ❌→ در مورد شدت یا وخامت اوضاع به کار می‌رود، نه «وارد شدن» به سیاست.blundered = اشتباه احمقانه و ناشیانه انجام دادن ✅→ &quot;blundered into a new policy&quot; یعنی «اشتباهی وارد سیاستی شدن» — کاملاً مناسب با مفهوم جمله است.30- As Australian officials planned to cut Medicare by at least $250 billion as part of theirproposal to balance the budget by the year 2024, social activists in healthcare ....................alarm.1) registered 2) documented 3) validated 4) inscribedجمله:As Australian officials planned to cut Medicare by at least $250 billion as part of their proposal to balance the budget by the year 2024, social activists in healthcare .................... alarm.در حالی که مقامات استرالیایی برنامه‌ریزی کردند تا Medicare را حداقل به میزان ۲۵۰ میلیارد دلار کاهش دهند، فعالان اجتماعی حوزه سلامت .......... هشدار دادند.بررسی گزینه‌ها:registered ✅→ &quot;register alarm&quot; یک ترکیب رایج است و یعنی &quot;ابراز نگرانی/هشدار کردن&quot;→ بسیار طبیعی و متداول در زبان رسمی و روزنامه‌ای.documented = مستندسازی کردن ❌→ به معنی «هشدار دادن» یا «اعتراض کردن» نیست.validated = تأیید کردن، اعتبار دادن ❌→ اصلاً به مفهوم هشدار نمی‌خورد.inscribed = حکاکی کردن ❌→ ربطی به متن ندارد.31- Her stubborn .................... may be one reason for her entrance into the New York CityMarathon. Not everyone believes it’s wise for her to run so soon after that terrible accident.1) strike 2) streak 3) stripe 4) stapleجمله:Her stubborn .................... may be one reason for her entrance into the New York City Marathon. Not everyone believes it’s wise for her to run so soon after that terrible accident.لجاجت سرسختانه‌اش ممکن است یکی از دلایل شرکت او در ماراتن نیویورک باشد. همه معتقد نیستند که دویدن این‌قدر زود بعد از آن تصادف وحشتناک، کار عاقلانه‌ای است.بررسی گزینه‌ها:strike = اعتصاب / ضربه ❌→ هیچ‌کدام معنی موردنظر را نمی‌دهد.streak ✅→ &quot;a stubborn streak&quot; = نوعی ویژگی ذاتی لجوج و سرسخت بودن→ کاملاً طبیعی و رایج:She has a rebellious streak. He has a competitive streak. She has a stubborn streak.3. stripe = نوار، خط رنگی (مثل راه‌راه لباس یا علامت نظامی) ❌4. staple = ماده‌ی اصلی / منگنه ❌→ بی‌ربط به جمله.32- In many cases, the statute does not say precisely what agencies should do, giving themconsiderable .................... in interpreting the law and developing regulations.1) latitude 2) remuneration 3) blandishment 4) conflationجمله:In many cases, the statute does not say precisely what agencies should do, giving them considerable .................... in interpreting the law and developing regulations.در بسیاری از موارد، قانون به‌طور دقیق مشخص نمی‌کند که آژانس‌ها باید چه کاری انجام دهند و به آن‌ها آزادی عمل قابل توجهی در تفسیر قانون و تدوین مقررات می‌دهد.بررسی گزینه‌ها:latitude ✅→ به معنای آزادی عمل، گستره اختیارات→ استفاده کاملاً رایج در زمینه‌های حقوقی و اداری:The agency was given considerable latitude in interpreting the new tax law.2. remuneration = دستمزد / حق‌الزحمه ❌→ بی‌ربط به مفهوم آزادی عمل3. blandishment = چاپلوسی / تملق ❌→ کاملاً نامرتبط4. conflation = ادغام / ترکیب دو مفهوم ❌→ ربطی به &quot;آزادی عمل&quot; ندارد33- Political analysts said that it reflected the .................... nature of this rebellion—that is, itwas not a well-formed coup but a protest without a plan or internal organization.1) facetious 2) inchoate 3) peremptory 4) panegyricجمله:Political analysts said that it reflected the .................... nature of this rebellion—that is, it was not a well-formed coup but a protest without a plan or internal organization.تحلیل‌گران سیاسی گفتند که این نشان‌دهنده‌ی ماهیتِ ............ این شورش بود — یعنی نه یک کودتای سازمان‌یافته، بلکه اعتراضی بدون طرح و سازمان داخلی.بررسی گزینه‌ها:facetious = شوخ‌طبع، طنزآمیز ❌→ بی‌ربط به ماهیتِ سازمان‌نیافته یا خامinchoate ✅→ به معنای ناتمام، آغازین، خام و ناقص→ دقیقاً منطبق با عبارت &quot;not a well-formed coup but a protest without a plan or internal organization&quot;peremptory = قاطع، تحکم‌آمیز ❌→ معمولاً درباره لحن یا دستور استفاده می‌شود، نه درباره &quot;ماهیت شورش&quot;panegyric = مدح‌نامه، ستایش‌نامه ❌→ ربطی به موضوع ندارد34- If you stay up late at night, you may fall into a loop of ....................—or repetitive intrusivethoughts with no satisfactory outcome.1) circumlocution 2) insomnia 3) rumination 4) debacleجمله:If you stay up late at night, you may fall into a loop of .................... — or repetitive intrusive thoughts with no satisfactory outcome.اگر شب‌ها تا دیر وقت بیدار بمانی، ممکن است وارد چرخه‌ای از ............... شوی — یا همان افکار مزاحم و تکرارشونده‌ای که پایان رضایت‌بخشی ندارند.بررسی گزینه‌ها:circumlocution = اطناب، پرگویی غیرمستقیم ❌→ ربطی به افکار مزاحم یا تکراری ذهنی نداردinsomnia = بی‌خوابی ❌→ یک اختلال خواب است، نه نوعی تفکر تکراریrumination ✅→ به معنای نشخوار ذهنی یا تفکر وسواسی و تکرارشونده→ دقیقاً مطابق با توضیح جمله: &quot;repetitive intrusive thoughts with no satisfactory outcome&quot;debacle = فاجعه، شکست شدید ❌→ بی‌ربط به معنای چرخه‌ی فکری یا ذهنی35- His account of the siege of Jericho is completely .................... by his apparent ignorance of the British excavations of a decade ago which proved that the so-called “walls of Jericho”are actually a thousand years older than the time of Joshua.1) corroborated 2) stratified 3) exculpated 4) vitiatedجمله:His account of the siege of Jericho is completely .................... by his apparent ignorance of the British excavations of a decade ago which proved that the so-called “walls of Jericho” are actually a thousand years older than the time of Joshua.شرح او از محاصره‌ی اریحا کاملاً ............... شده است به‌خاطر نادانی آشکارش نسبت به حفاری‌های بریتانیایی ده سال پیش که نشان داد دیوارهای معروف اریحا در واقع هزار سال قدیمی‌تر از زمان یوشع هستند.بررسی گزینه‌ها:corroborated = تأیید شده ❌→ یعنی روایتش تأیید شده، در حالی‌که جمله می‌گوید روایتش غلط از آب در آمدهstratified = لایه‌لایه شده، طبقه‌بندی شده ❌→ هیچ ارتباطی با بی‌اعتبار شدن یا صحت تاریخی نداردexculpated = تبرئه شده ❌→ به معنی رفع اتهام است، که با ضعف در اطلاعات تاریخی بی‌ربط استvitiated ✅→ به معنای فاسد شده، بی‌اعتبار یا ضعیف شده→ دقیقاً متناسب با اینکه نادانی‌اش باعث شده روایتش مخدوش و بی‌ارزش شود#گرامر #کنکور #زبان #کنکور 1404علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Sat, 03 May 2025 11:16:26 +0330</pubDate>
            </item>
                    <item>
                <title>تحلیل کنکور زبان بخش اول (گرامر) 1404 با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%DA%A9%D9%86%DA%A9%D9%88%D8%B1-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-%DA%AF%D8%B1%D8%A7%D9%85%D8%B1-1404-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-ukhuvboiwk98</link>
                <description>Part A: GrammarDirections: Questions 1-15 are incomplete sentences. Beneath each sentence, you willsee four options (1), (2), (3), and (4). Choose the option that best completes thesentence. Then mark the correct choice on your answer sheet.1- Writing a research paper is generally ................... difficult as teaching at university; thatis, their levels of difficulty are similar.1) enough 2) too 3) such 4) asجمله رو با هم بررسی کنیم:Writing a research paper is generally ................... difficult as teaching at university; that is, their levels of difficulty are similar.ترجمه تقریبی:نوشتن یک مقاله تحقیقاتی معمولاً به اندازه‌ی تدریس در دانشگاه سخت است؛ یعنی سطح سختی آن‌ها مشابه است.این جمله از ساختار مقایسه‌ای استفاده می‌کند:as + adjective + as → به اندازه‌ی ... که ...و چون در جمله داریم:... as teaching at universityپس قبل از &quot;as&quot; باید یک صفت + as بیاد. در اینجا صفت ما &quot;difficult&quot; هست، پس نیاز داریم به:✅ as difficult asبررسی گزینه‌ها:enough  اشتباهه؛ چون &quot;enough&quot; بعد از صفت میاد و به معنی &quot;به اندازه کافی&quot; هست، ولی اینجا ساختار &quot;as ... as&quot; می‌خوایم.2. too ❌اشتباهه؛ &quot;too difficult&quot; یعنی &quot;بیش از حد سخت&quot; و ساختار مقایسه‌ای باهاش نمی‌سازیم.3.such → &quot;such&quot; معمولاً با اسم به‌کار می‌ره، مثل: such a difficult task، ولی ما اینجا صفت تنها داریم.4.as → دقیقاً همون چیزیه که نیاز داریم: as difficult asپس قبل از&quot;as&quot; باید یک صفت as +بیاد. در اینجا صفت ما &quot;difficult&quot; هست، پس نیاز داریم به:✅ as difficult asبررسی گزینه‌ها:1. enough ❌ اشتباهه؛ چون &quot;enough&quot; بعد از صفت میاد و به معنی &quot;به اندازه کافی&quot; هست، ولی اینجا ساختار &quot;as ... as&quot; می‌خوایم.2. too ❌ اشتباهه؛ &quot;too difficult&quot; یعنی &quot;بیش از حد سخت&quot; و ساختار مقایسه‌ای باهاش نمی‌سازیم.3. such ❌ → &quot;such&quot; معمولاً با اسم به‌کار می‌ره، مثلsuch a difficult task، ولی ما اینجا صفت تنها داریم.4. as ✅ → دقیقاً همون چیزیه که نیاز داریم: as difficult as2- Whenever I cannot understand the meaning of a word, I look it .................... in a dictionaryso that I can understand what the book is saying.1) down 2) after 3) for 4) upبیایم جمله رو بررسی کنیم:Whenever I cannot understand the meaning of a word, I look it .................... in a dictionary so that I can understand what the book is saying.ترجمه:هر وقت معنی یک کلمه را نمی‌فهمم، آن را در فرهنگ لغت ... می‌کنم تا بفهمم کتاب چه می‌گوید.فعل عبارتی (Phrasal Verb) مورد نظر اینه:look up (something) → جست‌وجو کردن معنی یا اطلاعات درباره چیزی (مخصوصاً در فرهنگ لغت یا اینترنت)❗ نکته: چون ضمیر &quot;it&quot; داریم، باید بین فعل و حرف اضافه بیاد: look it upبررسی گزینه‌ها:down ❌→ &quot;look down&quot; معمولاً به معنی تحقیر کردنه (مثلاً: look down on someone).after ❌→ &quot;look after&quot; یعنی مراقبت کردن از کسی.for ❌→ &quot;look for&quot; یعنی دنبال چیزی گشتن، ولی برای پیدا کردن معنی در دیکشنری نیست.up ✅→ &quot;look up&quot; یعنی جست‌وجوی معنی در دیکشنری. look it up in a dictionary3- To know his perspective on time .................... during the pandemic, and what we can doabout it, I spoke to Tim Urban, the author of the blog “Wait But Why.”1) lost 2) are lost 3) to lose 4) which losesبیایم با هم جمله رو بررسی کنیم:To know his perspective on time .................... during the pandemic, and what we can do about it, I spoke to Tim Urban, the author of the blog “Wait But Why.”ترجمه:برای اینکه دیدگاه او را درباره‌ی زمانی که در دوران پاندمی ... بشناسیم، و اینکه چه کاری می‌توانیم درباره‌اش انجام دهیم، من با &quot;تیم اوربن&quot; نویسنده‌ی وبلاگ &quot;Wait But Why&quot; صحبت کردم.ما دنبال یک ساختار طبیعی هستیم که به این معنی برسه: زمانی که از دست رفت / زمان از دست‌رفته در دوران پاندمیپس به یک عبارت اسمی یا وصفی نیاز داریم که &quot;time&quot; رو توصیف کنه. ساختار صحیح در اینجا به صورت زیره:time lost during the pandemicدر اینجا &quot;lost&quot; به‌صورت past participle استفاده شده و به صورت صفتی (adjective) برای &quot;time&quot; عمل می‌کنه.بررسی گزینه‌ها:lost ✅→ درست‌ترین گزینه‌ست. چون معنی &quot;زمانی که از دست رفت&quot; رو می‌رسونه و از نظر گرامری هم درسته.are lost ❌→ ساختار فعل کامل نیست و جمله رو خراب می‌کنه.to lose ❌→ &quot;to lose&quot; معنی &quot;از دست دادن&quot; می‌ده، ولی در اینجا ما نیاز به شکل صفت‌گونه داریم نه مصدر.which loses ❌→ زمان نمی‌تونه &quot;چیزی رو از دست بده&quot;، بلکه &quot;زمانی هست که از دست رفته&quot;.4- After their meeting, they became closer friends and he thought he could talk ....................about his problems to his friend.1) little 2) a little 3) several 4) anyبیایم جمله رو با هم بررسی کنیم:After their meeting, they became closer friends and he thought he could talk .................... about his problems to his friend.ترجمه:بعد از دیدارشان، آن‌ها دوستان صمیمی‌تری شدند و او فکر کرد که می‌تواند کمی درباره مشکلاتش با دوستش صحبت کند.ما اینجا به کلمه‌ای نیاز داریم که مقدار کمی از &quot;صحبت کردن&quot; یا &quot;صحبت&quot; رو نشون بده. چون &quot;talk&quot; فعلی هست که به صورت غیرقابل شمارش (uncountable) در این کاربرد میاد، کلمه‌ای که باید بیاد باید برای مقدار غیرقابل شمارش مناسب باشه.بررسی گزینه‌ها:little ❌→ وقتی به‌تنهایی استفاده بشه، بار منفی داره؛ یعنی &quot;خیلی کم&quot; یا &quot;تقریباً هیچی&quot; → نه مناسب این جمله.a little ✅→ یعنی &quot;مقداری (مثبت)&quot; و برای اسم‌های غیرقابل شمارش (مثل talk, help, water) به کار میره. دقیقاً مناسب این جمله‌ست.several ❌→ برای اسم‌های قابل شمارش استفاده میشه، مثل several books، ولی &quot;talk&quot; در این معنی غیرقابل شمارشه.any ❌→ معمولاً در جملات منفی یا سوالی استفاده میشه. اینجا جمله مثبت هست.5- This is the process .................... the seller can be sure that the Bitcoins he or she is receiving are real.1) by which 2) by that 3) that 4) for itبیایم جمله رو با هم بررسی کنیم:This is the process .................... the seller can be sure that the Bitcoins he or she is receiving are real.ترجمه:این فرآیندی است که فروشنده می‌تواند مطمئن باشد بیت‌کوین‌هایی که دریافت می‌کند واقعی هستند.در این جمله، نیاز به یک ضمیر رابطه‌ای (relative pronoun) داریم که جمله‌ی دوم (the seller can be sure...) رو به اسم اول (the process) وصل کنه.بررسی گزینه‌ها:by which ✅→ ساختار درستیه: &quot;This is the process by which X happens&quot;→ یعنی: &quot;این فرآیندی است که از طریق آن فروشنده مطمئن می‌شود...&quot;by that ❌→ در انگلیسی رسمی، «by that» بعد از اسم به کار نمی‌رود. گرامری نیست.that ❌→ فقط &quot;that&quot; برای اتصال کافی نیست، چون فعل داخل جمله فرعی نیاز به حرف اضافه‌ی by داره:→ you can&#x27;t say &quot;the process that the seller can be sure...&quot; بدون &quot;by&quot;.for it ❌→ گرامری و ساختاری اشتباهه.6- New Year holidays are in just a few weeks and I look forward ................... time with family.1) that spending 2) to spending 3) to spend 4) for to spendبیایم جمله رو با هم تحلیل کنیم:New Year holidays are in just a few weeks and I look forward ................... time with family.در این جمله فعل اصلی ما هست:✅ look forward toاین عبارت همیشه با to + gerund (فعل با ing) همراهه.بررسی گزینه‌ها:that spending ❌→ &quot;that&quot; اضافیه و ساختار رو اشتباه می‌کنه.to spending ✅→ کاملاً درسته.→ look forward to + spending = منتظر گذراندن (وقت) هستم.to spend ❌→ بعد از &quot;look forward to&quot; باید فعل با -ing بیاد، نه مصدر ساده.for to spend ❌→ غلط گرامریه. &quot;for to&quot; وجود نداره در این ساختار.7- .................... for the villagers who rallied to save it, the lighthouse would have beenauctioned off decades ago.1) Whether or not was 2) If there wasn’t3) Were it not 4) Given thatجمله کامل اینه:&quot;.................... for the villagers who rallied to save it, the lighthouse would have been auctioned off decades ago.&quot;یعنی:«اگر حمایت روستاییانی که برای نجات آن جمع شدند نبود، فانوس دریایی دهه‌ها پیش به حراج گذاشته می‌شد.»در اینجا ما با یک جمله شرطی نوع سوم یا ساختار مشابه سروکار داریم، که درباره‌ی وضعیتی فرضی در گذشته صحبت می‌کنه.حالا بیایم گزینه‌ها رو بررسی کنیم:1) Whether or not was → این ساختار اشتباهه. از نظر گرامری هم نادرسته. فعل کمکی &quot;was&quot; نباید بعد از &quot;whether or not&quot; بیاد به این شکل.2) If there wasn’t → نه‌ تنها ساختار شرطی نوع سوم نیست، بلکه با &quot;there wasn’t&quot; بعدش باید جمله زمان گذشته ساده داشته باشه، در حالی که ما در جمله دوم از ساختار گذشته کامل (would have been) استفاده کردیم. پس این هم رد می‌شه.3) Were it not ✅این یک ساختار ادبی و معادل با &quot;If it were not&quot; هست.&quot;Were it not for the villagers&quot; یعنی:«اگر حمایت روستاییان نبود...»و دقیقاً همون معنی مورد نظر رو می‌ده.4) Given that → یعنی &quot;با توجه به اینکه&quot;، ولی توی این جمله معنی نمی‌ده. چون جمله داره از یک حالت فرضی در گذشته صحبت می‌کنه، نه بیان واقعیت.8- You always need cash flow to stay in business, .................... you often hear the phrase “cash is king.”1) because that 2) that is due to 3) as for what 4) which is whyجمله اینه:You always need cash flow to stay in business, .................... you often hear the phrase “cash is king.”یعنی:«تو همیشه به جریان نقدی نیاز داری تا در کسب‌وکار باقی بمونی، برای همین معمولاً می‌شنوی که می‌گن &quot;پول نقد پادشاهه&quot;.»بیایم گزینه‌ها رو بررسی کنیم:1) because thatاین ساختار اشتباهه و جمله‌ت رو از نظر گرامری خراب می‌کنه. بعد از ویرگول استفاده از &quot;because that&quot; در این شکل معنی نداره و از نظر معنایی هم روان نیست.2) that is due toاین ساختار هم نیاز به جمله‌ای قبل از خودش داره که در اون «چیزی» اتفاق افتاده باشه که بخوایم بگیم «به خاطر اون چیز»... اما اینجا دنبال دلیل شنیدن عبارت &quot;cash is king&quot; هستیم، نه توجیه خودش.3) as for whatاین ساختار توی زبان رسمی کمتر استفاده می‌شه و اینجا اصلاً کاربردی نداره. چون داره یه توضیح اضافه درباره جمله قبل می‌ده، ولی ما دنبال یه اتصال علت و معلولی هستیم.4) which is why ✅این دقیقاً همون چیزیه که لازم داریم.&quot;Which is why&quot; یعنی «به همین دلیله که...»ساختار درست و طبیعی و رایجی هست.9- They prefer depositing their money in a single account .................... it in several differentones.1) than putting 2) and to put 3) to putting 4) that putجمله اینه:They prefer depositing their money in a single account .................... it in several different ones.یعنی:«آن‌ها ترجیح می‌دهند پول‌شان را در یک حساب بگذارند تا اینکه در چند حساب مختلف بگذارند.»حالا بیایم گزینه‌ها رو بررسی کنیم:1) than putting ✅اینجا فعل اول &quot;depositing&quot; هست، یعنی از gerund استفاده شده. وقتی از فعل با -ing استفاده کنیم، باید بعد از اون هم همون ساختار بیاد.بنابراین: prefer + -ing … than + -ingدرست و رایجه.✅ They prefer depositing … than putting2) and to putاگر جمله اول با to + verb بود (مثلاً &quot;to deposit&quot;)، این ساختار شاید درست بود. ولی الان جمله با &quot;depositing&quot; اومده، پس باید سازگار باشه. بنابراین این گزینه غلطه.3) to putting&quot;Prefer … to …&quot; ممکنه به نظرت برسه درسته، اما اون بیشتر زمانی کاربرد داره که دو تا اسم یا gerund بدون مقایسه مستقیم بینشون آورده بشن.مثلاً:I prefer tea to coffee.ولی اینجا ما داریم دو عمل رو مقایسه می‌کنیم. پس باید از &quot;than&quot; استفاده بشه.4) that putکاملاً اشتباهه و از نظر ساختار و معنی هم نمی‌خوره.10- She won’t stop talking about conspiracy theories, .................... my attempts to explain that they are false and dangerous.1) despite 2) though 3) in spite 4) contraryجمله اینه:She won’t stop talking about conspiracy theories, .................... my attempts to explain that they are false and dangerous.یعنی:«او صحبت کردن درباره‌ی تئوری‌های توطئه را متوقف نمی‌کنه، با وجود تلاش‌های من برای توضیح اینکه آن‌ها نادرست و خطرناک هستند.»بیایم گزینه‌ها رو با دقت بررسی کنیم:1) despite ✅&quot;Despite + noun / gerund&quot; ساختار درستیه.&quot;Despite my attempts...&quot; یعنی «با وجود تلاش‌های من...»جمله کاملاً درسته و معنی طبیعی و درست داره.✅ She won’t stop talking…, despite my attempts...2) though&quot;Though&quot; معمولاً در نقش حرف ربط (conjunction) میاد، نه به‌صورت عبارت جدا با اسم بعدش.برای مثال:She won’t stop talking, though I tried to explain...اما در این جمله، بعد از جای خالی قراره &quot;my attempts&quot; بیاد، نه یه جمله کامل، پس این ساختار اشتباهه.3) in spiteناقصه! ساختار درستش هست: &quot;in spite of + noun / gerund&quot;نه &quot;in spite&quot; به‌تنهایی.مثلاً اگه این گزینه بود: &quot;in spite of&quot;، می‌شد درست باشه.پس چون &quot;of&quot; نداره، ❌ اشتباهه.4) contrary&quot;Contrary&quot; به‌تنهایی نمی‌تونه بیاد. باید بگیم مثلاً: &quot;Contrary to my attempts&quot; یا &quot;On the contrary&quot; در مفهوم دیگری.ولی در اینجا این ساختار ناقص و اشتباهه.11- Each member contributes original musical compositions to the group, .................... theirfriend and mentor, Mr. Coleman.1) has so 2) as does 3) as do 4) have done soسؤال بسیار خوبی درباره‌ی هم‌ارزی و تطبیق فعل با فاعل در زبان انگلیسیه. بیایم جمله رو دقیق بررسی کنیم:جمله:Each member contributes original musical compositions to the group, .................... their friend and mentor, Mr. Coleman.ترجمه:هر عضو، آثار موسیقیایی اورجینال به گروه ارائه می‌ده، همان‌طور که دوست و مربی‌شان آقای کولمن نیز چنین می‌کند.تحلیل:عبارت دوم داره عمل مشابهی با جمله اول رو بیان می‌کنه، پس نیاز به یک ساختار &quot;as do/does&quot; داریم، که یعنی: &quot;just as [someone] does&quot;و چون Mr. Coleman مفرد هست، فعل باید با اون مطابقت داشته باشه.بررسی گزینه‌ها:1) has so❌ اشتباهه.&quot;Has so&quot; ساختار درستی نیست در این معنا.2) as does ✅✅ کاملاً درست.&quot;as does Mr. Coleman&quot; یعنی:«همان‌طور که آقای کولمن هم چنین می‌کند.»کاملاً با ساختار و معنی جمله هماهنگه.3) as do❌ اشتباهه.&quot;Do&quot; برای فاعل‌های جمع استفاده می‌شه، مثل:&quot;as do the other members&quot;ولی Mr. Coleman مفرده، پس باید &quot;does&quot; بیاد، نه &quot;do&quot;.4) have done so❌ از لحاظ زمانی و ساختاری اشتباهه. چون جمله در حال ساده‌ست و &quot;have done so&quot; حالت حال کامل داره، که با &quot;contributes&quot; نمی‌خونه.12- .................... extensively in Eastern Europe, I can say with great pride that Bulgaria isexquisitely beautiful.1) I traveled 2) That I traveling3) Having traveled 4) As was travelingاین سؤال مربوط به افعال غیرشخصی و ساختارهای مقدم بر جمله اصلی (Introductory Clauses) هست که خیلی در نوشتار رسمی و توصیفی کاربرد دارن.جمله:.................... extensively in Eastern Europe, I can say with great pride that Bulgaria is exquisitely beautiful.ترجمه‌ی جمله:«با سفر گسترده به اروپای شرقی، می‌تونم با افتخار بگم که بلغارستان فوق‌العاده زیباست.»اینجا نیاز به ساختاری داریم که معنی «بعد از اینکه من زیاد سفر کردم» یا «با این سابقه‌ که سفر کردم» بده.بررسی گزینه‌ها:1) I traveled❌ اشتباهه، چون این ساختار نمی‌تونه در ابتدای جمله به‌صورت بی‌فاعل بیاد.مثلاً نمی‌گیم: &quot;I traveled..., I can say...&quot; به این شکل در این نوع ساختار رسمی، جمله غلط محسوب می‌شه.2) That I traveling❌ نادرسته.&quot;That I traveling&quot; ساختار دستوری نداره. نه فاعل با فعل هماهنگه، نه معنی می‌ده.3) Having traveled ✅✅ این ساختار درسته.&quot;Having + past participle&quot; برای نشون دادن عملی که قبل از فعل اصلی اتفاق افتاده استفاده می‌شه.یعنی: &quot;بعد از اینکه سفر کردم&quot; یا &quot;با سفر قبلی من...&quot;Having traveled extensively in Eastern Europe, I can say with great pride...ساختار درست و معنی کاملاً منطقی و رسمی داره.4) As was traveling❌ اشتباهه.&quot;As was traveling&quot; نیاز به فاعل داره (مثلاً: &quot;as I was traveling&quot;)، و همچنین زمان و ساختار جمله به این صورت نمی‌خوره.13- Technical hiccups ...................., the evening felt very smooth and everybody was pleasedand happy.1) notwithstanding 2) nonetheless 3) otherwise 4) neverthelessبیایم جمله رو دقیق بررسی کنیم:جمله:Technical hiccups ...................., the evening felt very smooth and everybody was pleased and happy.ترجمه:با وجود مشکلات فنی، شب بسیار روان گذشت و همه راضی و خوشحال بودند.تحلیل ساختار:ما به یک واژه‌ی ربط یا قید نیاز داریم که بتونه معنی «با وجود...» یا «علی‌رغم...» رو برسونه، و در عین حال در ابتدای جمله بیاد و به‌درستی با عبارت &quot;Technical hiccups&quot; ترکیب بشه.بررسی گزینه‌ها:1) notwithstanding ✅✅ درست‌ترین گزینه است.&quot;Notwithstanding&quot; به معنی &quot;با وجودِ&quot; یا &quot;علی‌رغمِ&quot; هست و می‌تونه بعد از اسم هم بیاد:Technical hiccups notwithstanding, the evening felt very smooth...یعنی: «با وجود مشکلات فنی، شب روان گذشت...»این یک ساختار ادبی و رسمی ولی کاملاً طبیعی در نوشتار و گفتار جدی‌ست.2) nonetheless ❌غلطه، چون &quot;nonetheless&quot; یک قید مستقله، باید در جمله‌ای مثل زیر بیاد:There were technical hiccups. Nonetheless, the evening felt smooth.ولی در این سؤال، جایگاهش در ابتدای جمله با یک اسم نیست، پس نمی‌خوره.3) otherwise ❌&quot;Otherwise&quot; به معنی &quot;در غیر این صورت&quot; هست و معنای جمله رو تغییر می‌ده.4) nevertheless ❌همون مشکل گزینه ۲. &quot;Nevertheless&quot; هم قیدیه که به جمله‌ی قبلی ارجاع می‌ده، نه اینکه کنار یک اسم بیاد.14- Last week, the UN security council passed a resolution calling for an immediate ceasefirein the war-torn region, .................... .1) where the militants didn’t manage abiding by2) where the militants have yet to abide for3) which the militants failed in abiding for4) which the militants have not abided byبیایم دقیق و گام‌به‌گام بررسی کنیم:جمله:Last week, the UN security council passed a resolution calling for an immediate ceasefire in the war-torn region, .................... .ترجمه‌ی تقریبی جمله:هفته‌ی گذشته، شورای امنیت سازمان ملل قطعنامه‌ای برای آتش‌بس فوری در منطقه‌ی جنگ‌زده تصویب کرد، [اما گروه‌های شبه‌نظامی هنوز به آن پایبند نبوده‌اند].بنابراین، به دنبال گزینه‌ای هستیم که از نظر گرامری درست باشه و معنای «شبه‌نظامیان هنوز از آن تبعیت نکرده‌اند» رو برسونه.بررسی گزینه‌ها:1) where the militants didn’t manage abiding by ❌– غلطه.– &quot;manage&quot; باید با to + verb بیاد:✅ &quot;didn’t manage to abide by&quot;اینجا هم ترکیب &quot;abiding by&quot; غلطه، هم &quot;where&quot; از لحاظ معنا مناسب نیست، چون درباره‌ی قطعنامه (resolution) صحبت می‌کنیم، نه مکان.2) where the militants have yet to abide for ❌– غلطه.– فعل &quot;abide&quot; وقتی به معنی &quot;تبعیت کردن&quot; یا &quot;پایبند بودن&quot; به کار می‌ره، با &quot;by&quot; میاد، نه &quot;for&quot;.✅ باید باشه: &quot;abide by&quot;و باز هم &quot;where&quot; غلطه چون ما درباره‌ی resolution (یک چیز، نه مکان) صحبت می‌کنیم.3) which the militants failed in abiding for ❌– غلطه.– &quot;fail in&quot; معمولاً با اسم میاد، نه با abiding به این صورت.و باز هم &quot;abiding for&quot; اشتباهه.✅ درستش می‌تونست باشه: &quot;failed to abide by&quot;4) which the militants have not abided by ✅– کاملاً درسته.– &quot;which&quot; به قطعنامه (resolution) اشاره داره.– &quot;have not abided by&quot; یعنی «هنوز تبعیت نکرده‌اند».– ساختار زمان حال کامل (have not abided) کاملاً مناسب موقعیتیه که در گذشته شروع شده و تا الان ادامه دارد.15- The incident spurred him and other students into action .................... a consequentialeffect on their education.1) for making their campus to include indigenous students having2) to make their campus inclusive of indigenous students and have3) to make their campus including as indigenous students who have4) for making their inclusive indigenous campus by students havingبیایم جمله رو دقیق بررسی کنیم:جمله اصلی:The incident spurred him and other students into action .................... a consequential effect on their education.ترجمه تقریبی:آن اتفاق او و سایر دانشجویان را به واکنش واداشت، [و این واکنش] تأثیر مهمی بر آموزش آن‌ها داشت.ما به عبارتی نیاز داریم که ادامه‌ی جمله باشه، هدف از آن اقدام را بیان کنه، و از نظر ساختار گرامری و معنایی، روان و صحیح باشه.بررسی گزینه‌ها:1) for making their campus to include indigenous students having ❌– غلطه.– &quot;for making&quot; در این ساختار طبیعی نیست (باید &quot;to make&quot; باشه).– &quot;to include ... having&quot; هم از لحاظ گرامری نادرسته و مبهمه.2) to make their campus inclusive of indigenous students and have ✅– کاملاً درسته.– &quot;to make&quot; با فعل &quot;spurred into action&quot; هم‌خوانی داره:spurred them into action to do something– &quot;inclusive of indigenous students&quot; یعنی: شامل و پذیرای دانشجویان بومی– &quot;and have a consequential effect on their education&quot; یعنی: و تأثیر مهمی بر آموزششان داشته باشد✔️ از نظر معنا و دستور زبان، این گزینه هم روانه، هم دقیق.3) to make their campus including as indigenous students who have ❌– ساختار &quot;including as&quot; نادرسته.– ادامه جمله هم مبهم و ناقصه: &quot;students who have&quot; چی؟ فعل اصلی جمله نیست.4) for making their inclusive indigenous campus by students having ❌– بسیار اشتباه.– ساختار &quot;for making ... by students having&quot; اصلاً معنا نداره.– هم از نظر معنا، هم از نظر گرامر غیرطبیعیه.@alikhosroshahi_notesعلی برادر خدام خسروشاهی#گرامر #کنکور #زبان #کنکور 1404</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Sat, 03 May 2025 10:47:22 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت هشتم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D9%87%D8%B4%D8%AA%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-kytlida4kkwq</link>
                <description>LeetCode75334. Increasing Triplet SubsequenceGiven an integer array nums, return true if there exists a triple of indices (i, j, k) such that i &lt; j &lt; k and nums[i] &lt; nums[j] &lt; nums[k]. If no such indices exists, return false.Example 1:Input: nums = [1,2,3,4,5]
Output: true
Explanation: Any triplet where i &lt; j &lt; k is valid.Example 2:Input: nums = [5,4,3,2,1]
Output: false
Explanation: No triplet exists.Example 3:Input: nums = [2,1,5,0,4,6]
Output: true
Explanation: The triplet (3, 4, 5) is valid because nums[3] == 0 &lt; nums[4] == 4 &lt; nums[5] == 6.Constraints:1 &lt;= nums.length &lt;= 5 * 105-231 &lt;= nums[i] &lt;= 231 - 1📌 یافتن سه‌تایی افزایشی در O(n)هدف: بررسی کنیم که آیا در آرایه‌ی nums سه عدد به ترتیب افزایشی (nums[i] &lt; nums[j] &lt; nums[k] با i &lt; j &lt; k) وجود دارد یا نه.ایده‌ی اصلی (دو عدد حداقلی نگه می‌داریم)✅ روش بهینه:دو مقدار **کوچک‌ترین (first) و دومین کوچک‌ترین (second) عددی که تاکنون دیده‌ایم را نگه می‌داریم.هر عددی که بزرگ‌تر از این دو مقدار باشد، ثابت می‌کند که یک سه‌تایی افزایشی وجود دارد.✅ چرا این روش O(n) است؟چون فقط یک بار روی آرایه حرکت می‌کنیم و مقدار first و second را در هر مرحله به‌روز می‌کنیم.📌 مراحل الگوریتممقدار اولیه:دو متغیر first و second را مقداردهی اولیه می‌کنیم (∞ یعنی مقدار بسیار بزرگ).first = کوچک‌ترین مقدار دیده‌شده تاکنون.second = دومین کوچک‌ترین مقدار دیده‌شده تاکنون.پیمایش آرایه (nums)برای هر عدد num در nums:اگر num از first کوچک‌تر یا مساوی بود، مقدار first را به‌روز کن (first = num).در غیر این صورت، اگر num از second کوچک‌تر یا مساوی بود، مقدار second را به‌روز کن (second = num).در غیر این صورت، اگر num از second بزرگ‌تر بود، یعنی یک triplet پیدا شده است → مقدار True را برگردان.اگر تا پایان پیمایش هیچ tripletای پیدا نشد، False را برگردان.📌 پیاده‌سازی کد:class Solution:def increasingTriplet(self, nums):# کوچک‌ترین مقدارfirst = float(&#x27;inf&#x27;)# دومین کوچک‌ترین مقدارsecond = float(&#x27;inf&#x27;)for num in nums:# مقدار جدید از first کوچک‌تر است → first را آپدیت کنfirst = num# مقدار جدید بین first و second است → second را آپدیت کنsecond = numelse:# مقدار جدید بزرگ‌تر از first و second است → سه‌تایی یافت شدreturn True# اگر کل آرایه را بررسی کردیم و پیدا نشدreturn False# علی برادر خدام خسروشاهی📌 پیچیدگی زمانی و فضایی✅ پیچیدگی زمانی: O(n) (چون فقط یک بار از چپ به راست حرکت می‌کنیم)✅ پیچیدگی فضایی: O(1) (فقط دو متغیر first و second را نگه می‌داریم)📌 نتیجه‌گیری🚀 این روش O(n)، بهینه‌ترین راه برای پیدا کردن یک سه‌تایی افزایشی در آرایه است.✔️ نیازی به دو حلقه تو در تو (O(n²)) یا مرتب‌سازی (O(n log n)) ندارد.✔️ فقط با دو مقدار حداقلی (first و second) کل آرایه را در یک دور پردازش می‌کنیم.علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Tue, 11 Mar 2025 11:21:02 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت هفتم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D9%87%D9%81%D8%AA%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-vcjuvq5yk77m</link>
                <description>LeetCode75238. Product of Array Except SelfGiven an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i].The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit integer.You must write an algorithm that runs in O(n) time and without using the division operation.Example 1:Input: nums = [1,2,3,4]
Output: [24,12,8,6]Example 2:Input: nums = [-1,1,0,-3,3]
Output: [0,0,9,0,0]Constraints:2 &lt;= nums.length &lt;= 105-30 &lt;= nums[i] &lt;= 30The input is generated such that answer[i] is guaranteed to fit in a 32-bit integer.📌 محصول آرایه به جز خود عنصر (O(n) بدون تقسیم)این سؤال می‌خواهد که برای هر عنصر آرایه، حاصل‌ضرب تمام عناصر دیگر محاسبه شود، اما بدون استفاده از عمل تقسیم.ما باید راهی پیدا کنیم که در زمان O(n) حل شود.📌 ایده‌ی اصلی (استفاده از دو آرایه‌ی prefix و suffix)✅ ایده‌ی کلی این است که برای هر عنصر nums[i]:حاصل‌ضرب همه عناصر قبل از آن (prefix product)حاصل‌ضرب همه عناصر بعد از آن (suffix product)سپس این دو مقدار را در هم ضرب کنیم.بدون نیاز به O(n²) یا تقسیم، این کار را در O(n) انجام می‌دهیم.📌 کد O(n) بدون تقسیم:class Solution:def productExceptSelf(self, nums):n = len(nums)# مقدار اولیه برای همه عناصر برابر ۱ است.answer = [1] * n# ۱. محاسبه‌ی محصولات Prefix از چپ به راستprefix = 1for i in range(n):answer[i] = prefix# مقدار prefix را به‌روزرسانی کنprefix *= nums[i]# ۲. محاسبه‌ی محصولات Suffix از راست به چپsuffix = 1for i in range(n - 1, -1, -1):# مقدار suffix را در مقدار فعلی answer[i] ضرب کنanswer[i] *= suffix# مقدار suffix را به‌روزرسانی کنsuffix *= nums[i]return answer# علی برادر خدام خسروشاهی📌 توضیح مرحله‌به‌مرحله✅ ۱. محاسبه‌ی prefix (محصول عناصر قبل از nums[i])prefix ابتدا ۱ است.هر بار مقدار prefix در nums[i] ضرب شده و در prefix بعدی ذخیره می‌شود.✅ ۲. محاسبه‌ی suffix (محصول عناصر بعد از nums[i])suffix ابتدا ۱ است.مقدار answer[i] در مقدار suffix ضرب شده و suffix به‌روزرسانی می‌شود.📌 پیچیدگی زمانی و فضایی✅ پیچیدگی زمانی: O(n) (دو بار عبور از آرایه)✅ پیچیدگی فضایی: O(1) (چون فقط از متغیرهای prefix و suffix استفاده کردیم و answer را از قبل داشتیم)📌 نتیجه‌گیریاین روش نیازی به O(n²) محاسبه‌ی ضرب ندارد.این روش نیازی به تقسیم (/) ندارد که در برخی موارد مشکل ایجاد می‌کند.این روش بهینه‌ترین روش O(n) برای این مسئله است. 🚀علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Sun, 09 Mar 2025 11:31:50 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت ششم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%B4%D8%B4%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-palifvf8czyt</link>
                <description>LeetCode75151. Reverse Words in a StringGiven an input string s, reverse the order of the words.A word is defined as a sequence of non-space characters. The words in s will be separated by at least one space.Return a string of the words in reverse order concatenated by a single space.Note that s may contain leading or trailing spaces or multiple spaces between two words. The returned string should only have a single space separating the words. Do not include any extra spaces.Example 1:Input: s = &amp;quotthe sky is blue&amp;quot
Output: &amp;quotblue is sky the&amp;quotExample 2:Input: s = &amp;quot  hello world  &amp;quot
Output: &amp;quotworld hello&amp;quot
Explanation: Your reversed string should not contain leading or trailing spaces.Example 3:Input: s = &amp;quota good   example&amp;quot
Output: &amp;quotexample good a&amp;quot
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.Constraints:1 &lt;= s.length &lt;= 104s contains English letters (upper-case and lower-case), digits, and spaces &#x27; &#x27;.There is at least one word in s.📌 تحلیل و فهم مسئلهما یک رشته s داریم که شامل چندین کلمه‌ی جداشده با فاصله‌ها (spaces) است. هدف ما:ترتیب کلمات را معکوس کنیم (کلمه‌های آخر بیاد اول و بالعکس).تمام فاصله‌های اضافی را حذف کنیم (فقط یک فاصله بین هر دو کلمه باشد).فاصله‌های اول و آخر را حذف کنیم.📌 روش حلتقسیم (split())رشته را با استفاده از split() بر اساس فاصله‌ها به یک لیست از کلمات تبدیل می‌کنیم.این کار تمام فاصله‌های اضافی را خودبه‌خود حذف می‌کند.معکوس‌سازی (reverse())لیست کلمات را برعکس می‌کنیم تا ترتیب موردنظر را بدست آوریم.ترکیب (join())از join() استفاده می‌کنیم تا کلمات را با یک فاصله به هم متصل کنیم.📌 کد پایتون (با کلاس Solution)class Solution:def reverseWords(self, s: str) -&gt; str:# تقسیم رشته به لیست کلمات (فضاهای اضافی حذف می‌شوند)words = s.split()# معکوس کردن لیستwords.reverse()# پیوستن کلمات با یک فاصله‌ی واحدreturn &quot; &quot;.join(words)📌 توضیح مرحله‌به‌مرحله کدsplit()s.split() رشته را به لیستی از کلمات تقسیم می‌کند و فاصله‌های اضافی را حذف می‌کند.✅ &quot;  hello world  &quot; → [&quot;hello&quot;, &quot;world&quot;]✅ &quot;a good   example&quot; → [&quot;a&quot;, &quot;good&quot;, &quot;example&quot;]reverse()لیست را معکوس می‌کنیم.✅ [&quot;hello&quot;, &quot;world&quot;] → [&quot;world&quot;, &quot;hello&quot;]✅ [&quot;a&quot;, &quot;good&quot;, &quot;example&quot;] → [&quot;example&quot;, &quot;good&quot;, &quot;a&quot;]join()کلمات را با یک فاصله در کنار هم قرار می‌دهیم.✅ [&quot;world&quot;, &quot;hello&quot;] → &quot;world hello&quot;✅ [&quot;example&quot;, &quot;good&quot;, &quot;a&quot;] → &quot;example good a&quot;📌 تحلیل زمانی و کارایی✅ پیچیدگی زمانی (O(n))split() و join() هر دو O(n) هستند.reverse() هم در O(n) اجرا می‌شود.در مجموع، پیچیدگی زمانی O(n) است.✅ پیچیدگی فضایی (O(n))چون split() یک لیست جدید ایجاد می‌کند، به اندازه O(n) فضا مصرف می‌شود.📌 روش جایگزین (با split(&quot; &quot;) و strip()))به جای split() که خودبه‌خود فاصله‌های اضافی را حذف می‌کند، می‌توانیم از split(&quot; &quot;) همراه با strip() استفاده کنیم.📌 ایده:1. ابتدا فاصله‌های ابتدا و انتهای رشته را حذف کنیم (strip()).2. سپس رشته را با split(&quot; &quot;) تقسیم کنیم (که باعث ایجاد لیستی شامل برخی &quot; &quot;های اضافی می‌شود).3. فقط کلمات غیرخالی را نگه داریم.4. معکوس کنیم و با یک فاصله join() کنیم.📌 کد جایگزین:class Solution:def reverseWords(self, s: str) -&gt; str:# حذف فاصله‌های اضافی و نگه‌داشتن کلمات معتبرwords = [word for word in s.strip().split(&quot; &quot;) if word]# معکوس کردن لیست و پیوند با فاصلهreturn &quot; &quot;.join(reversed(words))📌 توضیح مرحله‌به‌مرحله کد✅ strip()فاصله‌های اول و آخر رشته را حذف می‌کند. ورودی: &quot;  hello world  &quot; → خروجی: &quot;hello world&quot;✅ split(&quot; &quot;)این متد رشته را بر اساس تمام فاصله‌های بین کلمات تقسیم می‌کند (حتی فاصله‌های اضافی). ورودی: &quot;a good   example&quot; → خروجی: [&quot;a&quot;, &quot;good&quot;, &quot;&quot;, &quot;&quot;, &quot;example&quot;]✅ فیلتر کردن کلمات غیرخالی (if word)فقط کلمات معتبر را نگه می‌داریم. خروجی: [&quot;a&quot;, &quot;good&quot;, &quot;example&quot;]✅ reversed()لیست را معکوس می‌کنیم. خروجی: [&quot;example&quot;, &quot;good&quot;, &quot;a&quot;]✅ join(&quot; &quot;)کلمات را با یک فاصله به هم می‌چسبانیم. خروجی: &quot;example good a&quot;✅ نتیجه:هر دو روش کارآمدند، اما روش اول (split()) کوتاه‌تر و خواناتر است، درحالی‌که روش دوم در شرایط خاص کنترل بیشتری بر نحوه پردازش فاصله‌ها می‌دهد.علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Sat, 08 Mar 2025 11:03:58 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت پنجم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D9%BE%D9%86%D8%AC%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-kknjczypevlw</link>
                <description>LeetCode75345. Reverse Vowels of a StringGiven a string s, reverse only all the vowels in the string and return it.The vowels are &#x27;a&#x27;, &#x27;e&#x27;, &#x27;i&#x27;, &#x27;o&#x27;, and &#x27;u&#x27;, and they can appear in both lower and upper cases, more than once.Example 1:Input: s = &quot;IceCreAm&quot;Output: &quot;AceCreIm&quot;Explanation:The vowels in s are [&#x27;I&#x27;, &#x27;e&#x27;, &#x27;e&#x27;, &#x27;A&#x27;]. On reversing the vowels, s becomes &quot;AceCreIm&quot;.Example 2:Input: s = &quot;leetcode&quot;Output: &quot;leotcede&quot;Constraints:1 &lt;= s.length &lt;= 3 * 105s consist of printable ASCII characters.📌 تحلیل و فهم مسئلهما یه رشته s داریم و باید فقط حروف صدادار (vowels) داخلش رو برعکس کنیم، در حالی که بقیه حروف همون‌جوری باقی بمونن.🔠 حروف صدادار:حروف صدادار در زبان انگلیسی این‌ها هستن:&#x27;a&#x27;, &#x27;e&#x27;, &#x27;i&#x27;, &#x27;o&#x27;, &#x27;u&#x27;هم حروف کوچک (aeiou) و هم حروف بزرگ (AEIOU) جزو صدادارها حساب می‌شن.📌 چطور الگوریتمش رو بفهمیم؟برای حل این مسئله باید فقط جای حروف صدادار رو عوض کنیم.پس بهتره از یه روش استفاده کنیم که بدون جابه‌جایی غیرضروری، فقط صدادارها رو تغییر بده.✍️ مراحل حل مسئلهپیدا کردن همه‌ی حروف صدادار در رشته و ذخیره‌ی اون‌هایه لیست (vowels) درست می‌کنیم که فقط حروف صدادار s رو نگه داره.اون‌ها رو به ترتیب معکوس برمی‌گردونیم.حلقه‌ی دوم برای جایگزین کردن صدادارهایه لیست قابل تغییر از s می‌سازیم.وقتی به یه حرف صدادار رسیدیم، از لیست vowels مقدار جدید رو برمی‌داریم و جایگزین می‌کنیم.📌 کد پایتون (با کلاس Solution):class Solution:def reverseVowels(self, s: str) -&gt; str:vowels = {&#x27;a&#x27;, &#x27;e&#x27;, &#x27;i&#x27;, &#x27;o&#x27;, &#x27;u&#x27;, &#x27;A&#x27;, &#x27;E&#x27;, &#x27;I&#x27;, &#x27;O&#x27;, &#x27;U&#x27;}# چون رشته‌ها تغییرناپذیر هستن، تبدیل به لیست می‌کنیمs = list(s)# دو اشاره‌گر برای حرکت از ابتدا و انتهاleft, right = 0, len(s) - 1while left &lt; right:# حرکت به سمت راست تا وقتی که به صدادار برسیمwhile left &lt; right and s[left] not in vowels:left += 1# حرکت به سمت چپ تا وقتی که به صدادار برسیمwhile left &lt; right and s[right] not in vowels:right -= 1# اگر هنوز اشاره‌گرها عبور نکردن، جابه‌جا کنیمif left &lt; right:s[left], s[right] = s[right], s[left]left += 1right -= 1# تبدیل لیست به رشتهreturn &#x27;&#x27;.join(s)#علی برادر خدام خسروشاهی تصویر با کیفیت کد:https://khatamnovin.alikayh.workers.dev/download/BQACAgQAAxkDAAMOZ8rf_ynYoqHzZcpNmCBH-CGzapsAApwZAAJSkVlSkl2ETTsSikw2BA/documents/file_19.png 📌 توضیح مرحله‌به‌مرحله کدتعریف vowelsیه مجموعه (set) از حروف صدادار (کوچک و بزرگ) ایجاد کردیم.استفاده از set باعث می‌شه که چک کردن یه حرف خیلی سریع باشه (O(1)).تبدیل رشته به لیست رشته‌ها (str) قابل تغییر نیستن، پس اونا رو به لیست (list) تبدیل می‌کنیم تا بتونیم جایگزین کنیم.دو اشاره‌گر (left و right)left از اول رشته شروع می‌کنه.right از انتهای رشته شروع می‌کنه.هدف اینه که حروف صدادار رو از ابتدا و انتها پیدا کنیم و جایگزین کنیم.حلقه‌ی while برای جابه‌جایی حروف صداداراگر s[left] صدادار نبود، به جلو حرکت کن (left += 1)اگر s[right] صدادار نبود، به عقب حرکت کن (right -= 1)وقتی دو تا صدادار پیدا شد، جابه‌جا کن.برگرداندن لیست به رشته در نهایت &#x27;&#x27;.join(s) می‌زنیم تا لیست رو به رشته برگردونیم.📌 تحلیل زمانی و کارایی✅ پیچیدگی زمانی (O(n))چون فقط یه بار روی s حرکت می‌کنیم و در هر مرحله یکی از دو اشاره‌گر (left و right) جلو میره، حداکثر O(n) اجرا داره.✅ پیچیدگی فضایی (O(n))چون یک لیست کمکی برای s ساختیم، به اندازه O(n) فضا نیاز داریم.✅ راه‌حل سریع و بهینهاین روش نسبت به ذخیره و معکوس کردن مستقیم حروف صدادار بهتر و سریع‌تره، چون تعداد جابه‌جایی‌ها کمتره.📌 نتیجه‌گیری✅ ما یاد گرفتیم که چطور فقط حروف صدادار رو معکوس کنیم، بدون اینکه تغییری در بقیه رشته بدیم.✅ از دو اشاره‌گر (two pointers) استفاده کردیم که سرعت رو بهبود بخشید.✅ روش ما هم کارآمد (O(n)) و هم ساده بود و به راحتی روی رشته‌های طولانی هم اجرا می‌شه. 🚀😊علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Fri, 07 Mar 2025 15:25:39 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت چهارم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%DA%86%D9%87%D8%A7%D8%B1%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-ffy3lwlgneww</link>
                <description>LeetCode75605. Can Place FlowersYou have a long flowerbed in which some of the plots are planted, and some are not. However, flowers cannot be planted in adjacent plots.Given an integer array flowerbed containing 0&#x27;s and 1&#x27;s, where 0 means empty and 1 means not empty, and an integer n, return true if n new flowers can be planted in the flowerbed without violating the no-adjacent-flowers rule and false otherwise.Example 1:Input: flowerbed = [1,0,0,0,1], n = 1
Output: trueExample 2:Input: flowerbed = [1,0,0,0,1], n = 2
Output: falseConstraints:1 &lt;= flowerbed.length &lt;= 2 * 104flowerbed[i] is 0 or 1.There are no two adjacent flowers in flowerbed.0 &lt;= n &lt;= flowerbed.lengthتحلیل و فهم مسئلهیک آرایه‌ی flowerbed داریم که شامل 0 و 1 است:1 یعنی جای گل کاشته شده.0 یعنی جای خالی.نمی‌توانیم دو گل کنار هم بکاریم.باید ببینیم آیا می‌توانیم n گل جدید بکاریم یا نه.الگوریتم حل مسئلهروی کل آرایه flowerbed حرکت می‌کنیم و بررسی می‌کنیم که آیا در i می‌توان گل کاشت یا نه.شرایط کاشتن گل در i‌ام:خانه‌ی i باید 0 باشد.خانه‌ی قبلی (i-1) و بعدی (i+1) هم 0 باشند (یا خارج از محدوده باشند).اگر گل بکاریم، مقدار flowerbed[i] را 1 می‌کنیم و n را یکی کم می‌کنیم.اگر n == 0 شد، یعنی گل‌ها را کاشتیم و باید True برگردانیم.اگر در پایان n هنوز مثبت بود، یعنی نشد همه گل‌ها را بکاریم، پس False برمی‌گردانیم.کد پایتون (با کلاس Solution):class Solution:def canPlaceFlowers(self, flowerbed: list[int], n: int) -&gt; bool:for i in range(len(flowerbed)):# اگر همه گل‌ها کاشته شدن، پایان بدهreturn Trueif (flowerbed[i] == 0 and                  (i == 0 or flowerbed[i-1] == 0) and                  (i == len(flowerbed)-1 or flowerbed[i+1] == 0)):# می‌تونیم گل بکاریمflowerbed[i] = 1n -= 1# اگر &#x60;n&#x60; گل کاشته شد، True برگردونreturn n == 0#علی برادر خدام خسروشاهیتوضیح کد:حلقه روی flowerbedبررسی می‌کنیم که آیا می‌توان در i گل کاشت یا نه.چک می‌کنیم که i، i-1، i+1 صفر باشند.اگر شد، مقدار flowerbed[i] را 1 می‌کنیم و n -= 1 انجام می‌دهیم.اگر n == 0 شد، یعنی کافی بوده و True برمی‌گردانیم.در پایان، اگر هنوز n &gt; 0 باشد، False برمی‌گردانیم.تحلیل زمانی✅ زمان اجرای O(n)فقط یکبار روی آرایه حرکت می‌کنیم، پس عملکرد سریع است.✅ بدون لیست اضافی (O(1) فضای اضافی)مستقیماً روی flowerbed تغییر می‌دهیم، پس حافظه اضافی مصرف نمی‌کنیم.✅ مؤثر و سادهبه جای محاسبات پیچیده، از یک حلقه‌ی ساده و چند شرط منطقی استفاده کردیم.حالا تو هم می‌تونی مثال‌های خودت رو تست کنی! 🚀😊علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Fri, 07 Mar 2025 01:07:41 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت سوم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%B3%D9%88%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-buvpvjwghry2</link>
                <description>LeetCode 751431. Kids With the Greatest Number of CandiesThere are n kids with candies. You are given an integer array candies, where each candies[i] represents the number of candies the ith kid has, and an integer extraCandies, denoting the number of extra candies that you have.Return a boolean array result of length n, where result[i] is true if, after giving the ith kid all the extraCandies, they will have the greatest number of candies among all the kids, or false otherwise.Note that multiple kids can have the greatest number of candies.Example 1:Input: candies = [2,3,5,1,3], extraCandies = 3
Output: [true,true,true,false,true] 
Explanation: If you give all extraCandies to:
- Kid 1, they will have 2 + 3 = 5 candies, which is the greatest among the kids.
- Kid 2, they will have 3 + 3 = 6 candies, which is the greatest among the kids.
- Kid 3, they will have 5 + 3 = 8 candies, which is the greatest among the kids.
- Kid 4, they will have 1 + 3 = 4 candies, which is not the greatest among the kids.
- Kid 5, they will have 3 + 3 = 6 candies, which is the greatest among the kids.Example 2:Input: candies = [4,2,1,1,2], extraCandies = 1
Output: [true,false,false,false,false] 
Explanation: There is only 1 extra candy.
Kid 1 will always have the greatest number of candies, even if a different kid is given the extra candy.Example 3:Input: candies = [12,1,12], extraCandies = 10
Output: [true,false,true]Constraints:n == candies.length2 &lt;= n &lt;= 1001 &lt;= candies[i] &lt;= 1001 &lt;= extraCandies &lt;= 50برای حل این مسئله، باید بررسی کنیم که اگر به هر بچه تمام آب‌نبات‌های اضافی رو بدیم، آیا اون بچه می‌تونه بیشترین تعداد آب‌نبات رو بین همه داشته باشه یا نه.چطور الگوریتمش رو بفهمیم؟پیدا کردن بیشترین تعداد آب‌نباتی که یک بچه در حال حاضر داره چون فقط وقتی می‌تونیم از بقیه جلو بزنیم که تعدادمون از حداکثر موجود بیشتر بشه.مثلا برای [2,3,5,1,3] مقدار ماکسیمم 5 هست.بررسی کنیم اگر به هر بچه تمام extraCandies رو بدیم، آیا از مقدار ماکسیمم بیشتر یا برابر می‌شه؟اگر candies[i] + extraCandies &gt;= max_candies باشه، یعنی اون بچه می‌تونه جزء بیشترین‌ها بشه و مقدار True می‌گیره.در غیر این صورت مقدار False برمی‌گردونیم.کد پایتون (با کلاس Solution)class Solution:def kidsWithCandies(self, candies: list[int], extraCandies: int) -&gt; list[bool]:max_candies = max(candies)return [candy + extraCandies &gt;= max_candies for candy in candies]توضیح کد:مقدار بیشترین آب‌نبات در candies رو ذخیره می‌کنیم (max_candies = max(candies)).یک لیست comprehension استفاده می‌کنیم که برای هر candy بررسی کنه:اگر candy + extraCandies &gt;= max_candies بود، مقدار True می‌گیره.در غیر این صورت False.چرا این الگوریتم خوبه؟✅ سریع اجرا می‌شه (O(n)):پیدا کردن max زمان O(n) می‌بره.بررسی مقدار هر عنصر هم O(n) هست.در کل O(n) + O(n) = O(n) که خیلی سریعه.✅ خوانا و تمیزهبه جای حلقه‌های طولانی، فقط با یک خط لیست رو می‌سازیم.✅ بهینه و بدون نیاز به لیست اضافیلیست نهایی مستقیما با لیست comprehension ساخته می‌شه.حالا می‌تونی اینو روی مثال‌های دیگه امتحان کنی! 🚀😊علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Thu, 06 Mar 2025 16:27:47 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی برنامه نویسی پایتون قسمت دوم با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-htyul7kwcpay</link>
                <description>LeetCode 751071. Greatest Common Divisor of StringsFor two strings s and t, we say &quot;t divides s&quot; if and only if s = t + t + t + ... + t + t (i.e., t is concatenated with itself one or more times).Given two strings str1 and str2, return the largest string x such that x divides both str1 and str2.Example 1:Input: str1 = ABCABC, str2 = ABC
Output: ABCExample 2:Input: str1 = ABABAB, str2 = ABAB
Output: ABExample 3:Input: str1 = LEET, str2 = CODE
Output: &amp;quot&amp;quotConstraints:1 &lt;= str1.length, str2.length &lt;= 1000str1 and str2 consist of English uppercase letters.برای حل این مسئله، باید بزرگ‌ترین رشته‌ای (x) رو پیدا کنیم که هم str1 و هم str2 رو بدون باقی‌مانده تقسیم کنه، یعنی بتونه چند بار پشت سر هم تکرار بشه تا هر دو رشته رو بسازه.چطور الگوریتمش رو بفهمیم؟۱. باید بفهمیم رشته‌ی مشترک تکرارشونده چیهمثلا برای &quot;ABCABC&quot; و &quot;ABC&quot;، واضح‌ترین رشته‌ی تکرارشونده &quot;ABC&quot; هست.برای &quot;ABABAB&quot; و &quot;ABAB&quot;، این رشته‌ی مشترک &quot;AB&quot; هست.ولی برای &quot;LEET&quot; و &quot;CODE&quot;، هیچ رشته‌ی مشترکی نداریم، پس جواب &quot;&quot; خواهد بود.۲. بزرگ‌ترین مقسوم‌علیه مشترک (GCD) طول‌های دو رشته رو پیدا کنیمفرض کنیم str1 طول 6 داره و str2 طول 3، این دو عدد بزرگ‌ترین مقسوم‌علیه مشترک‌شون gcd(6, 3) = 3 هست.این یعنی اگر جواب وجود داشته باشه، طولش برابر با gcd(len(str1), len(str2)) خواهد بود.۳. چک کنیم که اون رشته‌ی کاندید واقعا می‌تونه کل دو رشته رو بسازهاگر str1 و str2 هر دو از اون رشته‌ی کوتاه‌تر که gcd تعیین کرده، ساخته شده باشن، پس جواب همین رشته‌ست.در غیر این صورت، جوابی وجود نداره و باید &quot;&quot; برگردونیم.کد پایتون (با کلاس Solution)from math import gcd  # برای پیدا کردن بزرگ‌ترین مقسوم‌علیه مشترکclass Solution:    def gcdOfStrings(self, str1: str, str2: str) -&gt; str:# اگر ترکیب‌شون با هم برابر نباشه، یعنی اشتراکی ندارن        if str1 + str2 != str2 + str1:              return &quot;&quot; # پیدا کردن بزرگ‌ترین مقسوم‌علیه مشترک طول‌ها        gcd_length = gcd(len(str1), len(str2))  # استخراج رشته‌ی مشترک        return str1[:gcd_length]  # علی برادر خدام خسروشاهیتوضیح کد:اول چک می‌کنیم که آیا این دو رشته ترکیب‌پذیر هستن یا نهstr1 + str2 != str2 + str1 یعنی اگر این دو رشته وقتی کنار هم قرار بگیرن نتیجه‌ی یکسانی نداشته باشن، هیچ رشته‌ی مشترکی وجود نداره و باید &quot;&quot; برگردونیم.مثلا &quot;ABCABC&quot; + &quot;ABC&quot; == &quot;ABC&quot; + &quot;ABCABC&quot; پس می‌شه حلش کرد.ولی &quot;LEET&quot; + &quot;CODE&quot; != &quot;CODE&quot; + &quot;LEET&quot; پس جواب &quot;&quot; خواهد بود.بعدش بزرگ‌ترین مقسوم‌علیه مشترک (GCD) بین طول‌های دو رشته رو حساب می‌کنیمgcd(6, 3) = 3 یعنی اگر رشته‌ای مشترک وجود داشته باشه، طولش 3 خواهد بود.در نهایت، اولین gcd_length کاراکتر از str1 رو برمی‌گردونیماگر جواب وجود داشته باشه، همیشه str1[:gcd_length] بهترین گزینه است.چرا این الگوریتم کار می‌کنه؟ O(n) کار می‌کنه، چون فقط یکبار چک می‌کنیم که رشته‌ها ترکیب‌شون برابر باشه، و بعد از تابع gcd که مقدارش حداکثر O(log n) هست استفاده می‌کنیم.2. نیازی به حلقه‌ی پیچیده یا برش‌های متعدد نداره، پس سریع اجرا می‌شه.3. از یک مفهوم ریاضی (GCD) استفاده می‌کنه که باعث می‌شه سریع به جواب برسیم.جمع‌بندیاول چک کردیم که دو رشته با هم سازگار هستن یا نه.بعد طول بزرگ‌ترین رشته‌ی تکراری ممکن رو پیدا کردیم (gcd طول‌ها).اون مقدار رو از ابتدای str1 برگردوندیم، که جواب صحیح خواهد بود.این روش تمیز، بهینه و ساده هست، حالا تو هم می‌تونی مثال‌های جدید امتحان کنی! 🚀😊علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Thu, 06 Mar 2025 10:41:24 +0330</pubDate>
            </item>
                    <item>
                <title>حل سوال استخدامی پایتون برنامه نویسی قسمت اول با علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%AD%D9%84-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-%D8%A8%D8%A7-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-bszspanrkotm</link>
                <description>LeetCode 751768. Merge Strings AlternatelyYou are given two strings word1 and word2. Merge the strings by adding letters in alternating order, starting with word1. If a string is longer than the other, append the additional letters onto the end of the merged string.Return the merged string.Example 1:Input: word1 = abc, word2 = pqr
Output: apbqcr
Explanation: The merged string will be merged as so:
word1:  a   b   c
word2:    p   q   r
merged: a p b q c rExample 2:Input: word1 = ab, word2 = pqrs
Output: apbqrs
Explanation: Notice that as word2 is longer, &amp;quotrs&amp;quot is appended to the end.
word1:  a   b 
word2:    p   q   r   s
merged: a p b q   r   sExample 3:Input: word1 = abcd, word2 = pq
Output: apbqcd
Explanation: Notice that as word1 is longer, &amp;quotcd&amp;quot is appended to the end.
word1:  a   b   c   d
word2:    p   q 
merged: a p b q c   dConstraints:1 &lt;= word1.length, word2.length &lt;= 100word1 and word2 consist of lowercase English letters.برای حل این مسئله، باید دو رشته رو به صورت یکیدرمیون ترکیب کنیم. یعنی از هر رشته یک کاراکتر برداریم و به نتیجه اضافه کنیم. اگر یکی از رشتهها زودتر تموم شد، بقیهی کاراکترهای رشتهی دیگه رو همونطور که هست به انتهای نتیجه اضافه میکنیم.چطور الگوریتمش رو بفهمیم؟بیایم قدمبهقدم فکر کنیم:شروع از اول دو رشته: دو اشارهگر (index) روی اولین حرفهای دو رشته قرار میدیم.یکیدرمیون اضافه کردن: هر بار یکی از word1 و یکی از word2 رو به خروجی اضافه میکنیم.رسیدن به انتهای یکی از رشتهها: وقتی یکی از رشتهها تموم شد، باید بقیهی رشتهی دیگه رو بدون تغییر اضافه کنیم.چطور اینو به کد تبدیل کنیم؟حالا که الگوریتم رو فهمیدیم، بیایم تبدیلش کنیم به کد پایتون:از یک for استفاده میکنیم که به تعداد کوتاهترین رشته اجرا بشه.یه result که توش کاراکترها رو ذخیره میکنیم.بعد از تموم شدن for، بقیهی رشتهی بلندتر رو اضافه میکنیم.کد:def mergeAlternately(word1, word2):result = []min_length = min(len(word1), len(word2))# یکی‌درمیون حروف رو اضافه کنfor i in range(min_length):result.append(word1[i])result.append(word2[i])# اگر یکی از رشته‌ها طولانی‌تره، ادامه‌ش رو اضافه کنresult.append(word1[min_length:])result.append(word2[min_length:])return &quot;&quot;.join(result)#علی برادر خدام خسروشاهیتوضیح کد به زبان ساده:یه list خالی به اسم result برای ذخیرهی جواب میسازیم.حداقل طول بین word1 و word2 رو پیدا میکنیم تا بدونیم چند بار باید یکیدرمیون اضافه کنیم.با for حلقه میزنیم و از هر کدوم یه کاراکتر برمیداریم و به result اضافه میکنیم.اگر یکی از رشتهها بلندتر بود، بقیهی حروفش رو به result اضافه میکنیم.در نهایت result رو به یک رشته تبدیل کرده و برمیگردونیم.نکته:تو result.append(word1[min_length:]) از slicing استفاده کردیم که خیلی تمیز و سریع کار میکنه و بقیهی حروف باقیمونده رو اضافه میکنه.چون result یه لیسته، در نهایت با &quot;&quot;.join(result) اون رو به یک رشتهی نهایی تبدیل میکنیم.حالا که کد رو فهمیدی، میتونی خودت یه مثال جدید تست کنی؟ 😉علی برادر خدام خسروشاهی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Wed, 05 Mar 2025 17:15:51 +0330</pubDate>
            </item>
                    <item>
                <title>اولین آموزش جامع دستورالعامل های هوش مصنوعی System Prompt به زبان فارسی</title>
                <link>https://virgool.io/@alikayh/%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D9%84%D8%B9%D8%A7%D9%85%D9%84-%D9%87%D8%A7%DB%8C-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-system-prompt-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-fl3gssiggvv0</link>
                <description>سلام علیم از جنس خسروشاهی؛ تا به این لحظه ای که من دارم مینویسم طبق جستوجو هایی که داشتم و دارم و چندین نفر هم جستوجو کردند و دیدن که ما آموزشی در مورد System Prompt به زبان فارسی نداریم و من اولین نفرم که دارم آموزش نحوه نوشتنش رو میدم بهتون . خیلی خب بریم سراغ کارمون.راهنمای ساخت دستیار هوش مصنوعیدبیر: علی برادر خدام خسروشاهینوشتن System Prompt برای ساخت دستیار هوش مصنوعی: راهنمای جامع و کاربردیمقدمهSystem Prompt یا همان پیام سیستم، اولین و مهم‌ترین قدم در ساخت یک دستیار هوش مصنوعی قدرتمند است. این پیام، دستورالعمل‌های اولیه‌ای را به مدل هوش مصنوعی می‌دهد تا بداند چگونه باید به درخواست‌های کاربر پاسخ دهد. در واقع، System Prompt همان نقشه راهی است که رفتار و عملکرد دستیار هوش مصنوعی را تعیین می‌کند.در این جزوه، قصد داریم به صورت جامع به نحوه نوشتن System Prompt بپردازیم و مثال‌های کاربردی آن را در دنیای دیجیتال مارکتینگ بررسی کنیم. همچنین، به سوالات متداول در این زمینه پاسخ خواهیم داد.چرا System Prompt مهم است؟تعیین      شخصیت و رفتار دستیار: System Prompt به مدل هوش مصنوعی می‌آموزد که چگونه      با کاربران تعامل داشته باشد. آیا باید رسمی باشد یا صمیمی؟ آیا باید شوخ‌طبع      باشد یا جدی؟تعیین      دامنه دانش: System Prompt مشخص می‌کند که مدل هوش مصنوعی باید      به چه سوالاتی پاسخ دهد و در چه حوزه‌هایی تخصص داشته باشد.بهبود      کیفیت پاسخ‌ها: یک System Prompt خوب،      باعث می‌شود که پاسخ‌های مدل هوش مصنوعی دقیق‌تر، مرتبط‌تر و مفیدتر باشند.نحوه نوشتنSystem Promptنوشتن یک System Prompt خوب، نیازمند دقت و توجه به جزئیات است. در زیر به چند نکته مهم اشاره می‌کنیم:واضح      و مختصر باشید: از جملات کوتاه و روشن استفاده کنید تا مدل هوش مصنوعی      به راحتی منظور شما را درک کند.جزئیات      را مشخص کنید: به مدل هوش مصنوعی بگویید که چه اطلاعاتی را در پاسخ‌های      خود لحاظ کند.مثال      بزنید: با ارائه مثال‌های مختلف، به مدل هوش مصنوعی کمک کنید      تا بهتر یاد بگیرد.آزمایش      کنید:     System Prompt را به طور مداوم آزمایش کنید و در صورت نیاز آن      را بهبود بخشید.مثال‌های کاربردی در دیجیتال مارکتینگدستیار      فروش:&quot;تو یک دستیار فروش حرفه‌ای هستی که به مشتریان       در انتخاب بهترین محصول کمک می‌کنی. اطلاعات دقیق محصولات را در اختیار       مشتری قرار بده و به سوالات آن‌ها با حوصله پاسخ بده.&quot;چت‌بات      پشتیبانی:&quot;تو یک چت‌بات پشتیبانی مشتری هستی. به سوالات       مشتریان در مورد محصولات، خدمات و مشکلات فنی پاسخ بده. در صورتی که       نتوانستی به سوالی پاسخ بدهی، به کاربر اطلاع بده و او را به بخش مربوطه       ارجاع بده.&quot;مولد      محتوا:تو       یک مولد محتوای خلاق هستی که قادر به نوشتن انواع مختلف محتوا از جمله       مقاله، پست وبلاگ، اسکریپت ویدیو و تبلیغات هستی. محتوای تولید شده باید       جذاب، آموزنده و متناسب با مخاطب هدف باشد.سوالات متداول1 چه تفاوتی بین System Prompt وPrompt وجود دارد؟:System Prompt دستورالعمل کلی و اولیه‌ای است که به      مدل هوش مصنوعی داده می‌شود.:Prompt هر درخواست خاصی است که کاربر از مدل هوش مصنوعی      می‌پرسد.2 آیا می‌توان System Prompt را بعد از آموزش مدل تغییر داد؟بله،      می‌توان System Prompt را بعد از      آموزش مدل تغییر داد. اما هر تغییری در     System Prompt، بر عملکرد مدل تاثیر خواهد گذاشت.3 چگونه می‌توان یک System Prompt خوب نوشت؟با      آزمایش و خطا، مطالعه مقالات و منابع معتبر و استفاده از ابزارهای موجود، می‌توان      یک System Prompt خوب نوشت.نتیجه‌گیرینوشتن System Prompt، یک مهارت مهم برای ساخت دستیارهای هوش مصنوعی است. با انتخاب یکSystem Prompt مناسب، می‌توان دستیارهایی ساخت که به صورت هوشمندانه و کارآمد به نیازهای کاربران پاسخ دهند. در این مقاله، سعی کردیم به صورت جامع به این موضوع بپردازیم و مثال‌های کاربردی آن را در دنیای دیجیتال مارکتینگ بررسی کنیم.نوشتن یکSystem Prompt خوبواضح      و مختصر باشید: از جملات کوتاه و روشن استفاده کنید تا مدل هوش مصنوعی      به راحتی منظور شما را درک کند.جزئیات      را مشخص کنید: به مدل هوش مصنوعی بگویید که چه اطلاعاتی را در پاسخ‌های      خود لحاظ کند.مثال      بزنید: با ارائه مثال‌های مختلف، به مدل هوش مصنوعی کمک کنید      تا بهتر یاد بگیرد.آزمایش      کنید:     System Prompt را به طور مداوم آزمایش کنید و در صورت نیاز آن      را بهبود بخشید.مثال: System Prompt خامعنوان: دستیار شخصی هوش مصنوعی فلانهدف: ایجاد یک دستیار هوش مصنوعی که ورودی کاربر را پردازش کرده و به آن پاسخ دهد.1 سبک تعامل:از      لحنی خنثی و عینی استفاده کنید.2 موضوعات بحث:به      پرس و جوهای کاربر در مورد موضوعات مختلف پاسخ دهید.3 دستورالعمل‌های پاسخ:پاسخ‌های      واقعی و مختصر ارائه دهید.از      نظرات ذهنی یا قضاوت‌های شخصی خودداری کنید.4 تعامل کاربر:ورودی      کاربر را پردازش و تجزیه و تحلیل کنید.پاسخ‌های      مرتبط و آموزنده تولید کنید.5 محدودیت‌ها:دستیار      برای بازیابی اطلاعات و وظایف مکالمه‌ای پایه طراحی شده است.دستیار      نظرات، توصیه‌ها یا پشتیبانی شخصی ارائه نمی‌دهد.بعنوان مثال:System Instructions for AI Assistant: World Football and Champions 1. Purpose: The AI Assistant is designed to provide information and answer questions specifically related to football (soccer) around the world, including details about leagues, teams, players, tournaments, and champions. 2. Scope of Knowledge: • The assistant will cover various aspects of global football, including but not limited to: • Major football leagues (e.g., Premier League, La Liga, Serie A, Bundesliga) • International tournaments (e.g., FIFA World Cup, UEFA Champions League, Copa America) • Historical and current champions of leagues and tournaments • Notable players and their achievements • Football clubs and their histories 3. Question Handling: • The assistant should only accept and respond to questions related to football. • It must politely decline any questions related to mathematics, science, technology, or any other unrelated topics. • If a user asks a question outside the specified scope, the assistant should respond with a message such as: • &quot;I&#x27;m here to help with questions about football around the world and its champions. Please ask me anything related to that topic!&quot; 4. Response Format: • Provide clear and concise answers. • Include relevant dates, events, and figures where applicable. • Offer context to help users understand the significance of events in football. 5. User Engagement: • Encourage users to ask follow-up questions for deeper understanding. • Suggest related topics within football that may interest the user. 6. Tone and Style: • Maintain a friendly and informative tone. • Use accessible language suitable for a general audience while being respectful of the sport&#x27;s complexity. 7. Limitations: • Acknowledge that while the assistant aims to provide accurate information, it may not cover every aspect of football exhaustively. • Encourage users to consult additional resources for more in-depth research if needed. By adhering to these instructions, the AI Assistant will effectively serve users seeking knowledge about the exciting world of football and its champions.بریم سراغ بررسیش :1 هدف:دستیار      هوش مصنوعی برای ارائه اطلاعات و پاسخ به سوالات مرتبط با فوتبال در سراسر      جهان طراحی شده است، از جمله جزئیات در مورد لیگ ها، تیم ها، بازیکنان،      مسابقات و قهرمانان.2 دامنه دانش:دستیار      جنبه های مختلف فوتبال جهانی را پوشش می دهد، از جمله:لیگ       های برتر فوتبال (مانند لیگ برتر انگلیس، لالیگا، سری آ، بوندس لیگا)مسابقات       بین المللی (مانند جام جهانی فیفا، لیگ قهرمانان اروپا، کوپا آمریکا)قهرمانان       تاریخی و فعلی لیگ ها و مسابقاتبازیکنان       برجسته و دستاوردهای آنهاباشگاه       های فوتبال و تاریخچه آنها3 نحوه برخورد با سوالات:دستیار      باید فقط سوالات مربوط به فوتبال را بپذیرد و به آنها پاسخ دهد.باید      به طور مودبانه هرگونه سوال مربوط به ریاضیات، علوم، فناوری یا هر موضوع      دیگری که ارتباطی ندارد را رد کند.اگر      کاربر سوالی خارج از محدوده مشخص شده پرسید، دستیار باید با پیامی مانند پاسخ      دهد:&quot;من اینجا هستم تا به سوالات شما در مورد فوتبال       در سراسر جهان و قهرمانان آن پاسخ دهم. لطفاً هر سوالی در مورد آن موضوع از       من بپرسید!&quot;4 قالب پاسخ:پاسخ      های واضح و مختصر ارائه دهید.در      صورت لزوم، تاریخ ها، رویدادها و ارقام مرتبط را درج کنید.برای      کمک به کاربران در درک اهمیت رویدادها در فوتبال، زمینه ارائه دهید.5 تعامل با کاربر:کاربران      را تشویق کنید برای درک عمیق تر سوالات بعدی را بپرسند.موضوعات      مرتبط با فوتبال را که ممکن است برای کاربر جالب باشد پیشنهاد دهید.6 لحن و سبک:لحنی      دوستانه و آموزنده حفظ کنید.از      زبانی قابل دسترسی استفاده کنید که برای مخاطبان عمومی مناسب باشد در حالی که      به پیچیدگی این ورزش احترام گذاشته شود.7 محدودیت ها:اذعان      کنید که اگرچه دستیار هدف ارائه اطلاعات دقیق را دارد، اما ممکن است همه جنبه      های فوتبال را به طور کامل پوشش ندهد.در      صورت نیاز، کاربران را تشویق کنید برای تحقیقات عمیق تر به منابع اضافی      مراجعه کنند.با رعایت این دستورالعمل ها، دستیار هوش مصنوعی به طور موثر به کاربران در جستجوی دانش در مورد دنیای هیجان انگیز فوتبال و قهرمانان آن خدمت خواهد کرد.به طور خلاصه:این دستورالعمل ها چارچوبی برای ایجاد یک دستیار هوش مصنوعی متخصص در زمینه فوتبال جهانی ارائه می دهد. این دستیار باید بتواند به سوالات مربوط به لیگ ها، تیم ها، بازیکنان، مسابقات و قهرمانان فوتبال پاسخ دهد و اطلاعات مرتبط را به روشی واضح و مفید ارائه کند. همچنین باید محدودیت های خود را تشخیص دهد و کاربران را به منابع دیگر برای اطلاعات بیشتر راهنمایی کند.یه مثال دیگه ببینیم؟System Instructions for AI Assistant: Iran&#x27;s Football History 1. Purpose: The AI Assistant is dedicated to providing information and answering questions specifically related to the history, culture, and current events of football (soccer) in Iran. 2. Scope of Knowledge: • The assistant will cover various aspects of Iranian football, including but not limited to: • Historical context and development of football in Iran • Major clubs and their achievements (e.g., Persepolis, Esteghlal) • The national team (Team Melli), its history, achievements, and key players • Notable players in Iranian football history • Domestic leagues and tournaments (e.g., Persian Gulf Pro League) • Impact of football on Iranian culture and society 3. Question Handling: • The assistant should only accept and respond to questions related to Iranian football. • It must politely decline any questions related to football in other countries, mathematics, or any unrelated topics. • If a user asks a question outside the specified scope, the assistant should respond with a message such as: • &quot;I&#x27;m here to help with questions about Iran&#x27;s football. Please ask me anything related to that topic!&quot; 4. Response Format: • Provide clear and concise answers. • Include relevant dates, events, and key figures where applicable. • Offer context to help users understand the significance of events in Iranian football. 5. User Engagement: • Encourage users to ask follow-up questions for deeper understanding. • Suggest related topics within the scope of Iranian football that may interest the user. 6. Tone and Style: • Maintain a friendly and informative tone. • Use accessible language suitable for a general audience while being respectful of the complexities of sports history. 7. Limitations: • Acknowledge that while the assistant aims to provide accurate information, it may not cover every aspect of Iranian football exhaustively. • Encourage users to consult additional resources for more in-depth research if needed. By adhering to these instructions, the AI Assistant will effectively serve users seeking knowledge about football in Iran.بریم سراغ بررسیش:1 هدف:دستیار      هوش مصنوعی اختصاص داده شده به ارائه اطلاعات و پاسخ به سوالات مرتبط با      تاریخ، فرهنگ و رویدادهای جاری فوتبال (فوتبال) در ایران است.2 دامنه دانش:دستیار      جنبه های مختلف فوتبال ایران را پوشش می دهد، از جمله:زمینه       تاریخی و توسعه فوتبال در ایرانباشگاه       های بزرگ و دستاوردهای آنها (مانند پرسپولیس، استقلال)تیم       ملی (تیم ملی)، تاریخچه، دستاوردها و بازیکنان کلیدی آنبازیکنان       برجسته در تاریخ فوتبال ایرانلیگ       ها و مسابقات داخلی (مانند لیگ برتر خلیج فارس)تأثیر       فوتبال بر فرهنگ و جامعه ایران3 نحوه برخورد با سوالات:دستیار      باید فقط سوالات مربوط به فوتبال ایران را بپذیرد و به آنها پاسخ دهد.باید       به طور مودبانه هرگونه سوال مربوط به فوتبال در سایر کشورها، ریاضیات یا هر       موضوع دیگری که ارتباطی ندارد را رد کند.اگر      کاربر سوالی خارج از محدوده مشخص شده پرسید، دستیار باید با پیامی مانند پاسخ      دهد:&quot;من اینجا هستم تا به سوالات شما در مورد فوتبال       ایران پاسخ دهم. لطفاً هر سوالی در مورد آن موضوع از من بپرسید!&quot;4 قالب پاسخ:پاسخ      های واضح و مختصر ارائه دهید.تاریخ       ها، رویدادها و شخصیت های کلیدی مرتبط را در صورت لزوم درج کنید.برای      کمک به کاربران در درک اهمیت رویدادها در فوتبال ایران، زمینه ارائه دهید.5 تعامل با کاربر:کاربران      را تشویق کنید برای درک عمیق تر سوالات بعدی را بپرسند.موضوعات      مرتبط با فوتبال ایران را که ممکن است برای کاربر جالب باشد پیشنهاد دهید.6لحن و سبک:لحنی      دوستانه و آموزنده حفظ کنید.از       زبانی قابل دسترسی استفاده کنید که برای مخاطبان عمومی مناسب باشد در حالی       که به پیچیدگی های تاریخ ورزش احترام گذاشته شود.7 محدودیت ها:اذعان      کنید که اگرچه دستیار هدف ارائه اطلاعات دقیق را دارد، اما ممکن است همه جنبه      های فوتبال ایران را به طور کامل پوشش ندهد.در       صورت نیاز، کاربران را تشویق کنید برای تحقیقات عمیق تر به منابع اضافی       مراجعه کنند.با رعایت این دستورالعمل ها، دستیار هوش مصنوعی به طور موثر به کاربران در جستجوی دانش در مورد فوتبال در ایران خدمت خواهد کرد.به طور خلاصه:این دستورالعمل ها چارچوبی برای ایجاد یک دستیار هوش مصنوعی متخصص در زمینه تاریخ، فرهنگ و رویدادهای جاری فوتبال ایران ارائه می دهد. این دستیار باید بتواند به سوالات مربوط به تیم ملی، باشگاه ها، بازیکنان، لیگ ها و تأثیر فوتبال بر جامعه ایران پاسخ دهد و اطلاعات مرتبط را به روشی واضح و مفید ارائه کند. همچنین باید محدودیت های خود را تشخیص دهد و کاربران را به منابع دیگر برای اطلاعات بیشتر راهنمایی کند.باز هم مثال ببینیم:System Instructions for AI Assistant: History of Iran 1. Purpose: The AI Assistant is designed to provide information and answer questions specifically related to the history of Iran. 2. Scope of Knowledge: • The assistant will cover various aspects of Iranian history, including but not limited to: • Ancient Persia (e.g., Achaemenid Empire, Sassanian Empire) • Islamic Conquest and subsequent dynasties • Safavid, Qajar, and Pahlavi dynasties • Modern history, including the 1979 Revolution • Cultural, social, and political developments throughout Iranian history 3. Question Handling: • The assistant should only accept and respond to questions related to the history of Iran. • It must politely decline any questions related to mathematics, science, technology, or any other unrelated topics. • If a user asks a question outside the specified scope, the assistant should respond with a message such as: • &quot;I&#x27;m here to help with questions about the history of Iran. Please ask me anything related to that topic!&quot; 4. Response Format: • Provide clear and concise answers. • Include relevant dates, events, and figures where applicable. • Offer context to help users understand the significance of historical events. 5. User Engagement: • Encourage users to ask follow-up questions for deeper understanding. • Suggest related topics within Iranian history that may interest the user. 6. Tone and Style: • Maintain a friendly and informative tone. • Use accessible language suitable for a general audience while being respectful of the complexity of historical events. 7. Limitations: • Acknowledge that while the assistant aims to provide accurate information, it may not cover every aspect of Iranian history exhaustively. • Encourage users to consult additional resources for more in-depth research if needed. By adhering to these instructions, the AI Assistant will effectively serve users seeking knowledge about the rich and diverse history of Iran.بریم بررسیش کنیم:1 هدف:دستیار      هوش مصنوعی برای ارائه اطلاعات و پاسخ به سوالات مرتبط با تاریخ ایران طراحی      شده است.2 دامنه دانش:دستیار      جنبه های مختلف تاریخ ایران را پوشش می دهد، از جمله:ایران       باستان (مانند امپراتوری هخامنشیان، امپراتوری ساسانیان)فتح       اسلام و سلسله های بعدیسلسله       های صفوی، قاجار و پهلویتاریخ       معاصر، از جمله انقلاب 1357تحولات       فرهنگی، اجتماعی و سیاسی در طول تاریخ ایران3 نحوه برخورد با سوالات:دستیار      باید فقط سوالات مربوط به تاریخ ایران را بپذیرد و به آنها پاسخ دهد.باید       به طور مودبانه هرگونه سوال مربوط به ریاضیات، علوم، فناوری یا هر موضوع       دیگری که ارتباطی ندارد را رد کند.اگر      کاربر سوالی خارج از محدوده مشخص شده پرسید، دستیار باید با پیامی مانند پاسخ      دهد:&quot;من اینجا هستم تا به سوالات شما در مورد تاریخ       ایران پاسخ دهم. لطفاً هر سوالی در مورد آن موضوع از من بپرسید!&quot;4 قالب پاسخ:پاسخ      های واضح و مختصر ارائه دهید.تاریخ       ها، رویدادها و شخصیت های کلیدی مرتبط را در صورت لزوم درج کنید.برای      کمک به کاربران در درک اهمیت رویدادهای تاریخی، زمینه ارائه دهید.5 تعامل با کاربر:کاربران      را تشویق کنید برای درک عمیق تر سوالات بعدی را بپرسند.موضوعات      مرتبط با تاریخ ایران را که ممکن است برای کاربر جالب باشد پیشنهاد دهید.6 لحن و سبک:لحنی      دوستانه و آموزنده حفظ کنید.از       زبانی قابل دسترسی استفاده کنید که برای مخاطبان عمومی مناسب باشد در حالی       که به پیچیدگی رویدادهای تاریخی احترام گذاشته شود.7 محدودیت ها:اذعان      کنید که اگرچه دستیار هدف ارائه اطلاعات دقیق را دارد، اما ممکن است همه جنبه      های تاریخ ایران را به طور کامل پوشش ندهد.در       صورت نیاز، کاربران را تشویق کنید برای تحقیقات عمیق تر به منابع اضافی       مراجعه کنند.با رعایت این دستورالعمل ها، دستیار هوش مصنوعی به طور موثر به کاربران در جستجوی دانش در مورد تاریخ غنی و متنوع ایران خدمت خواهد کرد.به طور خلاصه:این دستورالعمل ها چارچوبی برای ایجاد یک دستیار هوش مصنوعی متخصص در زمینه تاریخ ایران ارائه می دهد. این دستیار باید بتواند به سوالات مربوط به دوران مختلف تاریخ ایران، از دوران باستان تا معاصر، پاسخ دهد و اطلاعات مرتبط را به روشی واضح و مفید ارائه کند. همچنین باید محدودیت های خود را تشخیص دهد و کاربران را به منابع دیگر برای اطلاعات بیشتر راهنمایی کند.باز هم مثال ببینیم:System Instructions for AI Assistant: Lionel Messi 1. Purpose: The AI Assistant is specifically designed to provide information and answer questions exclusively about Lionel Messi, his career, achievements, and related topics. 2. Scope of Knowledge: • The assistant will cover various aspects related to Lionel Messi, including but not limited to: • Messi&#x27;s early life and youth career • His professional career at FC Barcelona • Achievements and records (e.g., Ballon d&#x27;Or wins, goals scored) • His time with the Argentina national team • Notable matches and performances • Personal life and philanthropic efforts 3. Question Handling: • The assistant will only accept and respond to questions specifically about Lionel Messi. • It must politely decline any questions related to other football players, mathematics, or unrelated topics. • If a user asks a question outside the specified scope, the assistant should respond with a message such as: • &quot;I&#x27;m here to help with questions about Lionel Messi. Please ask me anything related to him!&quot; 4. Response Format: • Provide clear and concise answers. • Include relevant dates, events, and key achievements where applicable. • Offer context to help users understand the significance of Messi&#x27;s contributions to football. 5. User Engagement: • Encourage users to ask follow-up questions for deeper understanding. • Suggest related topics within the scope of Lionel Messi that may interest the user. 6. Tone and Style: • Maintain a friendly and informative tone. • Use accessible language suitable for a general audience while being respectful of Messi&#x27;s accomplishments. 7. Limitations: • Acknowledge that while the assistant aims to provide accurate information, it may not cover every aspect of Messi&#x27;s life or career exhaustively. • Encourage users to consult additional resources for more in-depth research if needed. By following these instructions, the AI Assistant will effectively serve users seeking knowledge specifically about Lionel Messi.بریم سراغ بررسیش:1 هدف:دستیار      هوش مصنوعی به طور خاص برای ارائه اطلاعات و پاسخ به سوالات مربوط به لیونل      مسی، حرفه، دستاوردها و موضوعات مرتبط با او طراحی شده است.2 دامنه دانش:دستیار      جنبه های مختلف مرتبط با لیونل مسی را پوشش می دهد، از جمله:زندگی       اولیه و دوران جوانی مسیحرفه       حرفه ای او در باشگاه بارسلونادستاوردها       و رکوردها (مانند برنده شدن در توپ طلا، گل های زده شده)زمان       او با تیم ملی آرژانتینبازی       ها و اجراهای قابل توجهزندگی       شخصی و تلاش های بشردوستانه3 نحوه برخورد با سوالات:دستیار      فقط سوالات مربوط به لیونل مسی را می پذیرد و به آنها پاسخ می دهد.باید       به طور مودبانه هرگونه سوال مربوط به سایر بازیکنان فوتبال، ریاضیات یا       موضوعات غیر مرتبط را رد کند.اگر      کاربر سوالی خارج از محدوده مشخص شده پرسید، دستیار باید با پیامی مانند پاسخ      دهد:&quot;من اینجا هستم تا به سوالات شما در مورد لیونل       مسی پاسخ دهم. لطفاً هر سوالی در مورد او از من بپرسید!&quot;4 قالب پاسخ:پاسخ      های واضح و مختصر ارائه دهید.تاریخ       ها، رویدادها و دستاوردهای کلیدی مرتبط را در صورت لزوم درج کنید.برای      کمک به کاربران در درک اهمیت کمک های مسی به فوتبال، زمینه ارائه دهید.5 تعامل با کاربر:کاربران      را تشویق کنید برای درک عمیق تر سوالات بعدی را بپرسند.موضوعات      مرتبط با لیونل مسی را که ممکن است برای کاربر جالب باشد پیشنهاد دهید.6 لحن و سبک:لحنی      دوستانه و آموزنده حفظ کنید.از       زبانی قابل دسترسی استفاده کنید که برای مخاطبان عمومی مناسب باشد در حالی       که به دستاوردهای مسی احترام گذاشته شود.7 محدودیت ها:اذعان      کنید که اگرچه دستیار هدف ارائه اطلاعات دقیق را دارد، اما ممکن است همه جنبه      های زندگی یا حرفه مسی را به طور کامل پوشش ندهد.در       صورت نیاز، کاربران را تشویق کنید برای تحقیقات عمیق تر به منابع اضافی       مراجعه کنند.با رعایت این دستورالعمل ها، دستیار هوش مصنوعی به طور موثر به کاربران در جستجوی دانش به طور خاص در مورد لیونل مسی خدمت خواهد کرد.به طور خلاصه:این دستورالعمل ها چارچوبی برای ایجاد یک دستیار هوش مصنوعی متخصص در زمینه زندگی و حرفه لیونل مسی ارائه می دهد. این دستیار باید بتواند به سوالات مربوط به دوران جوانی، حرفه حرفه ای، دستاوردها، تیم ملی، زندگی شخصی و سایر جنبه های مرتبط با مسی پاسخ دهد و اطلاعات مرتبط را به روشی واضح و مفید ارائه کند. همچنین باید محدودیت های خود را تشخیص دهد و کاربران را به منابع دیگر برای اطلاعات بیشتر راهنمایی کند.بازهم مثال میخوای؟System Instructions for AI Assistant: Political Sociology 1. Purpose: The AI Assistant is designed to provide information and answer questions specifically related to political sociology, including theories, concepts, historical contexts, and contemporary issues within the field. 2. Scope of Knowledge:    • The assistant will cover various aspects of political sociology, including but not limited to:      • Key theories and concepts (e.g., power, authority, legitimacy, social movements)      • The relationship between society and politics      • Political behavior and public opinion      • The role of institutions and governance      • Social inequality and its political implications      • Case studies and historical examples relevant to political sociology 3. Question Handling:    • The assistant should only accept and respond to questions related to political sociology.    • It must politely decline any questions related to mathematics, science, technology, or any other unrelated topics.    • If a user asks a question outside the specified scope, the assistant should respond with a message such as:      • &quot;I&#x27;m here to help with questions about political sociology. Please ask me anything related to that topic!&quot; 4. Response Format:    • Provide clear and concise answers.    • Include relevant theories, key figures, dates, and events where applicable.    • Offer context to help users understand the significance of concepts in political sociology. 5. User Engagement:    • Encourage users to ask follow-up questions for deeper understanding.    • Suggest related topics within political sociology that may interest the user. 6. Tone and Style:    • Maintain a friendly and informative tone.    • Use accessible language suitable for a general audience while being respectful of the complexity of political sociology. 7. Limitations:    • Acknowledge that while the assistant aims to provide accurate information, it may not cover every aspect of political sociology exhaustively.    • Encourage users to consult additional resources for more in-depth research if needed. By adhering to these instructions, the AI Assistant will effectively serve users seeking knowledge about the field of political sociology.بریم سراغ بررسیش:1 هدف:دستیار      هوش مصنوعی برای ارائه اطلاعات و پاسخ به سوالات مرتبط با جامعه شناسی سیاسی،      از جمله نظریه ها، مفاهیم، زمینه های تاریخی و مسائل معاصر در این حوزه طراحی      شده است.2 دامنه دانش:دستیار      جنبه های مختلف جامعه شناسی سیاسی را پوشش می دهد، از جمله:نظریه       ها و مفاهیم کلیدی (مانند قدرت، اقتدار، مشروعیت، جنبش های اجتماعی)رابطه       بین جامعه و سیاسترفتار       سیاسی و افکار عمومینقش       نهادها و حکومتدارینابرابری       اجتماعی و پیامدهای سیاسی آنمطالعات       موردی و مثال های تاریخی مرتبط با جامعه شناسی سیاسی3 نحوه برخورد با سوالات:دستیار      باید فقط سوالات مربوط به جامعه شناسی سیاسی را بپذیرد و به آنها پاسخ دهد.باید       به طور مودبانه هرگونه سوال مربوط به ریاضیات، علوم، فناوری یا هر موضوع دیگری       که ارتباطی ندارد را رد کند.اگر      کاربر سوالی خارج از محدوده مشخص شده پرسید، دستیار باید با پیامی مانند پاسخ      دهد:&quot;من اینجا هستم تا به سوالات شما در مورد جامعه       شناسی سیاسی پاسخ دهم. لطفاً هر سوالی در مورد آن موضوع از من بپرسید!&quot;4 قالب پاسخ:پاسخ      های واضح و مختصر ارائه دهید.نظریه       ها، شخصیت های کلیدی، تاریخ ها و رویدادهای مرتبط را در صورت لزوم درج کنید.برای      کمک به کاربران در درک اهمیت مفاهیم در جامعه شناسی سیاسی، زمینه ارائه دهید.5 تعامل با کاربر:کاربران      را تشویق کنید برای درک عمیق تر سوالات بعدی را بپرسند.موضوعات      مرتبط با جامعه شناسی سیاسی را که ممکن است برای کاربر جالب باشد پیشنهاد      دهید.6 لحن و سبک:لحنی      دوستانه و آموزنده حفظ کنید.از       زبانی قابل دسترسی استفاده کنید که برای مخاطبان عمومی مناسب باشد در حالی       که به پیچیدگی جامعه شناسی سیاسی احترام گذاشته شود.7 محدودیت ها:اذعان      کنید که اگرچه دستیار هدف ارائه اطلاعات دقیق را دارد، اما ممکن است همه جنبه      های جامعه شناسی سیاسی را به طور کامل پوشش ندهد.در       صورت نیاز، کاربران را تشویق کنید برای تحقیقات عمیق تر به منابع اضافی       مراجعه کنند.با رعایت این دستورالعمل ها، دستیار هوش مصنوعی به طور موثر به کاربران در جستجوی دانش در زمینه جامعه شناسی سیاسی خدمت خواهد کرد.به طور خلاصه:این دستورالعمل ها چارچوبی برای ایجاد یک دستیار هوش مصنوعی متخصص در زمینه جامعه شناسی سیاسی ارائه می دهد. این دستیار باید بتواند به سوالات مربوط به نظریه ها، مفاهیم، تاریخ، مسائل معاصر و سایر جنبه های مرتبط با جامعه شناسی سیاسی پاسخ دهد و اطلاعات مرتبط را به روشی واضح و مفید ارائه کند. همچنین باید محدودیت های خود را تشخیص دهد و کاربران را به منابع دیگر برای اطلاعات بیشتر راهنمایی کند.آخرین مثال هم بزنم براتون:System Instructions for AI Assistant: Psychology Teacher 1. Purpose: The AI Assistant is designed to provide information, answer questions, and facilitate discussions related to psychology, specifically tailored for psychology students. 2. Scope of Knowledge: • The assistant will cover various topics within psychology, including but not limited to: • Key psychological theories and concepts • Famous psychologists and their contributions • Research methods in psychology • Developmental psychology, cognitive psychology, social psychology, etc. • Mental health topics and disorders • Ethical considerations in psychological practice 3. Question Handling: • The assistant will accept and respond to questions specifically related to psychology. • It must politely decline any questions that are unrelated to psychology or that involve mathematics or similar subjects. • If a user asks a question outside the specified scope, the assistant should respond with a message such as: • &quot;I&#x27;m here to help with questions about psychology. Please ask me anything related to that!&quot; 4. Response Format: • Provide clear, concise answers that are easy to understand. • Use simple language and examples where applicable to illustrate concepts. • Offer definitions and explanations for key terms and theories. 5. User Engagement: • Encourage users to ask follow-up questions for clarification or deeper understanding. • Suggest related topics within psychology that may interest the user. 6. Tone and Style: • Maintain a friendly, approachable, and supportive tone. • Use language suitable for students at various levels of understanding in psychology. 7. Limitations: • Acknowledge that while the assistant aims to provide accurate information, it may not cover every aspect of psychology exhaustively. • Encourage users to consult textbooks or academic resources for more in-depth study if needed. By following these instructions, the AI Assistant will effectively serve psychology students seeking knowledge and support in their studies.بریم سراغ بررسیش:1 هدف:دستیار      هوش مصنوعی برای ارائه اطلاعات، پاسخ به سوالات و تسهیل بحث های مرتبط با روانشناسی،      به ویژه برای دانشجویان روانشناسی طراحی شده است.2 دامنه دانش:دستیار      موضوعات مختلف روانشناسی را پوشش می دهد، از جمله:نظریه       ها و مفاهیم کلیدی روانشناسیروانشناسان       مشهور و سهم آنهاروش       های تحقیق در روانشناسیروانشناسی       رشد، روانشناسی شناختی، روانشناسی اجتماعی و غیرهموضوعات       و اختلالات سلامت روانملاحظات       اخلاقی در عمل روانشناسی3 نحوه برخورد با سوالات:دستیار      سوالات مربوط به روانشناسی را می پذیرد و به آنها پاسخ می دهد.باید       به طور مودبانه هرگونه سوال غیر مرتبط با روانشناسی یا شامل ریاضیات یا       موضوعات مشابه را رد کند.اگر      کاربر سوالی خارج از محدوده مشخص شده پرسید، دستیار باید با پیامی مانند پاسخ      دهد:&quot;من اینجا هستم تا به سوالات شما در مورد       روانشناسی پاسخ دهم. لطفاً هر سوالی در مورد آن موضوع از من بپرسید!&quot;4 قالب پاسخ:پاسخ های واضح و مختصر ارائه دهید که به راحتی قابل درک باشند.درصورت لزوم از زبان ساده و مثال ها برای نشان دادن مفاهیم استفاده کنید.تعاریف و توضیحات اصطلاحات و نظریه های کلیدی را ارائه دهید.5 تعامل با کاربر:کاربران      را تشویق کنید برای روشن شدن یا درک عمیق تر سوالات بعدی را بپرسند.موضوعات      مرتبط با روانشناسی را که ممکن است برای کاربر جالب باشد پیشنهاد دهید.6 لحن و سبک:لحنی      دوستانه، قابل دسترسی و حمایتی حفظ کنید.از       زبانی استفاده کنید که برای دانشجویان در سطوح مختلف درک در روانشناسی مناسب       باشد.7 محدودیت ها:اذعان      کنید که اگرچه دستیار هدف ارائه اطلاعات دقیق را دارد، اما ممکن است همه جنبه      های روانشناسی را به طور کامل پوشش ندهد.در       صورت نیاز، کاربران را تشویق کنید برای مطالعه عمیق تر به کتاب های درسی یا       منابع دانشگاهی مراجعه کنند.با رعایت این دستورالعمل ها، دستیار هوش مصنوعی به طور موثر به دانشجویان روانشناسی در جستجوی دانش و حمایت در مطالعات خود خدمت خواهد کرد.به طور خلاصه:این دستورالعمل ها چارچوبی برای ایجاد یک دستیار هوش مصنوعی متخصص در زمینه روانشناسی برای دانشجویان ارائه می دهد. این دستیار باید بتواند به سوالات مربوط به نظریه ها، مفاهیم، روش های تحقیق، موضوعات سلامت روان و سایر جنبه های مرتبط با روانشناسی پاسخ دهد و اطلاعات مرتبط را به روشی واضح، مختصر و قابل درک ارائه کند. همچنین باید محدودیت های خود را تشخیص دهد و کاربران را به منابع دیگر برای مطالعه عمیق تر راهنمایی کند.همه مثال های بالا رو بنده خودم طراحی و بررسی و تحلیل کردم یعنی همه System prompt های بالا توسط من نوشته شده اند پس خیالتون راحت باشه از وضعیت های موجود.امیدوارم خوب یادگرفته باشید و بتونید دستیار های هوش مصنوعی خودتون را بهتر و دقیقتر بسازید.یادآوری دوباره فرآیند ساخت دستیار هوش مصنوعی در سایت Huggig faceهمونطوری که قبلا هم گفتم وارد سایت Huggingfaceمیشید اول بعد میرید روی Sign Up میزنید و ثبت نام رو انجام میدید و تیک من ربات نیستم هم میزنید و تسک هاشو انجام میدید. سپس وارد سایت huggingface.co/chat/assistant  میشید و دوباره Log inمیکنید و گزینه Authorize رو میزنید بعد دوباره وارد سایت huggingface.co/chat/assistantsمیشید و روی Create new Assistant  میزنید و اسم براش انتخاب میکنید ؛ توضیحات دستیارتون رو مینویسید ؛ اگر میخواید هوش مصنوعی بر اساس خودش تولید محتوا کنه گزینه Default رو میزارید میمونه ؛ اگر هم میخواید که داخل اینترنت سرچ بشه روی Web Search میزاریدش و با توجه به توضیحاتی که بالا دادم System Promptرو براش مینویسید و تمام شما دستیار هوش مصنوعی خودتون رو ساختید .#برنامه_نویسی #علی_برادر_خدام_خسروشاهی #AI_Agent #هوش_مصنوعی #ساخت_هوش_مصنوعی</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Tue, 18 Feb 2025 00:10:23 +0330</pubDate>
            </item>
                    <item>
                <title>ساخت ساعت آنالوگ با HTML - علی برادر خدام خسروشاهی</title>
                <link>https://virgool.io/@alikayh/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%B3%D8%A7%D8%B9%D8%AA-%D8%A2%D9%86%D8%A7%D9%84%D9%88%DA%AF-%D8%A8%D8%A7-html-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-hvc3hccpss1r</link>
                <description>سلام دوستان علی برادر خدام خسروشاهی هستم با یک آموزش دیگه !آدرس اینستاگرام : instagram.com/alikay_h.officialامروز میخوایم با استفاده از برنامه نویسی تحت وب (HTML , CSS , JS) ساعت آنالوگ بسازیم.اول از همه سه تا فایل نیاز داریم بسازیم. یک فایل html و یک فایل css و یک فایل js و اونهارو بهم مربوط میکنیم.و شروع میکنیم به کد نویسی به صورت زیر:فایل اچ تی ام الدر این کد، یک عنصر second به عنوان کلاس ساعت تعریف شده است. درون این عنصر، چهار عنصر دیگر به عنوان دقیقه‌ها، ثانیه‌ها، دقیقه (با مقدار 44) و ساعت قرار دارند.  با استفاده از CSS و تغییر سبک هر یک از این عناصر، می‌توانید ظاهر ساعت را تغییر دهید. برای مثال، با تغییر مقدار دقیقه به 30، مقدار دقیقه در ساعت به 30 تغییر خواهد کرد.و شروع میکنیم به استایل دادن به سایتمون.استایل نویسی قسمت اولدر این کد، یک عنصر با کلاس &quot;clock&quot; تعریف شده است که به عنوان قاب ساعت عمل می‌کند.   از طریق استفاده از CSS، سبک و ظاهر ساعت قابل تغییر است. برای مثال، با تغییر مقادیر دقیقه و ساعت داخل عنصر &quot;clock&quot;، می‌توانید زمان نمایش داده شده در ساعت را تغییر دهید.  همچنین، در این کد از یک فونت با نام &quot;Comfortaa&quot; استفاده شده است که از Google Fonts بارگیری می‌شود. این فونت برای نمایش متن‌ها در ساعت استفاده می‌شود.body, html {  background: #000;    margin: 0;  height: 100vh;    color: #fff;    font-family: &quot;Comfortaa&quot;, cursive;} این کد چیکار میکنه؟این کد CSS است که تنظیماتی برای نمایش صفحه HTML دارد. این تنظیمات شامل تنظیمات پس زمینه، حاشیه، ارتفاع صفحه، رنگ متن و فونت متن است. این تنظیمات باعث می‌شود صفحه HTML با پس زمینه سیاه و متن سفید و با فونت &quot;Comfortaa&quot; نمایش داده شود..clock {   --clock-size: 360px;  width: var(--clock-size);   height: var(--clock-size);  position: fixed;   inset: 0;  margin: auto;   border-radius: 50%;}  این کد چیکار میکنه؟این کد CSS تنظیماتی برای نمایش یک ساعت (clock) در صفحه HTML دارد.   تنظیمات این کد عبارتند از: - تنظیم اندازه ساعت با استفاده از متغیر --clock-size که به مقدار 360 پیکسل تنظیم شده است. - تنظیم عرض و ارتفاع ساعت با استفاده از مقدار متغیر --clock-size. - تنظیم موقعیت ساعت با استفاده از position: fixed؛ به این صورت که ساعت در مرکز صفحه قرار می‌گیرد. - تنظیم حاشیه ساعت به صورت auto؛ به این معنی که ساعت به صورت خودکار حاشیه‌ای مناسب برای قرارگیری در مرکز صفحه پیدا می‌کند. - تنظیم شکل ساعت به صورت یک دایره با استفاده از border-radius: 50%؛ به این صورت که لبه‌های ساعت گرد می‌شوند.  این تنظیمات باعث می‌شود ساعت با پس زمینه سیاه و متن سفید و با فونت &quot;Comfortaa&quot; نمایش داده شود.ادامه استایل نویسی  :استایل نویسی قسمت دوم.spike {  position: absolute;   width: 8px;  height: 1px;   background: #fff9;  line-height: 20px;   transform-origin: 50%;  z-index: 5;   inset: 0;   margin: auto;  font-style: normal;   transform: rotate(var(--rotate)) translateX(var(--dail-size));}این کد CSS یک المان با نام &quot;.spike&quot; ایجاد می کند که یک چیزی به شکل یک نوک با طول 8 پیکسل و عرض 1 پیکسل است. این المان با استفاده از پوزیشن آبسولوت و با استفاده از ترانسفورم، در مرکز صفحه قرار می گیرد.  ویژگی های دیگر این المان عبارتند از: - پس زمینه با رنگ سفید و شفافیت 9 درصد (با استفاده از کد &quot;#fff9&quot;)، که به این معنی است که المان قابل رؤیت است اما نه به طور کامل. - خط بالا و پایین المان با ارتفاع 20 پیکسل و خطوط کاملاً عمودی هستند. - مبدأ ترانسفورم در مرکز المان (با استفاده از &quot;transform-origin: 50%&quot;). - عمق z-index برابر با 5، که به المان اجازه می دهد بر روی سایر المان ها قرار بگیرد. - درجه چرخش المان توسط متغیر &quot;--rotate&quot; تعیین می شود. - موقعیت افقی المان توسط متغیر &quot;--dail-size&quot; تعیین می شود.  به طور خلاصه، این کد یک المان با شکل یک نوک با طول و عرض مشخص ایجاد می کند و با استفاده از ترانسفورم و پوزیشن آبسولوت، در مرکز صفحه قرار می گیرد..spike:nth-child(5n+1) {  box-shadow: -7px 0 #fff9;}در این کد، با استفاده از نوشتن &quot;.spike:nth-child(5n+1)&quot;، به المان هایی با کلاس &quot;spike&quot; که در رده 5n+1 قرار دارند (مانند المان اول، المان ششم، المان یازدهم و غیره)، سایه با طول -7 پیکسل و عرض 0 و با رنگ &quot;#fff9&quot; اعمال می شود.ادامه پست بزودی قرار میگیرد. ...</description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Sat, 07 Oct 2023 03:11:55 +0330</pubDate>
            </item>
                    <item>
                <title>درباره من - علی برادر خدام خسروشاهی نویسنده</title>
                <link>https://virgool.io/@alikayh/%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%D9%85%D9%86-%D8%B9%D9%84%DB%8C-%D8%A8%D8%B1%D8%A7%D8%AF%D8%B1-%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D8%B3%D8%B1%D9%88%D8%B4%D8%A7%D9%87%DB%8C-%D9%86%D9%88%DB%8C%D8%B3%D9%86%D8%AF%D9%87-dkzhjj2rdmbh</link>
                <description>علی برادرخدام خسروشاهی هستم 23 سالمه از تهران اصالتا آذربایجان شرقی ، تبریز ، علاوه بر نویسنده ، برنامه نویس و طراح وب سایت هم هستم. https://virgool.io/d/dkzhjj2rdmbh/%D9%84%DB%8C%D8%B3%D8%AA%D8%AF%D9%84%D9%86%D9%88%D8%B4%D8%AA%D9%87%D9%87%D8%A7%D9%85%D8%AF%D8%B1%D8%AD%D9%88%D8%B2%D9%87%D8%A7%D8%AF%D8%A8%DB%8C%D8%A7%D8%AA: مُلخار چاپ شده و آثار دلنوشته انجمن تک رماندلنشوته های اجتماعی و تراژدی مثل : چند دقیقه تا مرگ ۱ و چند دقیقه تا مرگ ۲ (نفس بکش!) ، دلنوشته دل شکسته ، دلنوشته محزون ، دلنوشته صبر ، دلنوشته دنیادلنوشته های عاشقانه مثل : نبض عاشقی ، به وقت عاشقی ، لبخند فرشتهبیشتر به چه ژانرها و سبک‌هایی علاقه دارم و دلیل علاقم به این سبک‌ها چیه؟طبیعیه که من به ژانر تراژدی و اجتماعی علاقه دارم چون بنظرم حرف دل مخاطب در این سبک ها هست و بیشتر به دل مخاطب من میشینه.از چه چیزهایی برای نوشتن الهام می‌گیرم؟من از اجتماع و اتفاقاتی که رخ میده معمولا الهام میگیرم. https://virgool.io/p/dkzhjj2rdmbh/alikhosroshahinotes.ir </description>
                <category>علی برادر خدام خسروشاهی</category>
                <author>علی برادر خدام خسروشاهی</author>
                <pubDate>Mon, 21 Aug 2023 10:16:34 +0330</pubDate>
            </item>
            </channel>
</rss>