پروژه: ماشینحساب
ماشینحساب چهار عمل با sub ها، اعتبارسنجی و تقسیم بر صفر.
پروژه ۱: ماشینحساب 🧮
اولین پروژه کامل: چهار عمل اصلی با sub های جدا و مدیریت خطا.
کد کامل
sub add {
my ($a, $b) = @_;
return $a + $b;
}
sub subtract {
my ($a, $b) = @_;
return $a - $b;
}
sub multiply {
my ($a, $b) = @_;
return $a * $b;
}
sub divide {
my ($a, $b) = @_;
die "تقسیم بر صفر!" if $b == 0;
return $a / $b;
}
sub calculate {
my ($a, $op, $b) = @_;
if ($op eq '+') { return add($a, $b) }
elsif ($op eq '-') { return subtract($a, $b) }
elsif ($op eq '*') { return multiply($a, $b) }
elsif ($op eq '/') { return divide($a, $b) }
elsif ($op eq '**') { return $a ** $b }
else { die "عملگر نامعتبر: $op" }
}
# شبیهسازی منو
my @operations = (
[12, '+', 4],
[12, '-', 4],
[12, '*', 4],
[12, '/', 4],
[2, '**', 10],
);
foreach my $op (@operations) {
my $result = calculate(@$op);
printf("%d %s %d = %s\n", $op->[0], $op->[1], $op->[2], $result);
}
مفاهیم بهکاررفته
| مفهوم | کجا؟ |
|---|---|
| sub ها | هر عمل یک تابع |
| die | تقسیم بر صفر و عملگر نامعتبر |
| آرایه از آرایهها | لیست عملیات |
| printf | خروجی فرمتشده |
چالشهای تکمیلی
- جذر و درصد اضافه کنید
- توان با ** اضافه کنید (کردیم!)
- تاریخچه محاسبات در آرایه
این مبحث بخشی از دوره آموزش کامل پرل است.