[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"categoryMenus":3,"blogPost-17440":193,"$f-kUuy7w3NiZfqVXz0C9oOaj3-u5NhqVSjBZD5hwCFsY":212},{"status":4,"data":5},1,[6,46,106,124,144],{"id":4,"title":7,"list_order":4,"items":8},"آشنایی",[9,15,19,23,30,34,38,42],{"id":10,"link":11,"type":12,"slug":13,"title":14},8,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F8","content",null,"قوانین و مقررات",{"id":16,"link":17,"type":12,"slug":13,"title":18},9,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F9","پرسش های متداول",{"id":20,"link":21,"type":12,"slug":13,"title":22},12,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F12","راهنمای عضویت",{"id":24,"link":25,"type":26,"slug":27,"handler":28,"title":29},132,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fmakemoney","special","makemoney","makeMoney","درآمدزایی در گاما",{"id":31,"link":32,"type":12,"slug":13,"title":33},13,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F13","راهنمای دبیران",{"id":35,"link":36,"type":12,"slug":13,"title":37},15,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F15","راهنمای دانش آموزان",{"id":39,"link":40,"type":12,"slug":13,"title":41},141,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F141","تغییرات اخیر",{"id":43,"link":44,"type":12,"slug":13,"title":45},69,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F69","نرم افزارهای كاربردی",{"id":47,"title":48,"list_order":4,"items":49},2,"المپیادها",[50,54,58,62,66,70,74,78,82,86,90,94,98,102],{"id":51,"link":52,"type":12,"slug":13,"title":53},4,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F4","المپیاد ریاضی",{"id":55,"link":56,"type":12,"slug":13,"title":57},19,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F19","المپیاد فیزیک",{"id":59,"link":60,"type":12,"slug":13,"title":61},20,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F20","المپیاد شیمی",{"id":63,"link":64,"type":12,"slug":13,"title":65},21,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F21","المپیاد زیست شناسی",{"id":67,"link":68,"type":12,"slug":13,"title":69},22,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F22","المپیاد کامپیوتر",{"id":71,"link":72,"type":12,"slug":13,"title":73},23,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F23","المپیاد نجوم",{"id":75,"link":76,"type":12,"slug":13,"title":77},24,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F24","المپیاد ادبی",{"id":79,"link":80,"type":12,"slug":13,"title":81},25,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F25","المپیاد سلول‌های بنیادی",{"id":83,"link":84,"type":12,"slug":13,"title":85},95,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F95","المپیاد جغرافیا",{"id":87,"link":88,"type":12,"slug":13,"title":89},114,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F114","المپیاد علوم زمین",{"id":91,"link":92,"type":12,"slug":13,"title":93},115,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F115","المپیاد مدیریت، اقتصاد و حکمرانی",{"id":95,"link":96,"type":12,"slug":13,"title":97},140,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F140","المپیاد سواد رسانه‌ای",{"id":99,"link":100,"type":12,"slug":13,"title":101},136,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F136","المپیاد نانو",{"id":103,"link":104,"type":12,"slug":13,"title":105},151,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F151","المپیاد هوش مصنوعی",{"id":107,"title":108,"list_order":4,"items":109},3,"نمونه و تیزهوشان",[110,114,119],{"id":111,"link":112,"type":12,"slug":13,"title":113},26,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F26","آزمون ورودی پایه چهارم",{"id":115,"link":116,"type":26,"slug":117,"handler":117,"title":118},27,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fkhas6","khas6","آزمون ورودی پایه هفتم",{"id":120,"link":121,"type":26,"slug":122,"handler":122,"title":123},28,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fkhas9","khas9","آزمون ورودی پايه دهم",{"id":125,"title":126,"list_order":4,"items":127},7,"کتابهای درسی",[128,132,136,140],{"id":129,"link":130,"type":12,"slug":13,"title":131},43,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F43","دوره دبستان",{"id":133,"link":134,"type":12,"slug":13,"title":135},48,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F48","دوره اول متوسطه",{"id":137,"link":138,"type":12,"slug":13,"title":139},49,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F49","دوره دوم متوسطه",{"id":141,"link":142,"type":12,"slug":13,"title":143},50,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F50","بارم بندی دروس",{"id":10,"title":145,"list_order":10,"items":146},"پیشنهاد ویژه",[147,152,157,162,167,172,177,181,185,189],{"id":148,"link":149,"type":26,"slug":150,"handler":150,"title":151},108,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fhamahang6th","hamahang6th","امتحانات هماهنگ ششم",{"id":153,"link":154,"type":26,"slug":155,"handler":155,"title":156},71,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fhamahang9th","hamahang9th","امتحانات هماهنگ نهم",{"id":158,"link":159,"type":26,"slug":160,"handler":160,"title":161},147,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fnahaei10th","nahaei10th","امتحان نهایی دهم",{"id":163,"link":164,"type":26,"slug":165,"handler":165,"title":166},148,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fnahaei11th","nahaei11th","امتحان نهایی یازدهم",{"id":168,"link":169,"type":26,"slug":170,"handler":170,"title":171},94,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fnahaei12th","nahaei12th","امتحان نهایی دوازدهم",{"id":173,"link":174,"type":12,"slug":175,"title":176},68,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fkonkur","konkur","بیست‌وسه سال کنکور سراسری",{"id":178,"link":179,"type":12,"slug":13,"title":180},67,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F67","ويژه نامه نوبت دوم",{"id":182,"link":183,"type":12,"slug":13,"title":184},64,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F64","آزمون‌های نوبت دوم",{"id":186,"link":187,"type":12,"slug":13,"title":188},78,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F78","آزمون‌های نوبت اول",{"id":190,"link":191,"type":12,"slug":13,"title":192},90,"https:\u002F\u002Fgama.ir\u002Fpage\u002Fshow\u002F90","آزمون سنجش آغازین",{"id":194,"section":47,"base":16,"course":195,"lesson":103,"title":196,"cat":197,"pic":198,"info_graphic":13,"podcast":13,"body":199,"tags":200,"metadata":13,"featured":195,"status":4,"views":204,"subdate":205,"up_date":206,"first_name":207,"last_name":208,"avatar":13,"cat_title":209,"subdate_jalali":210,"update_jalali":211},17440,0,"بلاک کد و تورفتگی: گروهی از دستورها با فاصله ابتدای خط یکسان که محدوده اجرای شرط یا حلقه را مشخص می‌کند.",14098,"https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FZI9F3fsmR0r5Tanj9CuW_800.png","\u003Cdiv aria-label=\"بلاک کد و تورفتگی در برنامه‌نویسی\" dir=\"rtl\" id=\"article-core\" role=\"article\" style=\"background: #ffffff; box-sizing: border-box; color: #667085; font-family: &#039;IRANSans&#039;,Tahoma,&#039;Times New Roman&#039;,serif; line-height: 1.8; max-width: 980px; padding: 16px; width: 100%; word-break: break-word\">\r\n\u003Ch2 style=\"color: #344054; font-size: 22px; font-weight: 800\">بلاک کد و تورفتگی؛ نظم پنهان در برنامه&zwnj;نویسی\u003C\u002Fh2>\r\n\r\n\u003Cdiv style=\"color: #667085; font-size: 13px; margin-top: 4px; opacity: .95\">چگونه فاصله&zwnj;ی ابتدای خط، محدوده&zwnj;ی اجرای شرط و حلقه را مشخص می&zwnj;کند؟\u003C\u002Fdiv>\r\n\r\n\u003Cdiv style=\"background: #fff8e1; border-radius: 12px; border: 1px solid #ffb600; color: #667085; margin-bottom: 14px; margin-left: 16px; margin-right: 16px; margin-top: 14px; padding: 12px 14px\">در برنامه&zwnj;نویسی، گاهی باید چند دستور را کنار هم قرار دهیم تا یک کار بزرگ&zwnj;تر را انجام دهند. به این گروه از دستورها که با فاصله&zwnj;ی یکسان از سمت چپ شروع می&zwnj;شوند، &laquo;بلاک کد&raquo; می&zwnj;گویند. این بلاک&zwnj;ها مشخص می&zwnj;کنند که دستورهای مربوط به یک شرط یا یک حلقه، کدام&zwnj;ها هستند. در این مقاله با مفهوم بلاک کد، نقش تورفتگی و تفاوت آن با اجرای معمولی دستورها آشنا می&zwnj;شوید و می&zwnj;بینید که چطور یک فاصله&zwnj;ی ساده، منطق برنامه را تغییر می&zwnj;دهد.\u003C\u002Fdiv>\r\n\r\n\u003Ch3 style=\"border-bottom: 2px solid #ffb600; color: #344054; font-size: 18px; margin-bottom: 16px; margin-left: 8px; margin-right: 8px; margin-top: 16px; padding: 0 0 6px 0\">بلاک کد چیست و چطور تشکیل می&zwnj;شود؟\u003C\u002Fh3>\r\n\r\n\u003Cp style=\"color: #667085\">فرض کنید در حال نوشتن یک دستور شرطی هستید که می&zwnj;گوید: &laquo;اگر نمره&zwnj;ی دانش&zwnj;آموز از \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">12\u003C\u002Fspan> بیشتر بود، به او بگو قبول شدی و یک پیام تبریک هم برایش بنویس.&raquo; اینجا دو دستور داریم که هر دو فقط وقتی اجرا می&zwnj;شوند که نمره از \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">12\u003C\u002Fspan> بیشتر باشد. برای اینکه کامپیوتر بفهمد هر دوی این دستورها به شرط مربوط می&zwnj;شوند، آن&zwnj;ها را به&zwnj;صورت یک بلاک کد می&zwnj;نویسیم. یعنی هر دو دستور را با فاصله&zwnj;ی یکسان از سمت چپ صفحه شروع می&zwnj;کنیم. به این فاصله&zwnj;ی ابتدای خط، &laquo;تورفتگی&raquo; می&zwnj;گویند. در بسیاری از زبان&zwnj;های برنامه&zwnj;نویسی مثل پایتون، این فاصله&zwnj;ها کاملاً ضروری هستند و اگر رعایت نشوند، برنامه با خطا مواجه می&zwnj;شود. در زبان&zwnj;هایی مثل جاوااسکریپت یا سی&zwnj;پلاس&zwnj;پلاس، از آکولاد (\u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">{ }\u003C\u002Fspan>) برای مشخص کردن بلاک استفاده می&zwnj;شود، اما تورفتگی همچنان به خواناتر شدن کد کمک می&zwnj;کند.\u003C\u002Fp>\r\n\r\n\u003Cp style=\"color: #667085\">بیایید یک مثال ساده بزنیم. فرض کنید می&zwnj;خواهیم برنامه&zwnj;ای بنویسیم که اگر سن کاربر از \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">18\u003C\u002Fspan> بیشتر بود، ابتدا پیام &laquo;ورود مجاز است&raquo; را چاپ کند، سپس &laquo;خوش آمدید&raquo; را هم بنویسد. اگر این دو دستور را با تورفتگی یکسان بنویسیم، هر دو جزو بلاک شرط هستند. اما اگر دستور دوم را بدون تورفتگی بنویسیم، دیگر جزو شرط نیست و همیشه اجرا می&zwnj;شود، حتی اگر سن کاربر کمتر از \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">18\u003C\u002Fspan> باشد. این تفاوت کوچک در ظاهر، تأثیر بزرگی در رفتار برنامه دارد. به همین دلیل، برنامه&zwnj;نویسان به تورفتگی و بلاک&zwnj;بندی کد خود خیلی دقت می&zwnj;کنند تا اشتباهات ناخواسته پیش نیاید.\u003C\u002Fp>\r\n\r\n\u003Cdiv style=\"background: #fff7e6; border-radius: 12px; border: 1px solid #ffb600; color: #7a5200; font-size: 13px; padding: 12px 14px\">\u003Cstrong>نکته:\u003C\u002Fstrong> به گروه دستورهایی که با فاصله&zwnj;ی یکسان از چپ نوشته می&zwnj;شوند، &laquo;بلاک&raquo; می&zwnj;گوییم. این بلاک&zwnj;ها محدوده&zwnj;ی اجرای شرط&zwnj;ها، حلقه&zwnj;ها و توابع را مشخص می&zwnj;کنند.\u003C\u002Fdiv>\r\n\r\n\u003Ch3 style=\"border-bottom: 2px solid #ffb600; color: #344054; font-size: 18px; margin-bottom: 16px; margin-left: 8px; margin-right: 8px; margin-top: 16px; padding: 0 0 6px 0\">چرا تورفتگی مهم است و چه کاربردی دارد؟\u003C\u002Fh3>\r\n\r\n\u003Cp style=\"color: #667085\">تورفتگی فقط برای زیبایی کد نیست؛ بلکه یک ابزار قدرتمند برای سازماندهی و خوانایی برنامه است. وقتی کد شما چندین شرط و حلقه&zwnj;ی تو در تو دارد، تورفتگی به شما کمک می&zwnj;کند ببینید هر دستور در کدام سطح از برنامه قرار دارد. مثلاً اگر یک حلقه&zwnj;ی \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">for\u003C\u002Fspan> داریم که داخل آن یک شرط \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">if\u003C\u002Fspan> نوشته شده، دستورهای مربوط به شرط باید یک تورفتگی بیشتر از دستورهای مربوط به حلقه داشته باشند. این کار باعث می&zwnj;شود وقتی کد را چند روز بعد دوباره می&zwnj;خوانید، به&zwnj;راحتی متوجه ساختار آن شوید. همچنین وقتی چند برنامه&zwnj;نویس روی یک پروژه کار می&zwnj;کنند، رعایت تورفتگی یکسان باعث می&zwnj;شود کد برای همه قابل&zwnj;فهم باشد.\u003C\u002Fp>\r\n\r\n\u003Cp style=\"color: #667085\">یک کاربرد دیگر تورفتگی، مشخص کردن دستورهایی است که باید چند بار تکرار شوند. فرض کنید می&zwnj;خواهیم \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">5\u003C\u002Fspan> بار عبارت &laquo;سلام دنیا!&raquo; را چاپ کنیم. اگر دستور چاپ را با تورفتگی داخل حلقه&zwnj;ی \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">for\u003C\u002Fspan> قرار دهیم، \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">5\u003C\u002Fspan> بار اجرا می&zwnj;شود. اما اگر اشتباهاً آن را بدون تورفتگی بنویسیم، فقط یک بار چاپ می&zwnj;شود و بقیه&zwnj;ی تکرارها هیچ کاری نمی&zwnj;کنند. پس تورفتگی مشخص می&zwnj;کند که کدام دستورها باید تکرار شوند و کدام&zwnj;ها فقط یک بار اجرا گردند. این موضوع در حلقه&zwnj;های تو در تو اهمیت بیشتری پیدا می&zwnj;کند، چون ممکن است چندین سطح تورفتگی داشته باشیم و هر سطح نشان&zwnj;دهنده&zwnj;ی عمق تو رفتگی در حلقه&zwnj;ها و شرط&zwnj;هاست.\u003C\u002Fp>\r\n\r\n\u003Cdiv aria-label=\"مقایسه‌ی بلاک‌های کد با تورفتگی درست و نادرست\" role=\"region\" style=\"border-radius: 12px; border: 1px solid #e5e7eb; overflow: auto; padding: 0\">\r\n\u003Ctable cellspacing=\"0\" style=\"border-collapse: collapse; box-sizing: border-box; min-width: 600px; width: 100%\">\r\n \u003Cthead>\r\n  \u003Ctr>\r\n   \u003Cth style=\"box-sizing: border-box; text-align: right; padding: 10px 12px; background: #24292f; color: #ffffff; font-size: 13px; font-weight: 700; border-bottom: 1px solid #1f2328; : \">نوع نوشتار\u003C\u002Fth>\r\n   \u003Cth style=\"box-sizing: border-box; text-align: right; padding: 10px 12px; background: #24292f; color: #ffffff; font-size: 13px; font-weight: 700; border-bottom: 1px solid #1f2328; : \">کد نمونه\u003C\u002Fth>\r\n   \u003Cth style=\"box-sizing: border-box; text-align: right; padding: 10px 12px; background: #24292f; color: #ffffff; font-size: 13px; font-weight: 700; border-bottom: 1px solid #1f2328; : \">نتیجه&zwnj;ی اجرا\u003C\u002Fth>\r\n  \u003C\u002Ftr>\r\n \u003C\u002Fthead>\r\n \u003Ctbody>\r\n  \u003Ctr style=\"background: #ffffff; : \">\r\n   \u003Ctd style=\"border-bottom: 1px solid #edf2f7; box-sizing: border-box; color: #667085; padding: 10px 12px; text-align: right\">تورفتگی درست\u003C\u002Ftd>\r\n   \u003Ctd style=\"border-bottom: 1px solid #edf2f7; box-sizing: border-box; color: #667085; direction: ltr; padding: 10px 12px; text-align: left\">if age &gt; 18:\u003Cbr>\r\n   \u003Cspan style=\"padding-right: 20px\">print(&quot;ورود مجاز است&quot;)\u003C\u002Fspan>\u003Cbr>\r\n   \u003Cspan style=\"padding-right: 20px\">print(&quot;خوش آمدید&quot;)\u003C\u002Fspan>\u003C\u002Ftd>\r\n   \u003Ctd style=\"border-bottom: 1px solid #edf2f7; box-sizing: border-box; color: #667085; padding: 10px 12px; text-align: right\">هر دو پیام فقط در صورت بزرگ&zwnj;تر بودن سن از \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">18\u003C\u002Fspan> چاپ می&zwnj;شوند.\u003C\u002Ftd>\r\n  \u003C\u002Ftr>\r\n  \u003Ctr style=\"background: #f8fafc; : \">\r\n   \u003Ctd style=\"border-bottom: 1px solid #edf2f7; box-sizing: border-box; color: #667085; padding: 10px 12px; text-align: right\">تورفتگی نادرست\u003C\u002Ftd>\r\n   \u003Ctd style=\"border-bottom: 1px solid #edf2f7; box-sizing: border-box; color: #667085; direction: ltr; padding: 10px 12px; text-align: left\">if age &gt; 18:\u003Cbr>\r\n   \u003Cspan style=\"padding-right: 20px\">print(&quot;ورود مجاز است&quot;)\u003C\u002Fspan>\u003Cbr>\r\n   print(&quot;خوش آمدید&quot;)\u003C\u002Ftd>\r\n   \u003Ctd style=\"border-bottom: 1px solid #edf2f7; box-sizing: border-box; color: #667085; padding: 10px 12px; text-align: right\">پیام اول فقط در صورت بزرگ&zwnj;تر بودن سن و پیام دوم همیشه چاپ می&zwnj;شود.\u003C\u002Ftd>\r\n  \u003C\u002Ftr>\r\n \u003C\u002Ftbody>\r\n\u003C\u002Ftable>\r\n\u003C\u002Fdiv>\r\n\r\n\u003Ch3 style=\"border-bottom: 2px solid #ffb600; color: #344054; font-size: 18px; margin-bottom: 16px; margin-left: 8px; margin-right: 8px; margin-top: 16px; padding: 0 0 6px 0\">پرسش&zwnj;های کلیدی و اشتباهات رایج درباره&zwnj;ی بلاک کد\u003C\u002Fh3>\r\n\r\n\u003Cdiv style=\"background: #f8fafc; border-radius: 12px; border: 1px solid #e2e8f0; padding: 12px 14px\">\r\n\u003Cdiv style=\"margin-bottom: 12px; padding: 12px 14px\">\u003Cstrong style=\"color: #344054\">آیا تورفتگی فقط برای زیبایی کد است؟\u003C\u002Fstrong>\r\n\r\n\u003Cp style=\"color: #667085\">خیر، در برخی زبان&zwnj;ها مثل پایتون، تورفتگی برای اجرای صحیح برنامه ضروری است و اگر نادرست باشد، برنامه خطا می&zwnj;دهد. در زبان&zwnj;های دیگر، تورفتگی به خوانایی کمک می&zwnj;کند ولی اجرای برنامه را تحت تأثیر قرار نمی&zwnj;دهد.\u003C\u002Fp>\r\n\u003C\u002Fdiv>\r\n\r\n\u003Cdiv style=\"margin-bottom: 12px; padding: 12px 14px\">\u003Cstrong style=\"color: #344054\">چطور بفهمیم کدام دستورها باید در یک بلاک قرار بگیرند؟\u003C\u002Fstrong>\r\n\r\n\u003Cp style=\"color: #667085\">دستورهایی که باید تحت تأثیر یک شرط یا حلقه اجرا شوند، باید با فاصله&zwnj;ی یکسان از سمت چپ نوشته شوند. معمولاً این فاصله معادل \u003Cspan style=\"direction: ltr; display: inline-block; vertical-align: baseline\">4\u003C\u002Fspan> فاصله یا یک تب است.\u003C\u002Fp>\r\n\u003C\u002Fdiv>\r\n\r\n\u003Cdiv style=\"margin-bottom: 12px; padding: 12px 14px\">\u003Cstrong style=\"color: #344054\">آیا می&zwnj;توانیم داخل یک بلاک، بلاک دیگری داشته باشیم؟\u003C\u002Fstrong>\r\n\r\n\u003Cp style=\"color: #667085\">بله، به این کار &laquo;بلاک تو در تو&raquo; می&zwnj;گوییم. مثلاً می&zwnj;توانیم یک شرط را داخل یک حلقه قرار دهیم. در این حالت، دستورهای شرط باید یک تورفتگی بیشتر از دستورهای حلقه داشته باشند.\u003C\u002Fp>\r\n\u003C\u002Fdiv>\r\n\r\n\u003Cdiv style=\"margin-bottom: 0; padding: 12px 14px\">\u003Cstrong style=\"color: #344054\">اگر تورفتگی&zwnj;ها را قاطی کنیم چه اتفاقی می&zwnj;افتد؟\u003C\u002Fstrong>\r\n\r\n\u003Cp style=\"color: #667085\">در زبان&zwnj;هایی مثل پایتون، برنامه با خطا متوقف می&zwnj;شود. در زبان&zwnj;های دیگر ممکن است برنامه به&zwnj;درستی اجرا شود اما خواندن و فهمیدن کد برای خودتان و دیگران بسیار سخت می&zwnj;شود.\u003C\u002Fp>\r\n\u003C\u002Fdiv>\r\n\u003C\u002Fdiv>\r\n\r\n\u003Cdiv style=\"background: #fffdf3; border-radius: 12px; border: 1px solid #ffb600; color: #24292f; padding: 12px 14px\">\u003Cstrong style=\"color: #344054\">خلاصه&zwnj;ی آنچه خواندیم:\u003C\u002Fstrong>\r\n\r\n\u003Cp style=\"color: #667085\">بلاک کد به گروهی از دستورها گفته می&zwnj;شود که با تورفتگی یکسان نوشته می&zwnj;شوند و محدوده&zwnj;ی اجرای شرط&zwnj;ها و حلقه&zwnj;ها را تعیین می&zwnj;کنند. تورفتگی هم برای خوانایی و هم برای اجرای درست برنامه اهمیت دارد. با رعایت تورفتگی، می&zwnj;توانیم کدهای پیچیده را به&zwnj;خوبی سازماندهی کنیم و از اشتباهات جلوگیری کنیم. همچنین بلاک&zwnj;ها می&zwnj;توانند تو در تو باشند و هر سطح تورفتگی نشان&zwnj;دهنده&zwnj;ی عمق تو رفتگی در ساختار برنامه است. به&zwnj;خاطر داشته باشید که در بعضی زبان&zwnj;ها، تورفتگی نادرست باعث خطا می&zwnj;شود و در بقیه&zwnj;ی زبان&zwnj;ها، خوانایی کد را کاهش می&zwnj;دهد.\u003C\u002Fp>\r\n\u003C\u002Fdiv>\r\n\u003C\u002Fdiv>\r\n",[201,202,203],"بلاک کد و تورفتگی","کار و فناوری هشتم","پایه هشتم",142,"2026-07-04 21:45:44","2026-09-09 13:34:08","ندا","بنی هاشمی","کپسول آموزشی","1405\u002F04\u002F13","13:34 1405\u002F06\u002F18",{"tests":213,"papers":214,"files":215,"questions":216,"exams":217,"tutorials":218,"blogs":219},[],[],[],[],[],[],[220,229,237,245,253,261,269,277,285,293,301,309],{"id":221,"title":222,"cat":197,"pic":223,"up_date":224,"title_url":225,"url":226,"legacy_url":227,"cat_title":209,"update_jalali":228},17341,"شهروند الکترونیک: فردی که با استفاده درست از ابزارهای دیجیتال و اینترنت، کارها و ارتباطات خود را ساده‌تر، سریع‌تر و کم‌هزینه‌تر انجام می‌دهد.","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FpTauvvghepIyaSRmOvch_200.png","2026-09-09 23:27:56","شهروند-الکترونیک-فردی-که-با-استفاده-درست-از-ابزارهای-دیجیتال-و-اینترنت-کارها-و-ارتباطات-خود-را-سادهتر-سریعتر-و-کمهزینهتر-انجام-میدهد","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17341\u002Fشهروند-الکترونیک-فردی-که-با-استفاده-درست-از-ابزارهای-دیجیتال-و-اینترنت-کارها-و-ارتباطات-خود-را-سادهتر-سریعتر-و-کمهزینهتر-انجام-میدهد","https:\u002F\u002Fgama.ir\u002Fblog\u002F17341\u002Fشهروند-الکترونیک-فردی-که-با-استفاده-درست-از-ابزارهای-دیجیتال-و-اینترنت-کارها-و-ارتباطات-خود-را-سادهتر-سریعتر-و-کمهزینهتر-انجام-میدهد","1405\u002F06\u002F18",{"id":230,"title":231,"cat":197,"pic":232,"up_date":233,"title_url":234,"url":235,"legacy_url":236,"cat_title":209,"update_jalali":228},17343,"اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002Fnzh0DqZz2WMMFAM8fPXO_200.png","2026-09-09 23:24:34","اینترنت-و-شبکه-رایانهای-بستر-ارتباطی-رایانهها-و-شبکههای-بههمپیوسته-برای-تبادل-داده-و-استفاده-مشترک-از-منابع","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17343\u002Fاینترنت-و-شبکه-رایانهای-بستر-ارتباطی-رایانهها-و-شبکههای-بههمپیوسته-برای-تبادل-داده-و-استفاده-مشترک-از-منابع","https:\u002F\u002Fgama.ir\u002Fblog\u002F17343\u002Fاینترنت-و-شبکه-رایانهای-بستر-ارتباطی-رایانهها-و-شبکههای-بههمپیوسته-برای-تبادل-داده-و-استفاده-مشترک-از-منابع",{"id":238,"title":239,"cat":197,"pic":240,"up_date":241,"title_url":242,"url":243,"legacy_url":244,"cat_title":209,"update_jalali":228},17345,"روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FGrZmzX1YNLZRpbdeSJfZ_200.png","2026-09-09 23:21:22","روشهای-اتصال-به-اینترنت-خط-تلفن-ثابت-ADSL-شبکه-تلفن-همراه-و-فیبر-نوری","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17345\u002Fروشهای-اتصال-به-اینترنت-خط-تلفن-ثابت-ADSL-شبکه-تلفن-همراه-و-فیبر-نوری","https:\u002F\u002Fgama.ir\u002Fblog\u002F17345\u002Fروشهای-اتصال-به-اینترنت-خط-تلفن-ثابت-ADSL-شبکه-تلفن-همراه-و-فیبر-نوری",{"id":246,"title":247,"cat":197,"pic":248,"up_date":249,"title_url":250,"url":251,"legacy_url":252,"cat_title":209,"update_jalali":228},17347,"مودم: وسیله‌ای برای اتصال رایانه یا شبکه خانگی و اداری به اینترنت از طریق تجهیزات مخابراتی.","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FNwHJeYo8jMefKeCLdUVs_200.png","2026-09-09 23:18:43","مودم-وسیلهای-برای-اتصال-رایانه-یا-شبکه-خانگی-و-اداری-به-اینترنت-از-طریق-تجهیزات-مخابراتی","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17347\u002Fمودم-وسیلهای-برای-اتصال-رایانه-یا-شبکه-خانگی-و-اداری-به-اینترنت-از-طریق-تجهیزات-مخابراتی","https:\u002F\u002Fgama.ir\u002Fblog\u002F17347\u002Fمودم-وسیلهای-برای-اتصال-رایانه-یا-شبکه-خانگی-و-اداری-به-اینترنت-از-طریق-تجهیزات-مخابراتی",{"id":254,"title":255,"cat":197,"pic":256,"up_date":257,"title_url":258,"url":259,"legacy_url":260,"cat_title":209,"update_jalali":228},17348,"پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002F1J4ZGhkzhBzHgFPj0uz3_200.png","2026-09-09 23:16:34","پست-الکترونیکی-خدمت-اینترنتی-برای-ایجاد-ارسال-دریافت-ذخیره-و-مدیریت-پیامها-و-اسناد-دیجیتال","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17348\u002Fپست-الکترونیکی-خدمت-اینترنتی-برای-ایجاد-ارسال-دریافت-ذخیره-و-مدیریت-پیامها-و-اسناد-دیجیتال","https:\u002F\u002Fgama.ir\u002Fblog\u002F17348\u002Fپست-الکترونیکی-خدمت-اینترنتی-برای-ایجاد-ارسال-دریافت-ذخیره-و-مدیریت-پیامها-و-اسناد-دیجیتال",{"id":262,"title":263,"cat":197,"pic":264,"up_date":265,"title_url":266,"url":267,"legacy_url":268,"cat_title":209,"update_jalali":228},17349,"حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FWQmxNH6Mo9ut2Hojr7Yh_200.png","2026-09-09 23:14:10","حساب-و-نشانی-پست-الکترونیکی-شناسه-و-فضای-اختصاصی-کاربر-در-سامانه-ایمیل-برای-ارسال-و-دریافت-پیام","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17349\u002Fحساب-و-نشانی-پست-الکترونیکی-شناسه-و-فضای-اختصاصی-کاربر-در-سامانه-ایمیل-برای-ارسال-و-دریافت-پیام","https:\u002F\u002Fgama.ir\u002Fblog\u002F17349\u002Fحساب-و-نشانی-پست-الکترونیکی-شناسه-و-فضای-اختصاصی-کاربر-در-سامانه-ایمیل-برای-ارسال-و-دریافت-پیام",{"id":270,"title":271,"cat":197,"pic":272,"up_date":273,"title_url":274,"url":275,"legacy_url":276,"cat_title":209,"update_jalali":228},17350,"ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FJmaDksJitxvGI0kTFdi9_200.png","2026-09-09 23:12:08","ایمیل-رایانامه-پیام-الکترونیکی-قابل-ارسال-و-دریافت-از-طریق-پست-الکترونیکی","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17350\u002Fایمیل-رایانامه-پیام-الکترونیکی-قابل-ارسال-و-دریافت-از-طریق-پست-الکترونیکی","https:\u002F\u002Fgama.ir\u002Fblog\u002F17350\u002Fایمیل-رایانامه-پیام-الکترونیکی-قابل-ارسال-و-دریافت-از-طریق-پست-الکترونیکی",{"id":278,"title":279,"cat":197,"pic":280,"up_date":281,"title_url":282,"url":283,"legacy_url":284,"cat_title":209,"update_jalali":228},17351,"ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002F4W3Zabvv8eMYBTrVvkrf_200.png","2026-09-09 23:10:01","ارسال-و-مدیریت-ایمیل-کارهایی-مانند-ارسال-گروهی-ذخیره-پیشنویس-نگهداری-نامههای-فرستادهشده-حذف-و-دستهبندی-پیامها","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17351\u002Fارسال-و-مدیریت-ایمیل-کارهایی-مانند-ارسال-گروهی-ذخیره-پیشنویس-نگهداری-نامههای-فرستادهشده-حذف-و-دستهبندی-پیامها","https:\u002F\u002Fgama.ir\u002Fblog\u002F17351\u002Fارسال-و-مدیریت-ایمیل-کارهایی-مانند-ارسال-گروهی-ذخیره-پیشنویس-نگهداری-نامههای-فرستادهشده-حذف-و-دستهبندی-پیامها",{"id":286,"title":287,"cat":197,"pic":288,"up_date":289,"title_url":290,"url":291,"legacy_url":292,"cat_title":209,"update_jalali":228},17352,"پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FFDFfSHlc5Tq484Qgfb2e_200.png","2026-09-09 23:07:43","پیوست-و-رونوشت-ایمیل-امکانات-افزودن-فایل-ارسال-نسخه-آشکار-یا-ارسال-نسخه-مخفی-پیام-به-گیرندگان-دیگر","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17352\u002Fپیوست-و-رونوشت-ایمیل-امکانات-افزودن-فایل-ارسال-نسخه-آشکار-یا-ارسال-نسخه-مخفی-پیام-به-گیرندگان-دیگر","https:\u002F\u002Fgama.ir\u002Fblog\u002F17352\u002Fپیوست-و-رونوشت-ایمیل-امکانات-افزودن-فایل-ارسال-نسخه-آشکار-یا-ارسال-نسخه-مخفی-پیام-به-گیرندگان-دیگر",{"id":294,"title":295,"cat":197,"pic":296,"up_date":297,"title_url":298,"url":299,"legacy_url":300,"cat_title":209,"update_jalali":228},17353,"صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FGNIz4EpHhyR7j59ygIWQ_200.png","2026-09-09 23:06:10","صندوق-دریافت-و-پوشههای-پست-الکترونیکی-بخشهای-نگهداری-مشاهده-و-مرتبسازی-رایانامهها-بر-اساس-موضوع-یا-وضعیت","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17353\u002Fصندوق-دریافت-و-پوشههای-پست-الکترونیکی-بخشهای-نگهداری-مشاهده-و-مرتبسازی-رایانامهها-بر-اساس-موضوع-یا-وضعیت","https:\u002F\u002Fgama.ir\u002Fblog\u002F17353\u002Fصندوق-دریافت-و-پوشههای-پست-الکترونیکی-بخشهای-نگهداری-مشاهده-و-مرتبسازی-رایانامهها-بر-اساس-موضوع-یا-وضعیت",{"id":302,"title":303,"cat":197,"pic":304,"up_date":305,"title_url":306,"url":307,"legacy_url":308,"cat_title":209,"update_jalali":228},17354,"هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002FtEsAjMwbcJMUx4CTMSMW_200.png","2026-09-09 23:04:40","هرزنامه-و-بدافزار-پیامها-و-نرمافزارهای-ناخواسته-یا-زیانآور-که-میتوانند-به-اطلاعات-یا-رایانه-کاربر-آسیب-بزنند","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17354\u002Fهرزنامه-و-بدافزار-پیامها-و-نرمافزارهای-ناخواسته-یا-زیانآور-که-میتوانند-به-اطلاعات-یا-رایانه-کاربر-آسیب-بزنند","https:\u002F\u002Fgama.ir\u002Fblog\u002F17354\u002Fهرزنامه-و-بدافزار-پیامها-و-نرمافزارهای-ناخواسته-یا-زیانآور-که-میتوانند-به-اطلاعات-یا-رایانه-کاربر-آسیب-بزنند",{"id":310,"title":311,"cat":197,"pic":312,"up_date":313,"title_url":314,"url":315,"legacy_url":316,"cat_title":209,"update_jalali":228},17355,"ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.","https:\u002F\u002Fgama.ir\u002Fuploads\u002Fnews\u002Fthumbnails\u002F6Cr8ImQc7uwXk4UH0OT6_200.png","2026-09-09 22:58:38","ویروس-رایانهای-نوعی-بدافزار-که-با-آلوده-کردن-فایلها-یا-سامانهها-عملکرد-رایانه-را-مختل-میکند","https:\u002F\u002Fgama.ir\u002Fblogs\u002F17355\u002Fویروس-رایانهای-نوعی-بدافزار-که-با-آلوده-کردن-فایلها-یا-سامانهها-عملکرد-رایانه-را-مختل-میکند","https:\u002F\u002Fgama.ir\u002Fblog\u002F17355\u002Fویروس-رایانهای-نوعی-بدافزار-که-با-آلوده-کردن-فایلها-یا-سامانهها-عملکرد-رایانه-را-مختل-میکند"]