Работа с переменными типа Date

Если к переменной типа Date добавить или отнять от нее целое число, то хранимая дата увеличится или уменьшится на соответственное количество дней, дробная часть числа будет влиять на время внутри одного дня. Например:

Dim FOO As Data

FOO = Now

Print FOO

Print FOO - 1000

При этом выведется текущая дата и время, и время и дата на 1000 дней назад.

Скобки и порядок выполнения операций.

При выполнении вычислений существуют два способа, позволяющих указать порядок, в котором должны происходить операции. Первый состоит в применении скобок. Например, 5*(3+4), приоритет операций в скобках дает результат 35.

Второй - это порядок иерархии в выполнении арифметических операций:

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

Изменение знака числа (с положительного на отрицательный).

Умножение и деление.

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

Операция Mod.

Сложение и вычитание.

Преобразование типов данных.

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

Функции Результат
CInt CLnq CSnq CDbl CCur CStr CVar CBool CByte CDate Округляет число до целого Округляет число до длинного целого Преобразует число с обычной точностью Преобразует число с двойной точностью Преобразует число Currency Преобразует любые выражения в строку Преобразует любое выражение к типу Variant Преобразует число к типу Boolean Преобразует число к типу Byte Преобразует подходящее выражение в дату.

Константы.

Именованные константы Visual Basic позволяют использовать мнемонические имена для неизменных значений. Константы объявляются аналогично переменным, на них распространяются те же правила: не более 200 символов и первый символ обязательно буква.

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

Объявить константу можно непосредственно в процедуре, при этом доступ к константе имеет только данная процедура.

Константу объявляют при помощи зарезервированного слова Const, за которым следует ее имя, символ «=» и её значение. Например:

Const Pie = 3,14159

Объявить можно и строковые константы:

Const Language = «Visual Basic»

Visual Basic имеет также множество встроенных констант. Например: vbCrLf.

Встроенные константы можно вставить из Object Browser. Данное окно вызывается при нажатии клавиши F2 или посредством меню View (Alt+V+O)

Чтобы вставить константу в программу:

Убедитесь, что курсор находится в окне Code

Щелкнуть в окне Object Browser по кнопке Copy to Clipboard (копировать в буфер обмена)

3) Перейти в программу на то место, где необходимо вставить константу и нажать Ctrl + V.

Парадигмы языков программирования

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

- императивная;

- функциональная;

- декларативная;

- объектно-ориентированная.

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

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

Фундаментальная идея процедурного программиро­вания — использование памяти компьютера для хранения данных. Функционирование программы сводится к последовательному вы­полнению команд с целью преобразования исходного состояния памяти, т.е. программа производит пошаговое преобразование содер­жимого памяти, изменяя его от исходного состояния к результиру­ющему.

К императивным языкам относятся такие распространенные языки программирования, как ALGOL-60, BASIC, FORTRAN, PL/1, Ada, Pascal, С, C++, Java.

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

функцияn ( ... функция2 (функция1 (данные)) ... ).

Суть функционального (аппликативного) программирования опре­делена А.П. Ершовым как «способ составления программ, в которых единственным действием является вызов функции, единственным спо­собом расчленения программы на части является введение имени фун­кции, а единственным правилом композиции — оператор суперпозиции функций. Никаких ячеек памяти, ни операторов присва­ивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

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

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

Функциональное программирование не рассматривает память как место для хранения данных, в нем используется математическое понятие переменной и функции. Переменные временно обозначают объекты программы. Как и в математике, функции функциональных языков отображают одни объекты в другие, аргументы — в значения. Нет принципиальных различий между константами и функциями, т.е. между операциями и данными. Функция может быть результатом обращения к другой функции и может быть элементом структури­рованного объекта. При обращении к функции число ее аргументов не обязательно должно совпадать с числом параметров, определен­ных при ее описании.

На практике наибольшее распространение получили язык функционального программирования LISP и два его диалекта: язык Common LISP и язык Scheme.

Кроме языка LISP, основной областью применения которого являются системы искусственного интеллекта, известны и другие языки функционального программирования: ML (MetaLanguage), Miranda и Haskell. Программирование как на императивных, так и на функциональных языках является процедурным. Это означает, что программы на этих языках содержат указания, как нужно выполнять вычисления.

Декларативные языки программирования - это языки программирования, в которых операторы представляют собой объявления или высказывания в символьной логике. Типичным примером таких языков являются языки логического программирования (языки, основанные на системе правил).

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

разрешающее условие 1 → последовательность операторов 1

разрешающее условие 2 → последовательность операторов 2

разрешающее условие n → последовательность операторов n

Концепция логического программирования базируется на поня­тии отношение. Логическая программа — это совокупность аксиом и правил, определяющих отношения между объектами и целью. Выпол­нение программы представляет собой попытку доказательства ло­гического утверждения, построенного из программы по правилам, определенным семантикой используемого языка. Результатом вычис­лений является вывод следствий из аксиом. Алгоритм логической программы предполагает определение и перечень специфических свойств объектов и отношений между ними, а не определение по­рядка выполнения отдельных шагов. Это подтверждает декларатив­ный характер логического языка программирования. Логические про­граммы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

Наши рекомендации