Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Алгоритм построения пирамиды с заданным количеством строк в Pascal

Delphi , Синтаксис , Циклы

Одним из популярных заданий в обучении программированию является построение пирамиды с заданным количеством строк. В данной статье мы рассмотрим два алгоритма решения этой задачи на языке программирования Pascal.

Первый алгоритм

Этот алгоритм основан на создании списка заданной длины, заполненного символом подчеркивания (_), для каждой строки пирамиды. Затем, начиная с середины строки, мы размещаем числа, увеличивая их на каждую следующую строку и уменьшая на предыдущую. Давайте рассмотрим пример кода на Pascal:

program PyramidBuilder;

var
  n, middle, j, row, kk, ll, r, i, jj, k, l: integer;
  last_line: array of char;

begin
  n := 19;
  SetLength(last_line, n * 2 - 1, '_');
  middle := Length(last_line) div 2;

  for j := 0 to n - 1 step 2 do
  begin
    last_line[middle + j] := Chr(j div 2 + 49);
    last_line[middle - j] := Chr(j div 2 + 49);
  end;

  for row := 0 to n - 1 do
  begin
    Write(' ' * (n - row - 1));
    Write(last_line[middle - row .. middle + row]);
    Writeln;
  end;
end.

Этот код создает пирамиду с 19 строками. Он сначала заполняет последнюю строку пирамиды числами, а затем печатает срезы последней строки, начиная с середины и расширяясь во все стороны.

Второй алгоритм

Этот алгоритм более подробно объясняет процесс построения пирамиды. Он запрашивает у пользователя количество строк пирамиды и затем строит пирамиду, начиная с вершины и расширяясь во все стороны. Давайте рассмотрим пример кода на Pascal:

program PyramidBuilder2;

var
  n, r, i, j, kk, ll, jj, k, l: integer;

begin
  n := 19;
  r := 0;

  for i := 1 to n div 2 + 1 do
  begin
    r := r + 1;
    for j := 1 to n - i + 1 do
      Write('  ');
    for kk := i downto 1 do
    begin
      if i = 1 then
        Write(' ' + IntToStr(i))
      else
      begin
        if kk = i then
          Write(' ')
        else
          Write(IntToStr(kk) + '_');
      end;
    end;
    for ll := 2 to i do
      Write('_' + IntToStr(ll));
    if i > 1 then
      Writeln;
    r := r + 1;
    if r > n then
      Break;
    for jj := 1 to n - i + 1 do
      Write('  ');
    for k := i downto 1 do
    begin
      if i = 1 then
        Write('_' + IntToStr(i) + '_')
      else
        Write('_' + IntToStr(k) + '_');
    end;
    for l := 2 to i do
      Write(IntToStr(l) + '_');
    Writeln;
  end;
end.

Этот код также создает пирамиду с 19 строками. Он запрашивает у пользователя количество строк пирамиды и затем строит пирамиду, начиная с вершины и расширяясь во все стороны.

Оба этих алгоритма являются эффективными способами построения пирамиды с заданным количеством строк в Pascal. Выбор между ними зависит от конкретных требований задачи и предпочтений программиста.

Создано по материалам из источника по ссылке.

В контексте данного текста рассматриваются два алгоритма построения пирамиды с заданным количеством строк на языке программирования Pascal.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Циклы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 06:31:06/0.0035820007324219/1