код VBScript для дизайна шаблона - PullRequest
0 голосов
/ 10 августа 2010

Может кто-нибудь помочь мне с кодом VB, который я изо всех сил пытаюсь сделать.Я просто новичок, когда дело доходит до программирования.

Упражнение говорит: получить целое число n от пользователя, распечатать следующий шаблон на экране в зависимости от пользовательского ввода Pattern 1 - когда n равно 3, тамвсего 5 строк в шаблоне 2 - когда n равно 4, всего 7 строк

В выходном шаблоне 1 должен выглядеть следующим образом

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

Ответы [ 2 ]

1 голос
/ 10 августа 2010

Разделяй и властвуй - это способ решения этих проблем, как и в большинстве вычислительных задач.

Итак, разбейте свою задачу на подзадачи.Я вижу три подзадачи:

Расчет количества строк

Создание функции, которая принимает n в качестве входных данных и возвращает общее числорядов.Я оставлю на ваше усмотрение решить логику для этого, возможно, вы можете масштабировать его так, чтобы он работал для более широкого диапазона чисел?Возможно, за возвращаемым значением скрыта формула или определенная логика?Или просто вам нужен оператор выбора регистра.

Выработка наибольшей ширины линии

Подумайте о том, как логически решить эту проблему, о чем вам нужно узнатьшаблон для продолжения после этого шага?Я думаю, что вам нужно выяснить, какова ширина среднего ряда.Это было бы отличной отправной точкой.Мы знаем наибольшую ширину линии от вызова нашей предыдущей функции, и это вся информация, которая нам нужна для обработки наибольшей ширины линии.

Печать полученного изображения

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

0 голосов
/ 27 августа 2010

Ввод устанавливает среднюю точку (пик) вашего ромба

' Building up to the peak
for (i = 1, i <= input, i++)
{

dots = 1 + (2 * (i-1))
peakdots = 1 + (2 * (input - 1))
spaces = (peakdots - dots) / 2
wscript.echo spaces & dots & spaces

}

' On the way back down
for (i = (input - 1), i > 1, i--)
{
dots = 1 + (2 * (i-1))
peakdots = 1 + (2 * (input - 1))
spaces = (peakdots - dots) / 2
wscript.echo spaces & dots & spaces

}

Цикл for необходимо настроить в стиле C, но содержимое должно работать как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...