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

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

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

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    قبل از این که شروع به نوشتن یک برنامه کنیم ابتدا باید دستورات ورودی و خروجی را در پاسکال یاد بگیریم :
    خروجی با دستور Write :
    این دستور برای نوشتن اطلاعات در خروجی بکار می رود. اطلاعات خروجی می توانند ثابتهای عددی، مقادیر متغیرها، عبارات و غیره باشند. شکل دستور در حالت کلی بصورت زیر است:
    (....... و متغیر2 و متغیر1 )write
    یا (....... و' عبارت 2' و'عبارت1 ')
    یا (....... و ثابت 2 وثابت 1 )


    مثال:
    Var
    A , B: integer ;
    Ch: char ;
    R: Real ;
    Begin
    A: = 10 ; B: = 15 ;
    Ch: = ' T ' ;
    R: = 12.25
    Write ( ' A = ' , A, ' B = ' , B );
    Write ( ' ch = ' , ch , ' R= ' , R );
    Write ( ' sum of A and B = ' , A + B );
    End. { end of program }
    بعد از اجرای برنامه فوق در خروجی خواهیم داشت:
    A = 10 B = 15 ch = TR = 1.2250000000 e + 01 sum of A and
    B = 25
    خروجی با دستور Writeln :
    این دستور همانند دستور Write عمل می کند با این تفاوت که بعد از اجرا، کنترل را به ابتدای سطر بعد منتقل می کند در نتیجه موجب چاپ داده های بعدی در ابتدای سطر بعد می شود.
    خروجی برنامه بالا بصورت زیر می باشد:
    A = 10 B = 15
    Ch = T R = 1.225000000 e + 01
    Sum of A and B = 25
    خروجی فرمت بندی شده :
    اگر بخواهیم اطلاعات با فاصله های مشخص یا در مکان مشخصی در صفحه نمایش قرار گیرند، باید فرمت چاپ را در دستورات بیان شده مشخص کنیم.
    طریقه تعیین فرمت چاپ برای اعداد صحیح :
    ( طول میدان: داده صحیح ) Writeln یا Write
    در تعریف طول میدان برای متغیرها یا داده هایی از نوع صحیح به نکات زیر توجه کنید:
    اگر طول میدان از طول ارقام عدد صحیح بیشتر تعریف شود، عدد در منتهی الیه سمت راست میدان نوشته می شود.
    اگر طول میدان از طول ارقام عدد صحیح کمتر تعریف شود، طول میدان به اندازه تعداد ارقام در نظر گرفته می شود و طول میدان تعریف شده بی اثر خواهد بود.
    مثال:
    X:= 3200 ;
    A: = 12 ;
    B: = 217 ;
    Write ( X:3 , A:5 , B:5 );
    خروجی: 217 دو تا فاصله 12 سه تا فاصله 3200
    طول میدان اعداد اعشاری :
    برای نمایش اعداد اعشاری بصورت دلخواه، می توان با تعریف طول میدان و تعداد ارقام اعشاری، عدد مزبور را نمایش داد.
    در حالت کلی طول میدان را می توان به صورت زیر تعریف کرد:
    ( تعداد ارقام بعد از ممیز: طول میدان: متغیر اعشاری) Writeln یا Write

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

    هنگامی که طول میدان همراه با تعداد ارقام بعد از ممیز ذکر شود، اگر طول میدان کوچکتر از مقدار عدد باشد، پاسکال تنها طول میدان را به اندازه ای که مورد نیاز است تصحیح کرده و آنرا برابر اندازه واقعی که عدد در آن قرار می گیرد، اصلاح می کند.
    اگر تعداد ارقام بعد از ممیز زیاد باشد و تعداد ارقام بعد از ممیز ذکر شده در طول میدان کمتر از تعداد ارقام اعشاری عدد باشد، تعداد ارقام اعشار مطابق درخواست برنامه نویس نشان داده خواهد شد و رقم آخر اعشار آن نسبت به عدد بعدی گرد می شود.
    طول میدان کاراکترها و رشته ها :
    برای نمایش رشته ها و کاراکترهای با طول میدان بصورت زیر عمل می کنیم.
    (طول میدان: متغیر یا عبارت رشته ای یا کاراکتری) Writeln یا Write
    در توربو پاسکال، کلیه موارد گفته شده در مورد اعداد صحیح برای رشته ها نیز صادق است.
    ورودی با Readln , Read
    از این دستورات برای خواندن داده ها و اختصاص آنها به متغیرها استفاده می شود. در خواندن داده ها به دو موضوع باید دقت شود:
    منبع داده ها یعنی دستگاه ورودی که از آن داده ها خوانده می شود.
    متغیری که داده های خوانده شده در آن قرار می گیرد.

    شکل کلی دستور ورودی Read بصورت زیر می باشد:
    ;( ..... و متغیر 2 و متغیر 1Read)
    این دستور عمل خواندن داده ها و ذخیره آنها در متغیرها را انجام می دهد و پس از اتمام عمل خواندن کنترل را برای خواندن و نوشتن های بعدی. در همان خط نگه می دارد
    شکل کلی دستور ورودی ReadLN بصورت زیر می باشد:
    ;( ..... و متغیر 2 و متغیر 1ReadLN)
    این دستور عمل خواندن داده ها و ذخیره آنها در متغیرها را انجام می دهد و پس از اتمام عمل خواندن کنترل را برای خواندن و نوشتن های بعدی به خط بعد می رود.
    ما قادر شدیم که یک برنامه کامل را بنویسیم حال چند مثال را حل می کنیم:
    برنامه ای بنویسید که محتویات دو عدد را عوض کند؟
    program Example_1 ( input , output ) ;
    Var
    first , second , temp: integer Begin
    Writeln ;
    Writeln ( 'Please Enter two numbers' );
    Readln ( first , second );
    Temp: = first ;
    First: = second ;
    Second: = temp ;
    Write ( ' first = ' , first , ' second = ': 10 , second );
    End. { end of program }
    خروجی برنامه بالا به صورت زیر می باشد:
    Please Enter two numbers
    15 17
    First = 17 second = 15
    برنامه ای بنویسید که حقوق پایه و تعداد فرزندان یک کارگر را از ورودی گرفته و مبلغ حقوق وی را بر اساس فرمول زیر محاسبه کند؟
    10* تعداد فرزندان+ حقوق پایه= حقوق کل
    program TEST (input , output );
    Var
    CHILD:BYTE
    :LONGINT SALARY
    : integer ; KOL
    Begin
    Writeln ; Writeln ( 'Please Enter salary an number of child );
    Readln ( salary, child );
    Kol:=salary+child*10 ;
    Writeln ('kol is',kol);
    End. { end of program }
    عملگر ها:

    انواع عملگر ها عبارت است از:
    عملگرهای رابطه ای
    عملگرهای منطقی
    عملگر های محاسباتی
    عملگرهای رابطه ای:
    آن دسته از عبارات منطقی که عمل مقایسه را انجام می دهند یکی از اشکال زیر را دارند:
    Variable relational-operator Variable
    Variable relational-operator constant

    عملگر های رابطه ای به شرح زیرند:
    > کوچکتر
    < بزرگتر
    <= بزرگتر مساوی
    = > کوچکتر مساوی
    <> نامساوی
    = مساوی

    نکته: دو عملوند یا داده ای که با هم مقایسه می شوند اغلب یا دو متغیر هستند یا یک متغیر و یک ثابت هستند. نوع داده ی عملوند های یک عملگر رابطه ای باید یکسان باشد.

    عملگرهای منطقی:
    با استفاده از عملگر های منطقی not , or , and می توان عبارات منطقی پیچیده تری ایجاد نمود .

    مثال :
    (x < y ) or (y > 5)
    متغیر های منطقی در واقع عبارات منطقی هستند . بنابر این از آنها می توان به عنوان عملگر های منطقی استفاده نمود .

    مثال
    X and (not y ):
    جداول درستی :
    عملگر And و OR :

    عملوند 2 OR عملوند 1 عملوند 2 and عملوند 1
    عملوند 2
    عملوند 1
    True True
    True
    true

    True false
    False
    True

    False True
    true
    false

    False False
    False
    False

    عملگر Not :

    عملوند 1 not
    عملوند 1
    false
    true

    True
    false
    تقدم عملگرها ترتیب ارزیابی را مشخص می کند.جدول تقدم عملگرها عبارتند از :
    عملگر
    Not
    * / div mod and
    + - or
    < <= = <> >= >