Реферат по предмету "Информатика, программирование"


Завдання з програмування на 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.InsertStr(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
У в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.InsertStr(X1)
WordBasic.ParaDown
WordBasic.Insert“X2 = „
WordBasic.InsertStr(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*cosc) / (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кнiInputBox «Номер варіанта розрахунку», показаному на рисунку нижче.

/>

Нижче наведенийтекст програми Завдання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)» Then n = 9
For i = 1 To n t(i) = i
Next
End If
If var$ =«б)» Then n = 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.InsertStr(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 Thenp = Sin(x) + Sqr(Abs(x — y)) * Sin(b) ^ 2
If x = y Then p =1.35 * x ^ 2
If x
z = p + 0.5 * b ^2 + Cos(p — a)
WordBasic.InsertStr(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+cosd)
з точністю ε= 10-5 для значень параметру t0≤ t ≤ t1iз крокомΔ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!) / dt n = 0: S= 0
WordBasic.Insert" n t hn Sn"
WordBasic.InsertPara
For t! = t0! Tot1! Step dt
n = n + 1
If n = n0 ThenGoTo EndSub
ht! = ((n — 1) /(n + 1)) ^ (n * (n — 1)) * _
Sqr(t ^ 2 — 1.6)/ (4.8 * c ^ 2 + Cos(d))
S! = S! + ht!
WordBasic.InsertStr(n) & "; " & Str(t!) & "; " & _
Str(ht!) &"; " & Str(S!)
WordBasic.InsertPara
If ht!
Next
EndSub: End Sub
Після викликупрограми на виконання отримаємо такі результати:
n         t                 hn                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 = 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.InsertStr(x!(1)): WordBasic.InsertPara
For i = 2 To n
x!(i) = x!(i — 1)+ dx!
WordBasic.InsertStr(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.InsertStr(y!(i)): WordBasic.InsertPara
Next
WordBasic.InsertPara
WordBasic.Insert«Масив Z:»: WordBasic.InsertPara
For i = 1 To m
k = i
For j = i + 1 Tom
If Abs(z!(j))> Abs(z!(k)) Then
k = j: v! =z!(i): z!(i) = z!(k): z!(k) = v!
End If
Next
WordBasic.InsertStr(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)
End If
Next c! = c! / k
WordBasic.Insert«Середнє арифметичне С = » & Str(c!)
WordBasic.Insert", k =" & Str(k)
End Sub
Після викликупрограми на виконання отримаємо такий результат:
Середнєарифметичне С = -5.4, k = 5


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Алексеев П. В. Философия / П. В. Алексеев, А. В. Панин
Реферат Управление собственным капиталом предприятия 3
Реферат История формирования политической карты мира
Реферат Столкновение идеального и реального миров и образ писателя в киносценарии Патрика Зюскинда и Хельмута Дитля ""Россини", или Убийственный вопрос, кто с кем спал"
Реферат Предпринимательская деятельность
Реферат Проектировка сборочного приспособления для сборки деталей
Реферат Державин Михаил Михайлович
Реферат Ignorance Sophocle
Реферат Comparison Between The Tragic Heros Okonkwo And
Реферат Устроиство и работа плуга
Реферат Проблемы управления затратами на ГХК шахта Краснолиманская
Реферат Іноземні інвестиції види форми правовий режим гарантії захисту порядок здійснення
Реферат Економічна оцінка результатів господарської діяльності промислових підприємств (на прикладі ВАТ "Енерготрансбуд")
Реферат Holbein, Hans the Younger
Реферат Использование гуминовых веществ