تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86

Slides:



Advertisements
Similar presentations
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
Advertisements

LINEAR CONTROL SYSTEMS Ali Karimpour Assistant Professor Ferdowsi University of Mashhad.
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
Definition. قانون بیز P(b|a) = P(a|b)P(b)/P(a) P(b|a) = P(a|b)P(b)/P(a) این قانون برای استنتاج آماری استفاده می شود. این قانون برای استنتاج آماری استفاده.
Decision Tree.
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
روش تحقیق جلسه چهارم دانشگاه صنعتی اصفهان دانشکده کشاورزی
فارسی سازی يکپارچه در سيستم عاملهای OS/390 & Windows واحد 1 مهندسی سيستم Integrated Farsi support on OS/390 & Windows.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 14 Structures.
به نام خدا برنامه سازی سمت سرور (php)
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 9 Selected Topics.
Normal Distribution بسم الله الرحمن الرحیم اردیبهشت 1390.
مظفر بگ محمدی دانشگاه ایلام Generics. کدهای عمومی 2 یکی از اهداف OOP ایجاد قابلیت نوشتن برنامه های عمومی با قابلیت استفاده ی مجدد است. کدهای چندریخت تا.
LINEAR CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad.
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
CS Constraint Satisfaction Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Modified by Vali Derhami.
دانشگاه صنعت آب و برق 1 زیربرنامه ‌ ها یا برنامه ‌ های فرعی موسوی ندوشنی ویراست بهار 1389.
LINEAR CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad.
به نام خدا.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
مکان یابی در شبکه های حسگر بیسیم
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
قالب ها قالب یکی از ویژگی های قدرتمند زبان C++ است.با استفاده از قالب ها می توان مجموعه کاملی از توابع مرتبط به هم (توابع همنام ) را که توابع قالب نام.
کالیبراسیون، صحت سنجی و آنالیز حساسیت مدل
( Project Operation Management )
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
برنامه سازی ساخت یافته پاسکال
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
اسلایدهای فصل سوم کتاب سیلبرشاتز دانشکده مهندسی کامپیوتر دانشگاه شریف
Address: Times New Roman, size 34
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 11
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
آموزش مقدمات MATLAB سیگنال ها و سیستم ها دانشگاه صنعتی شریف پائیز 86
مظفر بگ محمدی دانشگاه ایلام
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
فصل دوم جبر بول.
Route configuration for 5400W ADSL Router
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
SSO Single Sign-on Systems
آشنایی با پایگاه داده mysql
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
Tree Sort.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
هیدرولیک جریان در کانالهای باز
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
شرایط مرزی (Boundary Conditions) در مدل سازی آب زیرزمینی
به نام خدا فصل هفتم وراثت.
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
راهنمای استفاده از ابزار Mailings در Ms Word
پشته و صف پیوندی Give qualifications of instructors: DAP
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
جستجوی منابع الکترونیک
IN THE NAME OF GOD MATH SABA KARBALAEI
Angular Kinetics مهدی روحی بهار 85.
فصل ششم مدارهای ترتیبی.
دکتر مظفر بگ محمدی دانشگاه ایلام
مظفر بگ محمدی دانشگاه ایلام
سخت افزارهای امنیتی Hardware Security تهیه و ارایه : یونس جوان.
توزیع میانگین نمونه سعید موسوی.
کتابخانه دانشکده پرستاری و مامایی دانشگاه علوم پزشکی شهید بهشتی
kbkjlj/m/lkiubljj'pl;
پشته و صف پیوندی Give qualifications of instructors: DAP
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86 تابع و رویه 2 تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86

مروری بر مطالب با نوشتن تابع و رویه آشنا شدیم. اگر بخواهیم چندین مقدار را به خروجی بفرستیم؟ انواع پارامتر (آرگمان) رویه

پارامترهای رویه (یا تابع) پارامترهای صوری (Formal) : به پارامترها در تعریف تابع می گویند. پارامترهای اصلی (Actual): به پارامترها در فراخوانی تابع گفته می شود. لازم است میان پارامترهای صوری و اصلی تناظر یک به یک وجود داشته باشد. تعداد ، ترتیب و (در موقعیت یکسان در لیست) نوع سازگار داشته باشند.

پارامترهای رویه (ادامه) Var x, y: real; Procedure ReportSumAve (num1, num2: real); Var sum, average: real; Begin sum:=num1+num2; average := sum /2; writeln(‘the sum is ’, sum); writeln(‘the average is ‘,average); End; x : = 0.6; y:= 3.5; ReportSumAve(x,y); End.

پارامترهای رویه (ادامه) یک جریان داده از پارامترها در برنامه اصلی به پارامترهای صوری وجود دارد. ناحیه داده های برنامه اصلی ناحیه داده های روال ها num1=0.6 x=0.6 num2=3.5 y=3.5 average=? sum=?

پارامترهای صوری پارامترهای ارزشی : پارامترهایی که فقط مقدارشان را از پارامترهای اصلی می گیرند و رویه نمی تواند مقدار پارامتر اصلی را تغییر دهند. (تا کنون فقط این نوع پارامتر را دیدیم). پارامترهای متغیرها :پارامترهایی که در واقع آدرسشان، آدرس پارامترهای اصلی است. پس می تواند مقدار پارامتر اصلی را تغییر دهد.

پارامترهای صوری (ادامه) Var x, y,z,w: real; Procedure ReportSumAve (num1, num2: real; var sum, average: real); Begin sum:=num1+num2; average := sum /2; End; x : = 0.6; y:= 3.5; ReportSumAve(x,y,z,w); writeln(‘the sum is ’, z); writeln(‘the average is ‘,w); End.

پارامترهای صوری (ادامه) یک جریان داده از پارامترها در برنامه اصلی به پارامترهای صوری اصلی وجود دارد و یک جریان داده دو طرفه بین پارامترهای اصلی و پارامترهای صوری متغیری وجود دارد. ناحیه داده های برنامه اصلی ناحیه داده های روال ها x=0.6 num1=0.6 y=3.5 num2=3.5 Z=? average w=? Sum

پارامترهای صوری (ادامه) پارامتر متغیرها هم به عنوان ورودی استفاده می شود و هم می تواند تغییر کند و خروجی رویه باشد. پارامترهای ارزشی، پارامترهای اصلی را در مقابل تغییر محافظت می کند.

پارامترهای صوری (ادامه) مثال Var s,n : Integer; Procedure sum(n:integer; var s:integer); Begin S:=0; while n>0 do begin s:=S+n; n:= n-1; end; End; readln(n); sum(n,s); writeln (n*sqrt(s));

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

پارامترهای صوری (ادامه) لازم است پارامترهای اصلی و صوری با یکدیگر تناظر داشته باشند: تناظر از روی موقعیت آن ها در لیست پارامترها تعیین می شود. لیست ها باید هم اندازه باشند. در مورد پارامترهای متغیری، نوع پارامتر اصلی و صوری باید یکسان باشند. در مورد پارامترهای ارزشی، نوع پارامتر اصلی و صوری باید سازگار باشند. برای پارامترهای متغیر، پارامتر اصلی باید یک متغیر باشد اما بجای پارامتر اصلی می توان از یک متغیر، ثابت یا عبارت استفاده کرد.

مثال : خروجی برنامه را بدست آورید Var w,x,y,z : integer; Procedure SumDiff(n1,n2: integer, var n3,n4:integer); Begin n3 := n1+n2 ; n4 := n1- n2; End; x:= 5; y:=3; z:=7; w:=9; SumDiff(x,y,z,w); SumDiff(x,z,w,y); SumDiff(x,w,z,y);

مثال: بررسی قواعد نحوی Var x,y,z : real; m, n : integer; Procedure Message(var A,B:real; x: integer); … Message(x,y,z); NO Message(m,y,n);NO Message(25.0, 15,x); NO Message(y+z,y-z,m);NO Message(x,y,m+n);Yes Message(z,y, maxInt);Yes

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

حوزه عمل شناسه ها (ادامه) حوزه عمل قانون شماره 1: حوزه سراسری (جهانی) و محلی شناسه ای که در برنامه اصلی تعیین شده است دارای حوزه عمل سراسری بوده و می تواند در هر جای برنامه بازیابی شود. شناسه ای که در درون یک رویه و یا تابع تعیین شود دارای حوزه عمل محلی بوده است و فقط توسط آنچه تعیین شده است قابل بازیابی است. قواعد حوزه عمل در مورد تمام شناسه ها اعم از اسامی ثابت ها، متغیرها ، روال ها و پارامتر های صوری صادق است. حوزه عمل قانون شماره 2: تعیین نوع های چندگانه برای یک شناسه هر گاه شناسه ای بازیابی می شود، در واقع محلی ترین تعریف (نزدیکترین تعریف) در نظر گرفته می شود.

حوزه عمل شناسه ها (ادامه) Var x,y,z : real; Procedure pro1 (m,n,me:real); Var x, you : real; Begin … End; Procedure pro2 (var s,p,x: real); const blank = ‘ ‘; var hi,bye : string; begin …. ….. حوزه عمل x,y,z,pro1 , pro2 حوزه عمل n,m,me,x,you حوزه عمل x,p,s,blank,hi,bye

حوزه عمل شناسه ها (ادامه) حوزه عمل برای رویه های تو در تو Var m, n:real; Procedure outer (var x,y:real); Var p,q:real; procedure inner; var p,t :real; begin {inner} …. end;{inner} begin{outer} ……. end{outer}; Begin … End. حوزه عمل m,n,outer شناسه قابل دسترسی بدنه روال M,n,outer M,n,x,y,p,q,outer,inner M,n,x,y,p,q,t, Inner,outer بدنه اصلی Outer Inner حوزه عمل inner,q,p,y,x حوزه عمل p,t

مثال: با توجه به قواعد حوزه عمل و نوع پارامترها خروجی برنامه را بدست آورید!  = writeln(x,y,z,m); Var x,y,z,m :real; Procedure t2(m:real; var z:real); Begin z:=m+10; end; Procedure t1(var x:real; y: real); Var m: real; Begin ; m:=1; t2(z,m); x := y+m*z; ; end; Begin x:= 10; y:= 11; m:=101; z := -1;  ; t1(y,x); End. x, y, z, m 10 ,11, -1, 101 11, 10, -1, N 1 , 10, -1, 9 10 ,1 , -1, 101

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