متغیر ها در پاسکال

mohsen_blid

عضو جدید
سلام خدمت دوستان
خوب یه سوال درباره متغییر ها دارم
سوالم اینه که ایا میشه برای حقوق پایه بجای متغییرlongint از متغییر byte استفاده کرد و دقیقا منظور از این جمله دررابطه با این متغییر ها چیست که میگن(این مقدار را میپذیرند)و 1 بایت هستند؟
دقیقا می خوام بدونم دسته بندی متغییر ها به چه شکلی تشخیص داده میشه
مثلا اگه بخوایم جمعیت جهان رو حساب کنیم از چه متغییر استفاده کنیم و اگر بخوایم از یک ضریب استفاده کنیم از چه متغییری استفاده می کنیم
 
آخرین ویرایش:

Sharif_

مدیر بازنشسته
سلام خدمت دوستان
خوب یه سوال درباره متغییر ها دارم
سوالم اینه که ایا میشه برای حقوق پایه بجای متغییرlongint از متغییر byte استفاده کرد و دقیقا منظور از این جمله دررابطه با این متغییر ها چیست که میگن(این مقدار را میپذیرند)و 1 بایت هستند؟
دقیقا می خوام بدونم دسته بندی متغییر ها به چه شکلی تشخیص داده میشه
مثلا اگه بخوایم جمعیت جهان رو حساب کنیم از چه متغییر استفاده کنیم و اگر بخوایم از یک ضریب استفاده کنیم از چه متغییری استفاده می کنیم
دوست عزیز سوال شما مربوط به پاسکال نمیشه و به همه زبان های برنامه نویسی مبربوط میشه
متغییر یه قسمتی از حافظه اصلیه که می تونی اندازه اونو خودت تعیین کنی
هرچقد مناسب تر انتخاب کنی برنامت سبکتره!
وقتی میخوای یک عددی از 0 تا 255 تو این متغییر ثبت کنی بهتره از Byte استفاده کنی
میتونی از داده های عددی دیگه استفاده کنی ولی حجم برنامت میره بالا
چرا میگیم یک متغییر از نوع Byte از 0 تا 255 میتونه تو خودش نگه داره( درکل 256 تا)
چون byte هشت بیتیه یعنی از 0000 0000 تا 1111 1111 میتونه باشه
از اینجا نتیجه میگیریم 1 بایت اندازه
چون از Byte نمیشه برای اعداد منفی استفاده کرد از یه نتغییر از نوع ShortInt استفاده میشه که باز 8 بیتیه و از 128- تا 127+ میتونه تو یه تو خودش نگهداری بکنه(در کل 256 تا)
ولی integer و word از 16 بیت تشکیل شدن
integer میتونه اعداد منفی روهم تو خودش نگه داره( از 32768- تا 32676+) ولی word فقط مثبت ها رو نگه میداره (0 تا 65535) (هر دو در کل 65536 تا)
و LongInt هم که 32 بیتیه

و الی اخر
حالا باید نگا کنی ببینی کدوم به دردت میخوره
 

mohsen_blid

عضو جدید
مشکل بعدی

مشکل بعدی

سلام خدمت دوستان
Redhat عزیز ممنون باب پاسختون
مشکل این کد چی هست؟
کد:
program test;
var
a,b:integer;
if a>b then
begin
writeln(a);
end
else
writeln(b);
end.
 

Sharif_

مدیر بازنشسته
اون begin ماله حلقس
در کل یه دونه begin داری ولی 2 تا end
درستش اینطوریه
کد:
program test;
 var a,b:integer;
begin
 if a>b then 
begin 
writeln(a);
 end else 
writeln(b);
 end.
 

mohsen_blid

عضو جدید
طول میدان

طول میدان

سلام خدمت دوستان
یه سوال دارم اونم اینه که طول میدان چیست هر چی کتاب رو می خونم نمی فهمم طول میدان منظورش چیه؟
و من با کامپایل کردن برنامه مشکل دارم دکمه کامپایل رو میزنم ولی نتیجه کار رو نشون نمیده و فقط موفقیت کامپایل رو اعلام میکنه کسی از دوستان میتونه کمک کنه
 
آخرین ویرایش:

hamideh vf

عضو جدید
کاربر ممتاز
برای دیدن نتیجه باید برنامه رو run کنی نه کامپایل !!!

منظور از طول میدان اینه که تو محدوده ای که شما براش تعریف می کنی خروجی رو چاپ می کنه، مثلا وقتی 10: باشه و بخاد hamide رو چاپ کنه می نویسه:
hamide - - - -
و اگه یه عدد اعشاری رو میدان بدی مثلا:بگی: writeln( 195.324:7:2) میاد این عدد رو در فضایی به طول 7 و تا 2 رقم اعشار چاپ میکنه، خروجی این میشه:
195.32 -

واضح بود دیگه!؟؟؟
 

Similar threads

بالا