در اغلب برنامه ها نیاز داریم که اطلاعات ورودی را از صفحه کلید یا فایل بخوانیم و اطلاعات خروجی را در صفحه نمایش نشان دهیم یا آنها را در فایل خروجی ذخیره کنیم.
دستور READ
این دستور برای دریافت ورودی از صفحه کلید بکار می رود و ساختار آن به شکل زیر است.
READ *, {input list} or
RAED([UNIT=] unit type, [FMT=] format) {input list}
unit type عددی است که نوع ورودی را مشخص می کند، مثلاً 5 برای صفحه کلید، این عدد اغلب برای خواندن ورودی از فایل بکار می رود. format برای دریافت ورودی معمولاً * است، اما کاربرد اصلی آن برای خواندن ورودی فرمت شده از فایل است.
READ (*,*) a, b, c
دستور WRITE
این دستور برای نمایش خروجی در صفحه نمایش یا فرستادن خروجی به پرینتر یا فایل خروجی بکار می رود.
PRINT *,{output list}
WRITE([UNIT=] unit type, [FMT=] format) {output list}
مانند دستور READ، unit type نوع خروجی را مشخص می کند و format فرمت خروجی را تعیین می کند.
WRITE(*,*) ‘The total is:’, total
این دستور ابتدا رشته The total is: و در ادامه مقدار متغیر total را روی صفحه نمایش نشان خواهد داد.
تعیین قالب ورودی و خروجی - دستور FORMAT
این دستور قالب بندی داده را تعیین می کند و در دستورات ورودی و خروجی بکار می رود. این دستور به دو صورت به کار می رود. یک روش استفاده مستقیم این دستور در بخش format در دستورات ورودی و خروجی است. روش دوم قرار دادن یک شماره خط قبل از این دستور (شماره خط در فرترن 77 بین خط 1 تا 5 قرار می گیرد.) و ارجاع این شماره در دستورات ورودی و خروجی است. ساختار این دستور به شکل زیر است.
FORMAT (format sequence)
یا اگر داخل دستوراتی چون WRITE قرار گیرد به شکل زیر خواهد بود.
FMT= (‘format sequence’)
ساختار استفاده شده در این دستور مشخص کننده تعداد ارقام خروجی و شکل نمایش آنهاست.
همانطور که در مثالهای قبلی متوجه شده اید؛ اگر قالب بندی آزاد انتخاب گردد، می توان بجای این بخش در دستورات ورودی و خروجی از * استفاده کرد.