Показать полную графическую версию : [решено] Помогите решить. VBA
Понимаю...задачи очень простые, но я даже основ не знаю, а препод сказал чтобы всё составили к понидельнику. Помогие плз...
Условие:
1)17 вариант:
http://www.fotohost.by/pic_b/10/12/18/199d14614bb89153918c11582d7d6b58.jpg
2) Определить является ли введённое число чётным-нечётным, положительным-отрицательным.
Нужно решить с обработкой ошибок и диалоговами окнами.
zena, учи основы. Для этого найди в интернете книгу по VBA. Помочь с выбором может тема Теория - Книги по программированию для начинающего (http://forum.oszone.net/showthread.php?t=160548&page=all)
ну основы (и не только) конечно придётся учить...а вот пока время нету....не могу врубится в Basic пока...в голове сидит только паскаль:(((
Второе задание вроде как получилось, а вот с первым ну не как:(
zena, на паскале можешь программу написать? Напиши ее код здесь, а те кто дружит с VBA и видя что решение то в принципе готово, помогут перевести его на требуемый.
С этим здесь проблем нет.
На паскале...да запросто:
Program pr;
var
a,b,c,d: integer;
y:real;
begin
Writeln('Введи значение a');
Readln(a);
Writeln('Введи значение b');
Readln(b);
Writeln('Введи значение c');
Readln(c);
Writeln('Введи значение d');
Readln(d);
y:=sqrt(abs(3*a*a-b))-sqr((c-d))*(c-d);
writeln(y);
end.
мде...негусто помощи пришло((((
Ну как то так...
Module Module1
Sub Main()
Dim a, b, c, d As Integer
Dim y As Long
a = InputBox("Введи значение a", "Введите значение")
b = InputBox("Введи значение b", "Введите значение")
c = InputBox("Введи значение c", "Введите значение")
d = InputBox("Введи значение d", "Введите значение")
y = System.Math.Sqrt(System.Math.Abs(3 * a * a - b)) - System.Math.Pow((c - d), 3)
MsgBox("Ваше значение" & Chr(13) & Chr(10) & y)
End Sub
End Module
Писал в Visual Studio 2010 -> Консольное приложение
Выдаёт ошибку:
Compile error:
Method or data member not found
Вот здесь:
y = System.Math.Sqrt(System.Math.Abs(3 * a * a - b))
Вы скажите - какая у Вас программа, я скажу - что делать
Моя плохая... Это же VBA)))
Dim a, b, c, d As Integer
Dim y As Long
Sub Main()
a = InputBox("Введи значение a", "Введите значение")
b = InputBox("Введи значение b", "Введите значение")
c = InputBox("Введи значение c", "Введите значение")
d = InputBox("Введи значение d", "Введите значение")
y = (Abs(3 * a * a - b)) ^ (1 / 2) - (c - d) ^ 3
MsgBox("Ваше значение" & Chr(13) & Chr(10) & y)
End Sub
Насчет 2. Задам наводящие вопросы.
Как проверить четность - нечетность?
Нечетное - это если при делении на 2 есть остаток. (это операция MOD)
Как проверить положительность - отрицательность?
Если чиcло > 0 - положительное
Менньше - отрицательное
(If Then Else)
ага....спасибо большое...а как устроить вывод ответа с точностью , например, 7 цифр после запятой???
Вместо Long напишите Double
Dim a, b, c, d As Integer
Dim y As Double
Dim param As String
Dim param2 As String
Sub Main()
a = InputBox("Введи значение a", "Введите значение")
b = InputBox("Введи значение b", "Введите значение")
c = InputBox("Введи значение c", "Введите значение")
d = InputBox("Введи значение d", "Введите значение")
y = (Abs(3 * a * a - b)) ^ (1 / 2) - (c - d) ^ 3
If y < 0 Then param = "Отрицательное" Else: param = "Положительное"
If y Mod 2 <> 0 Then param2 = "Нечетное" Else: param2 = "Четное"
MsgBox ("Ваше значение" & Chr(13) & Chr(10) & y & " " & param & " " & param2)
End Sub
А вот уже как это число преобразовать я не помню
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.