2010-08-10 3 views
0

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

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

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

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

ответ

1

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

Так что разделите свою задачу на подвыборники. Я вижу три суб проблемы:

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

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

Разработка самая большая ширина линии

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

Печать результирующее изображение

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

0

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

' 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 

} 

для цикла должен быть переделано из C-стиля, но содержание должно работать как есть.

Смежные вопросы