Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КТП.Процедуры и функции.Символьные переменные

.pdf
Скачиваний:
7
Добавлен:
07.02.2016
Размер:
871.99 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Запорізький національний технічний університет

МЕТОДИЧНІ ВКАЗІВКИ

і індивідуальні завдання до лабораторних робіт та самостійним заняттям з курсу ”Інформатика” та "Обчислювальна техніка та програмування"

для студентів денної форми навчання технічних спеціальностей

Частина 3

Тема 5. Процедури і функції

Тема 6. Символьні змінні

2003

2

Методичні вказівки і індивідуальні завдання до лабораторних робіт та самостійним заняттям з курсу ”Інформатика” та "Обчислювальна техніка та програмування" для студентів денної форми навчання технічних спеціальностей. Частина 3. Тема 5. Процедури і функції. Тема 6. Символьні змінні / Укл.: О.Ф.Куліков, Н.І.Біла, Е.В. Терещенко,Г.А.Шишканова – Запоріжжя: ЗНТУ,2003.-40 с.

Містить набір задач по двох темах: "Процедури і функції" і "Символьні змінні" для програмування мовою Visual Basic. У кожнім варіанті запропоновано по три задачі.

Укладачі

Куліков О.Ф., доцент

 

Біла Н.І. .,доцент

 

Терещенко О.В., асистент

 

Шишка нова Г.А., асистеент

Рецензент:

Денисенко О.І.., доцент

 

Вишневська В.Г., доцент

Експерт

Солоха В.В.., доцент каф.

 

Металорізальні верстати та системи

Відповідальний

 

за випуск

Корніч Г.В..,професор

 

З а т в е р д ж е н о

 

На засіданні кафедри

 

обчислювальної

 

математики

 

протокол N3 вiд 4.12.2002

3

ЗМIСТ

1Процедури і функції ... .......………....... .............………....…..4

1.1Загальні вказівки...…………………… …….…… ......……4

1.2Варіанти завдань...……………....……………………. …..10

2 Символьні змінні та рядки

22

2.1 Загальні вказівки...…… ……......…….……..........………22

2.2.. Варіанти завдань....…… ....……

…….27

Література

40

.

 

4

1 ПРОЦЕДУРИ І ФУНКЦІІ

1.1 Загальні вказівки

Підпрограми - це самостійні фрагменти програм, які оформлюються особливим чином та мають ім'я. Підпрограми надають можливість розбити програму на ряд незалежних частин. Така розбивка є : 1) засобом економії пам'яті; 2) дозволяє застосовувати сучасні методи проектування програм. Підпрограми бувають двох типів – функції та процедури. Описати процедуру або функцію - це зазначити заголовок та тіло.

Синтаксис заголовку функції :

δ Function Name [(список формальних параметрів)] тип функції

Синтаксис заголовку процедури:

δ Sub Name [(список формальних параметрів)]

Де δ задає прозорість підпрограми і має значення:

Private, Public , Static. δ -вказує, де ця підпрограма може бути використана . Формальні параметри можуть бути двох типів : параметри-значення та параметри-змінні.

Параметри-значення – це такі параметри, що визначаються на момент запуску підпрограми та не можуть змінюватись в підпрограмі, перед цими параметрами повинно ставиться службове слово ByVal. Параметри-змінні - це такі параметри, оновлені значення яких необхідно передати до програми, з якої викликається процедура. В мові VB на замовчення всі параметри є параметри - змінні але їх можна встановити і явно тоді перед такими змінними повинно стяти службово слово ByRef. Тіло процедури має таку ж структуру як і програма, тобто може містити об’яву внутрішніх змінних, процедур і функцій. Закінчується опис процедури "Еnd function , Еnd sub;" Виклик процедури здійснюється в основній програмі або в будь-

5

якій процедурі, вказівкою імені процедури та фактичних параметрів. Відповідність між параметрами встановлюється по їхньому місцю в списку. Фактичні і формальні параметри повинні мати однакову кількість та відповідати один одному за типом.

Приклад 1.1

Скласти програму з процедурою, сторонах трикутника обчисляє його площу за формулою Герона. здійснюється перевірка вихідних Інтерфейс задачі даний на рис.1.1

що по заданих трьох периметр трикутника та Перед обчисленням площі даних на коректність.

.

txtA

txtB txtC

cmdRes

txtPl

txtPr

Рисунок1.1 –Форма для приклада 1.1

Код програми

Private Sub Tr(a As Single, b As Single, c As Single, _ p As Single, S As Single, pr As Boolean)

'a,b,c –сторони трикутника

'p -периметр, s -площа, pr -ознака

Dim pp As Single

p = a + b + c: pp = p / 2

pr = (pp > 0) And (pp > a) And (pp > b) And (pp > c)

6

If pr Then

S = Sqr(pp * (pp - a) * (pp - b) * (pp - c))

End If

End Sub

Private Sub cmdRes_Click()

Dim a1 As Single, a2 As Single, a3 As Single Dim pl As Single, pr As Single

Dim m As String, t As Boolean, par As Boolean t = False

If IsNumeric(txtA.Text) And IsNumeric(txtB.Text) _ And IsNumeric(txtC.Text) Then t = True

If t = False Then

MsgBox "ошибка в исх.данных" & vbCritical Exit Sub 'досрочный выход из п/п

End If

a1 = CSng(txtA.Text): a2 = CSng(txtB.Text)

a3 = CSng(txtC.Text)

Tr a1, a2, a3, pr, pl, par 'обращение к п/п If par Then

txtPl.Text = CStr(pl): txtPr.Text = CStr(pr) Else

MsgBox "треугольник не существует" & vbInformation End If

End Sub

Приклад 1.2

Знайти суму Max елементів масивів X(n) та Y(n). Max елементи масивів знайти за допомогою підпрограми.

Інтерфейс задачі даний на рис.1.2.

Код програми

Private Sub cmdRes_Click() Dim x() As Single, y() As Single

txtN txtM

cmdRes

txtRes

Рисунок1.2 –Форма для приклада 1.2

Dim n As Integer, m As Integer Dim Sum As Single

n = CInt(txtN.Text)

m = CInt(txtM.Text) ReDim x(n), y(m)

MsgBox "вводим " & n & "-элементов массива Х" Vvod x, n ‘обращение к п/п ввода

MsgBox "вводим" & m & "-элементов массива Y" Vvod y, m ‘обращение к п/п ввода

Sum = Max(x, n) + Max(y, m) txtRes.Text = CStr(Sum)

End Sub

Private Sub Vvod(z() As Single, l As Integer) Dim i As Integer

For i = 1 To l

z(i) = CSng(InputBox("введите" & i & "–й элемент")) Next i

End Sub

Private Function Max(z() As Single, l As Integer) As Single Dim a As Single, i As Integer

a = z(1)

8

For i = 2 To l

If z(i) > a Then a = z(i)

Next i

Max = a

End Function

Приклад 1.3

Створити матрицю A(n,3) стовпцями який є вектори X(n),Y(n),Z(n) помножені на Min елементи відповідног вектора. Інтерфейс задачі даний на рис.1.3

txtN

txtA Multiline=true Scrolbars=3

cmdRes

Рисунок1.3 –Форма для приклада 1.3

Код програми

Private Sub cmdRes_Click()

Dim x() As Single, y() As Single, z() As Single Dim a() As Single, i As Integer, n As Integer

Dim MinX As Single, MinY As Single, MinZ As Single Dim S As String

n = CInt(txtN.Text)

ReDim x(n), y(n), z(n), a(n, 3) S = ""

9

MsgBox "вводим " & n & " элементов массива Х" Vvod x, n

MsgBox "вводим " & n & " элементов массива Y" Vvod y, n

MsgBox "вводим " & n & “ элементов массива Z" Vvod z, n

MinX = Min(x, n) ‘обращение к функции MinY = Min(y, n) ‘обращение к функции MinZ = Min(z, n) ‘обращение к функции

For i = 1 To n

a(i, 1) = x(i) * MinX: a(i, 2) = y(i) * MinY a(i, 3) = z(i) * MinZ

S = S & a(i, 1) & " " & a(i, 2) & " " & a(i, 3) & vbCrLf Next i

txtRes.Text = S End Sub

Private Function Min(a() As Single, p As Integer) As Single Dim i As Integer

Min = a(1) For i = 2 To p

If a(i) < Min Then Min = a(i) Next i

End Function

Private Sub Vvod(z() As Single, p As Integer) Dim i As Integer

For i = 1 To p

z(i) = CSng(InputBox("введите" & i & " –й элемент")) Next i

End Sub

10

1.2 Варіанти завдань

Варіант 1

1. Для заданого натурального числа "n" знайти всі прості числа, що не перевершують "n". Число "n" просте, якщо воно не ділиться на жодне ціле число, що не перевершує "n", крім себе й одиниці. Процедуру розпізнавання простого числа оформити у виді підпрограми.

2. Обчислити координати центру ваги системи "n" матеріальних точок із масами m1 , m2 ,... , mn і координатами (xi i ,zi ) по формулам

 

 

 

n

 

 

 

n

 

 

 

n

 

 

 

xi mi

 

 

 

yi mi

 

 

 

zi mi

x

m

=

i=1

; y

m

=

i=1

; z

m

=

i=1

n

n

n

 

 

 

mi

 

 

 

mi

 

 

 

mi

 

 

 

i=1

 

 

 

i=1

 

 

 

i=1

3. Задано вектори x(n), у(n) і матриця А(n,n). Знайти суму двох векторів c і d , де c = x*А, d = у*А. Обчислення добутку вектора на матрицю оформити підпрограмою

.

Варіант 2

Скласти підпрограму обчислення наближеного значення th(x)по формулі:

x2k +1

th(x) = (2k +1)!

x2k

(2k)! .

Обчислити:

y = 2th(0,5) 3th(x 0,1) 5 th(4x 1)