Есть ответ 👍

1постройте горизонтальную линию длиной 50 източек использую оператор for. 2организуйте движение точки через центр экрана справа на левво. 3вывидите на экран значение суммы натуральных чисел от 1 до 100.

109
271
Посмотреть ответы 2

Ответы на вопрос:


формулировка.  дано натуральное число  n, меньшее 256. используя псевдографику, вывести на экран таблицу квадратов и кубов всех натуральных чисел от 1 до  n  включительно.

примечание: псевдографика – это совокупность символов для формирования видимых графических примитивов (линий, прямоугольников, рамок, таблиц и т. она была актуальна в те далекие времена, когда устройства вывода компьютеров не способны были работать с графикой, либо это было проблематично.

символы, использующиеся для псевдографики, должны быть включены в набор используемого в терминале (консоли) компьютерного шрифта.

решение.  в этой мы впервые займемся графическим оформлением выходных данных программы. для начала подумаем, как может выглядеть таблица в простейшем случае (n  = 3):

xx2x31231491827

несмотря на то, что кодовые страницы для  dos  имеют определенный набор символов для рисования графических примитивов, в частности, таблиц, мы будем пользоваться лишь символами  '-'  и  '|'  для построения линий таблицы, а также  '/'  и  '\'  для формирования ее угловых элементов.

построим псевдографический эквивалент этой таблицы:

/ | x | x^2 | x^3 | || | 1 | 1 | 1 | | 2 | 4 | 8 | | 3 | 9 | 27 | /

примечание: в случае ограниченных возможностей вывода для обозначения возведения выражения в степень используется постфикс «^k», где  k  – показатель степени. кстати, здесь мы выравниваем значения в середине столбцов, сдвигая к середине разряд единиц по правому краю столбцов.

как же сформировать вывод на экран такой таблицы? понятно, что это нужно сделать построчно. однако какой ширины сделать таблицу и как организовать вывод строк со степенями? так как максимальное число, которое может быть подано на вход – 255, и его куб равен 16581375 (он состоит из 8 цифр), то нам нужно сделать колонки ширины 1 + 8 + 8 + 1 = 18 (крайние единицы для отступов) символов, чтобы таблица выглядела равномерно:

/ | x | x^2 | x^3 | || | 1 | 1 | 1 | | 2 | 4 | 8 | | | | | | 255 | 65025 | 16581375 | /

как видим, при постепенном увеличении числа будут «вырастать» справа налево. чтобы вывести такую строку, нужно вывести константу  '|', затем вывести соответствующее число с шириной поля вывода 9, потом вывести константу  '|'  с шириной поля вывода 10 и аналогично вывести оставшиеся колонки:

writeln('|', i: 9, '|': 10, i * i: 9, '|': 10, i * i * i: 9, '|': 10);

схематически с учетом форматирования это будет выглядеть так:

'|          255                |      65025                | 16581375               |'

изменение цветов соответствует чередованию аргументов в операторе вывода.

так как заголовок таблицы один и тот же для всех вариантов исходных данных, мы можем сразу вывести его с трех строковых констант через  writeln:

writeln('/');

writeln('|              x                |            x^2              |            x^3              |');

writeln('||');

после вывода всех строк нужно вывести нижнюю границу таблицы:

writeln('/');

вообще, все эти константы и правила не взялись «просто так» или из расчетов. единственный использованный факт – разрядность числа не более 8, поэтому мы и взяли ширину колонок «по максимуму». в остальном нужно было экспериментировать, чтобы найти наиболее легкое и наглядное решение. конечно, псевдографика – это не алгоритмическое программирование, и в нем тестирование и эксперимент играют чуть ли не самую важную роль.

код:

program mytable; var i, n: byte; begin readln(n); writeln('/'); writeln('| x | x^2 | x^3 |'); writeln('||'); for i : = 1 to n do begin writeln('|', i: 9, '|': 10, i * i: 9, '|': 10, i * i * i: 9, '|': 10) end; writeln('/') end.

Вформате "целое без знака" с n двоичных разрядов можно записать числа от 0 до 2^n - 1 (это соответствует записям от до , где в каждом числе по n разрядов). при n = 11 максимальное число равно (11 разрядов) = 2^11 - 1 = 2048 - 1 = 2047

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS