Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bilety_k_ekzamenu_po_ine Полины.doc
Скачиваний:
14
Добавлен:
26.04.2019
Размер:
3 Mб
Скачать

Модель ячейки в Excel

Ячейка Excel на экране может содержать в себе следующие информацию:

  1. Имя ячейки

  2. Значение

  3. Формула

  4. Формат ячейки (формат данных + графическое оформление ячейки)

  5. Комментарий

  6. Правила проверки данных (data validation).

Некоторые из вышеперечисленных элементов могут быть пустыми.

Имя ячейки

Как уже говорилось выше, имя ячейки состоит из буквы (или 2 букв) и числа, например, A5, BZ112 и т.д.

При необходимости задать имя ячейки на другом листе это делается следующим образом: Лист1!A1, где Лист1 – имя листа, A1 – имя ячейки на этом листе.

В некоторых формулах иногда бывает необходимо задать диапазон ячеек. Это можно сделать простым перечислением ячеек через точку с запятой (A1;A3;A4), либо указав 2 угла прямоугольного диапазона, разделенного двоеточием (например, в диапазон A1:B3 входят ячейки A1,A2,A3,B1,B2,B3). Эти 2 метода можно комбинировать.

Относительные и абсолютные имена(адреса) ячеек

При копировании или переносе формул из ячейки в ячейку автоматически изменяются адреса влияющих ячеек в формулах. В большинстве случаев это очень удобно, но иногда этого не требуется. Например, требуется разделить содержимое ячеек А1 и А2 на содержимое ячейки А3. Запишем формулу в ячейку В1.

A B A

1 10 =A1/A3 1 10 =A1/$A$3

2 20 =A2 /A4 2 20 =A2/$A$3

3 2 3 2

Если ячейку В1 скопировать в ячейку В2 , то получим формулу А2/А4, т.к. происходит автоматическая замена адресов. Но это не то, что нужно.

Записав абсолютный адрес ячейки А3, мы имеем возможность копировать ячейку В1 сколько угодно раз, адрес ячейки А3 не изменится. Абсолютный адрес записывается с применением символа “$”, который ставится перед каждой «фиксируемой» частью имени. Например: $A1, A$1, $A$1.

  1. Инициализация переменных. Отличие инициализации от присваивания

(лекция 8)

Инициализация - это присваивание переменной (объекту) начального значения.

В яз. СИ большинство объектов может быть явно или неявно инициализировано в момент их объявления с помощью указания после их имени знака равенства и константного выражения.

Глобальные (внешние) и статические объекты (extern и static) инициализируются однократно в момент компиляции значением константного выражения. Автоматические (auto) и регистровые (register) объекты инициализируются значением любого выражения в процессе исполнения программы при каждом входе в блок, в котором они определены.

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

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

float pi=22.0/7.0;

static int counter=0;

char bell='\007'; // Записываем ОДИН символ с кодом 7

long max_size=512L*512L;

main()

{

int n=22;

int den=7;

static float pi=n/den; // Недопустимо – это не константное

// выражение.

float pi2=n/den; // Допустимо, т.к. класс памяти – auto

}

Следующие правила описывают процесс инициализации:

  1. Глобальные и статические переменные всегда инициализируются, и если это не сделано явно, то они инициализируются нулевым значением. Инициализация для них выполняется один раз перед началом программы. Если переменная целая, то ее начальное значение=0, если символьная, то "\0", если это число с плавающей точкой, то 0.0. Эти объекты могут быть явно инициированы только значением константного выражения.

  2. В объявлениях с классом памяти extern не допускается явная инициализация, так как эти объявления ссылаются на уже существующие и определенные ранее переменные.

Переменная, на которую делается ссылка с помощью спецификатора extern, может быть определена только один раз в одном из исходных файлов программы. В этом же месте происходит её инициализация

  1. Инициализация переменных с классом памяти auto или register выполняется всякий раз при входе в блок, в котором они объявлены. Переменные с этими классами памяти автоматически не инициализируется. Они могут быть проинициализированы явно значением любого выражения при объявлении.

Если явная инициализация переменных в объявлении отсутствует, то их начальное значение не определено. Оно будет получено из информации, которая прежде содержалась и продолжает содержаться в ячейках памяти, отведённых под переменную.

  1. Указатели инициализируются аналогично остальным переменным. При этом возможно использование оператора взятия адреса & для присвоения указателю адреса какой-либо переменной.

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

main()

{

static char i;

char *p=&i; // верно

static *ps=&i; // верно

}

Адрес же переменной с классом памяти auto таковым не является, и может быть записан при инициализации только в указатель с классом памяти auto.

main()

{

char i;

char *p=&i; // верно

static *ps=&i; //неверно

}

К переменным с классом памяти register операция взятия адреса & неприменима.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]