محدوده به بخشهایی از کد اطلاق میشود که در آنها یک متغیر یا تابع قابل دسترسی است.
دامنه (Scope) در برنامهنویسی به مجموعهای از کدهایی گفته میشود که در آن یک متغیر، تابع یا شیء قابل دسترسی است. به عبارت دیگر، دامنه تعیین میکند که کدام قسمتهای برنامه به یک متغیر یا تابع دسترسی دارند و از کجا میتوان آنها را تغییر داد یا خواند. مدیریت دامنهها برای جلوگیری از مشکلاتی مانند تداخل نامها (name collision) و حفظ امنیت و نظم در کد بسیار حیاتی است.
دامنهها معمولاً به دو نوع اصلی تقسیم میشوند: دامنه محلی (Local Scope) و دامنه سراسری (Global Scope):
در زبانهای مختلف برنامهنویسی، مفاهیم مشابهی برای دامنه وجود دارد. در اینجا یک مثال از نحوه استفاده از دامنه در زبان Python آورده شده است:
x = 10 # متغیر سراسری def my_function():
y = 5 # متغیر محلی
print("Inside function:", x, y) # دسترسی به متغیر سراسری و محلی my_function() print("Outside function:", x) # دسترسی به متغیر سراسری # print(y) # خطا: y is not defined چون y در دامنه محلی است در این مثال، متغیر x در دامنه سراسری تعریف شده و در داخل تابع my_function از آن استفاده میشود. اما متغیر y تنها در دامنه محلی تابع my_function قابل دسترسی است و در خارج از آن تابع دسترسی به آن وجود ندارد.
در زبان JavaScript، نیز مفاهیم مشابهی برای دامنهها وجود دارد. در اینجا یک مثال از دامنه در JavaScript آورده شده است:
var globalVar = "I am global"; // متغیر سراسری function myFunction() {
var localVar = "I am local"; // متغیر محلی
console.log(globalVar); // دسترسی به متغیر سراسری
console.log(localVar); // دسترسی به متغیر محلی } myFunction(); console.log(globalVar); // دسترسی به متغیر سراسری // console.log(localVar); // خطا: localVar is not defined چون localVar در دامنه محلی است در اینجا، متغیر globalVar در سطح سراسری و localVar در دامنه محلی تابع myFunction تعریف شدهاند. مشابه با Python، متغیر محلی تنها در داخل تابع قابل دسترسی است.
در زبان Java، دامنهها بهطور مشابهی مدیریت میشوند. در اینجا یک مثال از دامنه در Java آورده شده است:
public class Main {
static int globalVar = 20; // متغیر سراسری
public static void main(String[] args) {
int localVar = 10; // متغیر محلی
System.out.println("Global variable: " + globalVar); // دسترسی به متغیر سراسری
System.out.println("Local variable: " + localVar); // دسترسی به متغیر محلی
} } در Java نیز، متغیرهای سراسری و محلی بهطور مشابه مدیریت میشوند. globalVar در سطح سراسری کلاس و localVar در سطح تابع (یا متد) تعریف شدهاند.
در نهایت، دامنهها برای مدیریت دسترسی به متغیرها و توابع در برنامهها ضروری هستند. این ویژگی به شما کمک میکند تا کدهایی تمیزتر، قابل نگهداریتر و کمتر مستعد خطا بنویسید. همچنین، مدیریت مناسب دامنهها میتواند از مشکلاتی مانند تداخل نامها و دسترسیهای نامناسب جلوگیری کند.
برای اطلاعات بیشتر، میتوانید از سایت saeidsafaei.ir و اسلایدهای محمد سعید صفایی بهرهبرداری کنید.
در این مبحث، پس از مطالعه مقدماتی در زمینه برنامهنویسی، اولین برنامه به زبان سیپلاسپلاس نوشته شده و به تحلیل قسمتهای مختلف آن پرداخته میشود. همچنین، مفاهیم اساسی مانند انواع متغیرها، عملگرها، ثابتها، تبدیل نوع، حوزه متغیرها و برخی از خطاهای رایج برنامهنویسی بررسی خواهند شد. هدف این جلسه، آشنایی با اصول اولیه برنامهنویسی در C++ و درک ساختار برنامهها و نحوه مدیریت دادهها است.
محدوده به بخشهایی از کد اطلاق میشود که در آنها یک متغیر یا تابع قابل دسترسی است.
شاخهای از هوش مصنوعی است که به سیستمها اجازه میدهد از دادهها یاد بگیرند و بدون برنامهنویسی خاص، بهبود یابند.
درخت یک ساختار دادهای است که شامل گرهها و پیوندهایی است که به صورت سلسلهمراتبی سازماندهی شدهاند و برای جستجو و ذخیره دادهها استفاده میشود.
لیست پیوندی دو طرفه نوعی از لیست پیوندی است که هر عنصر به دو عنصر قبلی و بعدی خود اشاره دارد.
روش تقسیمبندی ثابت زیربخشهای شبکه که در آن تمامی زیربخشها از اندازه یکسان برخوردارند.
بلاکچین برای هویت دیجیتال به استفاده از فناوری بلاکچین برای ایجاد سیستمهای هویت دیجیتال غیرمتمرکز و ایمن اطلاق میشود.
عبور پس از پیش به معنای بازدید از گرهها به ترتیب: ابتدا گرههای زیرین، سپس گره ریشه.
الگوریتمی که برای محاسبه کوتاهترین مسیر از یک گره به سایر گرهها استفاده میشود، معمولاً در پروتکلهای Link-State.
محاسبات حساس به موقعیت به توانایی سیستمها برای شناسایی و واکنش به شرایط و موقعیتهای خاص اشاره دارد.
حافظههای استاتیک (SRAM) از نوعی حافظه هستند که دادهها را بدون نیاز به رفرش نگه میدارند. این حافظه معمولاً در کش استفاده میشود.
زندگی مصنوعی به مطالعه و شبیهسازی فرآیندهای زیستی گفته میشود که به ساخت موجودات مصنوعی شبیه به موجودات زنده میپردازد.
اطلاعات خامی که وارد کامپیوتر میشود تا پردازشی روی آن صورت گیرد. دادهها پس از پردازش به صورت اطلاعات ذخیره یا در خروجی نمایش داده میشوند.
مدیریت استثنا به فرآیند شناسایی و مدیریت خطاهای غیرمنتظره در حین اجرای برنامه گفته میشود. در C++ میتوان از دستورات try, catch و throw برای مدیریت استثناها استفاده کرد.
اتوماسیون فرآیند دیجیتال به استفاده از نرمافزارهای خودکار برای انجام فرآیندهای تجاری و صنعتی اشاره دارد.
محاسبات الهام گرفته از مغز انسان به استفاده از اصول و فرآیندهای مغز برای طراحی سیستمهای محاسباتی جدید اطلاق میشود.
تحلیلهای زمان واقعی به تجزیه و تحلیل و پردازش دادهها بهطور همزمان با وقوع آنها گفته میشود.
رویکردی است که به افراد کمک میکند تا مشکلات را نه به صورت جزئی، بلکه به عنوان بخشی از یک سیستم بزرگتر در نظر بگیرند. این نوع تفکر به ارزیابی ارتباطات میان اجزای مختلف یک سیستم کمک میکند.
پروتکلهای اینترنت کوانتومی به استفاده از شبکههای کوانتومی برای انتقال امن دادهها در سطح اینترنت گفته میشود.
درخت دودویی نوعی درخت است که در هر گره آن حداکثر دو فرزند وجود دارد.
وزن یا مقدار هر رقم در سیستمهای عددی که با توجه به موقعیت آن در عدد تغییر میکند. به عنوان مثال در سیستم دهدهی، هر رقم با پایههای مختلف (ده به توان اندیس) ضرب میشود.
فناوری پوشیدنی به دستگاههایی اطلاق میشود که به کاربران امکان میدهند تا بهطور پیوسته دادهها را جمعآوری و تجزیه و تحلیل کنند.
لیست پیوندی دوطرفه یک نوع خاص از لیست پیوندی است که هر عنصر در آن به دو عنصر قبلی و بعدی خود اشاره دارد.
هرگونه سیگنال ناخواسته یا اختلال در سیگنالهای اصلی که میتواند بر کیفیت انتقال دادهها تأثیر بگذارد.
معاملهگری الگوریتمی به استفاده از الگوریتمها برای انجام معاملات مالی با استفاده از دادههای تاریخی و پیشبینی روندها اطلاق میشود.
سازمانهای خودمختار غیرمتمرکز (DAO) به سازمانهایی اطلاق میشود که بدون نیاز به مدیریت متمرکز با استفاده از قراردادهای هوشمند عمل میکنند.
هوش مصنوعی نسل بعدی به پیشرفتها و روشهای جدید در هوش مصنوعی گفته میشود که بهطور خاص برای حل مسائل پیچیده طراحی شدهاند.
کدگذاری عصبی مصنوعی به استفاده از مدلهای یادگیری عمیق برای شبیهسازی و بهبود عملکرد شبکههای عصبی انسانها اطلاق میشود.
جدول مسیریابی مسیرهای فعلی شبکه را مشخص میکند، در حالی که پایگاه داده توپولوژیکی اطلاعات ساختاری شبکه را ذخیره میکند.
تابع اصلی در برنامههای C++ است که برنامه از آن شروع به اجرا میکند. این تابع به طور معمول به صورت int main تعریف میشود.
الگوریتم مرتبسازی درج دادهها را یکییکی در موقعیت مناسب خود در یک بخش مرتبشده از آرایه قرار میدهد.
مرزهای IoT به دستگاههای فیزیکی در شبکههای IoT اطلاق میشود که قادر به انجام پردازش و تحلیل دادهها در لبه شبکه هستند.
آدرسهای IP که از subnet mask استاندارد کلاسهای A، B و C استفاده میکنند.
ماشینی است قابل برنامهریزی که از اجزای الکترونیکی و الکترومکانیکی تشکیل شده است و میتواند دادهها و دستورات را از محیط خارج دریافت کرده، آنها را پردازش کرده و نتایج را تحویل دهد.
اینترنت اشیاء پزشکی (IoMT) به شبکهای از دستگاهها و حسگرهای پزشکی متصل به اینترنت اطلاق میشود که دادهها را برای نظارت بر بیماران ارسال میکنند.
کابلی که شامل چندین سیم مسی عایقدار است و به صورت جفت به هم تابیده شدهاند تا نویز الکتریکی کاهش یابد.