Методические указания к выполнению самостоятельных работ для студентов специальностей 080105. 65 Финансы и кредит; 080109. 65 Бухгалтерский учёт анализ и аудит; Калининград

Вид материалаМетодические указания

Содержание


Контрольная работа № 3 Работа с массивами. Строковые данные
Dim Fam as string
Dim S as string*30
Dim X(10) as single
Print Fam(5)
Dim Sotrudnik(1990 to 2000)
Dim Tabl(10,25) as single
Dim x(4, 4) As Byte, SumStr(4) As Byte, SumStolb(4) As Byte
Список литературы
Подобный материал:
1   2   3

Контрольная работа № 3

Работа с массивами. Строковые данные



Для хранения строковых данных используются переменные типа String. Каждый символ, сохранённый в переменной типа String, занимает один байт памяти. Различные операционные системы поддерживают различную максимальную длину строки. Для того чтобы VB отличал строковую константу от имени переменной, строковая константа заключается в кавычки, например:

Dim Fam as string

Fam="Сазонов"

Длина переменной ограничивается лишь операционной системой, но при необходимости её можно указать явно, например:

Dim S as string*30 – в этом случае строка может содержать максимум 30 символов.

Для строковых данных определена операция объединения строк (конкатенация). В качестве оператора объединения строк в VB можно использовать как знак +, так и &.

Возможно сравнение строк. Большей считается та строка, у которой первый несовпадающий символ имеет больший код.

Для работы с данными типа String в VB используются стандартные функции:

Left(S,n) - выделение начала строки S (подстроки длиной n символов);

Right(S,n) - выделение конца строки S (подстроки длиной n символов);

Mid(S,n1,n2) - выделение из строки S подстроки длиной n2 символов, начиная с символа с номером n1;

Instr(n,S1,S2) – поиск в строке S1 первого вхождения подстроки S2, начиная с символа с номером n. Если подстрока S2 найдена, то функция возвращает номер символа, в котором начинается искомая подстрока. Если подстрока не найдена, то функция возвращает 0;

Len(S) – определение длины строки в символах. Если при описании переменной S указана максимальная длина строки, то функция выдаёт это значение, если нет – то функция выдаёт фактическое количество символов в строке;

Val(S) преобразование строки в число. Чтобы это преобразование прошло успешно, строка должна содержать только допустимые для чисел символы: цифры, знаки "+" или "-", десятичную точку;

Str(X) – преобразование числа в строку;

Asc(S) – выдаёт ASCII код первого символа строки;

Chr(X) – возвращает символ, соответствующий указанному коду ASCII .

Массивы

Упорядоченная совокупность элементов одного типа. Каждый элемент в массиве имеет порядковый номер, называемый индексом.

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

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

Dim X(10) as single

Все элементы массива имеют одинаковое имя, и каждый элемент имеет свой индекс. При описании статических массивов в оперативной памяти выделяется место для хранения всех его элементов.

Обращение: Имя(индекс), например, чтобы вывести фамилию 5-го сотрудника, надо выполнить оператор:

Print Fam(5)

В VB индексирование начинается с 0, т.е. индекс 0 обозначает первый элемент массива. В элементе массива с нулевым индексом удобно сохранять некоторую дополнительную информацию, например, количество элементов в массиве.

Можно задать другие границы массива:

Dim Sotrudnik(1990 to 2000), таким образом можно задать верхнюю и нижнюю границы индекса. Это удобно, если индекс несёт некоторую смысловую нагрузку. В данном примере в массиве хранится количество сотрудников по годам, а индекс означает год.

Пример. Упорядочить массив из 11 чисел по убыванию. Вывести упорядоченный массив.

Для решения этой задачи требуется организовать сложный цикл, в котором очередной элемент массива сравнивается с последующими. После первого выполнения внешнего цикла элемент S(0) должен содержать максимальное значение, после второго - элемент S(1) должен содержать максимальное значение из оставшихся и т.д.




For i = 0 To 9

For j = i + 1 To 10

If S(i) < S(j) Then

v = S(i)

S(i) = S(j)

S(j) = v

End If

Next j

Next i

For i = 0 To 10

Print S(i);

Next i

В этом примере элемент i - это номер очередного упорядочиваемого элемента, а j задаёт номера последующих элементов, с которыми сравнивается очередной, переменная V используется для временного хранения одного элемента массива, если значения сравниваемых элементов массива надо поменять местами.

При объявлении многомерных массивов индексы указываются через запятую, количество индексов равно размерности.

Dim Tabl(10,25) as single

В массиве Tabl 11 строк и 26 столбцов.

Для обработки многомерных массивов используют сложные циклы.

Пример.

Элементы двумерного массива из пяти строк и пяти столбцов задаются генератором случайных чисел и принимают значения от 0 до 10. Вывести заданный массив. Найти суммы строк и суммы столбцов, сохранив их в одномерных массивах.

Dim x(4, 4) As Byte, SumStr(4) As Byte, SumStolb(4) As Byte

Dim i As Byte, j As Byte

For i = 0 To 4

For j = 0 To 4

x(i, j) = 1 + Rnd * 10

Print x(i, j);

Next j

Print

Next i

For i = 0 To 4

SumStr(i) = 0

For j = 0 To 4

SumStr(i) = SumStr(i) + x(i, j)

Next j

Next i

For j = 0 To 4

SumStolb(j) = 0

For i = 0 To 4

SumStolb(j) = SumStolb(j) + x(i, j)

Next i

Next j

Print "Суммы строк"

For i = 0 To 4

Print SumStr(i);

Next i

Print

Print "Суммы столбцов"

For i = 0 To 4

Print SumStolb(i);

Next i

End Sub

Задание

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

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

В соответствии с последней цифрой номера зачётной книжки выполнить вариант задания.

Контрольная работа оформляется с использованием редактора Word. Текст должен быть распечатан на стандартных листах 11-го формата. Образец титульного листа приведён на рис. 1. В контрольной работе привести блок-схемы всех разработанных алгоритмов и исходные тексты всех процедур.


Варианты заданий:


0. Вычислить средний балл по заданному предмету.
  1. Вычислить средний балл каждого студента.
  2. Вывести список студентов, имеющих все пятёрки.
  3. Вывести список студентов, имеющих оценки 4 и 5.
  4. Вычислить средний балл для заданного студента.
  5. Вычислить средний балл по каждому предмету.
  6. Вывести список неуспевающих студентов и названия предметов, по которым у них имеются двойки.
  7. Вывести название предмета, по которому самая высокая успеваемость.
  8. Вывести название предмета, по которому самая низкая успеваемость.
  9. Вычислить среднюю успеваемость в группе, количество студентов, успевающих на 4 и 5.


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

Список литературы




  1. Информатика для юристов и экономистов/ С.В. Симонович, Г.А. Евсеев, В.И. Мураховский и др. - СПб.: Питер, 2001, 687с.
  2. Глушков С.В., Программирование на Visual Basic 6.0 Учебный курс /С.В. Глушков, А.С. Сурядный – Харьков: Фолио, 2004 – 457с.
  3. Петров В.Н. Информационные системы/ В.Н. Петров - СПб.: Питер, 2003, 687с.
  4. Эд Ботт, Вуди Леонард Использование Microsoft Office XP, Сециальное издание/ Эд Ботт, Вуди Леонард - М.: Издательский дом «Вильямс», 2002
  5. Культин Н.Б. Visual Basic. Освой на примерах/ Н.Б. Культин. - СПб: БХВ-Петербург, 2005.-288 с.
  6. Петцольд Ч. Программирование для Microsoft Windows на Microsoft Visual Basic.Net в 2-х томах: пер. с англ./ Ч. Петцольд, - М.: Издательско-торговый дом «Русская Редакция», 2002-560с.,624с.
  7. Гарнаев А.Ю. EXCEL, VBA, INTERNET в экономике и финансах/ А.Ю. Гарнаев - СПб.: БХВ-Петербург, 2001, 816с.



ГАЛИНА ВЛАДИМИРОВНА ЛОМАКИНА

НИНА БОРИСОВНА РОЗЕН


Информатика


Методические указания к выполнению самостоятельных работ для студентов специальностей 080105.65 – Финансы и кредит; 080109.65 – Бухгалтерский учёт анализ и аудит


Редактор Г.Е. Смирнова

Подписано в печать формат 60x84 91/16). Заказ

Тираж 30 экз. Объём п.л.;уч.-изд.л.

Цена договорная