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

Русский_Проект: Изучение Visual Basic


Служба Рассылок Subscribe.Ru
Русский_Проект: Рассылка Вступление
Разбор прошлого задания
Задачки
Советы
Функции Windows API

Вступление

Здравствуйте! Поздравляю всех программмисток с праздником 8 Марта! Удачного Вам программирования!

Разбор прошлого задания

Напомним условие. Дается натуральное шестизначное число. Подсчитать сумму и произведение цифр этого числа
В прошлом выпуске я говорил, что нужно использовать всю мощь Visual Basic для решения задач. В частности, говорилось о возможности использовать число в виде строки и, используя мощные строковые функции, выполнять требуемые преобразования гораздо более простыми способами. В этот раз практически все поступили именно таким образом. Первым прислал ответ Виктор Владимирович (cryptoxxx@...). Вот его решение:
Dim n As String
Dim summa As Byte
Dim proizv As Single
n = InputBox("Введите шестизначное число")

proizv = 1
For i = 1 To 6
    summa = summa + Val(Mid(n, i, 1))
    proizv = proizv * Val(Mid(n, i, 1))
Next i
MsgBox "Число " & n + vbCrLf + "Сумма цифр равна" + Str(summa) + vbCrLf + "Произведение цифр равно" + Str(proizv) & "", , "Ответ"
А теперь давайте решим задачу традиционным математическим методом.
Dim n As String
Dim summa As Byte
Dim proizv As Single
Dim i As Integer
Dim a
n = InputBox("Введите шестизначное число")

proizv = 1
For i = 1 To 6
    a = n Mod 10
    summa = summa + a
    proizv = proizv * a
    n = n \ 10
Next i
MsgBox "Сумма цифр равна" + Str(summa) + vbCrLf + "Произведение цифр равно" + Str(proizv) & "", , "Ответ"
Небольшой комментарий к решению.
n Mod 10 - выделяет младший разряд числа
n = n \ 10 - удаляет младший разряд числа
Приблизительно так решал задачу Иван Болховитинов(atlanoff@...)

Задачки

Рубрика для любителей решать задачки.
Сегодня займемся решением задачи на перебор вариантов. Вообще комбинаторика и перебор вариантов заслуживают более детального изучения. Возможно на сайте появится статья об этой области. Кстати, если вы съели собаку в этом деле, то может быть вы и напишете сами подобную статью?
Задачка 1 (Автор Ал-Хорезми (ок.780-850))
Разложить число 10 на 2 слагаемых, сумма квадратов которых равняется 58
Задачка 2
Определить, сколько существует вариантов дать сдачу 27 рублей монетами в 1, 2 и 5 рублей так, чтобы общее количество монет было равно 10
Решения задачи можете присылать по адресам vbasic@rambler.ru или wwwind@aport.ru

Советы

Добавление в Избранное

Если в вашей программе необходимо вызвать диалоговое окно Добавление в Избранное, которое появляется, когда вы заносите ссылку в папку Избранное в Internet Explorer 4.0 и выше, то воспользуйтесь следующим кодом: Откройте проект. Установите ссылку на Microsoft Internet Controls: Project-References-Microsoft Internet Controls (файл SHDOCVW.DLL). Затем введите следующий код

Dim suih As New ShellUIHelper
 Dim sMIND As String
 sMIND = "http://rusproject.narod.ru/"
 suih.AddFavorite sMIND, "Русский_Проект"
Все!

Функции API

Функция midiOutGetNumDevs

Declare Function midiOutGetNumDevs Lib "winmm" Alias "midiOutGetNumDevs" () As Integer

midiOutGetNumDevs возвращает число устройств в системе, способных воспроизводить midi-файлы

Параметры
Функция не имеет параметров

Возвращаемое значение
В успешном случае функция возвращает число устройств. Если устройств нет, то возвращается 0

Пример

' Может ли ваш компьютер воспроизводить midi?

Dim retval As Long
retval = midiOutGetNumDevs()
If retval > 0 Then
 MsgBox "Да, может"
Else
 MsgBox "Нет, не может"
End If
Полный текст с описанием этой функции вы найдете в справочнике по функциям Windows API

Не стесняйтесь, высылайте ваши предложения по адресу vbasic@rambler.ru
Посетите сайт Русский_Проект, где вы найдете другую интересную информацию
Давайте делать рассылку вместе! Удачи!



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное