">
Информатика ![]() | |||||||||||||||||||||||||||||||||||||||||
Похожие работы:
| |||||||||||||||||||||||||||||||||||||||||
РОССИЙСКАЯ ФЕДЕРАЦИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ФИЛИАЛ ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» В Г. НОЯБРЬСКЕ Курсовая работа по дисциплине “Информационные системы и технологии” г. Ноябрьск 2012 Содержание Содержание2 Блок 1.3 Задача 1.3 Задача 2.4 Задача 3.6 Блок 2.8 Задача 1.8 Задача 2.9 Задача 3.11 Блок 3.12 Задача 1.12 Задача 2.15 Задача 3.17 Блок 4.20 Задача 1.20 Задача 2.24 Задача 3.27 Список литературы.34 Блок 1. Задача 1. Вычислить сколько цифр в числе. Рисунок 1. В окно вводится любое число Способ 1: Public Sub Massiv() Dim hislo As String Dim col As Integer hislo = InputBox("Введителюбоечисло:") col = Len(hislo) MsgBox _ "Цифрвведенномчисле " &col&vbNewLine End Sub Способ 2: Public Sub Massiv2() Dim lNum As Long, iCol As Integer lNum = CLng(InputBox("Введитечисло:")) Do iCol = iCol + 1 lNum = lNum * 0.1 Loop While lNum> 0 MsgBox _ "Цифрвведенномчисле " &iCol&vbNewLine EndSub Рисунок 2. Вывод программы Задача 2. Сколько раз во втором слове встречается первая буква первого слова. Рисунок 3. Вводится первое слово Рисунок 4. Вводится второе слово Sub Q() Dim a, r, t, P, l As String Dim n, Y, u As Integer a = InputBox("Введите слово 1") l = InputBox("Введите слово 2") n = Len(l) Y = 0 r = Left(a, 1) For i = 1 To n If r = Mid(l, i, 1) Then Y = Y + 1 End If Next i MsgBox "Буква " & r & " повторяется " & Y & " раз" EndSub Рисунок 5. Вывод программы Задача 3. Выясните, какая из букв (первая или последняя) встречается в заданном слове чаще. Рисунок 6. Ввод слова Sub Q() Dim a, r, t, p As String Dim n, y, u As Integer Dim X() a = InputBox("Введите слово") n = Len(a) ReDim Preserve X(1 To n) r = Left(a, 1) t = Right(a, 1) For i = 1 To n X(i) = Mid(a, i, 1) Next i y = 0 u = 0 For i = 1 To n If X(i) = r Then y = y + 1 End If If X(i) = t Then u = u + 1 End If Next i If y > u Then MsgBox ("Первая буква встречается чаще") End If If y < u Then MsgBox ("Вторая буква встречается чаще") End If If y = u Then MsgBox ("Обе буквы встречаются одинаковое количество раз") End If End Sub Рисунок 7. Вывод программы Блок 2. Задача 1. Вставить по одному элементу перед всеми элементами, кратными числу 3. Рисунок 8. Вводится количество элементов Sub Massiv() Dim n As Integer Dim A() Dim B() Dim j As Variant Dim r As Integer Dim v As Integer n = InputBox("Количество элементов", , 10) r = 50 v = 3 ReDim Preserve A(1 To n) ReDim Preserve B(1 To n * 2) For i = 1 To n A(i) = Int(10 * Rnd()) - Int(5 * Rnd()) Next i Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To n wsh.Cells(1, i) = A(i) Next i j = 1 For i = 1 To n If A(i) Mod v = 0 Then B(j) = r B(j + 1) = A(i) j = j + 2 Else B(j) = A(i) j = j + 1 End If Next i For j = 1 To n * 2 wsh.Cells(2, j) = B(j) Next j EndSub Рисунок 9. Вывод программы в виде двух массивов Задача 2. Дан квадратный массив из n элементов. Найти сумму элементов главной диагонали. Рисунок 10.Вводится n элементов Sub tii() Dim X() Dim m, n As Integer n = InputBox("Введите n") ReDim Preserve X(1 To n, 1 To n) For i = 1 To n For j = 1 To n X(i, j) = Int(10 * Rnd()) - Int(5 * Rnd()) Next j Next i Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To n For j = 1 To n wsh.Cells(i, j) = X(i, j) Next j Next i m = 0 For i = 1 To n For j = 1 To n If i = j Then m = m + X(i, j) End If Nextj Nexti wsh.Cells(n + 1, n + 1) = "Сумма главной диагонали равна " & m EndSub Рисунок 11. Вывод программы в виде двухмерного массива Задача 3. Вставить по одному элементу перед всеми положительными элементами Рисунок 12. Вводится любое количество элементов Public Sub Da() Dim n As Integer Dim A() Dim B() Dim j As Variant n = InputBox("Количествоэлементов", , 10) ReDim Preserve A(1 To n) ReDim Preserve B(1 To n) For i = 1 To n A(i) = Int(10 * Rnd()) - Int(5 * Rnd()) Next i Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To n wsh.Cells(1, i) = A(i) Next i j = 1 For i = 1 To n If (A(i) Mod 2 <> 0) And (A(i) Mod 7 <> 0) Then B(j) = A(i) j = j + 1 End If Next i For j = 1 To n wsh.Cells(2, j) = B(j) Next j EndSub Рисунок 13. Вывод программы в виде двух массивов Блок 3. Задача 1. Заполнить квадратный массив В размером NxN следующим образом: 011110 201104 220044 220044 203304 033330 Рисунок 14. Вводится n элементов Dim n, a, b As Integer Dim MatricaB() As Integer Public Sub Massiv() n = InputBox("Введите n") ReDimMatricaB(n, n) For i = 1 To n For j = 1 To n MatricaB(i, j) = 1 ActiveSheet.Cells(i, j) = MatricaB(i, j) Next j Next i a = 1 For i = 1 To n For j = 1 To a MatricaB(i, j) = 2 ActiveSheet.Cells(i, j) = MatricaB(i, j) Next j a = a + 1 Next i a = n For j = 1 To n For i = a To n MatricaB(i, j) = 3 ActiveSheet.Cells(i, j) = MatricaB(i, j) Next i a = a - 1 Next j a = n For j = 1 To n For i = a To n MatricaB(i, j) = 3 ActiveSheet.Cells(i, j) = MatricaB(i, j) Next i a = a - 1 Next j a = n / 2 b = (n / 2) + 1 For j = (n / 2) + 1 To n For i = a To b MatricaB(i, j) = 4 ActiveSheet.Cells(i, j) = MatricaB(i, j) Next i a = a - 1 b = b + 1 Next j j = 1 For i = 1 To n MatricaB(i, j) = 0 ActiveSheet.Cells(i, j) = MatricaB(i, j) j = j + 1 Next i i = n For j = 1 To n MatricaB(i, j) = 0 ActiveSheet.Cells(i, j) = MatricaB(i, j) i = i - 1 Next j End Sub Рисунок 15. Вывод программы в виде двухмерного массива Задача 2. Заполнить массив А размером NxM следующим образом: 21201918171615 891011121314 7654321 Рисунок 16. Ввод N элементов массива Рисунок 17. Ввод M элементов массива Sub too() Dim X() Dim n, m, Q, w, e, r, t, Y, u As Integer n = InputBox("N") m = InputBox("M") Q = n * m ReDim Preserve X(1 To n, 1 To m) For i = 1 To n For j = 1 To m X(i, j) = Q Q = Q – 1 Next j Next i Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To n For j = 1 To m wsh.Cells(i, j) = X(i, j) Next j Next i End Sub Рисунок 18. Вывод программы в виде двухмерного массива Задача 3. Заполнить квадратный массив В размером NxN следующим образом: 611115 261154 226544 225644 253364 533336 Рисунок 19. Ввод N элементов массива Dim N, a, b As Integer Dim Mass() As Integer Public Sub lala() N = InputBox("Введите N - размер массива") ReDimMass(N, N) For i = 1 To N For j = 1 To N Mass(i, j) = 1 ActiveSheet.Cells(i, j) = Mass(i, j) Next j Next i a = 1 For i = 1 To N For j = 1 To a Mass(i, j) = 2 ActiveSheet.Cells(i, j) = Mass(i, j) Next j a = a + 1 Next i a = N For j = 1 To N For i = a To N Mass(i, j) = 3 ActiveSheet.Cells(i, j) = Mass(i, j) Next i a = a - 1 Next j a = N For j = 1 To N For i = a To N Mass(i, j) = 3 ActiveSheet.Cells(i, j) = Mass(i, j) Next i a = a - 1 Next j a = N / 2 b = (N / 2) + 1 For j = (N / 2) + 1 To N For i = a To b Mass(i, j) = 4 ActiveSheet.Cells(i, j) = Mass(i, j) Next i a = a - 1 b = b + 1 Next j j = 1 For i = 1 To N Mass(i, j) = 6 ActiveSheet.Cells(i, j) = Mass(i, j) j = j + 1 Next i i = N For j = 1 To N Mass(i, j) = 5 ActiveSheet.Cells(i, j) = Mass(i, j) i = i - 1 Next j End Sub Рисунок 20. Вывод программы в виде двухмерного массива
Блок 4. Задача 1. Пусть шесть населенных пунктов, обозначенные номерами от 1 до 6 (величина k), а пять кандидатов – номерами от 1 до 5 (величина n). Количество голосов, набранных кандидатами в каждом пункте, определяется формулой ak=random(10i+50), где i – номер Вашего варианта. В результате получается таблица результатов голосования, где значения в строках – данные из населенных пунктов, а в столбцах – данные по конкретным кандидатам. Создайте в подпрограмме одномерный массив с искомыми данными в соответствии со своим вариантом. В каких населенных пунктах первый кандидат набрал максимальное количество голосов? У кого из кандидатов наименьший рейтинг? Рисунок 21.Просто включаем программу Sub rii() Dim X(1 To 5) As String Dim C(1 To 6) As String Dim V(1 To 5) Dim b(1 To 5) Dim n(1 To 5) Dim a(1 To 5) Dim S(1 To 5) Dim D(1 To 5) Dim P(1 To 6) Dim Q(1 To 5) Dim f, g, h, j, k, l As Long Dim t, y, r, e, w, u As String X(1) = "Иванов" X(2) = "Петров" X(3) = "Сидоров" X(4) = "Карандашов" X(5) = "Ручкин" C(1) = "Иваново" C(2) = "Петрово" C(3) = "Сидорово" C(4) = "Карандашово" C(5) = "Ручкино" C(6) = "Ноябрьск" Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To 5 wsh.Cells(i + 1) = X(i) Next i For j = 1 To 6 wsh.Cells(j + 1, 1) = C(j) Next j For i = 1 To 5 V(i) = Int(200 * Rnd()) b(i) = Int(200 * Rnd()) n(i) = Int(200 * Rnd()) a(i) = Int(200 * Rnd()) S(i) = Int(200 * Rnd()) D(i) = Int(200 * Rnd()) Next i For i = 1 To 5 wsh.Cells(2, i + 1) = V(i) wsh.Cells(3, i + 1) = b(i) wsh.Cells(4, i + 1) = n(i) wsh.Cells(5, i + 1) = a(i) wsh.Cells(6, i + 1) = S(i) wsh.Cells(7, i + 1) = D(i) Next i f = 0 g = 0 h = 0 j = 0 k = 0 l = 0 f = V(1) + b(1) + n(1) + a(1) + S(1) + D(1) g = V(2) + b(2) + n(2) + a(2) + S(2) + D(2) h = V(3) + b(3) + n(3) + a(3) + S(3) + D(3) k = V(4) + b(4) + n(4) + a(4) + S(4) + D(4) l = V(5) + b(5) + n(5) + a(5) + S(5) + D(5) If f < g And f < h And f < k And f < l Then MsgBox "Наименьший ретинг у Иванова" End If If g < f And g < h And g < k And g < l Then MsgBox "Наименьший ретинг у Петрова" End If If h < g And h < f And h < k And h < l Then MsgBox "Наименьший ретинг у Сидорова" End If If k < g And k < h And k < f And k < l Then MsgBox "Наименьший ретинг у Карандашова" End If If l < g And l < h And l < k And l < f Then MsgBox "Наименьший ретинг у Ручкина" End If If V(1) > b(1) And V(1) > n(1) And V(1) > a(1) And V(1) > S(1) And V(1) > D(1) Then MsgBox "У Иванова наибольший ретинг в Иваново" End If If b(1) > V(1) And b(1) > n(1) And b(1) > a(1) And b(1) > S(1) And b(1) > D(1) Then MsgBox "У Иванова наибольший ретинг в Петрово" End If If n(1) > b(1) And n(1) > V(1) And n(1) > a(1) And n(1) > S(1) And n(1) > D(1) Then MsgBox "У Иванова наибольший ретинг в Сидорово" End If If a(1) > b(1) And a(1) > n(1) And a(1) > V(1) And a(1) > S(1) And a(1) > D(1) Then MsgBox "У Иванова наибольший ретинг в Карандашово" End If If S(1) > b(1) And S(1) > n(1) And S(1) > a(1) And S(1) > V(1) And S(1) > D(1) Then MsgBox "У Иванова наибольший ретинг в Ручкино" End If If D(1) > b(1) And D(1) > n(1) And D(1) > a(1) And D(1) > S(1) And D(1) > V(1) Then MsgBox "У Иванова наибольший ретинг в Ноябрьске" End If End Sub Рисунок 22. Вывод программы в виде таблицы с вплывающим окном Рисунок 23. Вывод программы в виде таблицы с вплывающим окном Задача 2. Пусть шесть населенных пунктов, обозначенные номерами от 1 до 6 (величина k), а пять кандидатов – номерами от 1 до 5 (величина n). Количество голосов, набранных кандидатами в каждом пункте, определяется формулой ak=random(10i+50), где i – номер Вашего варианта. В результате получается таблица результатов голосования, где значения в строках – данные из населенных пунктов, а в столбцах – данные по конкретным кандидатам. Создайте в подпрограмме одномерный массив с искомыми данными в соответствии со своим вариантом. В каком населенном пункте проголосовало наибольшее количество людей?У кого из кандидатов рейтинг превысил некоторое заданное число р? Рисунок 24. Ввод значения рейтинга Sub rii() Dim X(1 To 5) As String Dim C(1 To 6) As String Dim V(1 To 5) Dim b(1 To 5) Dim n(1 To 5) Dim a(1 To 5) Dim S(1 To 5) Dim D(1 To 5) Dim P(1 To 6) Dim Q(1 To 5) Dim f, g, h, j, k, l, o As Long Dim t, Y, r, e, w, u As String o = InputBox("Введите значение рейтинга") X(1) = "Иванов" X(2) = "Петров" X(3) = "Сидоров" X(4) = "Карандашов" X(5) = "Ручкин" C(1) = "Иваново" C(2) = "Петрово" C(3) = "Сидорово" C(4) = "Карандашово" C(5) = "Ручкино" C(6) = "Ноябрьск" Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To 5 wsh.Cells(i + 1) = X(i) Next i For j = 1 To 6 wsh.Cells(j + 1, 1) = C(j) Next j For i = 1 To 5 V(i) = Int(10000 * Rnd()) b(i) = Int(10000 * Rnd()) n(i) = Int(10000 * Rnd()) a(i) = Int(10000 * Rnd()) S(i) = Int(10000 * Rnd()) D(i) = Int(10000 * Rnd()) Next i For i = 1 To 5 wsh.Cells(2, i + 1) = V(i) wsh.Cells(3, i + 1) = b(i) wsh.Cells(4, i + 1) = n(i) wsh.Cells(5, i + 1) = a(i) wsh.Cells(6, i + 1) = S(i) wsh.Cells(7, i + 1) = D(i) Next i f = 0 g = 0 h = 0 j = 0 k = 0 l = 0 For i = 1 To 5 f = f + V(i) g = g + b(i) h = h + n(i) j = j + a(i) k = k + S(i) l = l + D(i) Next i P(1) = f P(2) = g P(3) = h P(4) = j P(5) = k P(6) = l Max = P(1) For i = 1 To 6 If P(i) > Max Then Max = P(i) u = C(i) End If Next i wsh.Cells(9, 2) = "Наибольшее число проголосовавших в населенном пункте: " & u For i = 1 To 5 Q(i) = V(i) + b(i) + n(i) + a(i) + S(i) + D(i) Next i If Q(1) > o Then t = X(1) End If If Q(2) > o Then Y = X(2) End If If Q(3) > o Then r = X(3) End If If Q(4) > o Then e = X(4) End If If Q(5) > o Then w = X(5) EndIf MsgBox "Кандидаты, у которых рейтинг больше введенного: " & t & " " & Y & " " & r & " " & e & " " & w EndSub Рисунок 25. Вывод программы в виде таблицы с вплывающим окном Задача 3. Пусть шесть населенных пунктов, обозначенные номерами от 1 до 6 (величина k), а пять кандидатов – номерами от 1 до 5 (величина n). Количество голосов, набранных кандидатами в каждом пункте, определяется формулой ak=random(10i+50), где i – номер Вашего варианта. В результате получается таблица результатов голосования, где значения в строках – данные из населенных пунктов, а в столбцах – данные по конкретным кандидатам. Создайте в подпрограмме одномерный массив с искомыми данными в соответствии со своим вариантом. Сколько избирателей принли участие в голосовании в каждом из населенных пунктов? В каких населенных пунктах первый и пятый кандидаты набрали более 100 голосов? Рисунок 26. Просто включаем программу Sub rii() Dim X(1 To 5) As String Dim C(1 To 6) As String Dim V(1 To 5) Dim b(1 To 5) Dim n(1 To 5) Dim a(1 To 5) Dim S(1 To 5) Dim D(1 To 5) Dim P(1 To 6) Dim Q(1 To 5) Dim f, g, h, j, k, l As Long Dim t, y, r, e, w, u As String X(1) = "Иванов" X(2) = "Петров" X(3) = "Сидоров" X(4) = "Ермаков" X(5) = "Кренделев" C(1) = "Иваново" C(2) = "Петрово" C(3) = "Сидорово" C(4) = "Ермаково" C(5) = "Кренделево" C(6) = "Ермолаево" Set wsh = ActiveSheet wsh.Cells.Clear For i = 1 To 5 wsh.Cells(i + 1) = X(i) Next i For j = 1 To 6 wsh.Cells(j + 1, 1) = C(j) Next j For i = 1 To 5 V(i) = Int(200 * Rnd()) b(i) = Int(200 * Rnd()) n(i) = Int(200 * Rnd()) a(i) = Int(200 * Rnd()) S(i) = Int(200 * Rnd()) D(i) = Int(200 * Rnd()) Next i For i = 1 To 5 wsh.Cells(2, i + 1) = V(i) wsh.Cells(3, i + 1) = b(i) wsh.Cells(4, i + 1) = n(i) wsh.Cells(5, i + 1) = a(i) wsh.Cells(6, i + 1) = S(i) wsh.Cells(7, i + 1) = D(i) Next i f = 0 g = 0 h = 0 j = 0 k = 0 l = 0 For i = 1 To 5 f = f + V(i) g = g + b(i) h = h + n(i) j = j + a(i) k = k + S(i) l = l + D(i) Next i For i = 1 To 6 wsh.Cells(2, 8) = "Общее количество проголосовавших в Иваново равно: " & f wsh.Cells(3, 8) = "Общее количество проголосовавших в Петрово равно: " & g wsh.Cells(4, 8) = "Общее количество проголосовавших в Сидорово равно: " & h wsh.Cells(5, 8) = "Общее количество проголосовавших в Ермаково равно: " & j wsh.Cells(6, 8) = "Общее количество проголосовавших в Кренделево равно: " & k wsh.Cells(7, 8) = "Общее количество проголосовавших в Ермолаево равно: " & l Next i MsgBox "Рейтин больше 100 у Иванова в следующих населенных пунктах:" If V(1) > 100 Then MsgBox "Иваново" End If If b(1) > 100 Then MsgBox "Петрово" End If If n(1) > 100 Then MsgBox "Сидорово" End If If a(1) > 100 Then MsgBox "Ермаково" End If If S(1) > 100 Then MsgBox "Кренделево" End If If D(1) > 100 Then MsgBox "Ермолаево" End If MsgBox "Рейтин больше 100 у Ермолаева в следующих населенных пунктах:" If V(5) > 100 Then MsgBox "Иваново" End If If b(5) > 100 Then MsgBox "Петрово" End If If n(5) > 100 Then MsgBox "Сидорово" End If If a(5) > 100 Then MsgBox "Ермаково" End If If S(5) > 100 Then MsgBox "Кренделево" End If If D(5) > 100 Then MsgBox "Ермолаево" End If End Sub Рисунок 27. Вывод программы в виде таблицы с вплывающим окном Рисунок 28. Вывод программы в виде таблицы с вплывающим окном Рисунок 29. Вывод программы в виде таблицы с вплывающим окном Рисунок 30. Вывод программы в виде таблицы с вплывающим окном Рисунок 31. Вывод программы в виде таблицы с вплывающим окном Рисунок 32. Вывод программы в виде таблицы с вплывающим окном Рисунок 33. Вывод программы в виде таблицы с вплывающим окном Рисунок 34. Вывод программы в виде таблицы с вплывающим окном Список литературы. Основы программирования на Visual Basic и VBA в Exel 2007 /Г. З. Гарбер , 2008 MATLAB. Программирование на Visual С#, Borland JBuilder, VBA /Н. К. Смоленцев, 2009 Visual Basic в задачах и примерах / И.К. Сафронов, 2008 Visual Basic 2010 на примерах / В. В. Зиборов, 2010 Программирование на VBA в Microsoft Office 2010 / Л. Д. Слепцова, 2010 Visual Basic 6. Учебный курс / С. Браун, 2007 VBA и макросы в Microsoft Office Exsel 2007 / Билл Джелен, Трейси Сирстад, 2008 Программирование на VBA в Microsoft Office 2007. Самоучитель / Л. Д. Спепцова, 2007 Exsel и VBA:Профессиональная разработка приложений / Стивет Буллен, Роб Боуви, Джон Грин, 2007 Приемы программирования в среде Visual Basic for Application MS Office / Ф.И. Воробьева, Е.С. Воробьев, 2010 Интернет-ресурсы: http://эссе.рф - сборник не проиндексированных рефератов. Поиск по рубрикам и теме. Большинство текстов бесплатные. Магазин готовых работ. |
© 2010–2021 Эссе.рф: Библиотека учебных материалов |