Saeid Safaei Loader Logo Saeid Safaei Loader Animated
لطفا شکیبا باشید
0

سعیدصفایی سعیدصفایی

سعید صفایی
آشنایی با مفهوم Call by Value

Call by Value

فراخوانی به‌وسیله مقدار یعنی زمانی که هنگام فراخوانی یک تابع، مقدار متغیر به تابع ارسال می‌شود و تابع قادر به تغییر آن مقدار نخواهد بود.

Saeid Safaei Call by Value

Call by Value به یک روش در برنامه‌نویسی گفته می‌شود که در آن هنگام فراخوانی یک تابع، یک کپی از مقدار پارامترهای ورودی به تابع ارسال می‌شود. به عبارت دیگر، در این روش، تغییرات صورت گرفته در داخل تابع تنها روی کپی‌های پارامترها اعمال می‌شود و هیچ تغییری در مقادیر اصلی خارج از تابع ایجاد نمی‌کند. این روش به‌ویژه در زبان‌های برنامه‌نویسی مانند C و Java استفاده می‌شود.

در روش Call by Value، تنها مقدار داده‌ها به تابع ارسال می‌شود، بنابراین هر تغییر در مقدار پارامترهای داخل تابع هیچ تاثیری بر داده‌های اصلی نخواهد داشت. این بدان معناست که پس از پایان اجرای تابع، مقادیر اصلی پارامترها در برنامه بدون تغییر باقی خواهند ماند.

به‌عنوان مثال، در زبان C می‌توان یک تابع تعریف کرد که دو عدد را به‌عنوان ورودی می‌گیرد و مجموع آن‌ها را محاسبه می‌کند. در اینجا، تغییرات در داخل تابع فقط روی کپی مقادیر اعمال می‌شود و هیچ تغییری در مقادیر اصلی ایجاد نمی‌کند:

 #include <stdio.h>  void add(int a, int b) {
a = a + b; // تغییرات در داخل تابع
printf("Sum inside function: %d\n", a); } int main() {
int x = 5, y = 10;
add(x, y); // فراخوانی تابع
printf("Value of x after function call: %d\n", x); // مقادیر اصلی دست نخورده باقی می‌مانند
return 0; }

در این مثال، حتی پس از فراخوانی تابع add و انجام تغییرات در داخل آن، مقدار متغیر x در تابع main دست نخورده باقی می‌ماند. این به این دلیل است که تابع با کپی مقادیر x و y کار کرده و هیچ تغییری در داده‌های اصلی ایجاد نکرده است.

در زبان Python نیز از روش Call by Value استفاده می‌شود. با این حال، در Python، چون تمام داده‌ها به‌صورت اشیاء مدیریت می‌شوند، گاهی ممکن است به نظر برسد که برخی متغیرها به‌طور غیرمستقیم تغییر می‌کنند، به‌ویژه زمانی که با ساختارهای داده‌ای مانند لیست‌ها کار می‌کنیم. به این معنا که تغییرات روی انواع داده‌های تغییرپذیر (مثل لیست‌ها و دیکشنری‌ها) بر داده‌های اصلی تأثیر می‌گذارد، اما برای انواع داده‌های غیرتغییرپذیر (مثل اعداد و رشته‌ها) همچنان از روش Call by Value استفاده می‌شود.

 def add(a, b):
a = a + b # تغییرات در داخل تابع
print("Sum inside function:", a) x = 5 y = 10 add(x, y) print("Value of x after function call:", x) # x تغییری نکرده است

در این مثال، همانطور که در C مشاهده کردیم، مقدار متغیر x پس از فراخوانی تابع تغییر نمی‌کند، زیرا تابع فقط با کپی مقادیر کار می‌کند.

استفاده از Call by Value در برنامه‌نویسی معمولاً برای توابعی که نیازی به تغییر داده‌های اصلی ندارند، بسیار مفید است. این روش باعث می‌شود که داده‌های اصلی بدون تغییر باقی بمانند و کد ایمن‌تر و قابل پیش‌بینی‌تر باشد. برای یادگیری مفاهیم مشابه و مطالعه مقالات بیشتر، می‌توانید از سایت saeidsafaei.ir و مقالات محمد سعید صفایی استفاده کنید.

اسلاید آموزشی

بخش پنجم برنامه نویسی مقدماتی (توابع-قسمت اول)

بخش پنجم برنامه نویسی مقدماتی (توابع-قسمت اول)
مبانی کامپیوتر و برنامه سازی

در این مبحث، به بررسی انواع توابع، شامل توابع کتابخانه‌ای و توابع ساخت کاربر پرداخته می‌شود و نحوه اعلان، تعریف و استفاده از آن‌ها مورد بحث قرار می‌گیرد. همچنین، به مفاهیم متغیرهای محلی و توابع محلی، تفاوت آرگومان و پارامتر و نحوه عملکرد تابع اصلی پرداخته خواهد شد. هدف این جلسه، آشنایی با نحوه استفاده از توابع در برنامه‌نویسی و درک دقیق ارتباطات میان متغیرها و توابع است.

مقالات آموزشی برای آشنایی با اصطلاحات دنیای کامپیوتر

بلاکچین در مراقبت‌های بهداشتی به استفاده از فناوری بلاکچین برای مدیریت، ردیابی و تأمین شفافیت در سوابق پزشکی اطلاق می‌شود.

ساختار داده روشی برای سازمان‌دهی و ذخیره داده‌ها در حافظه است که به افزایش کارایی برنامه‌ها کمک می‌کند.

پشته ساختار داده‌ای است که داده‌ها را به صورت FILO (First In, Last Out) ذخیره می‌کند. اولین داده وارد شده، آخرین داده‌ای است که از پشته برداشته می‌شود.

یک ترابایت معادل 1024 گیگابایت است و برای اندازه‌گیری حجم‌های بسیار زیاد داده‌ها استفاده می‌شود.

تعریف تابع شامل بدنه تابع است که در آن، منطق اجرای تابع تعیین می‌شود. در این مرحله، تابع به طور کامل معرفی می‌شود.

توسعه بومی ابری به طراحی و توسعه نرم‌افزارهایی اطلاق می‌شود که به‌طور خاص برای عملکرد بهینه در محیط‌های ابری ایجاد شده‌اند.

ماتریس یک نوع آرایه دو بعدی است که برای انجام عملیات‌های ریاضی و جبر خطی به کار می‌رود.

دستگاه‌هایی در شبکه بی‌سیم که به دلیل موانع فیزیکی یا محدودیت‌های برد سیگنال نمی‌توانند سیگنال‌های یکدیگر را بشنوند.

کلاس در برنامه‌نویسی شی‌گرا قالبی است که برای ایجاد اشیاء استفاده می‌شود. هر کلاس می‌تواند ویژگی‌ها و متدهایی را تعریف کند.

پورت‌هایی که به عنوان بهترین مسیر برای ارسال داده‌ها به شبکه دیگر انتخاب می‌شوند.

محاسبات ابری بومی به استفاده از معماری‌های ابری برای توسعه و اجرای برنامه‌ها گفته می‌شود که مقیاس‌پذیر، انعطاف‌پذیر و خودکار هستند.

محاسبات بدون سرور مدلی است که به توسعه‌دهندگان این امکان را می‌دهد که بدون نیاز به مدیریت سرور، کد خود را اجرا کنند.

عملگرهای منطقی برای مقایسه و ارزیابی عبارات منطقی استفاده می‌شوند و می‌توانند نتیجه‌ای درست یا غلط را تولید کنند.

دیباگر ابزارهایی است که برای شناسایی و رفع اشکالات در برنامه‌نویسی استفاده می‌شود. این ابزار به برنامه‌نویس اجازه می‌دهد تا خطاهای موجود در کد را پیدا و اصلاح کند.

فایروال سیستم امنیتی است که دسترسی غیرمجاز به شبکه‌های کامپیوتری را کنترل می‌کند.

عملگر مساوی برای مقایسه دو مقدار استفاده می‌شود تا مشخص شود آیا آن‌ها برابرند یا خیر. در برنامه‌نویسی از آن برای مقایسه و انتساب داده‌ها استفاده می‌شود.

حافظه‌های دینامیک (DRAM) که نیاز به رفرش مداوم دارند، برای حافظه‌های اصلی به کار می‌روند. این نوع حافظه‌ها ظرفیت بیشتری نسبت به SRAM دارند.

درخت دودویی نوعی درخت است که در هر گره آن حداکثر دو فرزند وجود دارد.

بلاکچین در زنجیره تأمین به استفاده از فناوری بلاکچین برای ردیابی و تأمین شفافیت در فرآیندهای زنجیره تأمین اطلاق می‌شود.

اندازه آرایه به تعداد خانه‌های آن اشاره دارد که باید در هنگام تعریف آرایه مشخص شود.

وزن یا مقدار هر رقم در سیستم‌های عددی که با توجه به موقعیت آن در عدد تغییر می‌کند. به عنوان مثال در سیستم ده‌دهی، هر رقم با پایه‌های مختلف (ده به توان اندیس) ضرب می‌شود.

دستورالعملی گام به گام برای حل یک مشکل خاص است. الگوریتم‌ها نقش مهمی در برنامه‌نویسی و حل مسائل کامپیوتری دارند و می‌توانند به صورت دستی یا با استفاده از زبان‌های برنامه‌نویسی مختلف پیاده‌سازی شوند.

هوش مصنوعی لبه (Edge AI) استفاده از مدل‌های یادگیری ماشین و پردازش داده‌ها را در دستگاه‌های لبه شبکه (نزدیک به کاربر) تسهیل می‌کند.

شبکه‌های عصبی مصنوعی شبیه به مغز انسان‌ها طراحی شده‌اند و برای یادگیری از داده‌ها به‌طور خودکار استفاده می‌شوند.

سیستم‌های فیزیکی-مجازی (CPS) به سیستم‌هایی اطلاق می‌شود که با استفاده از دستگاه‌های دیجیتال برای نظارت و کنترل دنیای فیزیکی طراحی شده‌اند.

فرآیندی است که برای برنامه‌ریزی، نظارت و کنترل منابع و زمان‌بندی به منظور رسیدن به اهداف پروژه انجام می‌شود.

کشف داده‌های افزوده به فرآیند تجزیه و تحلیل و استخراج الگوهای جدید از داده‌های موجود به کمک هوش مصنوعی گفته می‌شود.

بینش‌های مبتنی بر هوش مصنوعی به استفاده از الگوریتم‌های هوش مصنوعی برای تجزیه و تحلیل داده‌ها و استخراج الگوهای کاربردی و پیش‌بینی آینده اشاره دارد.

سینتاکس به قوانین و دستورالعمل‌هایی گفته می‌شود که نحوه نوشتن درست دستورات و کدها را در یک زبان برنامه‌نویسی تعیین می‌کند.

گراف جهت‌دار گرافی است که در آن یال‌ها جهت‌دار هستند و از یک گره به گره دیگر اشاره دارند.

تشخیص جعل‌های دیجیتال به فرآیند شناسایی و مقابله با تصاویر و ویدیوهای دستکاری شده اطلاق می‌شود.

لیست پیوندی دوطرفه یک نوع خاص از لیست پیوندی است که هر عنصر در آن به دو عنصر قبلی و بعدی خود اشاره دارد.

یک کیلوبایت معادل 1024 بایت است و به عنوان واحدی برای اندازه‌گیری داده‌های کم حجم استفاده می‌شود.

اتصال یا پورتی که برای ارسال داده‌ها از یک دستگاه به دستگاه دیگر یا شبکه بالادستی استفاده می‌شود.

اتصالاتی با پهنای باند بالا که می‌توانند حجم زیادی از داده را به سرعت بالا منتقل کنند.

بکشید مشاهده بستن پخش
Saeid Safaei Scroll Top
0%