2015-05-25 2 views
1

Как я могу использовать значение пользовательского ввода для ограничения условий в цикле for. Цель программы - позволить пользователю вводить количество терминов, начальное значение и интервал подсчета. Благодаря!Как ограничить количество терминов in for loop?

ответ

2

Ваш вопрос просто ответить консультируясь TIBasicDev, Specificly страницы для Input, Prompt и For(. Input и Prompt являются само собой разумеющимися; они служат в качестве двух способов получения ввода от пользователя. For( может принимать аргументы, чтобы продемонстрировать поведение, которое вы хотите.

Prompt

Prompt меньше и грязнее. Программа

Prompt A 

приведет к следующему выходу.

A=? 

Input

Input тем больше и чище вариант. Программа

Input "ENTER VALUE:",A 

приведет к следующему выходу

ENTER VALUE: 

For

Взято из TIBasicDev:

для цикла принимает четыре аргумента: переменная (AZ или тета), начальный ва lue, конечное значение и приращение. Он рассчитывается от начального значения до конечного значения с указанным приращением.

...

Format 
:For(variable,start,end[,increment]) 
:Command(s) 
:End 

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

1

Как сказал дохакатар7, вы можете достичь своей цели, используя основные команды ввода. Однако есть также (немного более продвинутый) способ позволить пользователям вводить значения все сразу, разделенные запятыми. Для этого вы вводите строку, сохраняете ее во встроенной строковой переменной, такой как Str1, затем преобразуете ее в список чисел и, наконец, получаете доступ к каждому элементу списка для параметров в вашем цикле For(.

Input "START,END,STEP: ",Str1  //Whatever is input goes into Str1 as a string 
            //For example, "1,100,2" 
expr("{"+Str1      //Then it is converted into a list like {1,100,2} 
For(X,Ans(1),Ans(2),Ans(3)   //Evaluates to For(X,1,100,2 
[your code] 
End 

expr( означает выражение, и в основном говорит калькулятор, чтобы оценить строку, переданную ей. Но сначала { привязан к фронту, поэтому калькулятор интерпретирует его как список, который хранится в переменной Ans.Доступ к отдельным элементам списка осуществляется в формате [listname] (position), поэтому Ans(1) получит первый элемент списка (в этом случае начальное значение 1) и так далее.