Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 14:21   #1
konfetka
 
Регистрация: 07.04.2009
Сообщений: 4
По умолчанию задачка по VBA в Word

Даны действительные числа x и y, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее — их удвоенным произведением.
konfetka вне форума Ответить с цитированием
Старый 23.04.2009, 01:59   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Примерно так:
Код:
Sub chisla()
Dim a, b, c, d As Double
a = Val(InputBox("Число a"))
b = Val(InputBox("Число b"))

c = (a + b) / 2
d = 2 * a * b
If a > b Then
 b = c
 a = d
Else
 a = c
 b = d
End If
MsgBox ("a = " + Str(a) + "  b= " + Str(b))
End Sub
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 08:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

только есть одна неточность.
Если нужно, чтобы переменные a,b,c,d были типа double, то надо записать так:
Код:
Dim a As Double, b As Double, c As Double, d As Double
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2009, 12:22   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Serge_Bliznykov, спс ) Просто я со знаниями qbasic'а писал, а там такое вроде можно.
А почему нельзя объявить все в одном? Особенности языка?

Сейчас уточнил: оказывается и там нельзя. Чтож, буду знать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 23.04.2009 в 12:40.
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 15:32   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на самом деле, это даже ошибкой назвать нельзя!

Препод может прицепиться.
Ещё, теоретически, на больших объёмах вычислений может быть чуть-чуть медленнее..
запись Dim a,b,c As Double
эквивалентна: Dim a as Variant,b as Variant,c As Double
т.е., если тип не задан, что переменная получает тип Variant
что само по себе не так уж и плохо...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2009, 15:35   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Serge_Bliznykov, ясно ) Как-то неудобно.. Уж лучше бы ошибку выдавал
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 16:26   #7
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Вот так одной короткой строкой объявляем все как Double
Код:
Dim a#, b#, c#
Может пригодится кому.
При использовании диезы указывать необязательно
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 23.04.2009, 16:33   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

viter.alex, спс ) Так вот, оказывается, для чего они нужны (%,#,$...)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 16:47   #9
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

% — Integer
$ — String
! — Single
# — Double
& — Long
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как средствами VBA экспортировать данные из Excel в Word? Pavel_Ine Microsoft Office Excel 3 20.04.2009 14:14
Как вычислять значения вне таблицы WORD, с использованием данных из таблицы WORD prikolist Microsoft Office Word 6 21.11.2008 13:17
Работа с MS Word с помощью VBA. Нужна помощь. ereality Microsoft Office Word 5 28.05.2008 18:50