Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен инфа1.docx
Скачиваний:
9
Добавлен:
15.04.2019
Размер:
453.64 Кб
Скачать

20.Назначение и синтаксис функции если

Синтаксис:

ЕСЛИ(логическое_выражение; значение_если_истина; значение_если_ложь).

  • Предназначение: Функция ЕСЛИ выполняет то ("Значение если ИСТИНА") или иное ("Значение если ЛОЖЬ") действие в зависимости от того, выполняется (равно ИСТИНА) условиеили нет (равно ЛОЖЬ).

  • аргумент1. Логическое выражение: Все, что дает в результате логические значения ЛОЖЬ или ИСТИНА. Обычно либо выражения отношения (A1>=12) либо функции, возвращающие логические значения (И, ИЛИ).

  • аргумент2. Значение если ИСТИНА: любое допустимое в Excel выражение.

  • аргумент3. Значение если ЛОЖЬ: любое допустимое в Excel выражение.

  • возвращаемое значение: может возвращать значения любых типов, в зависимости от аргументов 2 и 3.

Функция ЕСЛИ позволяет организовать в формуле ветвление. Вспомните сказки: налево пойдешь — коня потеряешь, прямо пойдешь — в болото попадешь, направо пойдешь — засосёт в чёрную дыру. Использование функций ЕСЛИ, И, ИЛИ граничит с программированием. Неудивительно, что для многих людей разобраться, как они работают, очень сложно. В голове должен быть чёткий алгоритм решения задачи и требуется хорошее понимание понятия "тип данных"

21.Назначение и синтаксис функций ДАТА, ВРЕМЯ.

ФУНКЦИЯ

ОПИСАНИЕ СИНТАКСИС

ДАТА

Возвращает заданную дату в числовом формате.

ДАТАЗНАЧ

Преобразует дату из текстового формата в числовой формат.

ДЕНЬ

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

ДНЕЙ360

Вычисляет количество дней между двумя датами на основе 360-дневного года.

ДАТАМЕС

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

КОНМЕСЯЦА

Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.

ЧАС

Преобразует дату в числовом формате в часы.

МИНУТЫ

Преобразует дату в числовом формате в минуты.

МЕСЯЦ

Преобразует дату в числовом формате в месяцы.

ЧИСТРАБДНИ

Возвращает количество рабочих дней между двумя датами.

ТДАТА

Возвращает текущую дату и время в числовом формате.

СЕКУНДЫ

Преобразует дату в числовом формате в секунды.

ВРЕМЯ

Возвращает заданное время в числовом формате.

ВРЕМЗНАЧ

Преобразует время из текстового формата в числовой формат.

СЕГОДНЯ

Возвращает текущую дату в числовом формате.

ДЕНЬНЕД

Преобразует дату в числовом формате в день недели.

НОМНЕДЕЛИ

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

РАБДЕНЬ

Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.

ГОД

Преобразует дату в числовом формате в год.

ДОЛЯГОДА

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

Функция ДАТА

Синтаксис:

ДАТА(год,месяц,день)

Результат: Сериальное число (от 0 до 2958456), соответствующее дате в числовом формате (в качестве начала отсчета принимается 01 января 1900 года).

Аргументы:

  • год - число (год) от 1900 до 9999 (или от 0 до 8099 соответственно);

  • месяц - номер месяца в году (если значение аргумента больше 12, то это число делится на 12, частное прибавляется к указанному значению года, а остаток выступает в качестве номера месяца; так, функция ДАТА(98,14,2) возвращает числовой формат даты 2 февраля 1999 года);

  • день - номер дня в месяце (если аргумент- день больше числа дней в указанном месяце, то алгоритм вычислений аналогичен описанному для аргумента месяц', так, функция ДАТА(99,1,35) возвращает числовой формат даты 4 февраля 1999 года).

Функция ВРЕМЯ

Синтаксис:

ВРЕМЯ(часы, минуты, секунды)

Результат: Значение времени в числовом формате, соответствующее введенным аргументам. Это десятичная дробь в интервале от 0 до 0,99999999, представляющая время суток от 0:00:00 (12:00:00 ночи) до 23:59:59 (11:59:59 вечера).

Аргументы:

  • часы - число от 1 до 24 (количество часов);

  • минуты - число от 1 до 59 (количество минут);

  • секунды - число от 1 до 59 (количество секунд).

22.Назначение и синтаксис функций ТДАТА, СЕГОДНЯ.

Функция ТДАТА

Синтаксис:

ТДАТА()

Результат: Сериальное число, соответствующее текущему времени суток и текущей дате (внутренних часов операционной системы).

Аргументы:

Нет.

Функция СЕГОДНЯ

Синтаксис:

СЕГОДНЯ()

Результат: Сериальное число текущей даты.

Аргументы:

Нет.

23.Понятие алгоритма, способы его описания. Виды алгоритмов.

Алгоритм-это последовательность инструкций, выполнение которых приводит к правильному решению поставленной задачи

Существует 3 способа задания алгоритма»

  1. Словесный - алгоритм, составленный на естественном, математическом языке

  2. Графический (блок-схема) – компактная форма записи алгоритма в виде специальных графических знаков, с указанием связи между ними. Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций. Перечень символов, их наименование, отображаемые ими функции, форма и размеры определяются ГОСТами.

  3. Текст программы – пишется, как правило, после составления блок-схемы на каком-либо алгоритмическом языке.

При всем многообразии алгоритмов решения задач в них можно выделить три основных вида вычислительных процессов: 1. линейный; Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов. 2. ветвящийся; Ветвящимся называется такой вычислительный процесс, в котором выбор направления обработки информации зависит от исходных или промежуточных данных (от результатов проверки выполнения какого-либо логического условия). 3. циклический. Циклом называется многократно повторяемый участок вычислений. Вычислительный процесс, содержащий один или несколько циклов, называется циклическим. По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла. При этом условие может проверяться в начале цикла — тогда речь идет о цикле с предусловием, или в конце — тогда это цикл с постусловием.

Назначение

Блок

Операторы (функция на VBA)

Начало и остановка подпрограммы

Элемент отображает вход из внешней среды или выход из нее (наиболее частое применение − начало и конец программы.

Sub

End Sub

Вычисления

Внутри фигуры записывают непосредственно сами операции, например, операцию присваиванияa = 10*b + c.

Логический блок (проверка условия)

Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Примеры решения: в общем случае − сравнение (три выхода: ><=); в программировании − условные операторы if (два выхода: truefalse) и Select Case (множество выходов), Do Loop

Предопределенный процесс (Вызов подпрограммы)

Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции.

Ввод-вывод значений

Inputbox(), Msgbox()- ввод-вывод с клавиатуры

Sheets().Cells()- ввод-вывод с листа

Граница цикла

Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ решения, указывая в нем условие, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).

Соединитель

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

Комментарий

Модификация (изменение)

Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией).

For….Next

24. Алгоритмический язык Visual Basic for Applications (VBA).

VBA - алгоритмический язык, оперирующий не машинными кодами, а условными символьными обозначениями. Программы, составленные на алгоритмическом языке не могут быть выполнены на компьютере. Чтобы такая программа заработала, её текст нужно преобразовать в машинные коды. Для этого существует программы-переводчики (трансляторы). Различаю 2 виды:

Компиляторы- транслируют программу сразу целиком и лишь после этого возможно её выполнение.

Интерпретатор- более простой транслятор, он последовательно транслирует операторы программы и также по частям её выполняет. Конкретно в VBA используется интерпретатор.

Подавляющее большинство программ состоит из следующих разделов:

  1. Ввод -получение данных из внешней среды

  2. Обработка данных по соответствующему алгоритму, хранение необходимой информации и сохранение.

  3. Вывод полученных результатов

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

Основу любого языка составляет алфавит- фиксированный набор символов, используемых для составления текстов на данном языке (в нашем случае программ). Алфавит языка VBA составляют 1.буквы латинского и русского алфавита, 2.арабские цифры, 3.специальные знаки (пробел, :, ', _, . , +, -, *, /, ^, “, #, %, !, <, >, =). Из символов 1 и 2 группы можно составлять слова. Слова подразделяются на служебные и слова пользователя. Из слов составляются операторы, а из операторов составляются подпрограммы. Подпрограммы могут быть связаны с каким-либо событием. Можно написать программу, которая будет выполнятся при открытие рабочей книги. Такие подпрограммы называются событийными. Кроме событийных можно писать подпрограммы общего назначения. Вызов таких подпрограмм организовывается самой программой. Подпрограммы общего назначения объединены в модули. Подпрограммы предназначены для реализации какого-либо алгоритма.

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

Основу любого языка составляет алфавит- фиксированный набор символов, используемых для составления текстов на данном языке (в нашем случае программ). Алфавит языка VBA составляют 1.буквы латинского и русского алфавита, 2.арабские цифры, 3.специальные знаки (пробел, :, ', _, . , +, -, *, /, ^, “, #, %, !, <, >, =). Из символов 1 и 2 группы можно составлять слова. Слова подразделяются на служебные и слова пользователя.

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

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

Переменные подразделяются на простые и индексированные (переменные с индексом). Индексированными переменными являются элементы массивов.

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

Имена переменных и констант должны удовлетворять следующим правилам:

  • первым символом всегда должна быть буква;

  • в составе имени нельзя использовать символы: !, @, &, $, # , пробел;

  • в качестве имени нельзя использовать ключевые (зарезервированные) слова, входящие в конструкции языка VBA;

  • длина имени не может быть более 255 символов;

  • имя нельзя повторять в пределах области его видимости (действия).

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

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

Арифметическим называется выражение, содержащее операнды только арифметического (вещественного и/или целого) типа и знаки математических операций.

Знак и приоритетность

Операция

Пример

Результат

^

Возведение в степень

3^2

9

-

Знак числа (смена знака)

-6

-6

*

Умножение

4*8

32

/

Деление

10/3

3,333333…

\

Целочисленное деление

10\3

3

mod

Остаток от деления по модулю

10 Mod3

1

+

Сложение

3+2

5

-

Вычитание

7-5

2

Выражение, содержащее хотя бы один знак логической операции, называется  логическим. Результатом выполнения такого выражения является логическая величина со значением либо True (истина), либо False (ложь).

Логическими операциями могут быть:

  • операции отношения (сравнения). Операнды этих операций могут иметь любой тип, кроме логического типа.

Знак

Операция

Примеры (при значениях a=6, b=3)

Результат

<

Меньше

b<7

True

>

Больше

“Вася”>“Маша”

False

<=

Меньше или равно

a+b<=12

True

>=

Больше или равно

b^2>=9

True

<>

Не равно

a<>b

True

=

Равно

B=10–a

False

  • специальные логические операции. Операнды  этих операций могут иметь только логический тип.

Знак

Операция

Пример

ЗначениеA

Значение B

Результат

Not

Логическое  отрицание

not A

True False

False True

And

Логическое  умножение (И)

A and B

True True False False

True False True False

True False False False

Or

Логическое  сложение (ИЛИ)

A or B

True True False False

True False True False

True True True False

Xor

Исключающее  ИЛИ

A xor B

True True False False

True False True False

False True True False

Строковое (текстовое)выражение может содержать операнды только символьного (текстового или строкового) типа. В языках программирования, в том числе и в VBA, имеется только одна строковая операция, которая носит название конкатенация или слияние  подстрок в строку. Запись этой операции можно производить как знаком “+”, так и знаком “&” (в VBA принято использовать знак “&”).

Знак

Пример

Результат

&

Крас”&“ное”

Красное”

+

Чёр”+“ное”

Чёрное”

Типы данных.

Тип данных

Описание

Диапазон

Byte

целое число 1 байт

От 0 до 255

Integer

целое число 2 байта

От –32768 до 32767

Long

длинное целое число 4 байта

От –2147483648 до 2147483647

Single

число с плавающей запятой одинарной точности 4 байта

а) для отрицательных чисел:

от –3,402823Е38

до –1,401298E-45

б) для положительных чисел:

от 1,401298E-45

до 3,402823E38

Double

число с плавающей запятой двойной точности 8 байт

a) для отрицательных чисел:

от –1,79769313486231E308

до –4,94065645841247E-324

б) для положительных чисел:

от 4,94065645841247E-324

до 1,79769313486231E308

Currency

  (денежный)

число с фиксированной десятичной точкой 8 байт

от –922.337.203.685.477.5808 до 922.337.203.685.477.5807

String

строка символов 1 байт

от 0 до 147483647 символов

Variant

Универсальный

Значения любого типа

Boolean

Логический 2 байта

True или False

Date

Дата 8 байт

от 1.01.100 года

до 31.12. 9999 года

Object

Объект 4 байта

Ссылка на любой объект

http://vtit.kuzstu.ru/books/shelf/book4/doc/chapter_11.html

26.Основные операторы языка VBA. Линейная программа.

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

Текст оператора можно продолжить на другой строке, если текущую строку закончить пробелом и символом подчёркивания (_).

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

VBA позволяет добавлять в текст программы комментарии – текст, начинающийся с апостроф ( ' ). Комментарии делают программу легкочитемой и временно отключают фрагменты программы при её отладке.

Оператор объявления переменных в языке VBA Dim, имеющего следующий синтаксис:

Dim <ИмяПеременной> [As <Тип данных>]

Const <ИмяПеременной> [As <Тип данных>]=<значение>

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

дов программы, а только резервирует память машины для хранения данных. Как

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

Оператор присваивания

Оператор присваивания предназначен для хранения в оперативной памяти рассчитываемых значений. Синтаксис:

[Let] <переменная или свойство объекта>= <Выражение>

Для присваивания объектной переменной ссылки на объект применяется конструкция Set, Синтаксис: Set <имя>= <выражение>

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

В VBA для принятия решения используется два оператора:

  1. If….Then…Else

If <условие> Then [<Команды>] [Else <Команды else>]

If Cумма >100 Then Скидка=0.05 Else Скидка=0

Допускается также запись в виде блока:

Данная форма позволяет проверять дополнительные условия

If Cумма >100 Then

Скидка=0.05

ElseIf Сумма>500 Then

Скидка=0.03

Else Скидка=0

End If

  1. Select Case

Select Case <Выражение>

[Case Список выражений-1

[Команды-1]]

….

[Case Список выражений-n

[Команды-n]]

[Case Else

[Команды-Else]]

End Select

Этот оператор выполняет одну из нескольких групп команд, в зависимости от значения <Выражения>

Select Case Число

Case 1

MsgBox(«Число равно 1»)

Case 2, 3

MsgBox(«Число равно 2 или 3»)

Case 4 To 6

MsgBox(«Число от 4 до 6»)

Case Is>=7

MsgBox(«Число не менее 7»)

End Select

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

Для описания циклических алгоритмов можно использовать 2 оператора VBA:

  1. For Next

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

Синтаксис:

For <Счётчик>=<Начало> To <Конец> [Step <Шаг>]

[<Команды>]

….

[Exit For]

[<Команды>]

Next [<Счётчик>]

Этот оператор повторяет выполнение группы команд, пока <Счётчик> изменяется от начального значения до конечного с указанным шагом. Если <Шаг> не указан, то он принимается равным 1.

For I=1 To 10

Sum=Sum+I

Next I

  1. Do Loop

1вариант

Пока условие верно , выполнять тело цикла

С предусловием С постусловием

Do While <условие> Do

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

Loop Loop While <условие>

2вариант

Пока условие неверно, выполнять тело цикла

С предусловием

С постусловием

Do Until <условие>

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

Loop

Do

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

Loop Until <условие>

Линейная программа

Решение любой задачи в компьютере - это вычислительный процесс. Вы­числительные процессы бывают линейные, разветвляющиеся и циклические.

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