Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Открыть новую тему     Написать ответ в эту тему

NEOMATRIX



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Данный топик предназначен только для обсуждения типовых задач на Visual Basic.
Обсуждение задач на VBA (а именно, Excel, Word, Access) строго запрещено!
Пишите в соответствующих топиках.

 
Родственные топики:
  • Excel VBA - часть 1, часть 2 - все вопросы по Excel VBA туда
  • Word VBA все вопросы по Word VBA туда
  • Access все вопросы по программированию в Access туда
  • VBScript - программирование "удобняшек" на VBScript
  • QBasic - типовые задачи на QBasic
     
  • Date Time Functions In Visual Basic
  • VB6's Trig, Math, Financial, Boolean, and Random functions
  • Visual Basic 6 String Functions
  • VB6 Number System Functions (Hex, Oct, Etc)
  • VB6's DateAdd function
     
  • Functions (Visual Basic)
  • Keywords and Members by Task
  • Visual Basic Reference
     
  • Visual Basic String Manipulation Tutorials
     
  • Top 10 Visual Basic Sins

     
    Учебники:
    Visual Basic для студентов и школьников. Культин Н. (2010)
    Занимательное программирование на Visual Basic.NET. Климов А. (2005)
    Visual Basic в задачах и примерах. Сафронов (2009)
    Visual Basic 2012 на примерах. Зиборов В. (2012)

  • Всего записей: 202 | Зарегистр. 29-12-2004 | Отправлено: 19:30 16-11-2005 | Исправлено: XPerformer, 10:07 28-10-2014
    pila007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вот что-то написал, но никак не получается правильно сделать.  
    задача такова:  
    Вычислить произведение положительных и суммы отрицательных элементов каждого столбца массива A(N,M)  
    Вот что сделал:  
    Sub k()  
        Dim a(10, 2) As Double  
        For i = 1 To 10  
        For j = 1 To 2  
          Cells(i, j) = Int(Rnd * 2)  
        a(i, j) = Cells(i, j)  
        If a(i, j) <= 0 Then  
              Cells(12, 1) = a(i, j) + a(i, j)  
        Else: Cells(14, 1) = a(i, j) * a(i, j)  
    End If  
        Next j  
        Next i  
    End Sub  
    тока что-то не получается, как сделать чтоб комп брал отриц и полож числа, пробую ставить Int(Rnd * 2) or Int(Rnd * (-2)) но он ставит значение с минусом. И как сделать чтобы он отриц числа складывал в одну ячейку а положительные умножал?

    Всего записей: 24 | Зарегистр. 24-04-2007 | Отправлено: 17:00 02-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pila007

    Цитата:
    Cells(i, j) = Int(Rnd * 2)

    А так не пробовал?

    Код:
     
    Cells(i, j) = Int(Rnd * 2 - 1)
     

    Да, и причём в вопросах по VB Cells?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 17:30 02-05-2007
    pila007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    это программирование в среде офисных преложений.
    И как сделать чтобы он отриц числа складывал в ячейку cells(12,1), а положительные умножал и вписывал в ячейку cells(14,1)

    Всего записей: 24 | Зарегистр. 24-04-2007 | Отправлено: 17:41 02-05-2007
    DYBINA

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте люди добрые!!!помогите глупенькой девушке-несмышленышу,очень нужна ваша помощь,когда нашла этот форум чуть от счастья не упала,но не об этом,я учусь на 1-ом курсе у меня программирование,т.к. я девушка мне это очень и очень далеко....помогите мне пожалуйста сделать пару лабораторок....я буду вам ооооооооооочччччччееееень благодарна,значит так:
    1В основной программе создается файл со значениями фунции  y=sin(x) на интервале a<=x<=b с шагом изменения аргумента hx. Функция вычисляет среднее арифметическое элементов файла с номерами от m до n. Файл и результат вычислений печатаются в основной программе.
    2Создать процедуру, формирующую матрицу путем умножения элементов исходной матрицы на индекс строки в которой имеется максимальный элемент. Исходная матрица формируется и печатается в основной программе по ее запросу, новая матрица печатается там же.
    Заранее спасибо
    P.S. т.к. я не шарю в этом практически вообще то очень прошу вас написать поподробнее

    Всего записей: 3 | Зарегистр. 02-05-2007 | Отправлено: 17:42 02-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pila007

    Цитата:
    это программирование в среде офисных преложений

    А... Excel VBA здесь
     
     
    Добавлено:
    DYBINA
    Не дублируй в двух топиках одно и тоже (лень ещё раз изложить?). Придёт страшный модератор...

    Цитата:
    , новая матрица печатается там же

    Это где? Сходи к преподу, выясни, на каком языке писать, откуда и куда записывать данные?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 18:06 02-05-2007
    DYBINA

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AndVGri
    Здрасьте,мне надо на VB

    Всего записей: 3 | Зарегистр. 02-05-2007 | Отправлено: 18:28 02-05-2007
    Milochka

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    помогите пожалуйста решить задачи:  
    1) Организация имеет возможность вложить сумму в размере 10000 денежных единиц в некий проект, чтобы в ечение следующих 3 лет получать равномерные выплаты в размере 305,5 денежных единиц ежемесячно. Определить выгодность вложения. Альтернативным способом увеличения капитала является вложение этой суммы в банк. Годовая процентная ставка там составляет 7%. Предполагается, что в эти 3 года ставка не изменится.  
    Данные могут изменяться в следующих пределах:  
    -годовая процентная банковская ставка - в диапазоне от 1 до 25%;  
    -величина ежемесячной выплаты - от 100 до 10000 денежных единиц;  
    -число выплат - от 1 до 120 раз.  
    Использовать встроенную функцию PV. По размерам и срокам выплат функция определяет реальную сумму вложения, которая обеспечит эти будущие выплаты. Эту сумму следует сравнить с предлагаемым размером вложения. Если предлагаемое вложение меньше реального, то сделка выгодна.  
    2) В учётную карточку сотрудника заносятся его фамилия, имя и отчество. Создать программу, которая, используя введённые в учётную карточку данные, будет формировать список сотрудников из фамилий и инициалов в текстовом поле в столбец.

    Всего записей: 1 | Зарегистр. 02-05-2007 | Отправлено: 19:17 02-05-2007
    popkov

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Вопрос об удалении кодов полей EndNote перенсён в Word VBA

    Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 08:25 05-05-2007 | Исправлено: popkov, 17:43 07-05-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день! Есть следующие вещи, в word создана анкета (жаль что не в Excel  ) путём форм, люди её заполнили, каким образом можно консолидировать полученную информацию например перенести в Excel?

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 16:54 07-05-2007
    AndronH



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    пример, сохраненной информации приведи
     

    Всего записей: 21 | Зарегистр. 14-12-2006 | Отправлено: 15:27 11-05-2007
    lapulechka

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я всё с прошлой задачкой. Ну не знаю, каким же способом её ещё можно решить.  
     
               Задача:    Дан массив из N целых чисел. Циклически сдвигая его элементы вправо, поместить первый из максимальных на последнее место.
     
            Решение:  
    Dim a%()
    Dim i As Integer
    Dim n As Integer
    Dim k As Integer
    Dim Max As Integer
     
    Dim j As Integer
     
     
    Private Sub Command1_Click()
     
    n = InputBox("Введите размерность массива")
     
    ReDim a(1 To n)
     
    For i = 1 To n
    a(i) = Int(101 * Rnd())
    Text1.Text = Text1.Text + Str(a(i)) + ""
    Next i
    End Sub
     
    Private Sub Command2_Click()
     
    For i = 1 To n
     
    If a(i) > Max Then
    Max = a(i): k = i
    End If
    txtMax.Text = Str(Max)
    Next i
     
    For j = k To n
    d = a(n)
    For i = n To 2 Step -1
    a(i) = a(i - 1)
    Next i
    a(1) = d
    Next j
    Text2.Text = Text2.Text & Str(a(i))
    End Sub
     
    Мне нужно, чтоб массив выдавал, а он, жадина, только одно числои выдаёт!
     
     

    Всего записей: 20 | Зарегистр. 26-03-2007 | Отправлено: 19:32 15-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lapulechka
    А ты повтори для
    Цитата:
    Text2.Text

     такой же цикл как и для

    Цитата:
    Text1.Text = Text1.Text + Str(a(i)) + ""  

    Только новые значения a(i) не считай

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 12:16 16-05-2007
    ItsJustMe

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вас когда-нибудь просили написать прогу через "третьи руки"? Т.е. чел 1 попросил чела 2, чел 2 - чела 3, чел 3 - меня.
    Задачка такая:
    нужно написать программу и блок схему "вычисления суммы всех чисел кратных 3" на visuаl bаsiс...
    Моих способностей не хватает, чтобы понять это условие. Поэтому пишу сюда.

    Всего записей: 2025 | Зарегистр. 02-09-2005 | Отправлено: 16:53 16-05-2007
    Legio



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ItsJustMe
    Бесконечность это будет Тут даже считать не надо... Или уточняйте чего надоть.

    ----------
    Side? I'm on nobody's side, because nobody is on my side...

    Всего записей: 695 | Зарегистр. 01-08-2003 | Отправлено: 18:26 16-05-2007
    ItsJustMe

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Собственно я ответил челу 3, что это будет 0 (ибо я в понятие "всех" включил еще и отрицательные числа). На что он мне написал следующее "блин, ему прога нужна".

    Всего записей: 2025 | Зарегистр. 02-09-2005 | Отправлено: 18:57 16-05-2007
    Troitsky



    Водник Водкин
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ItsJustMe

    Цитата:
    Собственно я ответил челу 3, что это будет 0 (ибо я в понятие "всех" включил еще и отрицательные числа). На что он мне написал следующее "блин, ему прога нужна".


    Код:
    MsgBox "0", vbOKOnly, "Расчет окончен"

     
    условия явно приведены не полностью. Пропущены пределы в которых эту сумму нужно считать. В любом случае, задача на нахождение суммы членов арифметической прогрессии.
    Sn=n*(a1+an)/2,
    где Sn=a1+a2+...+an


    ----------
    Мы в хорошем настроении гуляем по лесам.
    Кто обидеть нас захочет – сам получит по усам.
    Сам полу- получит по усам. Сам полу- получит по усам!

    Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 22:00 16-05-2007
    lapulechka

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, я запуталась. По-моему неправильно считается.
     
    Составить процедуру и функцию для вычисления:
     
                       Y = 1+ + +  …
     
    принимая, что аргумент Х по модулю меньше единицы. Вычисления проводить до тех пор, пока модуль разности между очередным слагаемым и его предыдущим значением больше малой заданной величины, рассматриваемой в качестве точности вычислений.
                Полученные подпрограммы записать в модуль. Используя  подпрограммы модуля, вывести на экран с заданной точностью таблицу значений Y для аргумента Х  от его заданного начального значения до заданного конечного значения с заданным шагом.
     
     
    Private Sub Form_Load()
      Label1 = "      Составить процедуру и функцию для вычисления:" & vbCrLf & _
       "Y = 1 + 2/x + 2*3/x^2 + 2*3*2/x^3 + 2*3*2*3/x^4 + ... ," & vbCrLf & _
       "принимая, что аргумент X по модулю меньше единицы. Вычисления проводить до тех пор, пока модуль " & vbCrLf & _
       "разности между очередным слагаемым и его предыдущим значением больше за-данной величины, " & vbCrLf & _
       "рассматриваемой в качестве точности вычислений." & vbCrLf & _
       "      Полученные подпрограммы записать в модуль. Используя подпрограммы модуля, вывести с заданной " & vbCrLf & _
       "точностью таблицу значений Y для аргумента  X от его заданного начального значения до заданного " & vbCrLf & _
       "конечного значения с заданным шагом изменения."
    End Sub
    Public Sub p(ByVal x!, ByVal eps#, ByRef sum#)
      Dim pred#, posl#
      Dim ch%, sum_sk_ch%, sk_ch%
      Dim zn%, sum_sk_zn%, sk_zn%
      Dim z%, kf!
             
         ch = 1
         zn = 2: sum_sk_zn = 31: sk_zn = 4
         z = 1: sum = 1 + x / 2
         pred = 1: posl = x / 2
         Do While Abs(Abs(pred) - Abs(posl)) > eps
            sk_zn = sum_sk_zn - sk_zn: zn = zn + sk_zn
            kf = ch / zn
            pred = posl
            posl = pred * z * kf * x
            sum = sum + posl
         Loop
    End Sub
     
    Public Function f(ByVal x!, ByVal eps#) As Double
       Dim pred#, posl#, sum#
       Dim ch%, sum_sk_ch%, sk_ch%
       Dim zn%, sum_sk_zn%, sk_zn%
       Dim z%, kf!
         ch = 1
         zn = 2: sum_sk_zn = 31: sk_zn = 4
         z = 1: sum = 1 + x / 2
         pred = 1: posl = x / 2
         Do While Abs(Abs(pred) - Abs(posl)) > eps
            sk_zn = sum_sk_zn - sk_zn: zn = zn + sk_zn
            kf = ch / zn
            pred = posl
            posl = pred * z * kf * x
            sum = sum + posl
         Loop
         f = sum
    End Function
    Private Sub Command1_Click()
       Dim x As Single, y As Double
       Dim xn As Single, dx As Single, xk As Single
       Dim eps As Double, b As Boolean, s As String
       Dim g As Double, i As Byte, j As Byte
           
          xn = Val(InputBox("Введите начальное значение x"))
          Label3.Caption = "Начальное значение x = " & xn
           
          dx = Val(InputBox("Введите шаг по x"))
          Label4.Caption = "Шаг по x = " & dx
           
          xk = Val(InputBox("Введите конечное значение x"))
          Label5.Caption = "Конечное значение x = " & xk
           
          eps = Val(InputBox("Введите точность вычисления"))
          Label6.Caption = "Точность вычислений = " & eps
           
          'Выбор средства вычислений: с помощью процедуры или функции
           
          If Combo1.Text = "Процедура" Then
             b = True
          Else
             b = False
          End If
           
          'Вычисление значения суммы ряда для заданного интервала значений x.
           
          List1.Clear
          x = xn
          Do While x < xk + 0.5 * dx
            If b Then
               Call p(x, eps, y)
            Else
               y = f(x, eps)
            End If
           
            ' Вывод результатов вычисления суммы ряда с заданной точностью
             
            g = eps: j = 0
            Do While g < 1
               g = g * 10
               j = j + 1
            Loop
            s = "#0."
               For i = 1 To j
                  s = s & "0"
               Next i
            List1.AddItem "  " & Format(x, "0.00") & Space(16) & Format(y, s)
             
            ' Переход к следующему значению x из заданного диапазона
             
            x = x + dx
          Loop
          End Sub
    Private Sub Command3_Click()
      End
    End Sub
     
     

    Всего записей: 20 | Зарегистр. 26-03-2007 | Отправлено: 13:11 19-05-2007
    NeverSmile

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Очень срочно нужно решение этих двух задач!!!!!Пожалуйста помогите!!!!!!!!!!!! я в этом ничего не понимаю, а экзамен сдавать нужно....Сделайте плиз эти задачки,если не сложно и  + напишите какие перед этим надо сделать кнопки на формах в бейсике.Заранее спасибо!!!!!!!!
    Задание  1  
     
    В среде Visual Basic создать приложение для решения  
    следующей задачи:  
    Сколько чисел нудно взять в последовательности
     1 + 1/2 + 1/3 + 1/4 + ...,  
    чтобы получить число, большее 5?
     
     
     
    Задание  2
     
    Разработать приложение для решения задачи:
                               0,  если Х<0
    Дано число X.Вычислить Y=  Х,  если 0< или ровняется Х < или ровняется 1
                               Х в квадрате, если Х>1

    Всего записей: 2 | Зарегистр. 23-05-2007 | Отправлено: 00:16 23-05-2007
    sun888



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    NeverSmile

    Задание2
    x=val(text1.text)
    if x<0 then y=0
    if ((x>=0) and (x<=1)) then y=x
    if x>1 then y=x*x
    text2 = y
     
    Добавлено:
    задание1
    sum=0
    max=val(text1.text)
    sch=0
    while sum<max  
    sch=sch+1
    sum=sum+1/sch
    wend
    text2 = sch
     

    Всего записей: 93 | Зарегистр. 22-05-2007 | Отправлено: 00:26 23-05-2007
    eika



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Господа-товарищи!
     
    Прошу помощи.
     
    Есть скрипт на VBS для FTP-сервера. Он выводит список последних загруженных файлов за XX часов.
     
    Мне нужно его немного переделать, а именно:
     
    1. Сделать так, чтобы список выводился безотносительно времени, т.е. просто XX последних файлов.
    2. Сделать сортировку по дате загрузки файлов - первый - вверху, последний - внизу (сейчас они не понятно по какому признаку отсортированы; похоже, что вообще хаотично).
     
    Задача детская, но я ничего в VNS не понимаю! Мне проще в чужом PHP-проекте разобраться, чем в 200 строках кода на VBS.
     
    Скачать скрипт: http://webfile.ru/1418466

    Всего записей: 2481 | Зарегистр. 08-01-2002 | Отправлено: 17:40 24-05-2007
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru