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