پروژه: ماشین‌حساب

ماشین‌حساب چهار عمل با 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خروجی فرمت‌شده

چالش‌های تکمیلی

  1. جذر و درصد اضافه کنید
  2. توان با ** اضافه کنید (کردیم!)
  3. تاریخچه محاسبات در آرایه

این مبحث بخشی از دوره آموزش کامل پرل است.

ابزارهای مرتبط