![]() |
|
|
|
|
امروز ... |
![]() |
||||||||
|
- ساختار کلي برنامه تا به اينجا تمام کارها در بدنه اصلي برنامه نوشته مي شد . مي دانيم که تعريف متغير ها در بالا و دستورات ديگر در پايين نوشته مي شد و به کلمه End ختم مي شد . حال مي توانيم قسمت هاي ديگري را تحت عنوان زير برنامه به برنامه خود اضافه کنيم که به از کلمه End مي توانند قرار گيرند . در زير به آنها اشاره خواهد شد . -Function در برنامه نويسي تمام توابع مورد نياز ما نوشته نشده اند و گاهي خود ما نياز به تعريف توابع جديدي داريم براي اين منظور از ساختار زير استفاده مي کنيم : ( ليست آرگومان ها – ورودي) نام تابع Function بلوک دستوري ... = نام تابع End Function همانطور که در بحث توابع آماده ديديد ، توابع با گرفتن يک يا چند آرگومان محاسبات خاصي را انجام داده و نتيجه محاسبات را در نام متغير ذخيره مي کنند بنابراين تنها يک خروجي دارند و حداقل يکبار مي بايست در متن زير برنامه عددي به آن اختصاص داده شود . به عنوان مثال در زير برنامه زير تابع Sin2 براي محاسبه سينوس يک زاويه از طريق بسط تيلور نوشته شده است و در بدنه اصلي اختلاف دو تابع Sin وSin2 نوشته مي شود . Read *,A Print *,Sin(A)-Sin2(A) End Function Sin2(x) Sin2=x ; F=1 ; S=-1 Do i=3,20,2 F=F*(i-1)*i Sin2=Sin2+S*x**i/F S=S*-1 End do End Function همانطور که مي بينيد فراخواني توابع جديد مانند توابع آماده است . نکته اي که بايد رعايت شود اين است که ورودي تابع Sin2 از نوع اعشاري تعريف شد پس بايد در بدنه اصلي برنامه عدد اعشاري به عنوان آرگومان قرار داده شود . - Subroutine اگر بخواهيم بيش از يک خروجي داشته باشيم از subroutine استفاده مي کنيم به اينصورت که ابتدا ورودي هاي خود را به داخل تابع فرستاده و سپس از ورودي ها بعنوان خروجي استفاده مي کنيم . ساختار کلي به صورت زير است . ( ليست ورودي ها و خروجي ها ) نام زير برنامه Subroutine بلوک دستورات End Subroutine اکنون برنامه بالا را با اين ساختار مي نويسيم : Read *,A Call Sin2(A,B) Print *,Sin(A)-B End Subroutine Sin2(x,y) y=x ; F=1 ; S=-1 Do i=3,20,2 F=F*(i-1)*i y=y+S*x**i/F S=S*-1 End do End Subroutine همانطور که مي بينيد فراخواني Subroutine با دستور Call مي باشد .
|
||||||||||||||
|
قوانین حقوق مولفان 2008 ،
گروه نرم افزاری سی سی
،شرایط و ضوابط سایت را مطالعه نمایید |
||||||||||||||