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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2016, 18:48   #1
Olshevskiy
 
Регистрация: 14.10.2016
Сообщений: 6
По умолчанию Программа с циклом While (VBA)

Я понимаю,что программа проста до тупости,но всё же.
Задание : Дано целое положительное число А. Вычислите сумму последовательных целых чисел (S= 1 + 2 + 3 + ... ), пока она не превысит А. Вывести количество чисел k и сумму S.
Код:
Private Sub CommandButton1_Click()
'Объявление переменных
Dim A As Integer, S As Integer
'Ввод числа A
A = Val(Cells(3, 3).Value)
k = 0
S = 0
While S < A
S = S + k
k = k + 1
Wend
'Результат
Cells(6, 3).Value = Str(k)
Cells(7, 3).Value = Str(S)

End
Но почему-то получается так:
Изображения
Тип файла: png 2016-10-14_18-44-46.png (5.9 Кб, 97 просмотров)
Тип файла: png 2016-10-14_18-44-55.png (5.5 Кб, 97 просмотров)
Olshevskiy вне форума Ответить с цитированием
Старый 14.10.2016, 20:26   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Olshevskiy Посмотреть сообщение
Но почему-то получается так:
А как должно получиться? Так?
Изображения
Тип файла: jpg att.jpg (42.8 Кб, 99 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 14.10.2016, 22:10   #3
Olshevskiy
 
Регистрация: 14.10.2016
Сообщений: 6
По умолчанию

Должно получиться так
Изображения
Тип файла: png 2016-10-14_22-08-12.png (5.7 Кб, 103 просмотров)
Olshevskiy вне форума Ответить с цитированием
Старый 14.10.2016, 22:38   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

а для 30, то k = 7, s = 28. если да, то попробуйте
Код:
While S+k < A
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 15.10.2016, 10:43   #5
Olshevskiy
 
Регистрация: 14.10.2016
Сообщений: 6
По умолчанию

Без разницы , там может быть любое число - 20 или 30 , хоть 140.
Исправил,выдаёт такой результат.Вместо 5 стоит 6.
Изображения
Тип файла: png 2016-10-15_10-36-29.png (5.1 Кб, 103 просмотров)
Olshevskiy вне форума Ответить с цитированием
Старый 15.10.2016, 10:56   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub smb()
    A = [C3]
    s = 0
    k = 0
    Do While s + k < A
        k = k + 1
        s = s + k
    Loop
    [c6] = k
    [c7] = s
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 15.10.2016, 11:12   #7
Olshevskiy
 
Регистрация: 14.10.2016
Сообщений: 6
По умолчанию

Оперативно)Благодарствую!
Olshevskiy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа с циклом в С Monte_Cristo Помощь студентам 1 15.11.2014 16:37
Программа с циклом (C++) Ligeros905 Помощь студентам 11 18.10.2013 21:00
VBA перебор циклом динамического диапазона Argentum Microsoft Office Excel 2 24.06.2012 05:45
программа с циклом (DELPHI) ангелинна Помощь студентам 2 09.02.2012 15:30
Простая программа с циклом на с++ Olya90 Помощь студентам 3 23.03.2009 20:32