Войти

Показать полную графическую версию : Задача из лабораторной по информатике 1 курс


vova-09
23-09-2016, 00:54
Не могу написать программу этой задачи в vba

gannet
23-09-2016, 06:36
Чего тут непонятного :dont-know В ячейку вводится Х, чуть ниже расположена кнопка "Рассчитать", к которой подвешена функция рассчета Y: в цикле от 1 до 18 возводишь Х в степень итерационной переменной (i), делишь на i в квадрате и вычитаешь i в квадрате, полученное число прибавляешь к созданной до цикла Y (перед циклом ее в 0), а после завершения цикла применяешь все богатство своей фантазии для того, чтобы вывести полученное число Y на экран;)
P.S. Хотя нет, знаю чего непонятного: помню, как на пересдаче 1 контрольной 1 курса всего за час (!) наваял похожую программу на С (с подсказкой учителя, которая считала, что все студенты делятся на две категории: талантливые и усидчивые), но мне-то простительно, я до 10 класса думал, что программисты - это те, кто пишет программу телепередач на неделю, и не понимал, чего все так стремятся ими стать

vova-09
23-09-2016, 08:25
Мне нужно написать программу в Visual Basic, чтобы она делала это действие

Именно эту программу е меня не выходит написать правильно

gannet
23-09-2016, 09:33
Именно эту программу е меня не выходит написать правильно » Ну так выкладывайте свой вариант, посмотрим)
С чем, собственно, проблема то: с чтением из ячейки - Worksheets("Лист1").Range("a1").Value, с проверкой значения - вам поможет isnumeric(), а Y, кстати, надо не 0, а 0.0 перед циклом (там же типизация не строгая). Если речь действительно о VBA, конечно, а то вы меня запутали Visual Basic ».

Iska
23-09-2016, 14:28
я до 10 класса думал, что программисты - это те, кто пишет программу телепередач на неделю »
А теперь Вы в этом уверены, да ;)?!

Я вообще не вижу в задании упоминания Excel, Рабочих книг, Листов и ячеек. Скорее, обычный InputBox, цикл, MsgBox.

gannet
23-09-2016, 17:09
Iska, a vba

lxa85
23-09-2016, 22:08
gannet, ИМХО тоже Visual Basic, от vba он для них пока не отличим - синоним.

gannet
25-09-2016, 17:28
Да какая разница, и там, и там всего два секрета успешного решения: валидация введенного значения и использование не целочисленных переменных, а float (инициализировать не в 0, а в 0.0f, насчет функций не помню).

Iska
26-09-2016, 01:41
gannet, это не C, там нет float (и нет 0.0f), есть только Single и Double ;).

Delirium
29-09-2016, 09:48
X = 10 ' (или Cells(1,1))

For i = 1 To 18
tmp = ((X ^ i) / (i ^ 2)) - (i ^ 2)
Sum = Sum + tmp
Next i
MsgBox "Sum = " & Sum

Адски сложно )




© OSzone.net 2001-2012