Прямоугольник из символов

Задача

Вывести на экран "прямоугольник", образованный из двух видов символов. Контур прямоугольника должен состоять из одного символа, а в "заливка" - из другого.

Пояснение к задаче и алгоритм решения

Пусть прямоугольник будет состоять из 20 символов по горизонтали и 10 по вертикали.

  1. Перебираем строки друг за другом (внешний цикл).
    1. Если строка первая или последняя, то всю ее выводим одним символом.
    2. Иначе выводим один символ, затем 18 знаков другим символом, после чего снова выводим первый.
    3. Переходим на новую строку.

Исходный код на языке программирования Pascal

var i,j: byte;
begin
    for i:=1 to 10 do begin
        if (i=1) or (i=10) then
            for j:=1 to 20 do
                write('-')
        else begin
            write('|');
            for j:=2 to 19 do
                write('0');
            write('|');
        end;
        writeln;
    end;
end.

Особенности решения на языке программирования Pascal

Результат выполнения программы:

--------------------
|000000000000000000|
|000000000000000000|
|000000000000000000|
|000000000000000000|
|000000000000000000|
|000000000000000000|
|000000000000000000|
|000000000000000000|
--------------------

Исходный код на языке программирования C

#include <stdio.h>
 
main() {
    int i,j;
    for (i=0; i<10; i++) {
        if (i==0 || i==9)
            for (j=0; j<20; j++)
                printf("o");
        else {
            printf("o");
            for (j=1; j<19; j++)
                printf("-");
            printf("o");
        }
        printf("\n");
    }
}

Исходный код на языке программирования Python

for i in range(10):
    if i==0 or i==9:
        for j in range(20):
            print('w',end='')
    else:
        print('w',end='')
        for j in range(1,19):
            print('l',end='')
        print('w',end='')
    print()

Исходный код на языке программирования КуМир

алг символьный прямоугольник
нач
  цел а, б
  нц для а от 1 до 10
    если а = 1 или а = 10 то
      нц для б от 1 до 20
        вывод "*"
      кц
     иначе
      вывод "*"
      нц для б от 2 до 19
        вывод "="
      кц
      вывод "*"
    все
    вывод нс
  кц
кон

Исходный код на языке программирования Basic

for i=1 to 10
        if i = 1 or i = 10 then
                for j = 1 to 20
                        print "&";
                next j
        else           
                print "&";
                for j = 2 to 19
                        print "w";
                next j
                print "&";
        endif
        print ""
next i

Тема

Вложенные циклы

Уровень сложности

Средний

Дата публикации