payamvha/North_RAG huggingface dataset:
در آن مطابقت نوع شیء فعلی (که در ثبات ذخیره شده) با نوع شیء مورد انتظار بررسی می‌شود، اگر نوع شیءها تطبیق داده شوند تابع به اجرای خود ادامه می‌دهد به عبارتی اجرای تابع هدف بلافاصله پس از اجرای مقدمه انجام می‌شود، در غیر این صورت اجرا به نقطه فراخوانی بازمی‌گردد و استراتژی های مختلفی امکان پذیر است، به عنوان مثال می‌توان وضعیت نقطه فراخوانی را به حالت "ناشناخته" تغییر داده و نهان‌سازی خطی را برای نوع شیء جدید انجام داد. "نهان‌سازی در خط" در مقایسه با "حافظه نهان جستجوی تابع سطح اول" به جای استفاده از
نهان جستجوی تابع سطح اول" به جای استفاده از انتخاب‌گر (که وظیفه آن انتخاب تابع هدف مناسب به ازای نوع شیء مورد نظر می‌باشد) فقط یک بررسی نوع شیء دارد و همچنین به جای یک فراخوانی غیرمستقیم یا استفاده از جداول توابع مجازی، از یک فراخوانی مستقیم استفاده می‌کند (که برای بارگذاری چند دستور همزمان و همچنین پیاده سازی خط لوله مفید است)، به همین دلیل نهان‌سازی در خط کارایی بهتری دارد. انواع نهان‌سازی در خط. نهان‌سازی در خط با توجه به میزان کارایی و پیچیدگی، انواع مختلفی دارند که عموماً هر حالت، تکمیل کننده حالت
مختلفی دارند که عموماً هر حالت، تکمیل کننده حالت قبلی است. نهان‌سازی در خط تک‌ریخت. اگر انواع مختلفی از اشیاء از یک نقطه فراخوانی مشاهده شود، عملکرد نهان‌سازی در خط به دلیل تغییرات مکرر وضعیت نقطه فراخوانی تضعیف می‌شود، چرا که با دیدن اشیا از نوع مختلف هر بار باید عملیات تغییر وضعیت و جستجوی پویای تابع را انجام بدهد. مثال زیر یک سناریوی بدترین حالت برای نهان‌سازی در خط تک‌ریخت را نشان می‌دهد: (فرض کنید یافتن تابع toString برای متغیرهای int و string هزینه‌ای فراتر از فراخوانی مستقیم یک تابع دارد) var values
فراتر از فراخوانی مستقیم یک تابع دارد) var values = [1, "a", 2, "b", 3, "c", 4, "d"]; for (var i in values) { document.write(values[i].toString()); مکرراً تابع toString بر روی یک شیء که نوع آن از قبل مشخص نیست فراخوانی می‌شود، زیرا نوع شیء با هر تکرار حلقه تغییر می‌کند. بنابراین وضعیت نقطه فراخوانی در هر تکرار از وضعیت "ناشناخته" به "تک‌ریخت" و برعکس تغییر می‌کند. به منظور جلوگیری از وقوع این امر ، اکثر پیاده سازی‌های نهان‌سازی در خط تک‌ریخت یک وضعیت سوم نیز در نظر می‌گیرند که اغلب به آن "بس‌ریخت
سوم نیز در نظر می‌گیرند که اغلب به آن "بس‌ریخت (megamorphic)" گفته می‌شود. این حالت زمانی رخ می‌دهد که تعویض وضعیت یک نقطه فراخوانی از تعداد تعیین‌شده‌ای بیشتر شود. هنگامی که یک نقطه فراخوانی وارد وضعیت "بس‌ریخت" شود، مانند حالت "ناشناخته" عمل می‌کند با این تفاوت که دیگر وارد حالت "تک‌ریخت" نخواهد شد. (برخی از پیاده‌سازی‌ها وضعیت را دوباره به حالت "ناشناخته" برمی‌گردانند. این عمل پس از گذشت مدت زمان مشخص یا یک بار چرخه کامل بازیافت حافظه رخ می‌دهد) نهان‌سازی در خط چندریخت. برای تعامل بهتر با نقاط فراخوانی
در خط چندریخت. برای تعامل بهتر با نقاط فراخوانی که تعداد محدودی از انواع مختلف اشیاء را مشاهده می‌کنند، برخی از زبان‌ها از تکنیکی به نام نهان‌سازی در خط چندریخت استفاده می‌کنند. با نهان‌سازی در خط چندریخت، وضعیت سومی به نام "چندریخت" برای نقطه فراخوانی به وجود می‌آید. هنگامی که نقطه فراخوانی نوع جدیدی از شیء را مشاهده می‌کند به جای تغییر وضعیت از "تک‌ریخت" به "ناشناخته"، به حالت جدیدی به نام "چندریخت" تعویض می‌شود. یک نقطه فراخوانی "چندریخت" مجموعه محدودی از توابع شناخته شده را ذخیره می‌کند، و با توجه به
از توابع شناخته شده را ذخیره می‌کند، و با توجه به نوع شیء تصمیم می‌گیرد که کدام‌یک را به عنوان تابع هدف معرفی کند. به عبارت دیگر، با نهان‌سازی در خط چندریخت، نتایج جستجوی چند تابع را می‌توان در همان نقطه فراخوانی ذخیره کرد. از آنجا که هر نقطه فراخوانی در یک برنامه می‌تواند انواع مختلفی از اشیاء را ببیند، معمولاً یک حد بالا برای تعداد انواع ذخیره شده وجود دارد که پس از رسیدن به این حد بالا، وضعیت نقطه فراخوانی به یک حالت جدید به نام "بس‌ریخت" تغییر پیدا می‌کند و نهان‌سازی بیشتری انجام نمی‌شود. اجرای ابتدایی
و نهان‌سازی بیشتری انجام نمی‌شود. اجرای ابتدایی به صورت یک جدول پرش متشکل از یک مقدمه است که نوع شیء مورد نظر را دریافت کرده و پس از انجام چندین مقایسه تعیین می‌کند کدام پرش باید انجام شود. جدول پرش به طور معمول به یک نقطه فراخوانی اختصاص می‌یابد که با انواع مختلفی از اشیاء روبرو می‌شود. اندازه جدول پرش ثابت است و با افزودن مقادیر جدید قادر به رشد می‌باشد، حداکثر اندازه این جدول عدد کوچکی مانند ۴ یا ۶ یا ۸ می‌باشد. با دریافت یک نوع شیء جدید در حالتی که جدول به حداکثر اندازه خود رسیده است، برنامه به صورت
به حداکثر اندازه خود رسیده است، برنامه به صورت عادی اجرا می‌شود و "حافظه‌نهان جستجوی تابع سطح اول" مجدداً فراخوانی می‌شود. نهان‌سازی در خط بس‌ریخت. اگر در زمان اجرا از هر دو نهان سازی خطی "تک‌ریخت" و "چندریخت" استفاده شود، در حالت پایدار (یعنی حالتی که انواع مختلف اشیاء دیده شده باشد) نقطه فراخوانی تنها در حالتی وارد وضعیت ناشناخته می‌شود که جدول مربوط به نهان‌سازی چندریخت به حداکثر اندازه خود رسیده باشد. از آنجا که رسیدگی به چنین وضعیتی کند و هزینه‌بر است، از یک وضعیت جدید برای حل آن استفاده می‌شود. یک
از یک وضعیت جدید برای حل آن استفاده می‌شود. یک نهان‌سازی در خط بس‌ریخت با ایجاد کد برای ایجاد حافظه‌نهان جستجوی تابع سطح اول برای یک نقطه فراخوانی خاص، بهینه‌سازی لازم را انجام می‌دهد. در وضعیت "چندریخت" با عبور از اندازه حداکثری، نهان‌سازی بس‌ریخت وارد عمل شده و کد مربوطه را تولید می‌کند (یا اگر موجود بود از همان استفاده می‌کند)، سپس کد مربوطه اجرا شده و تابع هدف به نقطه فراخوانی متصل می‌شود. کد می تواند به طور قابل ملاحظه‌ای کارآمدتر از یک حافظه نهان جستجو تابع سطح اول عادی باشد زیرا اسم تابعی که به
جستجو تابع سطح اول عادی باشد زیرا اسم تابعی که به دنبال آن است در حال حاضر ثابت است، که ذخیره‌سازی در ثبات را آسان‌تر می‌کند. پراکندگی وضعیت‌های نهان‌سازی. بررسی‌ها و اندازه‌گیری‌های تجربی نشان می‌دهد پس از اعمال نهان‌سازی در خط در برنامه‌های بزرگ اسمال‌تاک حدود یک سوم از نقاط فراخوانی در حالت ناشناخته باقی می‌مانند و از دو سوم باقی مانده، ۹۰٪ در وضعیت تک‌ریخت، ۹٪ در وضعیت چندریخت و ۱٪ در وضعیت بس‌ریخت هستند. پیوند به بیرون. __نمایه__
گوندر بنگتسون (; – ) مربی فوتبال اهل سوئد بود. افتخارات. وولرنگا گوتبورگ پاناتینایکوس
آلبرتو مالسانی (؛ زادهٔ ) بازیکن فوتبال سابق و اهل ایتالیا است. از باشگاه‌هایی که در آن بازی کرده‌است می‌توان به باشگاه فوتبال ساسوئولو اشاره کرد.
در علوم کامپیوتر می‌گوییم یک زبان برنامه‌نویسی، دارای تابع کلاس-اول است اگر آن زبان با توابع خود به صورت شهروند درجه-یک رفتار کند. این موضوع به این معنی است که زبان مورد نظر باید ویژگی‌های زیر را پشتیبانی کند: برخی از نظریه‌داران حوزه‌ی زبان‌های برنامه‌نویسی برای توابع کلاس-اول، علاوه بر موارد بالا، پشتیبانی از توابع ناشناس (anonymous functions) را نیز الزامی می‌دانند. در زبان‌هایی که توابع کلاس-اول دارند، نام تابع هیچ وضعیت خاص یا ویژه‌ای ندارد و همانند متغیرهایی از نوع تابع با آنها برخورد می‌شود. اصطلاح
از نوع تابع با آنها برخورد می‌شود. اصطلاح توابع کلاس-اول برای اولین بار توسط کریستوفر استراچی در زمینۀ "توابع به عنوان شهروندان درجه-یک" و در اواسط دهۀ 1960 میلادی ابداع شد. توابع کلاس-اول برای برنامه‌نویسی تابعی الزامی هستند. در برنامه‌نویسی تابعی استفاده از توابع مرتبه‌ی بالا متداول است. یک مثال ساده از تابع مرتبه‌ی بالا، تابع نگاشت (map) است که به عنوان آرگومان و ورودی خود یک تابع و یک لیست می‌گیرد و در نهایت یک لیست جدید برمی‌گرداند که تابع مورد نظر بر روی هر یک از اعضای لیست اعمال شده است. برای اینکه
روی هر یک از اعضای لیست اعمال شده است. برای اینکه یک زبان برنامه‌نویسی بتواند از تابع نگاشت پشتیبانی کند، باید یک تابع را به عنوان آرگومان تابعی دیگر بپذیرد. مفاهیم. در این بخش نحوه‌ی پیاده‌سازی یا شبیه‌سازی اصطلاحات مختلف برنامه‌نویسی در زبان‌های دارای تابع کلاس اول (هسکل و پایتون) و زبان‌های فاقد آن (سی)، بررسی می‌شود. توابع مرتبه‌ی بالا. توابع مرتبه‌ی بالا، توابعی هستند که حداقل یک تابع در آرگومان‌های ورودی یا خروجی آن وجود داشته باشد. بقیه‌ی توابع، توابع مرتبه‌ی اول هستند. در زبان‌هایی که دارای توابع
مرتبه‌ی اول هستند. در زبان‌هایی که دارای توابع کلاس اول هستند، توابع می‌توانند مانند متغیرهای معمولی، به عنوان ورودی به توابع دیگر داده شوند. بنابراین برای پیاده‌سازی توابع مرتبه‌ی بالا، بهتر است که زبان مورد نظر از توابع کلاس اول پشتیبانی کند. این توابع به دو صورت می‌توانند از توابع کلاس اول استفاده کنند: زمانی که آرگومان‌های ورودی تابع، تابع باشند و زمانی که خروجی تابع، یک تابع باشد. در زبان پایتون داریم: def addition(n): return n + n numbers = (1, 2, 3, 4) result = map(addition, numbers) در زبان هسکل
4) result = map(addition, numbers) در زبان هسکل داریم: map :: (a -&gt; b) -&gt; [a] -&gt; [b] map f [] = [] map f (x:xs) = f x : map f xs زبان‌هایی که از توابع کلاس اول پشتیبانی نمی‌کنند، معمولاً با استفاده از قابلیبت‌هایی همچون اشاره‌گر به تابع یا نماینده‌ها، توابع مرتبه‌ی بالا را پیاده‌سازی می‌کنند. مثلاً در زبان سی داریم: void map(int (*f)(int), int x[], size_t n) { for (int i = 0; i &lt;n; i++) x[i] = f(x[i]); توابع کاری (Curry). توابع کاری، توابعی هستند که چندین آرگومان را به صورت یکی پس از دیگری، به
که چندین آرگومان را به صورت یکی پس از دیگری، به عنوان ورودی می‌گیرند: در ابتدا یک آرگومان یا پارامتر را می‌گیرد و سپس تابعی برمی‌گرداند که آرگومان بعدی را می‌گیرد و به همین ترتیب ادامه می‌دهد تا تمامی پارامترها به تابع داده شوند. در این مرحله، تابع محاسبه می‌شود و مقدار نهایی برگردانده می‌شود. نام این توابع از اسم منطق‌دان معروف، هسکل کاری آمده است. در زبان پایتون داریم: def compose(g, f): def h(*args, **kwargs): return g(f(*args, **kwargs)) return h در زبان هسکل داریم: multThree :: (Num a) =&gt; a -&gt; a
هسکل داریم: multThree :: (Num a) =&gt; a -&gt; a -&gt; a -&gt; a multThree x y z = x * y * z در زبانی همانند سی که در آن از توابع کلاس اول پشتیبانی نمی‌کند، پیاده‌سازی توابع کاری با استفاده از اشاره‌گر به تابع و توابع متغیر امکان پذیر است. هر چند این گونه پیاده‌سازی‌ها، مشکلات خود را دارند: توابع کاری نمی‌توانند از لحاظ نوع متغیر بررسی یا چک شوند. همچنین چون این در این توابع تعداد آرگومان‌ها و نوع آن‌ها مشخص نیست، میزان حافظه‌ای که برنامه باید برای هر متغیر اختصاص بدهد، در ابتدا معلوم نیست و برنامه
متغیر اختصاص بدهد، در ابتدا معلوم نیست و برنامه اندازه‌ی تمام متغیرها را به صورت اندازه‌ی یک عدد صحیح (integer) در نظر می‌گیرد. توابع ناشناس و توابع تو در تو. توابع ناشناس، توابعی هستند که نام مشخصی ندارند. در زبان‌هایی که از توابع ناشناس پشتیبانی می‌شود، می‌توان تابع را به عنوان یک آرگومان به یک تابع مرتبه‌ی بالا ورودی داد. در زبان پایتون داریم: main_function = lambda x: x * 2 در زبان هسکل داریم: main = map (\x -&gt; 3 * x + 1) [1, 2, 3, 4, 5] در زبان سی داریم: int f(int x) { return 3 * x + 1; int main()
int f(int x) { return 3 * x + 1; int main() { int list[] = {1, 2, 3, 4, 5}; map(f, list, 5); برابری توابع. همانطور که بحث برابری بین متغیرها در زبان‌های برنامه‌نویسی مطرح است، در این زمینه نیز منطقی است که سؤال شود که آیا در مورد توابع هم می‌توان برابری آن‌ها را سنجید یا خیر. این سؤال ساده‌ای نیست و لازم است بین انواع برابری توابع تمایز قائل شود: برابری گسترده. دو تابع f و g را برابر به صورت گسترده می‌نامند اگر به ازای هر ورودی، خروجی برابری داشته باشند. با این تعریف، هر نوع پیاده‌سازی از انواع
باشند. با این تعریف، هر نوع پیاده‌سازی از انواع الگوریتم‌های مرتب‌سازی برابر هستند. نتیجه‌گیری در مورد برابری توابع به صورت گسترده، امکان‌پذیر نیست و حتی در مورد توابعی که ورودی‌های محدودی دارند، امر ساده‌ای نیست. بنابراین زبان‌های برنامه‌نویسی برابری تابع‌های خود را به صورت برابری گسترده پیاده‌سازی نمی‌کنند. برابری فشرده. دو تابع f و g را برابر به صورت فشرده می‌نامند اگر ساختار داخلی یکسانی داشته باشند. پیاده‌سازی این نوع برابری نیز در زبان‌های برنامه‌نویسی راحت نیست. برابری مرجعی. از آنجایی که پیاده‌سازی
راحت نیست. برابری مرجعی. از آنجایی که پیاده‌سازی دو برابری بالا امکان‌پذیر نیست، بیشتر زبان‌های برنامه‌نویسی برای بررسی برابری توابع، از این نوع برابری استفاده می‌کنند. در این نوع برابری، تمام توابع با استفاده از یک علامت مشخص می‌شوند و برابری دو تابع بر اساس برابری علامت آن‌ها تعیین می‌شود. دو تابع کاملاً برابر که به صورت جدا تعریف شده‌اند، در این تعریف برابر نخواهند بود. پشتیبانی زبان‌ها. پشتیبانی از توابع کلاس اول در زبان‌های مختلف به صورت زیر است:
خود را در تلویزیون صدا و سیما نیز به نمایش گذاشت. زندگی‌نامه. صالح سخندان ۵ آبان ۱۳۶۹ در تهران متولد شد. به خاطر علاقهٔ خود به مهندسی، هنر و ریاضیات و تجربهٔ کار در زمینه گرافیک به کاربرد این سه رشته در آثارش تمایل داشت. در سال ۱۳۸۹ در حالی که ۲ سال از دوران تحصیلاتش در رشتهٔ مهندسی برق دانشگاه صنعتی خواجه نصیرالدین طوسی می‌گذشت با حوزه هنری خطای دید آشنا شد و اولین پروژه خود را در زمینه واریخت‌سازی تابلوها گرفت و پس از یک سال در سال ۱۳۹۰ این پروژه را به اتمام رساند. علاقه‌مندی سخندان به حوزه هنری واریخت و
رساند. علاقه‌مندی سخندان به حوزه هنری واریخت و تجربه انجام پروژه‌های گرافیکی برای سازمان‌ها و شرکت‌ها مقدمه‌ای بود تا از دانشگاه انصراف دهد و از سال ۱۳۹۰ به‌طور تخصصی به مطالعه و طراحی در زمینه خطای دید بپردازد. اولین نمود فعالیت صالح سخندان در حوزه خطای دید، نقاشی سه بعدی بود اما اولین تجربه او نبود. او همچنین پیشگام نقاشی سه بعدی دیجیتال در دنیا است. سخندان در سال‌های فعالیت خود صدها اثر شخصی و پروژه تجاری انجام داده‌است که به صورت کلی می‌توان به ساخت پارک‌ها، موزه‌های بزرگ، طراحی گرافیکی و مجسمه‌سازی بر
موزه‌های بزرگ، طراحی گرافیکی و مجسمه‌سازی بر اساس خطای دید و چیدمان‌های خاص و نقاشی‌های سه بعدی اشاره کرد. رؤیا پارک (واقع در دارآباد)، خانهٔ وارونه (واقع در پارک جنگلی چیتگر) و ایلوژنا (واقع در ایران مال) از نمونه آثار او در شهر تهران است. از سال ۱۳۹۳ به تولید پرداخت و اولین محصول خود را در قالب برچسب ارائه نمود که با برچسب‌های متداولی که در حوزه دکوراسیون استفاده می‌شد، متفاوت بود. در اسفند ۱۳۹۴ صالح سخندان گروهی هنری به نام «آقای خطای دید» از هنرمندان فعال در حوزه هنری خطای دید با تجربه مطالعاتی و طراحی
در حوزه هنری خطای دید با تجربه مطالعاتی و طراحی از سال ۱۳۹۰ تشکیل داد که آثار متعددی از این گروه در فضای مجازی منتشر شده‌است. سبک نقاشی. آثار هنری خطای دید، آثاری هستند که در نگاه اول آن چیزی که به نظر می‌رسند، نیستند و حتی بی‌نظم و درهم‌وبرهم به نظر می‌آیند اما در زاویه‌ای خاص معنادار می‌شوند. به گفتهٔ سخندان تحصیلات دانشگاهی و حتی کتاب جامعی که به این موضوع پرداخته باشد، وجود ندارد و یک موضوع بین رشته‌ای، ترکیبی از پزشکی، هنر، مهندسی است که برای فعالیت در این زمینه نیاز داریم با نحوه کارکرد مغز و سیستم
این زمینه نیاز داریم با نحوه کارکرد مغز و سیستم بینایی و مباحث هندسه، نور و فیزیک آشنا باشیم. صالح سخندان درکشیدن آثارش از روش بداهه و ایده بدون طرح اولیه استفاده می‌کند. در ابتدا آثاری که با خطای دید خلق می‌کرد به دلیل تازگی این موضوع جدی گرفته نمی‌شد اما به مرور با انتشار عکس آثارش در اینترنت و شبکه‌های اجتماعی بیشتر از قبل مورد توجه قرار گرفت و حوزه هنری خطای دید و کاربرد آن در صنایع و به خصوص در تبلیغات و سرگرمی بیش از پیش شناخته شد. به گفته سخندان در اصل نقاشی‌های سه بعدی با استفاده از پاستل‌های گچی
اصل نقاشی‌های سه بعدی با استفاده از پاستل‌های گچی در خیابان کشیده می‌شدند و به هنر خیابانی معروف بودند. هدف این گونه آثار رساندن محتوا و اصل نیت هنرمند است و خود نقاشی حائز اهمیت نیست بلکه خروجی آن، مثل عکس‌هایی که از آن گرفته می‌شود اهمیت دارد. به همین دلیل الزامی بر ماندگاری آن‌ها وجود ندارد اما می‌توان با استفاده از متریال و رنگ‌های خاص ماندگاری این آثار را افزایش داد. آثار. در سال ۱۳۸۹ سخندان کار خود را با طراحی دگرگون چند سطحی تابلوهای پارکینگ مجتمع تجاری تیراژه ۲ آغاز کرد. این تابلوها به منظور
تجاری تیراژه ۲ آغاز کرد. این تابلوها به منظور راهنمایی راننده‌ها به سمت در خروجی و طبقات مختلف پارکینگ استفاده شده‌است. در سال ۱۳۹۱ اولین نقاشی سه بعدی خود را در پارک چیتگر تهران با استفاده از زغال و گچ رنگی در متراژ ۱۷ متر مربع کشید. این اثر بعد از یک روز با بارش باران به علت استفاده از گچ رنگی درکشیدن اثر از روی زمین پاک شد. در سال ۱۳۹۲ به سفارش شهرداری تهران در بوستان هنرمندان نقاشی سه‌بعدی برج میلاد را با استفاده از رنگ اکرولیک بر روی زمین کشید. در سال ۱۳۹۴ به سفارش تداکس تهران لوگوی کنفرانس پارادایم
۱۳۹۴ به سفارش تداکس تهران لوگوی کنفرانس پارادایم نو را طراحی نمود در سال ۱۳۹۷ اولین موزه خطای دید ایران به نام رؤیا پارک در مجموعه موزه‌های دارآباد با طراحی و نظارت صالح سخندان ساخته شد و در فروردین ۱۳۹۸ افتتاح شد. تمام این مجموعه به صورت صددرصدی توسط متخصصان و طراحان تیم مهندسی-هنری "آقای خطای دید" بدون بهره‌گیری از مهندسان و طراحان خارجی ساخته شد. وجود المان‌های ایرانی در بخش‌های مختلف این مجموعه مانند قالیچه پرنده، آرش کمانگیر، سیمرغ، یوزپلنگ ایرانی حس بومی بودن این اثر را برای بازدیدکننده‌ها تداعی
حس بومی بودن این اثر را برای بازدیدکننده‌ها تداعی می‌کند. در آبان ۱۳۹۸ سخندان پروژه خانه وارونه را در دریاچه چیتگر با سوژه اتاق‌های وارونه آغاز کرد. موزه‌های زیادی در دنیا با این سوژه که به نام Upside Down شناخته شده‌است، وجود دارد. پیش از این پروژه نیز سه جاذبه اتاق وارونه در موزه رؤیا پارک اجرا شده بود اما خانه وارونه تهران اولین مجموعه اختصاصی با محوریت اتاق‌های وارونه در ایران است که در بهمن ۱۳۹۸ افتتاح شد. در آذر ۱۳۹۸ به درخواست معاونت فرهنگی هنری مترو تهران صالح سخندان در ایستگاه متروی دکتر شریعتی
تهران صالح سخندان در ایستگاه متروی دکتر شریعتی تهران چیدمان خطای دید از پرتره علی شریعتی را خلق کرد. در این چیدمان از کتاب‌های شریعتی استفاده شده که با تماشای نقاشی روی سطوح مختلف آن‌ها از زاویهٔ‌ای خاص، تصویر پرتره علی شریعتی دیده می‌شود. حضور در مسابقه تلویزیونی عصر جدید. صالح سخندان در فصل دوم مسابقه تلویزیونی "عصر جدید" در زمینه هنری برای نمایش استعداد خود در زمینه خطای دید شرکت نمود. با پذیرش در مرحله راستی‌آزمایی این فصل از مسابقه برای اجرا در مرحله اول انتخاب شد. سخندان با اولین اجرای خود در قسمت
اول انتخاب شد. سخندان با اولین اجرای خود در قسمت نهم مرحله اول این مسابقه از داوران سید بشیر حسینی، رؤیا نونهالی و امین حیایی زنگ سفید (رای بله داوران) و از آریا عظیمی‌نژاد زنگ قرمز (رای نه داوران) دریافت نمود. اجرای سخندان تلفیقی از هنر نقاشی و مهندسی بود که در پایان با ترکیب هدفمندی از بی‌نظمی‌ها نتیجه غافلگیرکننده‌ای برای داوران به وجود آورد. در بخش فینال این قسمت از میان شرکت‌کنندگان به عنوان یکی از دو نفر منتخب داوران به مرحله دوم راه یافت. سخندان برای دومین اجرای خود در قسمت نهم مرحله دوم این مسابقه
دومین اجرای خود در قسمت نهم مرحله دوم این مسابقه نیز موفق شد از همهٔ داوران زنگ سفید (رای بله داوران) دریافت نماید.
در طراحی زبان رایانه ای، قطع کردن(به انگلیسی: stropping) روشی است که توالی ای از حروف را به داشتن خاصیتی ویژه مانند واژه رزروشده، نوع خاصی از متغیر یا مکان حافظه علامت گذاری می‌کند و به این ترتیب فضای نام متفاوتی از اسم‌های معمولی (شناساگرها) خواهند داشت تا از مشابهت غلط آن‌ها جلوگیری شود. این روش در بیشتر زبان‌های مدرن استفاده نمی‌شود - به جای آن کلمات کلیدی، کلمات رزرو شده هستند و نمی‌توان به عنوان شناساگر از آن‌ها استفاده کرد. استروپینگ اجازه می‌دهد تا از همان دنباله حروف هم به عنوان کلمات کلیدی و هم به
همان دنباله حروف هم به عنوان کلمات کلیدی و هم به عنوان شناساگر استفاده کرد، و به این ترتیب عمل تجزیه را ساده‌تر می‌کند. برای مثال اجازه می‌دهد نام متغیری if باشد، بدون اینکه با کلمه کلیدی if تداخل داشته باشد. استروپینگ در درجه اول در دهه ۱۹۶۰ با الگول و زبانهای مرتبط همراه بود. اگرچه این روش استفاده‌های مدرن دارد، اما با سایر تکنیک‌های مشابه که از نظر ظاهری شباهت زیادی دارند، به راحتی اشتباه گرفته می‌شود. تاریخچه. روش قطع کردن در توسعه الگول در دهه ۱۹۶۰ پدید آمد که از آن برای تمایزهای تایپی مختلف (boldface
آمد که از آن برای تمایزهای تایپی مختلف (boldface و underline) استفاده می‌شد که در زبان نشر استفاده می‌شده‌است و نمی‌تواند مستقیماً در زبان سخت‌افزاری نشان داده شود. یک ماشین‌تحریر می‌تواند دارای نویسه‌های bold باشد، اما در مورد کدگذاری در کارت‌های پانچ، هیچ کاراکتر Boldای وجود ندارد. اصطلاح «قطع کردن» در الگول ۶۰، از اپاستروف به وجود آمد، زیرا برخی از پیاده سازیهای الگول ۶۰ از آپوستروف‌ها در اطراف متن استفاده می‌کردند تا نشان دهندهٔ مهم بودن آن باشند. برای مثال codice_1 نشان دهندهٔ کلمهٔ کلیدی «اگر» است.
مثال codice_1 نشان دهندهٔ کلمهٔ کلیدی «اگر» است. این روش در الگول۶۸ نیز بسیار مهم است، که در آن روش‌های مختلف بریدن، معروف به رژیم‌های بریدن(stropping regimes)، استفاده شده‌است. آپاستروف‌های اصلی الگول ۶۰ به‌طور گسترده مورد استفاده قرار نگرفت در صورتی که حروف بزرگ بیش‌تر رایج بود. مانند codice_2 و codice_3 که روش بریدن برای همهٔ این‌ها اعمال می‌شود. دستور زبان. گسترهٔ وسیعی از دستور زبان‌های مختلف برای قطع کردن استفاده شده‌است: در حقیقت، اغلب اینگونه است که چندین قرارداد قطع کردن ممکن است در یک زبان مورد
چندین قرارداد قطع کردن ممکن است در یک زبان مورد استفاده قرار گیرد. به عنوان مثال، در الگول۶۸ انتخاب بین "بریدن"های مختلف را می‌توان با یک دستورالعمل کامپایلر (عملگر در واژه‌شناسی الگول) که به صورت "نقطه" (POINT)، "بالایی"(UPPER)، "نقل و قول"(QUOTE) یا "عطف به"(RES) نامیده می‌شوند، انتخاب کرد. نظام‌های مختلف قواعد یک ویژگی واژگانی برای کاراکترهای منقطع شده (stropped) هستند، هر چند در برخی موارد، این تفسیرها، تفاسیر ساده‌ای دارند: در آپاستروف تنها(single apostrophe) و نظام نقطه‌ای، اولین کاراکتر به عنوان یک
و نظام نقطه‌ای، اولین کاراکتر به عنوان یک کاراکتر فرار عمل می‌کند، در حالی که در نظام‌های آپاستروف، به عنوان حائل عمل می‌کنند. مثال دیگر: برنامه‌های ALGOL 68RS حتی در یک پردازنده یک زبان نیز می‌توانند از چندین نوع روش قطع کردن استفاده کنند. مثال‌های سبک‌های مختلف الگول ۶۸. توجه داشته باشید به دستورالعمل پیشرو pr (مخفف pragmat)، که خود به سبک نقطه یا نقل قول قطع می‌شوند، و همچنین برای کامنت (از "") تنظیم شده‌است - به الگول ۶۸: عناصر مهم زبانی مراجعه کنید. زبان‌های دیگر. به دلایل مختلف فورترن‎۷۷ دارای این
زبان‌های دیگر. به دلایل مختلف فورترن‎۷۷ دارای این مقادیر "منطقی" و عملگرها است: .TRUE., .FALSE., .EQ., .NE., .LT., .LE., .GT., .GE., .EQV., .NEQV., .OR., .AND., .NOT. .AND., .OR. و .XOR. همچنین در تست‌های ترکیبی در عبارت‌های codice_3 و codice_13 در پرونده‌های دسته ای که تحت پردازنده‌های خط فرمان JP Software مانند 4DOS , 4OS2 و 4NT / Take Command اجرا می‌شوند، استفاده شده‌اند. استفادهٔ مدرن. اکثر زبان‌های مدرن کامپیوتر از روش قطع کردن (stropping) استفاده نمی‌کنند، با دو استثنا قابل توجه: استفاده از زبانهای
با دو استثنا قابل توجه: استفاده از زبانهای زیادی در Microsoft's .NET Common Language Infrastructure (CLI) به روشی برای استفاده از متغیرها به زبانی متفاوت نیاز دارد که ممکن است در یک زبان مکالمه کلمات کلیدی باشند. این کار گاهی اوقات با پیشوندهایی مانند codice_14 در #c یا شناسه در براکت‌ها در ویژوال بیسیک دات‌نت انجام می‌شود. دومین نمونه مهم در بسیاری از پیاده‌سازی‌های ساختار، جستجوی زبان است. در این زبانها کلمات محفوظ با محدود کردن واژگان از آنها به عنوان ستون، جدول یا نام متغیر قابل استفاده هستند. به صورت
جدول یا نام متغیر قابل استفاده هستند. به صورت استاندارد کلمات محصور شده با " " مشخص می‌شوند اما در عمل مکانیسم دقیق با اجرا تغییر می‌کند؛ برای مثال، مای‌اس‌کیوال اجازه می‌دهد که واژه‌های رزرو شده در زمینه‌های دیگر با استفاده از محصور کردن آنها توسط backticks انجام شود یا مایکروسافت اس‌کیوال سرور از براکت‌های مربعی استفاده می‌کند. قطع کردن(stropping) نیز می‌توانند در زبان برنامه‌نویسی Nim مورد استفاده قرار گیرند. در زبان Nim کلمه رزرو شده می‌تواند به عنوان یک شناسه با ضمیمه کردن آن در براکت استفاده شود.
یک شناسه با ضمیمه کردن آن در براکت استفاده شود. نمونه‌های دیگری نیز وجود دارند. برای مثال، Web IDL از یک زیرخط codice_15 برای نشانه‌گذاری شناسه‌ها استفاده می‌کند که در غیر این صورت با کلمات محفوظ برخورد می‌کند. قطع نکردن توسط کامپایلر. در ابتدا در کامپایلر، قطع نکردن (unstropping) در طول مرحله بازسازی خط اول رخ می‌داد، که همچنین فضاهای خالی را نیز از بین می‌برد. پس از آن تجزیه و تحلیل بدون اسکنر (بدون نشانه گذاری) دنبال شد که در دهه ۱۹۶۰، برای الگول استاندارد بود. در استفاده مدرن، قطع نکردن(unstropping) به
بود. در استفاده مدرن، قطع نکردن(unstropping) به عنوان بخشی از تحلیل واژگانی انجام می‌شود. یک امر واضح این است اگر فرد واژگان را به دو مرحله اسکنر و ارزیاب متمایز کند: اسکنر رشته قطع شده(stropped) را در طبقه‌بندی به درستی دسته‌بندی می‌کند و سپس ارزیاب هنگام محاسبه مقدار از تکنیک جدانکردن (unstrops) استفاده می‌کند. به عنوان مثال، در زبانی که زیرخط codice_15 در اول کلمه برای بریدن شناسه‌ها برای جلوگیری از برخورد با کلمات محفوظ استفاده می‌شود، دنباله codice_17 به عنوان یک شناسه (نه به عنوان کلمه رزرو شده در
به عنوان یک شناسه (نه به عنوان کلمه رزرو شده در صورت) توسط اسکنر طبقه‌بندی می‌شود سپس ارزیاب این مقدار را به عنوان نوع-نشانه codice_18 مقدار خواهد داد. تکنیک‌های مشابه. تعدادی روش مشابه وجود دارند که به‌طور کلی با پیشوند یا پسوند گذاری شناسه، برخوردهای مختلف با آن را نشان دهند ولی از لحاظ مفهوم با یکدیگر متفاوتند. به‌طور دقیق قطع کردن (stropping) متشکل از نمایش‌های مختلف برای یک اسم، در فضاهای نام متفاوت است و در مرحله نشان گذاری کردن رخ می‌دهد. از حروف بزرگ برای کلمات کلیدی همچنان به عنوان یک قرارداد برای
برای کلمات کلیدی همچنان به عنوان یک قرارداد برای نوشتن دستور زبان برای واژگان و تجزیه استفاده می‌شود - علامت گذاری کلمه رزرو شده به عنوان کلاس نشانگر IF، و سپس بیان عبارت "if-then-else" با codice_19 که در آن اصطلاح‌های با حروف بزرگ کلمات کلیدی هستند و اصطلاحاتی که فقط حرف اول آن‌ها بزرگ است نمادهای غیر پایانی در یک قاعده تولید هستند (نمادهای پایانی با حروف کوچک مشخص می‌شوند). قرارداد نامگذاری. ممکن است از قراردادهای نامگذاری برای جلوگیری از تصادم استفاده شود که به صورت معمول از زیرخط پیشوند یا پسوند
شود که به صورت معمول از زیرخط پیشوند یا پسوند استفاده می‌شود. زیرخط پیشوندی اغلب برای نشان دادن اعضای خصوصی در برنامه‌نویسی شی گرا استفاده می‌شود. این اسامی ممکن است توسط کامپایلر تفسیر شوند و تأثیراتی داشته باشند، هرچند این کار معمولاً در مرحله تجزیه و تحلیل معنایی انجام می‌شود، نه مرحله نشانه گذاری. به عنوان مثال، در پایتون، یک زیرخط پیشوندی، یک شاخص خصوصی ضعیف است، در حالی که دو زیرخط برجسته روی یک ویژگی کلاس، دستکاری نام را نشان می‌دهد. کلمات رزرو شده. زبان‌های مدرن به‌طور کلی از واژه‌های رزرو شده به