تبدیل نوع و توابع ریاضی
توابع round، trunc، int، frac و توابع ریاضی sqr، sqrt، abs، sin، cos.
تبدیل real به integer
پاسکال بهطور خودکار real را در integer نمیگذارد — باید صریحاً تبدیل کنید:
| تابع | کار | مثال | نتیجه |
|---|---|---|---|
round(x) | گرد کردن به نزدیکترین | round(3.7) | 4 |
round(x) | round(3.3) | 3 | |
trunc(x) | حذف اعشار | trunc(3.9) | 3 |
int(x) | بخش صحیح (real) | int(3.9) | 3.0 |
frac(x) | بخش اعشاری | frac(3.75) | 0.75 |
var
x: real;
n: integer;
begin
x := 9.6;
n := round(x); { n = 10 }
n := trunc(x); { n = 9 }
end;
تبدیل عدد به رشته و برعکس
| تابع | کار | مثال |
|---|---|---|
IntToStr(n) | عدد صحیح → رشته | IntToStr(42) → '42' |
FloatToStr(x) | اعشاری → رشته | FloatToStr(3.5) → '3.5' |
StrToInt(s) | رشته → عدد صحیح | StrToInt('42') → 42 |
StrToFloat(s) | رشته → اعشاری | StrToFloat('3.5') → 3.5 |
توابع ریاضی پرکاربرد
| تابع | کار | مثال | نتیجه |
|---|---|---|---|
abs(x) | قدرمطلق | abs(-7) | 7 |
sqr(x) | مربع | sqr(5) | 25 |
sqrt(x) | جذر | sqrt(16) | 4.0 |
power(x,y) | توان | power(2,10) | 1024 |
min(a,b) / max(a,b) | کوچکترین/بزرگترین | max(3,7) | 7 |
sin(x) / cos(x) | سینوس/کسینوس (رادیان) | sin(0) | 0.0 |
odd(n) | فرد است؟ | odd(7) | true |
مثال کامل: میانگین نمرات
program Average;
var
a, b, c: integer;
avg: real;
begin
a := 18; b := 15; c := 12;
avg := (a + b + c) / 3; { تقسیم / همیشه real }
writeln('Average: ', avg:0:2);
writeln('Rounded: ', round(avg));
end;
خلاصه
- real → integer با
round(گرد کردن) یاtrunc(حذف اعشار) - عدد ↔ رشته با IntToStr / StrToInt و...
- ریاضی: abs، sqr، sqrt، power، min، max
این مبحث بخشی از دوره آموزش کامل پاسکال است.