Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
050422_B73F6_otvety_na_ekzamen_po_informatike_v...doc
Скачиваний:
12
Добавлен:
24.09.2019
Размер:
138.24 Кб
Скачать

24. Магистрально-модульный принцип построения компьютера, характеристики процессоров, шина адреса и шина данных.

В основу архитектуры современных персональных компьютеров положен магистрально-модульный принцип (рис. 7). Модульный принцип позволяет потребителю самому комплектовать нужную ему конфигурацию компьютера и производить при необходимости ее модернизацию. Модульная организация компьютера опирается на магистральный (шинный) принцип обмена информацией между устройствами.

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

Шина данных. По этой шине данные передаются между различными устройствами. Разрядность шины данных определяется разрядностью процессора, т. е. количеством двоичных разрядов, которые процессор обрабатывает за один такт.

Шина адреса. Каждая ячейка оперативной памяти имеет свой адрес. Адрес передается по адресной шине. Разрядность шины адреса определяет адресное пространство процессора, т. е. количество ячеек оперативной памяти, которые могут иметь уникальные адреса.

31. Структурированные типы данных, массивы, типы массивов. Назначение примеры.

1. Виды массивов.

Массив - упорядоченный набор однотипных данных, обозначенный одним именем.

Массивы бывают одномерные и многомерные (в основном двумерные).

Общий синтаксис определения массива следующий:

Dim ИмяМассива(нижн граница То верхн граница) As Тип

По умолчанию нижняя граница индексов массива равняется 0.

1.1. Описание одномерных массивов.

Одномерные массивы имеют один индекс.

Например,

Dim A(10) As Long ‘одномерный массив размером от 0 до 10

Dim my(5 To 10) As Long ‘одномерный массив размерность которого 6 элементов (5,6,7,8,9,10).

Dim D(50) ‘одномерный массив, состоящий из 51 элемента типа Variant.

Dim BirthDay(1 To 10) As Date BirthDay ‘одномерный массив дат с индексами от 1 до 10.

1.2. Описание многомерных массивов.

Dim Spisok(10, 25) As Long ‘двумерный массив размерностью 10 на 25.

Dim B(1 To 8, 1 To 8) As String ‘двумерный массив размерностью 8 столбцов на 8 строк, с типом данных String.

Dim Matrix(3, 4) As Integer ' Matrix является двумерным массивом 3 на 4 значений типа Integer.

Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double ' MyMatrix является трехмерным массивом значений типа Double с явно заданными границами индексов.

2.3. Заполнение массива случайными значениями.

Для заполнения массивов случайными значениями используется оператор генерации случайного числа Rnd, который при каждом следующем запуске цикла генерирует новое случайное число.

Пример : Дан одномерный массив, состоящий из 10 элементов. Заполнить массив случайными числами в диапазоне от 10 до 20.

Sub kol()

Dim S(10) As Integer

For i = 1 To 10

z = Int(11*Rnd+10)

S(i)=z

Cells(i, 1) = S(i)

Next i

End Sub

32. Условный оператор в vba.

Часто необходимо, чтобы часть программы выполнялась бы только при выполнении определенных условий. Решение данной проблемы заключается в использовании специальных конструкций, использующих операторы ветвления.

Общий вид данной конструкции:

If <логическое выражение> Then <список операторов> End If

<логическое выражение> - это простое или сложное условие, или логическая константа (true или folse)

Сложное условие состоит из простых условий, соединенных логическими операциями AND или OR

Например: (а<b) AND (c>=b)

Алгоритм

1)Вычисляется значение логического выражения

2)Если значение логического выражения true, то выполняется список операторов

3)Если значение логического выражения folse, то ничего не выполняется

Дополнительная ветвь условного перехода:

If <логическое выражение> Then

<список операторов1>

Else

<список операторов2>

End If

Алгоритм

1)Вычисляется значение логического выражения

2)Если значение логического выражения true, то выполняется список операторов 1

3)Если значение логического выражения folse, то выполняется список операторов 2

Несколько вложенных друг в друга операторов:

If <логическое выражение1> Then

<список операторов1>

ElseIf <логическое выражение2> Then

<список операторов2>

ElseIf <логическое выражениеN> Then

<список операторовN>

End If

Алгоритм

1)Вычисляется значение логического выражения 1

2)Если значение логического выражения 1 - true, то выполняется список операторов 1

3)Если значение логического выражения 1 - folse, то выполняется список операторов 2

4)Если значение логического выражения 2 - true, то выполняется список операторов 2

5)Если значение логического выражения 2 - folse, то выполняется список операторов 3

4)Если значение логического выражения N - true, то выполняется список операторов N

5)Если значение логического выражения N - folse, то ничего не выполняется

Пример

a = inputbox("введите A")

if a=1 Then

b=10

c=b+20

Elseif a=2 then

b=20

c=b+30

Elseif a=3 then

b=30

c=b+40

End If