Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Гаряка Асмик
Статус: Профессионал
Рейтинг: 4702
∙ повысить рейтинг »
Vasiliy83
Статус: Профессионал
Рейтинг: 2000
∙ повысить рейтинг »
Megaloman
Статус: Профессионал
Рейтинг: 1554
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Basic/VBA

Номер выпуска:1047
Дата выхода:17.10.2010, 07:00
Администратор рассылки:Калашников О.А. (Руководитель)
Подписчиков / экспертов:203 / 91
Вопросов / ответов:1 / 2

Вопрос № 180289: уважаемые эксперты прошу вас помочь. Написать процедуру вычисления , где x изменяется от 50 до 100, а y является элементом массива y1,y2, ..., y11. Знач...



Вопрос № 180289:

уважаемые эксперты прошу вас помочь.
Написать процедуру вычисления , где x изменяется от 50 до 100, а y является элементом массива y1,y2, ..., y11. Значения элементов массива вводите с помощью InputBox. Вывод массива выполнить в файл и на экран с помощью MsgBox
За ранее благодарен

Отправлен: 12.10.2010, 06:43
Вопрос задал: Роберт_С (Посетитель)
Всего ответов: 2
Страница вопроса »


Отвечает PsySex (Специалист) :
Здравствуйте, Роберт_С !
Код:
Sub MyFunc()
Dim y(11) As Long
Dim x As Integer
Dim i As Integer
Dim z As Long

'заполняем массив Y(i)
For i = 1 To 11
y(i) = CLng(InputBox("Введите значение Y" + CStr(i)))
Next
'открываем файл для печати
Open "c:\result.txt" For Output As #1
'создаем цикл для перебора массива Y(i)
For i = 1 To 11
'цикл для изменения Х
For x = 50 To 100
'вычисление Z при заданных значениях X и Y(i)
z = (x - 50) - y(i)
'печать в файл результата вычислений
Print #1, "Значение Z для Y(" + CStr(i) + ") при x=" + CStr(x) + " равно " + CStr(z)
'вывод на экран результата
MsgBox "Значение Z для Y(" + CStr(i) + ") при x=" + CStr(x) + " равно " + CStr(z)
Next
Next
'закроем файл по окончанию вывода в файл
Close #1
End Sub

-----
Bom Shankar!

Ответ отправил: PsySex (Специалист)
Ответ отправлен: 12.10.2010, 08:29
Номер ответа: 263457

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263457 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Отвечает Vasiliy83 (Профессионал) :
    Здравствуйте, Роберт_С !
    Если кратко, то вот вариант кода (для Visual Basic 2008):
    Код:
    Sub main()
    'объявляем массивы X, Y, Z
    Dim X(11) As Integer
    Dim Y(11) As Integer
    Dim Z(11) As Integer
    'объявляем текстовую запись массива Z и задаем ей пустое значение
    Dim massZ As String
    massZ = ""

    ' объявляем параметры InputBox и задаем им значения
    Dim message, title, defaultValue As String
    Dim myValue As Object
    ' строка сообщения
    message = "Введите значение для Y" & i
    ' заголовок
    title = "Ввод массива Y"
    defaultValue = "0" ' значение по-умолчанию - "0"

    'создаем цикл для вычисления всех элементов массива
    For i = 1 To 11
    Randomize() 'функция для использования системного таймера при генерации Xi
    X(i) = CInt(Math.Floor((100 - 50 + 1) * Rnd())) + 50 'генерируем случайное значение Xi от 50 до 100


    ' отображаем InputBox
    myValue = InputBox(message, title, defaultValue)
    ' если нажата кнопка "Отмена", то ставим значение по-умолчанию
    If myValue Is "" Then myValue = defaultValue
    Y(i) = myValue
    Z(i) = X(i) - 50 - Y(i) 'вычисляем Z
    massZ = massZ & " " & Z(i) 'записываем полученное Zi в текстовую запись массива Z. в качестве разделителя использован пробел
    Next
    My.Computer.FileSystem.WriteAllText("C:\massivZ.txt& quot;, massZ & vbCrLf, True) 'выводим текстовую запись массива Z в файл, при последующем запуске программы массивы будут дописываться построчно
    MsgBox("Массив Z: (" & massZ & ")", MsgBoxStyle.Information, "Массив Z") 'выводим сообщение с содержимым массива Z
    End Sub

    Аналогичный код для Visual Basic 6.0:
    Код:
    Sub main()
    'объявляем массивы X, Y, Z
    Dim X(11) As Integer
    Dim Y(11) As Integer
    Dim Z(11) As Integer
    'объявляем текстовую запись массива Z и задаем ей пустое значение
    Dim massZ As String
    massZ = ""
    'объявляем переменную для но мера файла вывода и задаем ей имеющееся в системе свободное значение
    Dim FileNum As Integer
    FileNum = FreeFile()

    ' объявляем параметры InputBox и задаем им значения
    Dim message, title, defaultValue As String
    Dim myValue As String
    'строка сообщения
    message = "Введите значение для Y" & i
    'заголовок
    title = "Ввод массива Y"
    defaultValue = "0" ' значение по-умолчанию - "0"

    'создаем цикл для вычисления всех элементов массива
    For i = 1 To 11
    Randomize
    X(i) = CInt(Round((100 - 50 + 1) * Rnd())) + 50
    myValue = InputBox(message, title, defaultValue)
    If myValue = "" Then myValue = defaultValue
    Y(i) = myValue
    Z(i) = X(i) - 50 - Y(i)
    massZ = massZ & " " & Z(i)
    Ne xt
    Open "c:\massivZ.txt" For Output As #FileNum
    Write #FileNum, massZ
    Close #FileNum
    MsgBox "Массив Z: (" & massZ & ")", vbInformation, "Массив Z"
    End Sub

    Код проверил - работает без проблем. Если потребуется что-то изменить - пишите - исправлю.

    Ответ отправил: Vasiliy83 (Профессионал)
    Ответ отправлен: 12.10.2010, 08:56
    Номер ответа: 263458

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263458 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.22 от 13.10.2010

    В избранное