Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Завдання з програмування на Visual Basic

Тип Реферат
Предмет Информатика и программирование
Просмотров
506
Размер файла
35 б
Поделиться

Ознакомительный фрагмент работы:

Завдання з програмування на Visual Basic

Завдання з програмування на VBA

2009 рiк


Завдання 1

Обчислити суму перших 5-ти членiв арифметичної прогресiї за формулами:

Sn = n*(a1 + an)/2,

a1 = 1,3*x2 + 4,8*cos2y,

an = a1 + d*(n-1),

де n = 5, y = 1,87, d = 5,83, x = e2,5.

Розв'язок

Програмуємо вiдповiдну програму на VBA, спочатку декларуючи потрiбнi змiннi, а потім задаючи їхні значення. Далi програмуємо задані розрахункові формули. Для виводу результату розрахунку в документ Word застосовуємо оператор WordBasic.Insert.Нижче наведений текст програми Завдання1, скопійований з редактора Visual Basic for Application.

Attribute VB_Name = "Модуль1"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання1()

Dim S, a1, an, x, y, d

Dim n

n = 5

d = 5.83

y = 1.87

x = Exp(2.5)

a1 = 1.3 * x ^ 2 + 4.8 * Cos(y) ^ 2

an = a1 + d * (n - 1)

S = n * (a1 + an) / 2

WordBasic.Insert "Sn = "

WordBasic.Insert Str(S)

End Sub

Для виклику цієї програми на виконання iз середовища Word набираємо Сервіс → Макрос → Макроси → Завдання1 → Выполнить, або (Alt+F8) → Завдання1 → Выполнить. В результаті отримаємо таке:Sn = 1025.07072799505

Завдання 2

Задано дiйснi числа а, b, с (а ≠ 0). Знайти дiйснi корені рівняння

ax2 + bx + c = 0.

Якщо дiйснiх коренів немає, на друк вивести повідомлення "Корені комплексні".

Розв'язок

Рішення цього повного квадратного рівняння виражаються формулою:

x1,2 = (-b ± D1/2) / 2a,

де D = b2 – 4ac — детермінант. Якщо D < 0, то рівняння не має дійсних коренів.

У вiдповiдностi з цим i програмуємо це завдання з використанням операторів умовного переходу If... Then... Else. Оскільки в умові завдання не сказано про конкретні значення коефiцiєнтiв рівняння, будемо задавати їх всередині програми довільно.

Текст програми Завдання2 наведений нижче.

Attribute VB_Name = "Модуль2"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання2()

Dim X1, X2, D, a, b, c

a = 5

b = 7

c = -10

D = b ^ 2 - 4 * a * c

If D >= 0 Then

X1 = -b + Sqr(D): X2 = -b - Sqr(D)

WordBasic.Insert "X1 = "

WordBasic.Insert Str(X1)

WordBasic.ParaDown

WordBasic.Insert "X2 = "

WordBasic.Insert Str(X2)

Else: WordBasic.Insert "Корені рівняння комплексні!"

End If

End Sub

Задаючи значення a = 5, b = 7, c = -10, отримаємо таку вiдповiдь:

X1 = 8.7797338380595

X2 = -22.7797338380595

Якщо ж задати значення a = 5, b = 7, c = 10 отримаємо вiдповiдь:

Корені рівняння комплексні!

Завдання 3

Скласти блок-схему та програму для обчислення вiдповiдних кожному варіанту виразів. Завдання виконати для таких варiантiв:

а) Змінна у при повтореннях циклу змінюється вiд початкового значення у = 1 до кінцевого у = 9 з кроком 1.

б) Змінна у, що змінюється при повтореннях циклу, є одновимірним масивом у = {1,5; 3; 0,6; 0,9}.

Вивести початкові дані та результати обчислень у вигляді таблиці значень X, P, Z, де:

X = (ln y + a*cos c) / (ey – tg a – sin2 c)

sin X + |X – y|1/2 * sin2 b при X > у

P = 1,35 * X2 при X = у

ln |X + 1,45y| * tg (bc) при X < у

Z = P + 0,5b2 + cos (P – a)

а = 4,32; b = 6,89; c = 171/2

Розв'язок

Не дивлячись на те, що варіанти а) i б) представляють собою два окремих завдання, ми їх поєднаємо в одній програмі. Для цього нам буде потрібно ввести такі допомiжнi змiннi:

n — кiлькiсть повторень циклу: для а) n = 9, для б) n = 4;

t(n) — масив значень змінної у;

i — лічильник: для а) i = 1, 2, ..., 9, для б) i = 1, 2, 3, 4;

var$ — строкова константа, яка може приймати значення "а)" або "б)" в залежності вiд вибраного варіанту розрахунків.

Блок-схема програми Завдання3 наведена на рисунку.


Масив t(n) заповнюється в залежності вiд значення константи var$, яке вводиться у вiкнi InputBox "Номер варіанта розрахунку", показаному на рисунку нижче.



Нижче наведений текст програми Завдання3.

Attribute VB_Name = "Модуль3"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання3()

Dim x, z, p, a, b, c, y, t(9), var$

Dim n, i

a = 4.32

b = 6.89

c = Sqr(17)

var$ = InputBox("Введiть значення а) чи б) для номера варіанта" & var$,

"Номер варiанта розрахунку")

If var$ = "" Then GoTo EndSub

WordBasic.Insert "a =" & Str(a): WordBasic.InsertPara

WordBasic.Insert "b =" & Str(b): WordBasic.InsertPara

WordBasic.Insert "c =" & Str(c): WordBasic.InsertPara

If var$ = "a)" Thenn = 9

For i = 1 To nt(i) = i

Next

End If

If var$ = "б)" Thenn = 4

t(1) = 1.5: t(2) = 3: t(3) = 0.6: t(4) = 0.9

End If

WordBasic.Insert "Варiант - " & var$ & "; n =" & Str(n)

WordBasic.InsertPara: WordBasic.Insert "y = "

For i = 1 To n

WordBasic.Insert Str(t(i)) & "; "

Next

WordBasic.InsertPara: WordBasic.InsertPara

WordBasic.Insert "| y | x | p | z |"

WordBasic.InsertPara

For i = 1 To n

y = t(i)

x = (Log(y) + a * Cos(c)) / (Exp(y) - Tan(a) - Sin(c) ^ 2)

If x > y Then p = Sin(x) + Sqr(Abs(x - y)) * Sin(b) ^ 2

If x = y Then p = 1.35 * x ^ 2

If x < y Then p = Log(Abs(x + 1.45 * y)) * Tan(b * c)

z = p + 0.5 * b ^ 2 + Cos(p - a)

WordBasic.Insert Str(y) & "|" & Str(x) & "|" & Str(p) & "|" _

& Str(z) & "|"

WordBasic.InsertPara

Next

End Sub

При виборі варіанта а) отримаємо такий результат:

a = 4.32

b = 6.89

c = 4.12310562561766

Варіант - a); n = 9

y = 1; 2; 3; 4; 5; 6; 7; 8; 9;

y|x | p | z |

1| 6.16921036251777 | .625618747883335| 23.5106051035047|

2|-.398860206108572 | .123457564548993| 23.3662361501907|

3|-7.67044472021885E-02| .195591633792759| 23.3769597339635|

4|-1.97047675076656E-02| .236271096733771| 23.3842595618880|

5|-5.44692028846779E-03| .266678755930375| 23.3903486513538|

6|-1.52164514501239E-03| .291309521209447| 23.3956949504055|

7|-4.16081978834523E-04| .312086912073758| 23.4005023378817|

8|-1.07952008248923E-04| .330073751199657| 23.4048895849838|

9|-2.51459877725051E-05| .345936497380926| 23.4089361125556|

При виборі варіанта б) розрахунку результат буде іншим:

a = 4.32

b = 6.89

c = 4.12310562561766

Варіант - б); n = 4

y = 1.5; 3; .6; .9;

y | x | p | z |

1.5|-1.45204156144273 |-.04368718002541 | 23.3506847944415|

3 |-7.67044472021885E-02| .195591633792759| 23.3769597339635|

.6 | 2.26534231611546 | 1.18799513455253| 23.9240910970412|

.9 | 3.86856538687228 |-.104324993260116| 23.3476284888521|

Завдання 4

Обчислити наближене значення суми спадного ряду

S(t) = Σ hn(t), n = 1 ÷ ∞,

hn(t) = [(n-1)/(n+1)]n(n-1)*(t2-1,6)1/2/(4,8c2+cos d)

з точністю ε = 10-5 для значень параметру t0 ≤ t ≤ t1 iз крокомΔt.

Точність обчислень визначається умовою R = |hn(t)| ≤ ε. При розробці програми передбачити переривання обчислень при n > n0 на випадок, якщо виконання умови R ≤ ε не відбудеться при прогумованих n0 членів ряду, де n0 — обмежувач просумованих членів ряду.

Вихiднi дані:

с = 2,9; d = 0,41; t0 = 2,5; t1 = 3,5; Δt = 0,01

Розв'язок

Визначимо обмежувач просумованих членів ряду:

n0 = (t1 - t0) / Δt = (3,5-2,5)/0,01 = 100

Нижче наведена програма Завдання4 даного завдання на язику VBA. Для забезпечення безумовного виходу з програми ми використали мітку EndSub. Щоб простежувати процес обчислень, ми вивели на друк поточні значення величин n, t, hn та Sn.

Attribute VB_Name = "Модуль4"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання4()

Dim c!, d!, t0!, t!, t1!, dt!, ht!, S!, eps!, n, n0

c! = 2.9: d! = 0.41: t0! = 2.5: t1 = 3.5: dt = 0.01

eps! = 0.00001: n0 = (t1! - t0!) / dtn = 0: S = 0

WordBasic.Insert " n t hn Sn"

WordBasic.InsertPara

For t! = t0! To t1! Step dt

n = n + 1

If n = n0 Then GoTo EndSub

ht! = ((n - 1) / (n + 1)) ^ (n * (n - 1)) * _

Sqr(t ^ 2 - 1.6) / (4.8 * c ^ 2 + Cos(d))

S! = S! + ht!

WordBasic.Insert Str(n) & "; " & Str(t!) & "; " & _

Str(ht!) & "; " & Str(S!)

WordBasic.InsertPara

If ht! <= eps! Then GoTo EndSub

Next

EndSub: End Sub

Після виклику програми на виконання отримаємо такі результати:

n thn Sn

1; 2.50; 5.223155E-02; 5.223155E-02

2; 2.51; 5.834686E-03; 5.806623E-02

3; 2.52; 8.248814E-04; 5.889111E-02

4; 2.53; 1.155269E-04; 5.900664E-02

5; 2.54; 1.604442E-05; 5.902269E-02

6; 2.55; 2.216024E-06; 0.0590249

Завдання 5

Скласти блок-схему та програму для персонального комп’ютера за такої умови. Задано масив Х = {x} з n = 20 чисел:

Х = {-20; 15; 3; -9; 7; -6; 14; -13; 6; -7;

9; -12; 5; 7; -2; 17; 10; -1; 16; -3}

Знайти мiнiмальне по модулю значення х та його номер k.

Розв'язок

Блок-схема даного алгоритму представлена нижче на рисунку.



Нижче наведена розроблена програма на VBA.

Attribute VB_Name = "Модуль5"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання5()

Dim x(20), t, i, k

x(1) = -20: x(2) = 15: x(3) = 3: x(4) = -9: x(5) = 7

x(6) = -6: x(7) = 14: x(8) = -13: x(9) = 6: x(10) = -7

x(11) = 9: x(12) = -12: x(13) = 5: x(14) = 7: x(15) = -2

x(16) = 17: x(17) = 10: x(18) = -1: x(19) = 16: x(20) = -3

t = Abs(x(1))

For i = 2 To 20

If Abs(x(i)) < t Then

t = Abs(x(i)): k = i

End If

Next

WordBasic.Insert "Мiнiмальне абсолютне значення - х =" & Str(t) & _

"; k =" & Str(k)

End Sub

Після виклику програми Завдання5 на виконання отримаємо такий результат:

Мiнiмальне абсолютне значення - х = 1; k = 18

Завдання 6

Скласти блок-схему та програму, яка б виводила на друк сгенерований, сформований та впорядкований масиви. Генерувати i вивести на друк одновимірний масив Х = {xi}, i = 1 ÷ n, n = 13 в дiапазонi цілих чисел [-30; 40]. Сформувати i вивести на друк масив Y iз елементів масиву Х, які стоять на парних місцях. Впорядкувати масив Y за спаданням модулів його елементів.

Розв'язок. Масив Х має 13 елементів, з яких х1 = -30, хn = 40, а iншi змінюються вiд х1 з кроком величин dx = (хn - х1) / (n – 1).

Формування масиву Z за спаданням модулів елементів масиву Y представляє собою процедуру сортування, для реалiзацiї якої є багато різних спецiалiзованих підпрограм. Але тут ми реалізуємо найпростіший алгоритм сортування вибором. Блок-схема алгоритму програми Завдання6 представлена на рисунку нижче.



Текст програми Завдання6, скопійований з редактора Visual Basic, наведений нижче.

Attribute VB_Name = "Модуль6"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання6()

Dim x!(13), y!(6), z!(6), dx!, x1!, xn!, v!, n, m, i, j, k

n = 13: m = n / 2

x1! = -30: xn! = 40

dx! = (xn! - x1!) / (n - 1)

x!(1) = x1!

WordBasic.Insert "Масив Х:": WordBasic.InsertPara

WordBasic.Insert Str(x!(1)): WordBasic.InsertPara

For i = 2 To n

x!(i) = x!(i - 1) + dx!

WordBasic.Insert Str(x!(i)): WordBasic.InsertPara

Next

WordBasic.InsertPara

WordBasic.Insert "Масив Y:": WordBasic.InsertPara

For i = 1 To m

y!(i) = x!(2 * i): z!(i) = y!(i)

WordBasic.Insert Str(y!(i)): WordBasic.InsertPara

Next

WordBasic.InsertPara

WordBasic.Insert "Масив Z:": WordBasic.InsertPara

For i = 1 To m

k = i

For j = i + 1 To m

If Abs(z!(j)) > Abs(z!(k)) Then

k = j: v! = z!(i): z!(i) = z!(k): z!(k) = v!

End If

Next

WordBasic.Insert Str(z!(i)): WordBasic.InsertPara

Next

End Sub

Після виклику програми Завдання6 на виконання отримаємо такi результати:

Масив Х:

-30

-24.16667

-18.33333

-12.5

-6.666665

-.8333311

5.000002

10.83334

16.66667

22.5

28.33334

34.16667

40

Масив Y:

-24.16667

-12.5

-.8333311

10.83334

22.5

34.16667

Масив Z:

34.16667

-24.16667

22.5

-12.5

10.83334

-.8333311

Завдання 7

Скласти блок-схему та програму.Задано масив Y = {yi}, i = 1÷ n, n = 8. Обчислити середнє арифметичне елементів цього масиву, менших заданого числа А.Розв'язок

Оскільки в завданні не вказані числа уi та А, візьмемо їх довільно:

Y = {-2; 15; 3; -9; 7; -6; 14; -13},А = 6



Програма буде складатися з алгоритму вибору з масиву Y елементів yk, менших А, i обчислення їх середнього арифметичного С за формулою:

С = Σ yk / n, k = 1÷ n,

де n — кiлькiсть елементів масиву Y, менших А.

Блок-схема програми Завдання7 наведена на рисунку вище.

Текст програми Завдання7 наведено нижче.

Attribute VB_Name = "Модуль7"

'Iгор Каплик - жовтень, 2006 р.

Sub Завдання7()

Dim y!(8), a!, c!, i, j, k

y!(1) = -2: y!(2) = 15: y!(3) = 3: y!(4) = -9

y!(5) = 7: y!(6) = -6: y!(7) = 14: y!(8) = -13

n = 8: a! = 5

k = 0: c! = 0

For i = 1 To n

If y!(i) < a! Thenc! = c! + y!(i): k = k + 1

End If

Nextc! = c! / k

WordBasic.Insert "Середнє арифметичне С = " & Str(c!)

WordBasic.Insert ", k =" & Str(k)

End Sub

Після виклику програми на виконання отримаємо такий результат:

Середнє арифметичне С = -5.4, k = 5


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
149841
рейтинг
icon
3153
работ сдано
icon
1365
отзывов
avatar
Математика
Физика
История
icon
144858
рейтинг
icon
5924
работ сдано
icon
2672
отзывов
avatar
Химия
Экономика
Биология
icon
100599
рейтинг
icon
2060
работ сдано
icon
1284
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
57 706 оценок star star star star star
среднее 4.9 из 5
МГИМО
Спасибо Юлии, заказываю второй раз. Работа выполнена раньше срока, качественно!
star star star star star
РУДН
Работа выполнена на высшем уровне. Все примечания соблюдены. Исполнитель активный и общите...
star star star star star
Удгу
Все отлично, очень быстро и качественно, работа принята без замечаний. Спасибо.
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Дать характеристику предприятию, решить 9 задач

Решение задач, Экономика предприятия и организация производства

Срок сдачи к 19 янв.

только что

Сестринский уход за детьми при пневмонии

Курсовая, медицина

Срок сдачи к 16 янв.

только что

Последние цифры зачетки 24

Контрольная, Метрология, стандартизация и сертификация

Срок сдачи к 16 янв.

4 минуты назад

Есть введение одобренное руководителем курсовой

Курсовая, Возрастная психология, психология развития

Срок сдачи к 28 февр.

4 минуты назад

Задача 3 вариант62

Решение задач, Электротехника

Срок сдачи к 20 янв.

5 минут назад

Составить бланк

Решение задач, Документационное обеспечение управления

Срок сдачи к 18 янв.

5 минут назад

8 вариант

Контрольная, Метрология, стандартизация и сертификация

Срок сдачи к 15 янв.

7 минут назад

27 вариант

Решение задач, Математика

Срок сдачи к 15 янв.

7 минут назад

Исследование электромагнитного поля в диэлектрическом волноводе для...

Курсовая, Оптические направления и среды

Срок сдачи к 15 янв.

8 минут назад

вариант 9

Решение задач, Статистика

Срок сдачи к 15 янв.

8 минут назад

Интегралы

Решение задач, Математика

Срок сдачи к 15 янв.

9 минут назад

комбинированные разработки месторождение

Реферат, комбинированные разработки месторождение

Срок сдачи к 20 янв.

9 минут назад

Решить второй вариант по методичке

Контрольная, Теория государства и права

Срок сдачи к 17 янв.

11 минут назад

Выполнить указанные действия.

Контрольная, Философия

Срок сдачи к 20 янв.

11 минут назад

Тестирование по Управление, организация и планирование производства

Тест дистанционно, Управление, организация и планирование производства

Срок сдачи к 15 янв.

11 минут назад

Предиканты

Контрольная, Математика

Срок сдачи к 15 янв.

11 минут назад

Выполнить контрольную работу в виде реферата

Контрольная, Историческая геология

Срок сдачи к 16 янв.

11 минут назад

тмм 23-8

Курсовая, тмм

Срок сдачи к 19 янв.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно