پروژه: جدول ضرب و شکل‌های ستاره‌ای

پروژه گرافیکی متنی: جدول ضرب، هرم‌ها، لوزی و اشکال ستاره‌ای با حلقه‌های تودرتو.

پروژه ۴: هنر با حلقه‌ها ⭐

حلقه‌های تودرتو + write/writeln = نقاشی با متن! این پروژه استاد حلقه‌ها می‌کند.

۱. جدول ضرب کامل

procedure MulTable(size: integer);
var
  i, j: integer;
begin
  write('*':4);
  for j := 1 to size do
    write(j:4);
  writeln;
  for i := 1 to size do
  begin
    write(i:4);
    for j := 1 to size do
      write(i * j:4);
    writeln;
  end;
end;

۲. هرم وسط‌چین

procedure Pyramid(height: integer);
var
  i, j: integer;
begin
  for i := 1 to height do
  begin
    { فاصله‌های قبل }
    for j := 1 to height - i do
      write(' ');
    { ستاره‌ها }
    for j := 1 to 2 * i - 1 do
      write('*');
    writeln;
  end;
end;

خروجی برای height=5:

    *
   ***
  *****
 *******
*********

۳. لوزی

procedure Diamond(size: integer);
var
  i, j: integer;
begin
  { نیمه بالایی }
  for i := 1 to size do
  begin
    for j := 1 to size - i do write(' ');
    for j := 1 to 2 * i - 1 do write('*');
    writeln;
  end;
  { نیمه پایینی }
  for i := size - 1 downto 1 do
  begin
    for j := 1 to size - i do write(' ');
    for j := 1 to 2 * i - 1 do write('*');
    writeln;
  end;
end;

۴. شکل X

procedure XShape(size: integer);
var
  i, j: integer;
begin
  for i := 1 to size do
  begin
    for j := 1 to size do
      if (i = j) or (i + j = size + 1) then
        write('*')
      else
        write(' ');
    writeln;
  end;
end;

۵. قاب خالی

procedure HollowBox(w, h: integer);
var
  i, j: integer;
begin
  for i := 1 to h do
  begin
    for j := 1 to w do
      if (i = 1) or (i = h) or (j = 1) or (j = w) then
        write('*')
      else
        write(' ');
    writeln;
  end;
end;

فرمول‌های کلیدی

شکلفرمول
هرم خط i(h-i) فاصله + (2i-1) ستاره
لوزیهرم + هرم معکوس
قابستاره فقط در لبه‌ها
Xi=j یا i+j=n+1

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

  1. مثلث اعداد پاسکال (با تابع Comb بازگشتی!)
  2. شکل ساعت شنی (دو مثلث)
  3. موج سینوسی با کاراکتر
  4. مثلث فلوید (اعداد متوالی)

چه یاد گرفتیم؟

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

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