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

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

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

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

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

Да, спасибо!

0%

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

0%

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

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

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

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


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

Тип Реферат
Предмет Информатика и программирование
Просмотров
489
Размер файла
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
147618
рейтинг
icon
3129
работ сдано
icon
1352
отзывов
avatar
Математика
Физика
История
icon
142374
рейтинг
icon
5881
работ сдано
icon
2654
отзывов
avatar
Химия
Экономика
Биология
icon
95355
рейтинг
icon
2031
работ сдано
icon
1273
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
54 207 оценок star star star star star
среднее 4.9 из 5
РУТ(МИИТ)
Работа выполнена быстро и качественно. Большое спасибо исполнителю, выручил. всегда был на...
star star star star star
ПНИПУ
Спасибо большое за проделанную работу! Сделана работа досрочно. Корректировку замечаний ре...
star star star star star
РГУП
очень быстрое и качественное выполнение))приятное общение..всем советую исполнителя..
star star star star star

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

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

Особенности порядка и условий перемещения через таможенную границу Евразийского экономического союза необработанных природных алмазов.

Курсовая, Совершение таможенных операций в отношении отдельных категорий товаров

Срок сдачи к 4 окт.

1 минуту назад

Решить задание из ворда

Решение задач, ТОЭ

Срок сдачи к 23 сент.

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

Решить 1 задачу

Решение задач, Физика

Срок сдачи к 20 сент.

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

Возникновение и развитие идеи правового государства

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

Срок сдачи к 29 сент.

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

нужно сделать презентацию для урока истории

Презентация, История

Срок сдачи к 18 сент.

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

Основы научного обеспечения управленческой деятельности в...

Диплом, Основы управления в ПО

Срок сдачи к 20 окт.

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

Исправить работу

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

Срок сдачи к 26 сент.

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

Выполнить 4 задания

Контрольная, Управление техносферной безопасностью, техносферная безопасность

Срок сдачи к 1 окт.

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

Составить мотивированное определение суда( Гражданский процесс)

Другое, гражданский процесс

Срок сдачи к 20 сент.

6 минут назад

Методы контроля безопасности пищевого сырья и продуктов питания.

Реферат, Методы и организация научного исследования продукции общественного питания

Срок сдачи к 20 сент.

6 минут назад

Все тз написаны в документе

Презентация, Основы логистики

Срок сдачи к 25 сент.

7 минут назад

Сделать доклад по актуальным источникам на 2024 год

Доклад, Банкротство

Срок сдачи к 18 сент.

8 минут назад

Тема Синдром раздражённого кишечника диагностика и принципы...

Реферат, сестринское дело

Срок сдачи к 20 сент.

8 минут назад

Дан производный треугольник со сторонами а, с, между ними B

Лабораторная, Информатика и программирование

Срок сдачи к 18 сент.

8 минут назад
8 минут назад

Решить две задачи

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

Срок сдачи к 20 сент.

10 минут назад

найти примеры из интернета к каждому виду данных(перечислены в...

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

Срок сдачи к 19 сент.

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

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

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

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

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

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

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

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