Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 1000 мелочей, Вопросы, не стоящие отдельной темы 
:(
    Опции темы
Timeformiaa
Дата 25.6.2014, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.6.2014

Репутация: нет
Всего: нет



Не понял.Значение tex1 = 2. X= значение text1 +2,то есть равно 4. Потом умножаем x * 0,5 и прибавляем опять значение text 1.Должно получится 4.Что не так?Порядок действий?

PM MAIL   Вверх
diadiavova
Дата 25.6.2014, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Timeformiaa, Х у тебя инициируется при загрузке формы и своё значение нигде не меняет. В момент инициализации текстовое поле пусто, что при приведении его значения к числовому типу интерпретируется как ноль. Таким образом значение Х у тебя всегда будет 2.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Timeformiaa
Дата 25.6.2014, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.6.2014

Репутация: нет
Всего: нет



Хорошо,а можно ли сделать так,как я хотел бы?То есть чтобы число ,введенное в text1 влияло на X?
PM MAIL   Вверх
diadiavova
Дата 25.6.2014, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Присваивай значение переменной в обработчике события изменения текста текстбокса. Если ты работаешь с VB6(об этом сужу из картинки), то код будет таким (насколько я знаю)
Код

Private Sub TextBox1_Change()
    If IsNumeric(TextBox1.Text) Then
       X = Val(TextBox1.Text)
    End If
End Sub




--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Timeformiaa
Дата 28.6.2014, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 10.6.2014

Репутация: нет
Всего: нет



Спасибо.а что обозначает эта строка:If IsNumeric(TextBox1.Text) Then?


PM MAIL   Вверх
diadiavova
Дата 28.6.2014, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Проверка, являются ли введённые символы числом. Если не нужно - можешь убрать, работать будет и без этого.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Timur95
Дата 12.11.2014, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.11.2014

Репутация: нет
Всего: нет



Всем привет! 
Прошу, уважаемые форумчане, объясните кто-нибудь разницу между итератором и методом рекуренции. Если у кого-нибудь есть пример написания какого-нибудь кода и тем и другим способами, прошу выложить, мне это очень поможет. 

Заранее благодарю и жду Вашей помощи! 
PM MAIL   Вверх
diadiavova
Дата 12.11.2014, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(Timur95 @  12.11.2014,  12:01 Найти цитируемый пост)
методом рекуренции

Что это? smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Timur95
Дата 14.11.2014, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.11.2014

Репутация: нет
Всего: нет



Цитата(diadiavova @ 12.11.2014,  21:03)
Цитата(Timur95 @  12.11.2014,  12:01 Найти цитируемый пост)
методом рекуренции

Что это? smile



Прошу прощения, 
метод рекурсии 

Так уж случилось. Совсем новичок в программировании, нужно понять принцип, а то я не могу записать формулу Фибоначчи, формулы Тейлора для синусов и косинусов, ряды Фаррея. 
Если кто может объяснить, прошу, помогите. Через неделю сессия
PM MAIL   Вверх
diadiavova
Дата 15.11.2014, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Я так понимаю, под итераторами тоже подразумевались не итераторы, а итеративный метод вычисления.
Ну собственно различия в том, что итеративный метод реализуется через циклы, а рекурсивный - через самовызов функции с другим аргументом. В обоих случаях достигается повторение операции нужное количество раз, только в рекурсии управление вычислением достигается через аргумент функции, а в цикле - с помощью изменения значения какой-то переменной(как правило, хотя есть варианты). 

В качестве примера покажу вычисление числа Фибоначчи обоими способами
Код

   Function Fib_iter(n As Integer) As Integer
        Select Case n
            Case Is < 1
                Throw New ArgumentException("Аргумент должен быть больше нуля.")
            Case 1
                Return 0
            Case 2, 3
                Return 1
            Case Else
                Dim minus1 = 1
                Dim minus2 = 1
                Dim result As Integer
                For i = 4 To n
                    result = minus1 + minus2
                    minus1 = minus2
                    minus2 = result
                Next
                Return result
        End Select

    End Function

    Function Fib_rec(n As Integer) As Integer
        Select Case n
            Case Is < 1
                Throw New ArgumentException("Аргумент должен быть больше нуля.")
            Case 1
                Return 0
            Case 2, 3
                Return 1
            Case Else
                Return Fib_rec(n - 1) + Fib_rec(n - 2)
        End Select

    End Function


В обеих функциях сначала проверяется аргумент и если он меньше единицы - инициируется исключение, а для первых трех значений результат не вычисляется, а возвращается напрямую. Для всех остальных значений рекурсивная функция складывает результаты самовызова для предыдущих двух значений и таким образом мы получаем запись вычислительной логики близкую к математическому определению этого ряда. В итеративной функции результаты предыдущих вычислений запоминаются в двух переменных и в каждой итерации они складываются, после чего им присваиваются новые значения, актуальные для следующей итерации.
Для понимания рекурсивный метод вроде проще, но тут имеет место бешеный расход ресурсов. Подробнее читай здесь
https://ru.wikibooks.org/wiki/%D0%A0%D0%B5%....87.D1.87.D0.B8


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Timur95
Дата 15.11.2014, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.11.2014

Репутация: нет
Всего: нет



Цитата(diadiavova @ 15.11.2014,  01:00)
Я так понимаю, под итераторами тоже подразумевались не итераторы, а итеративный метод вычисления.
Ну собственно различия в том, что итеративный метод реализуется через циклы, а рекурсивный - через самовызов функции с другим аргументом. В обоих случаях достигается повторение операции нужное количество раз, только в рекурсии управление вычислением достигается через аргумент функции, а в цикле - с помощью изменения значения какой-то переменной(как правило, хотя есть варианты). 

В качестве примера покажу вычисление числа Фибоначчи обоими способами
Код

   Function Fib_iter(n As Integer) As Integer
        Select Case n
            Case Is < 1
                Throw New ArgumentException("Аргумент должен быть больше нуля.")
            Case 1
                Return 0
            Case 2, 3
                Return 1
            Case Else
                Dim minus1 = 1
                Dim minus2 = 1
                Dim result As Integer
                For i = 4 To n
                    result = minus1 + minus2
                    minus1 = minus2
                    minus2 = result
                Next
                Return result
        End Select

    End Function

    Function Fib_rec(n As Integer) As Integer
        Select Case n
            Case Is < 1
                Throw New ArgumentException("Аргумент должен быть больше нуля.")
            Case 1
                Return 0
            Case 2, 3
                Return 1
            Case Else
                Return Fib_rec(n - 1) + Fib_rec(n - 2)
        End Select

    End Function


В обеих функциях сначала проверяется аргумент и если он меньше единицы - инициируется исключение, а для первых трех значений результат не вычисляется, а возвращается напрямую. Для всех остальных значений рекурсивная функция складывает результаты самовызова для предыдущих двух значений и таким образом мы получаем запись вычислительной логики близкую к математическому определению этого ряда. В итеративной функции результаты предыдущих вычислений запоминаются в двух переменных и в каждой итерации они складываются, после чего им присваиваются новые значения, актуальные для следующей итерации.
Для понимания рекурсивный метод вроде проще, но тут имеет место бешеный расход ресурсов. Подробнее читай здесь
https://ru.wikibooks.org/wiki/%D0%A0%D0%B5%....87.D1.87.D0.B8

Огромное спасибо. Ответ Ваш очень развёрнутый, мне конечно не совсем понятны некоторые вещи, но я вижу, что здесь всё "разложено по полочкам". Ещё раз благодарю, пару дней почитаю ваше сообщение, думаю вопрос разницы между процессами отпадёт. 

Спасибо!
PM MAIL   Вверх
kshyms
Дата 25.9.2015, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



проект отлажен код рабочий на vb.net
D.Workbooks.open("expert.xlsx") 'Открываем книгу по указанному адресу для чтения
из другого проекта тоже код отлажен 
скомпилированный  .exe тоже работает с  expert.xlsx только если поместить его в папку c:документы 
   oBook.SaveAs("Book22.xls") файл сохраняется почему-то в папке c:документы хотя проект в диске e
.exe 
Вопрос как указать путь или изменить настройки ide что бы .exe 
 работал с файлами, которые находятся в одной папке не зависимо от месторасположения всего проекта

Добавлено через 13 минут и 5 секунд
проект отлажен код рабочий на vb.net
D.Workbooks.open("expert.xlsx") 'Открываем книгу по указанному адресу для чтения из другого проекта тоже код отлажен скомпилированный .exe тоже работает с expert.xlsx только если поместить его в папку c:документы 
 oBook.SaveAs("Book22.xls")  файл сохраняется почему-то в папке c:документы хотя проект в диске e
.exe 
Вопрос как указать путь или изменить настройки ide что бы .exe 
работал с файлами, которые находятся в одной папке не зависимо от месторасположения всего проекта? 
При работе с devc++ такой проблемы у меня не возникало. В чем проблема? 

PM MAIL WWW Skype   Вверх
diadiavova
Дата 7.11.2015, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



kshyms, по идее, если верить документации, то сохраняться файл должен в той же папке, в которой находится исходный файл. 
Workbook.SaveAs - метод (Object, Object, Object, Object, Object, Object, XlSaveAsAccessMode, Object, Object, Object, Object, Object) (Microsoft.Office.Tools.Excel) 
Если это не подходит, то что мешает указывать полный путь к файлу?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
virus3003
Дата 15.6.2017, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.2.2013

Репутация: нет
Всего: нет



Помогите пожалуйста со скриптом vbs
нужен зацикленный скрипт запуска и закрытия программы
1 Запускается Calc.exe
2 Скрипт стоит в ожидании 60 сек
3 Закрывает Calc.exe
4 И снова по циклу запускает Calc.exe
PM MAIL   Вверх
diadiavova
Дата 15.6.2017, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5820
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



virus3003, vbs - это совсем другой язык.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1715 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.