Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Dim I As Integer, J As Integer




Do

Loop

Do

Loop

Loop

Do

End If

Else

< операторы2>]

Конструкции в квадратных скобках могут отсутствовать.

 

Оператор выбора:

Select Case <.переменная>

Case <значение1>: <операторы1>

...

Case <значениеN – 1>: <операторыN – 1>

[ Case Else: <операторыN> ]: End Select

 

Операторы цикла:

 

For < параметр цикла > = < Нач.Зн > To < Кон.Зн. > [ Step < Зн.Ш >]

< операторы>

Next < параметр цикла >

(Зн.Шага по умолчанию равно +1,

Exit For – преждевременное прерывание цикла).

 

 

<операторы>

(повторяется до тех пор, пока не встретится оператор: Exit Do)

 

Do While < условие >

< операторы >

< операторы>

Loop While < условие >

Do Until < условие >

< операторы >

< операторы>

Loop Until < условие >

 

 

ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ

(ПОЛЬЗОВАТЕЛЬСКИЕ)

 

Среди процедур различают процедуры обработки событий и процедуры

общего назначения.

Имя процедуры обработки событий должно состоять из имени объекта и

имени события, разделенные символом подчеркивания.

Заголовок описания пользовательской процедуры содержит имя или имя и

список формальных параметров.

При передаче параметров по значению используется ключевое слово: By Val, при этом передается копия переменной и процедура не изменяет оригинальную переменную. Передача переменных по ссылке дает процедуре доступ к оригиналу переменной, что позволяет изменить ее значение.

Sub <имя>(<список формальных параметров>)

<оператор1>

<оператор2>

...

End Sub

Обращение происходит при помощи оператора – Call<имя>, если процедура не содержит формальных параметров, или Call<имя>(<список фактических параметров>)

 

Заголовок пользовательской функции содержит кроме имени и списка формальных параметров, еще и тип имени функции.

Function <имя>(<список формальных параметров>) As <тип>

<оператор1>

<оператор2>

...

имя = выражение

End Function

 

Обращение происходит при помощи указателя функции -

<имя>(<список фактических параметров>).

 

 

ФАЙЛЫ

 

Реализуется три типа доступа к файлам:

· последовательный – для чтения и записи текстовых файлов,

· произвольный – для чтения и записи текста или структурированных двоичных файлов с записями фиксированной длины,

· двоичный - для чтения и записи произвольно структурированных файлов.

 

Открытие файла произвольного доступа:

Open <.имя файла> For Random Access ДОСТУП As # <номер файла> Len=

<длина записи>,

где параметр Access задает режим доступа к файлу: Read – чтение, Write -

запись, номер файла (от 1 до 255) определяется с помощью функции

FreeFile().

 

Для записи используется оператор:

Put #<номер файла>, <номер записи>, <переменная>

Для чтения используется оператор:

Get #<номер файла>, <номер записи>, <переменная>

 

Закрытие файла:

Close #<номер файла>.

 

 

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

Требуется разработать блок-схему или словесное описание алгоритма, создать проект в VBA

 

Первое задание. Линейное программирование.

 

1. Вычислить величину Y:

 

 

2. Вычислить величину Y:

 

3. Вычислить величины U и V:

 

 

4. Вычислить величину Y:

 

 

5. Вычислить площадь треугольника по формуле Герона:

 

где - стороны треугольника.

 

6. Вычислить расстояние между двумя точками М1(х1,y1) и М2(х2,y2) на

плоскости:

 

 

7. Вычислить сумму, разность, произведение, частное двух чисел.

 

8. Вычислить объем правильной треугольной пирамиды:

,

где h – высота, а – сторона основания пирамиды.

 

9. Найти координаты вершины параболы

 

10. По двум катетам найти гипотенузу и площадь прямоугольного треугольника.

 

11. Поменять местами переменные, находящиеся в двух текстовых полях

экранной формы.

 

12. В трех текстовых полях экранной формы находятся фамилия, имя,

отчество. Получить в четвертом поле фамилия с инициалами.

 

13. В текстовом поле экранной формы находится дата рождения.

Получить в трех текстовых окнах день, месяц, год рождения.

 

Пример8. Создать проект для задачи примера1:

Вычислить среднее арифметическое и среднее геометрическое двух неотрицательных чисел: А, В.

 

Код

 

Private Sub CommandButton1_Click()

Dim A As Single, B As Single

Dim X As Single, Y As Single

A = Val(TextBox1)

B = Val(TextBox2)

X = (A + B) / 2

Y = Sqr(A*B)

TextBox3 = Str(X)

TextBox4 = Str(Y)

End Sub

--------------------------------------

Private Sub CommandButton2_Click()

TextBox1 = “ “

TextBox2 = “ “

TextBox3 = “ “

TextBox4 = “ “

End Sub

 

 

 

 

 
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3, TextBox4, Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов Label1, Label2, Label3, Label4, CommandButton1,CommandButton2.

Пример9. Спроектируйте приложение, которое выдает три числа, количество суток оставшихся до ближайших критических точек трех биоритмов человека: физического (период 23 дня), эмоционального (период 28 дней), интеллектуального (период 33 дня).

 

Код

 

Private Sub CommandButton1_ Click()

 

Dim TD As Date ‘ TD – текущая дата

Dim DR As Date ‘ DR – день рождения

Dim PD As Long ‘ PD – количество прожитых дней

TD = Date

DR = TextBox1

PD = TD – DR

TextBox2 = Str(22 – PD Mod 23) + “дней”

TextBox3 = Str(27 – PD Mod 28) + “дней”

TextBox4 = Str(32 – PD Mod 33) + “дней”

Label1.Caption = Str(TD)

 

End Sub

 

 

На форму нанесены элементы управления: TextBox1, TextBox2,

TextBox3,TextBox4, CommandButton1, Label1, Label2, Label3, Label4,

Label5, Label6, Label7, Label8, Label9, Label10.

Свойство Caption изменено у элементов: Label2, Label3, Label4, Label5,

Labe6, Label7, Label8, Label9, Label10, CommandButton1.

 

 

Второе задание. Программирование ветвлений.

1. Вычислить величину Y:

 

 

2. Рассчитать заработную плату сотруднику с учетом подоходного налога:

 

 

Р = Зарп – Н, где Зарп – зарплата без учета подоходного налога (начислено)

Н - подоходный налог

Р - зарплата с учетом подоходного налога (к выдаче)

 

3. Рассчитать коэффициент К, изменяющего премиальное вознаграждение работника в зависимости от выполнения плана работы Р:

 

 

4. Вычислить площадь геометрических фигур:

 

5. Вычислить величину Y:

 

где z = x2+5x.

 

6. Вычислить величину Y:

 

 

7. Вычислить величину Z:

 

 

8. Вычислить величину Y:

 

 

9. Если X, Y, Z упорядочены по возрастанию, то удвоить каждое из них, иначе заменить числа их модулями.

 

10. Если X, Y, Z упорядочены по убыванию, то заменить числа их модулями, иначе каждое из чисел разделить на 3.

 

11. Найти среди заданных чисел a, b, c, d количество положительных и

количество отрицательных.

 

12. Если остаток при делении заданного числа на 3 больше 1, то

утроить это число, иначе оставить без изменения.

 

13. Даны три произвольные стороны треугольника, Выдать

сообщение, можно ли такой треугольник построить.

 

 

Пример10. Вычислить величину Т:

 

 

Блок – схема алгоритма задачи:

 

Private Sub CommandButton1_Click()

 

Dim X As Single, Y As Single

Dim A As Single, T As Single

X = Val(TextBox1)

Y = Val(TextBox2)

A = Val(TextBox3)

If A = 1 Then

If X > Y Then

T = X

Else

T = Y

End If

Else

If A > 1 Then

T = X * X + Y * Y

Else

T = Abs(X + Y)

End If

End If

TextBox4 = Str(T)

 

End Sub

---------------------------------------

Private Sub CommandButton2_Click()

Text Box1 = “ “

Text Box2 = “ “

Text Box3 = “ “

Text Box4 = “ “

 

End Sub

 

 
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3, TextBox4, Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов: Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

 

Третье задание Программирование циклов.

1. Вычислить величину Y:

 

Y = n! (n! = n)

 

2. Дано натуральное n. Вычислить значение функции:

 

для x = 1, 1.1, 1.2,…, 1+0.1n

 

3. Вычислить Y:

 

 

4. Вычислить число , пользуясь рядом Грегори:

 

(100 членов)

 

5. Определить число Фибоначчи с номером к. (используются формулы ; ; )

 

6. Вычислить значение по формуле:

 

,

 

7. Вычислить с точностью Е, используя итерационную формулу

 

,

 

8. Вычислить значение ряда с заданной точностью Е

 

 

9. Вычислить сумму S = 1 + 2 + 3 + ….. Вычисления прекратить, если

значение S превысит заданное значение А.

 

10. Вычислить значения функции в заданном интервале

 

Пример11. Вычислить величину:

 

Блок – схема алгоритма

 

 

 

+ -

 

Код

 

Private Sub СommandButton1_Click()

 

Dim p As Single, i As Integer

Dim y As Single, n As Integer

n = Val(TextBox1)

p = 1

For i = 1 To n

p = p*i / (i + 1)

Next i

y = 1 + p

TextBox2 = Str(y)

 

End Sub

 

Private Sub CommandButton2_Click()

 

TextBox1 = “ “

TextBox2 = “ “

 

End Sub

 

 

 
На форму нанесены элементы управления: TextBox1, TextBox2, Label1, Label2, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов Label1, Label2, CommandButton1,

CommandButton2.

 

 

Пример12. Вычислить значение ряда с точностью Е

 

 

 

Блок – схема алгоритма

Код

 

Private Sub CommandButton1_Click()

 

Dim х As Single, E As Single, U As Single

Dim n As Integer, Z As Single, Y As Single

x = InputBox(“введи x”)

E = InputBox(“введи E“)

Y = 0: U = 1: n = 1

Do While abs(U)> E

Y = Y + U: U = U*x / n: n = n +1

Loop

Z = exp(x)

Text Box1 = Str(Y)

Text Box2 = Str(Z)

 

End Sub

 

 

 
На форму нанесены элементы управления: TextBox1, TextBox2, Label1, Label2, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2, CommandButton1.

 

 

Четвертое задание. Одномерные массивы (векторы).

1. Даны два вектора А и В размерности N. Вычислить косинус угла между ними.

 

2. Дан одномерный массив А размерности N. Найти сумму положительных элементов, произведение отрицательных элементов.

 

3. Дан одномерный массив А размерности N. Найти количество элементов, больших заданного числа В.

 

4. Дан одномерный массив А размерности N. Найти отношение максимального элемента к минимальному.

 

5. Дан одномерный массив А размерности N. Поменять местами максимальный и минимальный элементы.

 

6. Дан одномерный массив А размерности N. Найти сумму элементов, расположенных между максимальным и минимальным.

 

7. Дан одномерный массив А размерности N. Найти произведение элементов, расположенных до максимального, и количество после минимального.

 

8. Дан одномерный массив А размерности N. Найти среднее арифметическое элементов, расположенных между максимальным и минимальным.

 

9. Дан одномерный массив А размерности N. Если первый элемент массива неотрицателен, то умножить все элементы на минимальный, в противном случае – на максимальный.

 

10. Вычислить значение многочлена, используя формулу Горнера:

 

 

11. Дан одномерный массив А размерности N. Получить массив В, записанный в обратном порядке.

 

12. Дан одномерный массив А размерности N. Получить массив В, элементы которого расположены в порядке возрастания.

 

Пример13. Создать проект для задачи примера4.

Код

 

Dim N As Integer, i As Integer

Dim X() As Single, Y As Single

---------------------------------------

Private Sub CommandButton1_Click()

 

N = Val(TextBox1)

Redim X(1 to N)

For i = 1 To N

X(i) = InputBox(“введи исходные данные – массив”)

Next i

Y = 0

For i = 1 To N

Y = Y + X(i)

Next i

Y = Y / N

ТextBox2 = Str(Y)

 

End Sub

 

.

 

 
На форму нанесены элементы управления:TextBox1,TextBox2, Label1, Label2,

CommandButton1.

Свойство Caption изменено у элементов Label1, Label2.

.

Пример14. Дан одномерный массив А размерности N.

Найти наибольший элемент и его индекс.

 

Блок-cхема алгоритма

 

 

Код

 

Dim A() As Single, MAX As Single

Dim N As Integer, K As Integer, I As Integer

--------------------------------------------

Private Sub CommandButton1_Click()

 

N = Val(TextBox1)

Redim A(1 To N)

For I = 1 To N

A(I) = InputBox (“введи массив A”)

Next I

MAX = A(1): K = 1

For I = 1 To N

If A(I) > MAX Then

MAX = A(I): K = I

End If

Next I

TextBox1 = Str(MAX)

TextBox2 = Str(K)

 

End Sub

 

 

 

 
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3, Label1, Label2, Label3, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2, Label3.

 

 

Пятое задание. Двумерные массивы (матрицы).

1. Вычислить сумму элементов каждой строки матрицы А

размерности N*M. Результат получить в виде вектора В.

M

Вi = ∑ Aij, i:= 1, 2, …, N

J=1

 

2. Вычислить произведение элементов каждой строки матрицы А

размерности N*M. Результат получить в виде вектора В.

 

 

M

Вi = ∏ Aij, i:= 1, 2, …, N

J=1

 

3. Вычислить сумму элементов каждого столбца матрицы А

размерности N*M. Результат получить в виде вектора В.

N

Вj = ∑ Aij, j = 1, 2, …, M

i=1

 

4. Вычислить произведение элементов каждого столбца матрицы А

размерности N*M. Результат получить в виде вектора В.

 

N

Вj = ∏ Aij, j = 1, 2, …, M

i=1

 

5. Вычислить произведение матрицы А размерности N*M на вектор В.

Результат получить в виде вектора С.

 

M

Ci = ∑ Aij * Bj, i = 1, 2, …, N

J=1

 

6. Вычислить сумму двух матриц А и В размерности N*M.

Результат получить в виде матрицы С.

 

Cij = Aij + Bij, i = 1,2, …, N

j = 1,2, …, M

 

7. Найти максимальный элемент и его индексы в матрице А

размерности N*M.

 

8. Найти минимальный элемент и его индексы в матрице А

размерности N*M.

 

9. Найти среднее арифметическое элементов матрицы A размерности N*M.

 

10. К элементам K-й строки прибавить элементы L-й строки, умноженные

на число В, матрицы А размерности N*M.

Результат получить в виде вектора С.

 

Cj = Akj + B*Alj, J = 1,2, …, M

 

11. К элементам K-го столбца прибавить элементы L-го столбца, умноженные на число В, матрицы А размерности N*M. Результат получить в виде вектора С.

 

Ci = Aik + B*Ail, i = 1,2, …, N

 

12. Вычислить произведение двух матриц А и В размерности N*M.

Результат получить в виде матрицы С.

p

Сij = ∑ Aik*Bkj, i = 1,2, …, N

i:=1

J = 1, 2, …, M

 

Пример14. В каждой строке матрицы А размерности N*M вычислить сумму положительных элементов.

Результат получить в виде вектора В.

 

 

Словесное описание алгоритма

 

Начало

 

1. Задать (N, M, A(1:N, 1:M))

 

2. Для I:= 1 до N выполнить

B(I):= 1

Для J:=1 до M выполнить

Если A(I,J) > 0 то B(I):= B(I) + A(I,J)

 

3. Выдать B(1:N)

 

Конец

 

 

Код

 

Dim A() As Single, B() As Single, N As Integer, M As Integer

-------------------------------------------------------------------------

Private Sub CommandButton1_ Click()

 

N = Val(TextBox1)

M = Val(TextBox2)

Redim A(1 To N, 1 To M)

For I = 1 To N

For J = 1 To M

A(I, J) = InputBox(“A(“ + Str(I) +”,” + Str(J) + “)=”)

Next J

Next I

 

End Sub

------------------------------------------

Private Sub CommandButton2_ Click()

 

Dim I As Integer, J As Integer

Redim B(1 To N)

For I = 1 To N

B(I) = 0

For J = 1 To M

If A(I, J) > 0 Then B(I) = B(I) + A(I, J)

Next J

Next I

 

End Sub

------------------------------------------

Private Sub CommandButton3_ Click()

 

Dim I As Integer

For I = 1 To N

ListBox1.Additem B(I) ‘ вывод элементов массива B в ListBox1

Next I

 

End Sub

 

 

 

 

 
На форму нанесены элементы управления: ListBox1, TextBox1, TextBox2,

Label1, Label2, Label3, CommandButton1, CommandButton2,

CommandButton3.

Свойство Caption изменено у элементов Label1, Label2, Label3,

Commandbutton1, CommandButton2, CommandButton3.

 

 

Шестое задание. Пользовательские процедуры и функции.

Задачи заданий 1 – 5 выполнять с использованием пользовательских процедур и функций.

 

 

Пример15. Вычислить площадь треугольника со сторонами a, b, c.

 

Код

 

Dim a As Single, b As Single

Dim c As Single, y As Single

Private Function PLT(st1 As Single, st2 As Single, st3 As Single) As Single

Dim pp As Single

pp = (st1 + st2 + st3)/2

pp = pp * (pp – st1) * (pp – st2) * (pp – st3)

If pp <= 0 Then

MsgBox “Неверно заданы значения параметров”, 16, “ошибка”

Else

PLT = Sqr(pp)

End If

End Function

--------------------------------------

Private Sub CommandButton1_Click()

 

a = Val(TextBox1)

b = Val(TextBox2)

c = Val(TextBox3)

y = PLT(a, b, c)

TextBox4 = Str(y)

 

End Sub

 

Private Sub Commandbutton2_Click()

 

TextBox1 = “ “

TextBox2 = “ “

TextBox3 = “ “

TextBox4 = “ “

End Sub

 

 

 

 
На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3, TextBox4, Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов Label1, Label2, Label3, Label4, CommandButton1, CommandButton2.

 

 

Пример16. Вычислить сумму двух векторов A и B размерности N.

Результат получить в виде вектора С.

ci = ai + bi

 

Код

 

Dim A() As Single, B() As Single, I As Integer

Dim C() As Single, N As Integer

 

Private Sub Vvod(A() As Single, N As Integer)

For I = 1 to N

A(I) = InputBox(“Введите исходный массив”)

Next I

End Sub

 

Private Sub Racshet(A() As Single, B() As Single, C() As Single, N As Integer)

For I = 1 to N

C(I) = A(I) + B(I)

Next I

End Sub

 

Private Sub Viwod(C() As Single, N As Integer)

For I = 1 to N

ListBox1.Additem C(I)

Next I

End Sub

 

Private Sub CommandButton1_Click()

 

N = Val(TextBox1)

ReDim A(1 To N): ReDim B(1 To N): ReDim C(1 To N)

Call Vvod(A(), N)

Call Vvod(B(), N)

Call RaschetA(), B(), C(), N)

Call Viwod(C(), N)

 

End Sub

 

 

 

 

 
На форму нанесены элементы управления: ListBox1, TextBox1, TextBox2, Label1, Label2, Label3, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2, Label3,

CommandButton1.

 

Седьмое задание. Файлы.

1. Создать файл, каждая запись которого имеет структуру: название товара, количество товара, цена за единицу. Выдать ведомость товара, количество которого меньше заданного значения А.

 

2. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, профессия, стаж в годах. Выдать ведомость сотрудников, стаж которых больше заданного значения А.

 

3. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, наличие детей, зарплата. Выдать ведомость сотрудников, не имеющих детей.

 

4. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер курса, проживание. Выдать ведомость студентов, проживающих в общежитии.

 

 

5. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер группы, экзаменационные оценки. Выдать ведомость отличников.

 

6. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер группы, экзаменационные оценки. Выдать ведомость неуспевающих студентов.

 

7. Создать файл, каждая запись которого имеет структуру: фамилия, имя, отчество, номер группы, аттестация дисциплин. Выдать ведомость не аттестованных студентов

 

8. Создать файл, каждая запись которого содержит информацию о компьютере: марка, объем винчестера, объем оперативной памяти, быстродействие. Выдать список компьютеров с заданным быстродействием.

 

9. Создать файл, каждая запись которого содержит информацию об автомобиле: название модели, год выпуска, цена, цвет. Выдать список автомобилей, цена которых превышает заданную цену А.

 

10. Создать файл, каждая запись которого содержит информацию о лекарствах, хранящихся на аптечном складе: название, количество, стоимость. Выдать список лекарств, стоимость которых не превышает заданную цену А.

 

11. Создать файл, каждая запись которого содержит информации о лекарствах, хранящихся в аптеках города: номер аптеки, названия, срок годности. Выдать список просроченных лекарств.

 

12. Создать файл, каждая запись которого содержит информацию о рейсах самолетов: номер рейса, пункт назначения, время прибытия, время отправления. Выдать информацию о рейсах самолетов, время отправления которых находится в заданном промежутке времени.

 

 

Пример17. Создать файл, каждая запись которого имеет структуру:

фамилия, имя, отчество, стаж, наличие детей.

Выдать ведомость сотрудников, имеющих двух детей.

 

Код

 

Private Type B

Fam As String *30

Name As String *15

Ots As Striing *15

Stag As Integer

Deti As Integer

End Type

 

Dim I As Integer

Dim N As String *3

Dim A As B

Dim Fih As Integer

Dim Fim As String *40

---------------------------------------

Private Sub CommandButton1_Click()

 

Fih = FreeFile()

Fim = InputBox(“Введите физическое имя файла”)

Open Fim for Random Access Write As #Fih Len = Len(A)

I = 0

Do

N = InputBox(“введи N”)

If N = “***” Then Exit Do

I = I + 1

A.Fam = InputBox(“введи фамилию”)

A.Name = InputBox(“введи имя”)

A.Ots = InputBox(“введи отчество”)

A.Stag = IuputBox(“введи стаж”)

A.Deti = InputBox(“введи количество детей”)

Put #Fih, I, A

Loop

Close #Fih

 

End Sub

--------------------------------------

Private Sub CommandButton2_Click()

 

Fih = FreeFile()

Fim = InputBox(“Введи физическое имя файла”)

Open Fim for Random Access Read As #Fih Len = Len(A)

I = 0

Do While Not Eof(Fih)

I = I + 1

Get #Fih, I, A

If A.Deti = 2 Then

ListBox1.Additem A.Fam ‘ вывод фамилии в окно ListBox1

Listbox2.Additem A.Name ‘ вывод имени в окно ListBox2

ListBox3.Additem A.Ots ‘ вывод отчества в окно ListBox3

End If

Loop

Close #Fih

 

End Sub

 

 
На форму нанесены элементы управления: ListBox1, ListtBox2, ListtBox3, Label1, Label2, Label3, CommandButton1, CommandButton2.

Свойство Caption изменено у элементов Label1, Label2, Label3, CommandButton1, CommandButton2.

 

РАЗНЫЕ ЗАДАЧИ

 

Пример18. Вычислить сумму и количество цифр целого числа.

 

Код

 

Private Sub CommandButton1_Click()

Dim S As Integer, D As Integer, K As Integer

Dim I As Integer, N As Integer, C As String*1

N = Len(TextBox1)

S = 0: K = 0

For I = 1 To N

C = Mid(TextBox1, I, 1)

D = Val(C)

S = S + D

K = K +1

Next I

TextBox2 = Str(S)

TextBox3 = Str(K)

End Sub

 

На форму нанесены элементы управления: TextBox1, TextBox2, TextBox3,

Label1, Label2, Label3, CommandButton1.

Свойство Caption изменено у элементов: Label1, Label2, Label3,

CommandButton1.

 

Пример19. Каким прилагательным можно охарактеризовать тот или иной

возраст человека.

 

Субъективное представление отражает следующая таблица

менее 15 лет 15 – 30 лет 31 – 45 лет 46 – 60 лет больше 60 лет
детский молодой средний пожилой преклонный

Код

 

Private Sub CommandButton1_Click()

Dim let As Integer, vozrast As String

let = Val(TextBox1)

Select Case let

Case Is < 15: vozrast = “детский”

Case 15 To 30: vozrast = “молодой”

Case 31 To 45: vozrast = “средний”

Case 46 To 60: vozrast = “пожилой”

Case Is > 60: vozrast = “преклонный”

End Select

TextBox2 = vozrast

End Sub

 

На форму нанесены элементы управления: Label1, Label2, TextBox1,

TextBox2, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2,

CommandButton1.

Пример20 Найти сумму ряда с заданной точностью Е, общий член которого .

 

Для нахождения рекуррентной формулы вычислим отношение следующего члена ряда к предыдущему:

 

. Отсюда . Найдем первый член ряда .

 

Блок схема алгоритма

 

Код

Private Sub CommandButton1_Click()

Dim Е As Single,
Dim n As Integer
Dim S As Single

Dim An As Single

E= Val(TextBox1)

S=0

n=1

An=1/3

Do While An>E

S=S+An

n=n+1

An=An*(n+1)/2/(2*n+1)

Loop

TextBox2 = Str(S)

End Sub

 

На форму нанесены элементы управления: Label1, Label2, TextBox1,

TextBox2, CommandButton1.

Свойство Caption изменено у элементов Label1, Label2, CommandButton1.

Пример21 Дан массив. Упорядочить его элементы по убыванию. Применим сортировку массива методом пузырька.

 

Сортировка методом пузырька - самый простой алгоритм сортировки.

 

Сортировка методом пузырька (по убыванию) работает следующим образом: в итерации цикла берётся самый первый элемент и сравнивается со следующим. Если первый элемент меньше, то элементы меняются местами. Затем происходит сравнение второго с третьим и т.д. После первой итерации цикла в конце оказывается наименьший элемент. После второй итерации на предпоследней позиции оказывается второй по величине элемент. Всего в цикле необходимо произвести на одну итерацию меньше количества элементов в массиве.

 

Блок-схема алгоритма

 

 

Код

 

Dim A() As Single, I As Integer, N As Integer

 

Private Sub CommandButton1_Click()

N = Val(TextBox1)

ReDim A(1 To N)

For I = 1 To N

A(I) = Val(InputBox("Введите массив"))

ListBox1.AddItem "A(" + Str(I) + ")=" + Str(A(I))

Next I

End Sub

 

Private Sub CommandButton2_Click()

For J% = 1 To N - 1

For I = J + 1 To N

If A(I) > A(J) Then

v! = A(I)

A(I) = A(J)

A(J) = v

End If

Next I

Next J

For I = 1 To N

ListBox2.AddItem "A(" + Str(I) + ")=" + Str(A(I))

Next I

End Sub

 

 

На форму нанесены элементы управления: ListBox1, ListBox2, TextBox1, Label1, Label2, Label3, CommandButton1, CommandButton2.

 

Варианты контрольных работ для студентов заочной формы обучения

 

Контрольная работа состоит из трех заданий:

1. Реферативный ответ на первое задание должен содержать полное раскрытие темы на 8-10 печатных листах формата А4.

2. Задача на составление алгоритма линейной структуры. Решение данного задания должно содержать блок-схему и словесное описание алгоритма, листинг программы и рисунок с формой.

3. Задача на составление алгоритма сложной структуры. Решение данного задания должно содержать блок-схему и словесное описание алгоритма, листинг программы и рисунок с формой. (Для отображения формы используйте клавишу PrtScr, которая позволяет сфотографировать активный рабочий стол).

Выбор варианта для контрольной работы осуществляется по последней цифре зачетки.

 

Для студентов, в учебном плане которых информатика разбита на два семестра, данная контрольная работа выполняется во втором семестре и состоит из двух заданий – второго и третьего.

Варианты контрольных работ

Первое задание

 

1. Язык как способ представления информации, двоичная форма представления информации, ее особенности и преимущества.

2. История развития ЭВМ.

3. Современное состояние электронно-вычислительной техники.

4. Ноутбук – устройство для профессиональной деятельности.

5. WWW. История создания и современность.

6. Устройства ввода информации.

7. Игровые программы (виды, влияние на человека, рассмотреть любые три программы, представляющие разные жанры).

8. Офисные программы (системы автоматизированных вводов документов, электронные переводчики).

9. Информатика и законы естественных наук.

10. Правонарушения в сфере информационных технологий.

 

Второе задание

 

1. Вычислите значение функции

2. Найдите координаты вершины параболы

3. Вычислите расстояние между двумя точками, лежащими в пространстве и .

4. Вычислите время t, за которое физическое тело пройдет расстояние S с постоянной скоростью V.

5. Вычислите время свободного падения тела с высоты h (h>0).

6. Вычислите площадь круга по заданному значению диаметра d.

7. Вычислите объем параллелепипеда, если известны все его измерения.

8. Вычислите значение функции .

9. По координатам трех вершин некоторого треугольника найти его периметр.

10. Вычислите значение функции .

 

Третье задание

 

1. Дан одномерный массив А размерности N. Найти сумму положительных элементов и их количество.

2. Дан одномерный массив А размерности N. Найти количество элементов, больших заданного числа В и их произведение.

3. Дан одномерный массив А размерности N. Найти отношение максимального элемента к минимальному.

4. Дан одномерный массив А размерности N. Поменять местами максимальный и минимальный элементы.

5. Дан одномерный массив А размерности N. Найти сумму отрицательных элементов, расположенных между максимальным и минимальным.

6. Дан одномерный массив размерности N. Найти произведение элементов, расположенных до максимального и количество элементов после него.

7. Дан одномерный массив А размерности N. Найти максимальный и минимальный элементы и их индексы.

8. Дан одномерный массив А размерности N. Найти среднее арифметическое элементов, расположенных между максимальным и минимальным.

9. Дан одномерный массив А размерности N. Найти произведение положительных элементов, расположенных между максимальным и минимальным.

10. Дан одномерный массив А размерности N. Найти количество элементов, больших заданного числа В, расположенных между максимальным и минимальным.

 

ЛИТЕРАТУРА

1. Басков Н.Н., Лебединская А.Р. Visual Basic for Applications. Учебный практикум. Ростов – на - Дону, 2008г.

2. Волченков Н.Г. Программирование на Visual Basic 6. Части 1, 2, 3. М.: ИНФРА-М, 2000г.

3. Стефен Моррис. Visual Basic 5. Ростов – на – Дону: Феникс, 1977г.

4. Алиев В.К. Visual Basic for Application. Информатика в задачах,

примерах, алгоритмах. СОЛОН-Р, Москва, 2001г.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 2675; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.64 сек.