Завтра экзамен... и 7 задач которые не дают покоя...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Завтра экзамен... и 7 задач которые не дают покоя...

Сообщение Boss IT » 15.12.2005 (Чт) 18:32

Задача 1

Вычислить суммы s = sinx - sin(2)x + sin(3)x - sin(4)x + sin(5)x.
где число в скобках - степень.

Мое решение:
Код: Выделить всё
Dim x As Integer, s
x = InputBox("Введите число")
s = Sin(x) - (Sin(x) ^ 2) + (Sin(x) ^ 3 - (Sin(x) ^ 4) + (Sin(x)) ^ 5)
MsgBox s


Задача 2

Табулирование функции:
y = sin(4x - 3) на [2;3] шагом 0,25

Мое решение:
Код: Выделить всё
Dim i, y
For i = 2 To 3 Step 0.25
y = Sin(4 * i - 3)
List1.AddItem y
Next


Задача 3
Вычислить произведение квадратов тех элементов которые не больше 4:
A(i) = (-3;3;-5;6;-2;3;-8)

Мое решение:
Код: Выделить всё
Dim a(7) As Integer
Dim b, g, i As Integer
b = "-3;3;-5;6;-2;3;-8"
g = Split(b, ";")
For i = 0 To 6
    If g(i) < 4 Then
        List1.AddItem g(i) ^ 2
    End If
Next i


Задача 4
Вычисление суммы площадей треугольников со сторонами ........ Вичислить площади треугольников.
Мое решение:
Код: Выделить всё
Dim pir(2), a, b, sun(2)
Dim n(8), i As Integer, k As Integer
a = "4,7,4,3,5,4,7,4,7"
b = Split(a, ",")
'Преобразуем в числа
For i = 0 To 8
    n(i) = CInt(b(i))
Next
'находим полумериметр
pir(0) = (n(0) + n(1) + n(2)) / 2
pir(1) = (n(3) + n(4) + n(5)) / 2
pir(2) = (n(6) + n(7) + n(8)) / 2
' собственно сама сумма в sun()
sun(0) = pir(0) * (pir(0) - n(0)) * (pir(0) - n(1)) * (pir(0) - n(2))
sun(1) = pir(1) * (pir(1) - n(3)) * (pir(1) - n(4)) * (pir(1) - n(5))
sun(2) = pir(0) * (pir(2) - n(6)) * (pir(2) - n(7)) * (pir(2) - n(8))
' вывод суммы


// НЕРЕШЕННЫЕ ЗАДАЧИ
Задача 5
нахождение наименьшей суммы эл-ов каждого столбца матрицы
A(i,j) = (-2,0; 3, -5; 4,1)

Задача 6
Нахождение матрицы С = nA+B если AB - матрицы разномерности M*N, где M=n+1, N = n+2. Элементы матриц - целые случайные числа в диапозоне от -2 до n. Число n - номер варианта.
Задача 7
Подсчитать, сколько из n+3 точек (x,y) с целыми случайными координатами из [-n; n] попадают выше линий
y = n+x и y = 1. Число n - номер варианта.


Вообщем посмотрите пожалуйста мое решение, правильно ли оно? и как решить оставшиеся задачи?

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 16.12.2005 (Пт) 12:49

1 курс...

задача 5:
Код: Выделить всё
    Dim A() As Long, i As Long, j As Long
    Dim Index As Long, Sum As Long, tmp_sum As Long
   
    Sum = 100000
    Index = -1
    ReDim A(3, 2)
    A(1, 1) = -2: A(1, 2) = 0
    A(2, 1) = 3: A(2, 2) = -5
    A(3, 1) = 4: A(3, 2) = 1
   
    For i = 1 To UBound(A)
        For j = 1 To UBound(A, 2)
            tmp_sum = tmp_sum + A(i, j)
        Next
        If tmp_sum < Sum Then
            Index = i
            Sum = tmp_sum
        End If
        tmp_sum = 0
    Next
   
    MsgBox "Столбец:" & Str(Index) & " Сумма: " & Str(Sum)


минус: если в матрице будет несколько минимальных сумм одиннаковых - берётся первая

вот моё решение 6 задачи
Вложения
задача6.ZIP
(1.55 Кб) Скачиваний: 16

Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Сообщение Boss IT » 16.12.2005 (Пт) 19:04

Задача 5

Код: Выделить всё
DIM a(2, 3)
DATA -2,3,4: DATA 0,-5,1             данные матрицы
FOR i = 1 TO 2: FOR j = 1 TO 3: READ a(i, j): NEXT j, I   
FOR j = 1 TO 3: a(0, j) = a(1, j) + a(2, j): NEXT   
s = 1
FOR i = 2 TO 3
IF a(0, s) > a(0, i) THEN s = I         
NEXT
PRINT a(0, s)


Задача 6

Код: Выделить всё
Dim n  As Integer
Dim i, j
n = 18
Dim a(19, 20)
Dim b(19, 20)
Dim c(19, 20)

    For i = 0 To n + 1
        For j = 0 To n + 2
        a(i, j) = -2 + Int(Rnd * 18)
        b(i, j) = -2 + Int(Rnd * 18)
        c(i, j) = a(i, j) + b(i, j)
        Next j
    Next i



Сейчас доделю еще задачу 7....

P.S. Народ, а что это вы не дружите с классическим программированием? Или все перцы ООП?

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 17.12.2005 (Сб) 10:26

насколько я помню ОП DATA и READ я писал ещё на Spectrum'е !

а ты подумай зачем придумали ООП?

Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Сообщение Boss IT » 17.12.2005 (Сб) 16:46

Sirik писал(а):насколько я помню ОП DATA и READ я писал ещё на Spectrum'е !


Qbasic если что...

а ты подумай зачем придумали ООП?


Ммм... А классическое от объекно-орентированного отличаем?
ООП это не замена классического...

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.12.2005 (Вс) 12:10

надо человеку помогать а заниматься х...ой

если ты слабак в чём-то, то не надо это офишировать на весь форум


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 159

    TopList