1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش پاسکال بخش چهارم : آموزش برخی توابع کاربردی پاسکال

شروع موضوع توسط hector2141 ‏15/10/12 در انجمن Pascal

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    زیر برنامه های استاندارد رشته ای:
    تابع concat :
    این تابع برای الحاق رشته ها استفاده می شود.
    خروجی Concat( 'ali','reza' );---àalireza ​
    پردازه str :
    با این پردازه می توان عددی(صحیح یا اعشاری )را به رشته معادل تبدیل کرد.
    Str( n:integer;var s:string) ;
    Str( n:real;var s:string) ;​

    مثال:
    Begin
    R:=13 ;
    Str(r,a) ;
    A:=a+'ali ' ;
    خروجی Writeln(a );-à 13ali
    End . ​
    پردازه val :
    با این پردازه برعکس str ارزش عددی یک رشته حاوی ارقام بدست می آید.
    Val( s:string;var x:integer) ;
    Val ( s:string;var x:real) ;​
    تابع pos :
    با این تابع می توان دریافت یک حرف یا یک رشته در چه مکانی از رشته دیگر است.
    Poc( sub,s:string ):byte ;
    3 <---- Writeln( pos('jid','majid ') );
    تابع copy :
    برای بدست آوردن قسمتی از یک رشته از تابع copy استفاده می شود.
    Copy (s:string;start,len:integer ):string ;
    Writeln( copy('alireza';4,3) ) ; ---à rez ​
    تابع upcase :
    این تابع یک کاراکتر را از ورودی گرفته و آن را تبدیل به حرف بزرگ می کند.
    Upcase (c:char ):char ;
    Writeln (upcase('a') ) ;---à A​
    پردازه insert :
    این پردازه برای درج رشته ای در داخل رشته دیگر استفاده می شود:
    Insert( s1:string;s2:string;index:integer) ;
    S:='hello reza ' ;
    Insert( 'ali',s,7) ;
    Writeln( s) ;
    خروجی hello alireza : ​
    Index شماره مکان درج در رشته s2 را مشخص می کند
    پردازه delete :
    با این پردازه می توان بخشی از یک رشته را حذف کرد.
    Delete( var s:string;start,len:integer) ; ​
    پارامتر len تعداد کاراکتر حذف شده از رشته s و پارامتر start موقعیت حذف را تعیین می کند.
    S:='alireza ' ;
    Delete( s,4,3 );----àalia ​
    حال یک سری نکات مهم را بیان می کنیم:
    نکته 1) هنگام تعریف توابع بین پارامترهای (; ) قرار می گیرد ولی هنگام صدا زدن تابع بین آرگومان ها (, ) قرار می گیرد.
    نکته 2) تابع ممکن است ورودی نداشته باشد بنابراین از گذاشتن پرانتز باید خودداری کرد. Function example:integer ;

    نکته 3) نوع برگشتی تابع می تواند از نوع های ساده( real,integer,char ... ) ،رشته و شمارشی باشد. ولی از نوع آرایه،مجموعه وفایل نمی توانند باشد.
    نکته 4) درون عبارات محاسباتی،دستور write و مقایسه ای می توان آن را صدا زد.
    نکته 5) رویه ممکن است ورودی و خروجی نداشته باشد در این صورت از پرانتز نباید استفاده کرد.procedure example ;
    نکته 6) دستورات readln و writeln در واقع رویه های از پیش تعریف شده اند.
    نکته 7) دستورات INC و DEC در واقع رویه های از پیش تعریف شده،با فرم کلی زیر می باشند:
    Procedure inc( var x[;n:logint]) ;
    Procedure dec( var x[;n:logint]) ;​
    نکته 8) دستورات halt و exit در واقع رویه های از پیش تعریف شده،با فرم کلی زیر می باشند:
    Procedure halt [ ( word : کد خروجی ) ];
    Procedure exit ;
    نکته 9) تعداد آرگو مان های فرستاده شده به تابع یا رویه باید برابر باشد، همچنین نوع آرگو مان های متناظر نیز باید یکسان باشد.
    نکته 10) نام پارامترها کاملا اختیاری است و می تواند همنام آرگو مان ها باشد.
    نکته 11) درون یک زیر برنامه نمی توان متغیری محلی همنام با پارامتر ها تعریف کرد.در این حالت خطای کامپایلری رخ می دهد.
    نکته 12) ترکیب const و var غیر مجاز بوده و خطا دارد. ​
    حوزه عمل شناسه ها:
    در یک برنامه پاسکال ، هر شناسه ، دامنه ای دارد که حوزه عمل آن شناسه نامیده می شود.منظور از دامنه شناسه ، بخشی از برنامه است که شناسه در آن تعریف می شود.یک شناسه تنها توسط دستوری که در حوزه عملش قرار دارد می تواند مورد مراجعه و بازیابی قرار گیرد. شناسه ممکن است محلی یا سراسری باشد.

    قانون شماره 1 حوزه عمل : حوزه های محلی یا سراسری

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