среда VBA в табличном процессоре Excel - Форум
Воскресенье, 26.03.2017, 00:38
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » среда VBA в табличном процессоре Excel
среда VBA в табличном процессоре Excel
ummsalimaДата: Пятница, 21.05.2010, 16:05 | Сообщение # 1
Сержант
Группа: Новичок
Сообщений: 5
[ 0 ]
Статус: Offline
помогите пожалуста!

Эти задачи надо прорешать для зачёта в среде VBA, которая имеется в табличном процессоре Excel

Написать программу, которая заполняет в цикле квадратную таблицу 1010 следующим образом:
1 2 3 4 5 6 7 8 9 10
36 0 0 0 0 0 0 0 0 11
35 0 0 0 0 0 0 0 0 12
34 0 0 0 0 0 0 0 0 13
33 0 0 0 0 0 0 0 0 14
32 0 0 0 0 0 0 0 0 15
31 0 0 0 0 0 0 0 0 16
30 0 0 0 0 0 0 0 0 17
29 0 0 0 0 0 0 0 0 18
28 27 26 25 24 23 22 21 20 19

№ 2
Написать программу, которая заполнит таблицу 55 случайными целыми числами в диапазоне 4 до 9.
№ 3
Написать программу, которая заполнит 3-ю строку таблицы Excel длиной в 8 ячеек целыми числами от 3 до 11.
№ 4
Написать программу, которая заполнит одну строку таблицы Excel словами : один, два, три …. десять по порядку.
№ 5
Написать программу для вычисления функции
. х- действительное число ׀x ׀≤1, находящееся в ячейке (1,1). Ответ разместит по усмотрению программиста..
№ 6
Написать программу, которая заполнит одну строку таблицы Excel длиной в 5 ячеек числами из диапазона от 3 до 8, а в соседней строке поместит их словесные значения-три, четыре, пять, шесть…, восемь.
№ 7
Написать программу, которая представит таблицу умножения.
№ 8
Создать программу, которая заполняет 10 последовательных ячеек, начиная с указанной пользователем, на указанной же пользователем строке числами от 1 до 10
№ 9
В первой строке таблицы Excel в ячейках с 3 по 10 размещены случайные числа. Написать программу, которая, просмотрев все указанные ячейки, найдёт наибольшее число, которое поместит в ячейку на 2-й строке в 3-й столбец.
№ 10
В 1-ой и 2-ой ячейках 1-й строки размещены номер строки и номер столбца соответственно некоторой ячейки таблицы Excel. Написать программу, которя прочтёт эти числа и поместит в указанную ячейку фразу «Это здесь!».
№ 11
Написать программу, которая занесёт числа от 1 до 10 в ячейки побочной диагонали таблицы 1010.
№ 12
Написать программу, которая заполнит первую строку таблицы Excel словами : десять, двадцать, ….,сто по порядку, а затем перенесёт эти слова во вторую строку в обратном порядке..

№ 14
Написать программу, которая занесёт числа от 10, 9, 8, 7, …, 1 в диагональные ячейки таблицы 1010.
№ 15
Написать программу, которая прочтёт из трёх первых элементов первой строки таблицы Excеl коэффициенты уравнения Ax2+Bx+C=0 –A, B, C, а в 4-ю и 5-.ячейку той же строки поместит корни этого уравнения.

Сообщение отредактировал ummsalima - Пятница, 21.05.2010, 16:06
 
АйраэльДата: Воскресенье, 23.05.2010, 22:05 | Сообщение # 2
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
таблица умножения у меня гдето была, а остольные могу попробывать решить
напишите срок сдачи

Добавлено (23.05.2010, 21:48)
---------------------------------------------
вот пятнадцатая

Code
Sub z15()
Dim A As Single, B As Single, C As Single, D As Single, x1 As Single, x2 As Single
Range("D1,E1").Clear     'Range(...)-выделяет диапазон ячеек, Clear-отчищает выделеное(данная строчка не является обязательной)
A = Cells(1, 1).Value      ' считывает А
B = Cells(1, 2).Value      ' считывает В
C = Cells(1, 3).Value      ' считывает С
D = B ^ 2 - 4 * A * C        
If D > 0 Then                   ' если дискриминант больше 0,то
x1 = (-B + Sqr(D)) / 2 * A
Cells(1, 4) = x1
x2 = (-B - Sqr(D)) / 2 * A
Cells(1, 5) = x1
ElseIf D = 0 Then            ' иначе, если дискриминант равен 0
x1 = -B / 2 * A
Cells(1, 4) = x1
Else                    ' иначе
Cells(1, 4) = "корней нет"
End If                    ' канец if
End Sub

Добавлено (23.05.2010, 22:05)
---------------------------------------------
Вот и таблица умножения, точнее один из вариантов её написания
Code
Sub z7()
Dim i As Integer, j As Integer, S As String
Range("A1:J11").Clear
S = 0
Cells(1, 4) = "таблица умножения"
For i = 2 To 9                           ' в цикле i меняется от  2 до 9, шагом 1(шаг=1 ставится по умолчанию)
For j = 1 To 10                         ' в цикле j меняется от  1 до 10, шагом 1
S = Str(i) + "*" + Str(j) + "=" + Str(i * j)      'в строку записывается значение i, знак умнажение, значение j, знак равно, а затем результат перемнажения  переменных i и j
Cells(j + 1, i - 1) = S
Next j    'канец цикла j   
Next i    'канец цикла i
End Sub


Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.


Сообщение отредактировал Айраэль - Вторник, 25.05.2010, 16:44
 
ummsalimaДата: Понедельник, 24.05.2010, 15:53 | Сообщение # 3
Сержант
Группа: Новичок
Сообщений: 5
[ 0 ]
Статус: Offline
Привет,Айраэль спасибо большое прям выручаеш,эта неделя последняя в сессии желательно мне бы здать уже зачет на этой недели до выходных.

Добавлено (24.05.2010, 15:53)
---------------------------------------------
а у меня еще проблемка,препод вчера по майлу прислал,что типо мне бы прорешать дома эти задачи а кода к нему приду в аудитории он мне из них одну даст и ему там должна решить(((((( Ну мож уболтаю как нить((( Или если есть возможность у кого объяснить как это делается то!!!

 
АйраэльДата: Понедельник, 24.05.2010, 16:56 | Сообщение # 4
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
Привет ummsalima, незнаю успею ли до выходных, самой долги для зачетов делать, но в среду и четверг посвободней буду решу что смогу. Кстати перепроверь условие пятой задачи, какую функцию там вычеслить надо?
Не знаю как на счёт объяснить, у меня это всегда плохо получалось, но могу писать каментарии к каждой строчке программы

Добавлено (24.05.2010, 16:56)
---------------------------------------------
Вот 10-я задача

Code
Sub z10()
Dim i As Integer, j As Integer                  'объявление переменных
Sheets("Лист1").Select                          'обращается к "Лист1" в excel, то есть считывает данные только с него и выводит тоже только на него
i = Cells(1, 1)                    'присваевает переменной i значение взятое из 1-ой ячейки 1-ой страки (номер строки)
j = Cells(1, 2)                    'присваевает переменной j значение взятое из 2-ой ячейки 1-ой страки (номер столбца)
Cells(i, j) ="Это здесь!"                           'вывод в ячейку i-ой строки, j-го столбца
End Sub


Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.


Сообщение отредактировал Айраэль - Понедельник, 24.05.2010, 16:59
 
ummsalimaДата: Вторник, 25.05.2010, 14:20 | Сообщение # 5
Сержант
Группа: Новичок
Сообщений: 5
[ 0 ]
Статус: Offline
Привет,спасибо тебе большое,удачи тебе!

№ 5
Написать программу для вычисления функции y=1-x/1+x(в квадрате) /2-x(в кубе)/3+/...........+(-x)(в шестой степени)/6
. х- действительное число ׀x ׀≤1, находящееся в ячейке (1,1). Ответ разместит по усмотрению программиста..

Сообщение отредактировал ummsalima - Вторник, 25.05.2010, 14:21
 
АйраэльДата: Вторник, 25.05.2010, 16:25 | Сообщение # 6
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
Уже лутше
Мне интересно ещё,что значит ׀x ׀≤1, я решу с |х|>=1.
Code
Sub z5()
Dim x As Single, i As Integer, y As Integer
y = 0
x = Cells(1, 1)           'считываем х с ячейки А1 листа excel
If Abs(x) >= 1 Then  ' если х по модулю больше 1, то выполняется
For i = 1 To 6            ' цикл переменная i меняется от 1 до 6 шагом 1
y = y + i + (-x) ^ i / i
Next i                         'канец цикла
Cells(3, 1) = y            'выводим ответ в ячейку А3
End If                         'канец if
End Sub


Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.


Сообщение отредактировал Айраэль - Вторник, 25.05.2010, 16:42
 
ummsalimaДата: Среда, 26.05.2010, 10:55 | Сообщение # 7
Сержант
Группа: Новичок
Сообщений: 5
[ 0 ]
Статус: Offline
привет Айраэль ,ты можеш мне ответить на вопрос? вот я захожу в Excel,далее чтоб зайти в среду VBA,я набираю комбинацию Alt - F11,ПРАВИЛЬНО????? появляется окно,там что то лист 1,2,3 что там надо дальше делать???А???
 
АйраэльДата: Четверг, 27.05.2010, 17:04 | Сообщение # 8
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
Привет, могу канечно. Далее нужно Insert - Module и в листе появившегося модуля пишутся программы (можно каждую прогу на отдельном, а можно на одном модуле писать)

Добавлено (26.05.2010, 18:46)
---------------------------------------------
8 и 9 задачки

Code
Sub z8()
Dim i As Integer, j As Integer, n As Integer
i = Val(InputBox("Ввести номер строки"))
j = Val(InputBox("Ввести номер столбца"))
For n = 1 To 10
            Cells(i, j + n - 1) = n
Next n
End Sub

Sub z9()
Dim i As Integer, j As Integer,  n As Integer, A(10) As Single, Amax As Single
j = 3
Do While Cells(1, j) <> ""                 'цикл работает пока не дойдет до пустой ячейки     
         A(j - 2) = Cells(1, j).Value          'считывает в масив числа из ячеек
         j = j + 1
Loop                    'конец цикла
i = j - 3
Amax = A(1)
For n = 1 To i
           If A(n) > Amax Then
              Amax = A(n)
           End If
Next i
Cells(2, 3) = Amax
End Sub

Добавлено (26.05.2010, 20:28)
---------------------------------------------
4-я

Code
Sub z4()
Dim i As Integer
i = Val(InputBox("Ввести номер строки"))
Cells(i, 1) = "один"
Cells(i, 2) = "два"
Cells(i, 3) = "три"
Cells(i, 4) = "четыре"
Cells(i, 5) = "пять"
Cells(i, 6) = "шесть"
Cells(i, 7) = "семь"
Cells(i, 8) = "восемь"
Cells(i, 9) = "девять"
Cells(i, 10) = "десять"
End Sub

Добавлено (27.05.2010, 10:05)
---------------------------------------------
2-я и 12-я

Code
Sub z2()
Dim i As Integer, j as Integer, A(5, 5) As Integer
For i = 1 To 5
        For j = 1 To 5
          Cells(i, j) = 4 + Int(6 * Rnd)       ' Rnd-формирует цисла от 0,1 до 0,9, Int - бурет целую часть
        Next j
Next i
End Sub

Sub z12()
Dim j As Integer, a(10) As String
Cells(1, 1) = "десять"
Cells(1, 2) = "двадцать"
Cells(1, 3) = "тридцать"
Cells(1, 4) = "сорок"
Cells(1, 5) = "пятьдесят"
Cells(1, 6) = "шестьдесят"
Cells(1, 7) = "семьдесят"
Cells(1, 8) = "восемьдесят"
Cells(1, 9) = "девяносто"
Cells(1, 10) = "сто"
j = 1
Do While Cells(1, j) <> ""
    a(j) = Cells(1, j)
    j = j + 1
Loop
i = 1
For j = 10 To 1 Step (-1)
     Cells(2, i) = a(j)
     i = i + 1
Next j
End Sub

Посмотри условия 3 и 6 задач, а то у меня в заданое количество ячеек не влезает заданый диапазон чисел

Добавлено (27.05.2010, 16:16)
---------------------------------------------
первая

Code
Sub z1()
Dim i As Integer, j As Integer, a(10, 10) As Integer, n As Integer
For i = 1 To 10
   For j = 1 To 10
    If (i = 1) And (j < 10) Then
       Cells(i, j) = j
       n = j
           ElseIf (i < 10) And (j = 10) Then
             Cells(i, j) = j + i - 1
           ElseIf (i = 10) And (j > 1) Then
             Cells(i, j) = 3 * i - j - 1
           ElseIf (i > 1) And (j = 1) Then
             Cells(i, j) = 4 * n - i + 2
               Else
                Cells(i, j) = 0
    End If
   Next j
Next i
End Sub

Добавлено (27.05.2010, 16:40)
---------------------------------------------
вот 14 и 11 задачки

Code
Sub z14()
Dim i As Integer, j As Integer, n As Integer
n = 10
For i = 1 To 10
   For j = 1 To 10
    If i = j Then
    Cells(i, j) = n
    n = n - 1
    End If
   Next j
Next i
End Sub

Sub z11()
Dim i As Integer, j As Integer
i = 1
For j = 10 To 1 Step (-1)
    Cells(i, j) = i
    i = i + 1
Next j
End Sub

Добавлено (27.05.2010, 17:04)
---------------------------------------------
Ну все последнии задачи 3 и 6. тринадцатой, как понимаю нет

Code
Sub z3()
Dim i As Integer, j As Integer, a(10, 10) As Integer, n As Integer
i = 3
For j = 1 To 8
    Cells(3, j) = i
    i = i + 1
Next j
End Sub

Sub z6()
Dim i As Integer, j As Integer, n As Integer
i = Val(InputBox("Ввести номер строки"))
n = 3
For j = 1 To 8
     Cells(i, j) = n
     n = n + 1
Next j
i = i + 1
Cells(i, 1) = "три"
Cells(i, 2) = "четыре"
Cells(i, 3) = "пять"
Cells(i, 4) = "шесть"
Cells(i, 5) = "семь"
Cells(i, 6) = "восемь"
End Sub


Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.


Сообщение отредактировал Айраэль - Четверг, 27.05.2010, 14:57
 
ummsalimaДата: Четверг, 27.05.2010, 17:15 | Сообщение # 9
Сержант
Группа: Новичок
Сообщений: 5
[ 0 ]
Статус: Offline
Привет огромное тебе спасибо!!!!Пусть все у тебя будет хорошо!!!!))))))) Только сколько не лазию немогу разобраться как писать эти проги,ваобще темный лесссс!
 
АйраэльДата: Четверг, 27.05.2010, 17:19 | Сообщение # 10
Подполковник
Группа: Новичок
Сообщений: 26
[ 0 ]
Статус: Offline
Да чё там писать? Создаёшь модуль, полностью копируешь туда прогу и запускаешь её (предварительно, если требуется по условию задачи, вводиш какие то данные в ячейки листа Excel), затем переходиш на лист exel

Природа — сфинкс. И тем она верней
Своим искусом губит человека,
Что, может статься, никакой от века
Загадки нет и не было у ней.
 
MakzPNDДата: Воскресенье, 13.03.2011, 12:54 | Сообщение # 11
Рядовой
Группа: Новичок
Сообщений: 1
[ 0 ]
Статус: Offline
Всем привет. Помогите пожалуйста с задачами. До сессии ещё долго но из-за работы не успеваю всё сделать.

1) Написать программу, которая заполни одну строку таблицы Excel длиной в 20 ячеек случайными целыми числами из диапазона от 5 до 8, а затем все пятёрки и восьмёрки заменит словами пять и восемь

2) используя UserForm и панель инструментов создать программу, которая заполняет 10 последовательных ячеек, начиная с указаной пользователем, на указанной же пользователем строке числами от 1 до 10

3) используя UserForm и панель инструментов создать программу, которая позволяет просматривать указанное пользователем ячейки и производить в них изменения, заданные пользователем.

4) Написать программу которая заполнит одну строку таблицы Excel словами: десять, двадцать, ... , сто по порядку а затем перемешает ячейки с этими словами.

5) Написать программу которая заполнит одну строку таблицы Excel длиной в 20 ячеек случайными целыми числами из диапазона от 4 до 8, а в соседней строке поместит их словесными значениями - четыре, пять, ... ,восемь. Оформить последнее действие в виде процедуры пользователя

 
KOT_B_MEIIIKEДата: Воскресенье, 13.03.2011, 19:10 | Сообщение # 12
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
Айраэль, а не подскажешь, каким способом ты код программ выкладываешь? Спасибо.
 
МафаняДата: Вторник, 28.06.2011, 16:39 | Сообщение # 13
Рядовой
Группа: Новичок
Сообщений: 1
[ 0 ]
Статус: Offline
ребята помогите пожалуйста написать программу по vba
Рассчитать какой доход получит владелец акции, купив ее по рыночной цене P, если рыночная цена изменяется на 300 денежных единиц каждый год, а дивиденд на акцию фиксирован. Доход на акцию рассчитывается по формуле:
ДОХОД = ДИВИДЕНД*100/РЫНОЧНАЯ ЦЕНА АКЦИИ
Dim P As Integer
P = InputBox("введите рыночную цену акции")
подскажите что дальше пожалуйста срочно надо!!!!!
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » среда VBA в табличном процессоре Excel
Страница 1 из 11
Поиск:

Copyright MyCorp © 2017