مود
محاسبات زبان فرترن معمولا” در دو مود (Mode) مختلف انجام میگیرد که عبارتند
از :
مود صحیح (Integer Mode)
مود اعشاری(Real Mode)
نظر باینکه کامپیوتر محاسبه های هر مورد را بطور متفاوتی انجام میدهد لازم
است که در عبارت کلیه ثابت ها و متغیرها جز در مورد استثنائی که بعدا” گفته
خواهد شد در یک مود باشند . ثابت ها در مود صحیح بصورت عدد صحیح و در مود
اعشاری همراه باممیز نشان داده میشوند . مثلا” عددهای ۷٫۲، ۱،.َ۱۰ – و.۱۵ اعشاری
و عددهای ۵۲ – ، ۷۰۱ و ۱۵ صحیح میباشند .
عددهای اعشاری را میتوان بصورت نمائی (Exponential) نیز نشان داده ، بدین
معنی که هر عدد بصورت حاصلضرب یک جزاعشاری (که معمولا مقدار آن بین ۰٫۱و ۱٫۰و
است ) در توان صحیح مناسبی از ۱۰ نشان داده میشود .
در فرترن جز اعشاری هر عدد قبل از حرف E و توان مورد نظر پس از حرف E بصورت
زیر نشان داده میشود :
صورت نمائی فرترن صورت نمائی صورت اعشاری ۰٫۷۲۵E2
2 به توان x 10 َ۰٫۷۲۵ ۵٫َ۷۲ ۱۵۱۲E3
.0 – 3 به توان x 10 َ۱۵۱۲٫۰ – ۲٫َ۵۱ ۲
- ۲۵E.0 2 – به توان ۱۰ ۲۵x.0 0.0025 3
- 2.5E 3 – به توان ۲٫۵ x 10 0.0025 1
- 0.78E – 1 – به توان x 10 َ۰٫۷۸ – ۰٫۰۷۸ – ۰٫۵E0
0 به توان ۱۰ ۰٫۵x
باید توجه داشت که کمیتهای اعشاری در درون کامپیوتر همواره بصورت نمائی
(که جز اعشاری آن بین ۰٫۱و۱٫۰و میباشد) بدون در نظر گرفتن اینکه بصورت اعشاری
یانمائی معرفی شده باشند ذخیره میگردند . به علت محدود بودن تعداد محلهائی که
که حافظه کامپیوتر برای ذخیره کردن مقادیر اعشاری اختصاص میدهد معمولا” فقط ۷
تا ۸ا رقم از جز اعشاری نگهداری میشود و مقدار نمای مربوط معمولا” بین ۷۵ – و + ۷۵
است . در مورد کمیتهای صحیح معمولا” میتوان حداکثر تا حدود۱۰ رقم در
کامپیوتر ذخیره نمود .
متغیرهای فرترن نیز میتوانند در مود صحیح یا اعشاری باشند . متغبرهائی که
حرف اول آنها یکی از ۶ حرف I، J،، K،، L،، M،و Nو باشند متغیرهای صحیح وآنهایی
که حرف اول آنها بجز ۶ حرف فوق باشد متغیرهای اعشاری خواهند بود . بنابراین
متغیرهائی مانند L، K،، JOB، MASS،، NUM،و ISUNو متغیرهای صحیح و متغیرهائی
مانند A، F،، SUM،، XMASS، ، Y57 و Z4N متغیرهای اعشاری میباشند .
چنانچه در یک برنامه برای واضح شدن مفهوم پاره ای از متغیرها ، انتخاب
نامهائی از قبیل FORCE، AMPER،، VOLT،و OHMو ضروری بوده ولی مقدار این کمیتها
در مود صحیح باشند میتوان با اضافه کردن یکی از ۶ حرف فوق به ابتدای نام این
متغیرها آنها را بصورت IFORCE، IAMPER،، IVOLT،، IOHM، تغییر داد که بتوانند
معرف کمیتهای صحیح باشند .
در دستورهای محاسباتی زیر :
A = X + 2.0
BI = 3.0*X + Y*Z / 2.0
I =( N – 2)*J
ELEVEN = TWO + NINE
Z = A*X**2 + B*Y**3.0
دو طرف دستور اول و دوم در مود اعشاری و دو طرف دستور سوم در مود صحیح است
در دستور چهارم دو متغیر سمت راست در دو مود مختلف هستند و آمیختن آنها مجاز
نمیباشد . بالاخره در سمت راست دستور آخر که در مود اعشاری است متغیر اعشاری X
به توان صحیح ۲ رسیده و چنین عملی مجاز است زیرا در مورد توان رسانی مودها
بصورت زیر قابل قبول میباشند :
الف ثابتها و متغیرهای اعشاری را میتوان به توان اعشاری یا به توان صحیح
رساند .
ب ثابتها و متغیرهای صحیح تنها باید به توان صحیح برسند . بنابرین این
عبارتهائی مانند :
A**(I + 1)
B**0.5
(K – 2)**3
مجاز است و حال آنکه عبارتهائی مانند :
I**2.5
I2**(A – 1.5)
مجاز نیست .
در فرترن میتوان دستورهائی نوشت که دو طرف چپ و راست آن در دو مود مختلف
باشند که نمونه هائی از آن در زیر نشان داده شده است .
J = X XI = I
JOE = 3.90*Y Y = 3 + MAX
K = A + B*C A = I + J*K
در مثالهای بالا عملهای طرف راست علامت جایگزینی در مود مربوط انجام و سپس
نتیجه حاصل به مود طرف چپ تبدیل و جایگزین آن میگردد . مثلا” در دستور JOE = 3.90*Y
اگر مقدار Y برابر ۲٫۰ باشد نخست مقدار سمت راست برابر ۷٫۸۰
محاسبه میشود و چون این مقدار باید جایگزین متغیر صحیح JOE شود بنابرین جز
اعشاری آن حذف و عدد صحیح ۷ جایگزین JOE میگردد .
در دستور Y = 3 + MAX مقدار سمت راست در مود صحیح محاسبه و نتیجه به مود
اعشاری تبدیل میشود مثلا”اگر MAXر برابر با ۸ باشد عدد صحیح ۱۱ بدست میاید که
پس از تبدیل به مود اعشاری عدد ۰٫َ۱۱ جایگزین متغیر Y میگردد .
تبصره – باید دقت کرد در عبارتهائی که در مود صحیح انجام میگیرد نتیجه هر
عمل یک عدد صحیح خواهد بود . مثلا” در دستور A = 3/2 + 2 نتیجه هر عمل تقسیم ۳/۲
عدد صحیح ۱ میباشد که پس از اضافه شدن به عدد ۲ عدد صحیح ۳ نتیجه میشود و
بصورت اعشاری ۳٫۰ جایگزین A میگردد . در مثالهای زیر نمونه هائی از این گونه
دستورها و جوابهای حاصل داده شده است .
جواب دستور فرترن
B = 3.2*3 B = 3.
I = 3*3/2 I = 4
B = 3*(3/2 )B = 3.
K = 3/( 2*3 )K = 0
در تدوین زبان فرترن سعی شده است که دستورهائی محاسباتی از لحاظ صورت ظاهری
حتی الامکان مشابه عبارتهای ریاضی مربوط باشند . این امر گاه ممکن است سبب
اشتباهاتی گردد که چند نمونه از آن در زیر نشان داده شده است .
عبارت محاسباتی درست عبارت محاسباتی نادرست عبارت ریاضیxy XY X*Y
i-(j )I* – J I*-(J)
(َI + 2)A**)A**I + 2 i + 2 به توان a A**X
I**Xx به توان i
(.1./2)**(B + C) (1.2)**(B + C) 0/5 به توان (b + c **2
(A + B)A + B**2 2 به توان (a + b)
(C*D)A*B) A*B/C*D ab بروی cb 4ac4*A*C
دیدگاه خود را بیان کنید.
باید وارد سایت شده باشید برای دیدگاه دادن