- Языковые средства визуального программирования
- Визуальные языки и среды разработки приложений. Классификация.
- Классы языков программирования:
- Характеристика языков программирования.
- Операционные системы и платформы программирования.
- 10.Основы визуального программирования
- 11.Использование переменных и констант
Языковые средства визуального программирования
Визуальные языки и среды разработки приложений. Классификация.
Язык программирования представляет собой совокупности данных и логических действий, с помощью которых осуществляется взаимодействия разработчика ПО с вычислительной средой. Данные используются для описания информации, а логические действия – для обработки данных. Существует более нескольких сотен языков программирования.
Классы языков программирования:
- Машинно-ориентированные языки низкого уровня программирования (автокоды и ассемблеры). Имеют связь с внешними устройствами ЭВМ.
- Процедурно-ориентированные машинно-независимые языки высокого уровня программирования (Fortran, Algol, Kobol).
- Проблемно-ориентированные языки высокого уровня программирования (GPSS, Statistica).
- Объектно-ориентированные языки (Visual Basic, Borland Delphi, C++, C#, Java, J#).
- Проблемно-ориентированные языки (sql, plsql) – языки для ведения баз данных.
- Веб-ориентированные языки (html, xml, java) для программирования в среде Internet.
Характеристика языков программирования.
Использование объектно-ориентированных языков программирования позволяет создавать различные приложения в различных сферах за счёт представления предметной области как совокупности взаимодействующих объектов для решения различных задач.
Операционные системы и платформы программирования.
Кроссплатформенные среды разработки позволяют на базе одного исходного кода генерировать исполняемое приложение для любой из поддерживаемых средой операционных систем. Операционная система представляет собой базовое программное обеспечение, управляющее аппаратными и программными ресурсами компьютера. Операционная система запускает прикладные программы и управляет их работой, распределяет между ними процессорное время и оперативную память, обеспечивает работу файловой системы. Важной функцией ОС является управление устройствами (устройства ввода, вывода, хранение – диски, сетевая аппаратура). В основе ОС лежит ядро. Ядро первым загружается в память компьютера при запуске ОС и обеспечивает взаимодействие с оборудованием на самом низком аппаратном уровне. Ядро реализует функции управления оперативной памятью, процессами и устройствами. Обслуживание конкретных типов устройств выполняется специальными программными драйверами. Ядро также занимается организацией взаимодействия прикладных программ с ОС. Ядро обычно находится в оперативной памяти и не выгружается во внешний файл подкачки, что характерно для прикладных программ. Ядро напрямую работает с физической памятью компьютера, и процессы ядра выполняются в привилегированном режиме с повышенным приоритетом. Взаимодействия пользователя с ОС осуществляется, как правило, через графический интерфейс. Средства организации графического интерфейса позволяют пользователю работать с окнами и элементами управления, обеспечивают обработку команд пользователя, поступающих от манипуляторов. В состав ОС обычно включается большое количество системных утилит, которые автоматизируют настройку функций ОС, управление файлами и другие операции. Кроме системных утилит, в ОС входит набор стандартных прикладных программ.
10.Основы визуального программирования
Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.
- графический язык программирования — который прежде всего язык программирования (со своим синтаксисом)
- визуальные средства разработки — как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему для быстрой разработки приложений илиSCADA-систему для программирования микроконтроллеров.
Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:
- языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы.
- языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств.
- языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.).
Визуально-преобразованные языки являются невизуальными языками с наложенным визуальным представлением (например, среда Visual C++ для языка C++). Естественно-визуальные языки имеют неотъемлемое визуальное выражение, для которого нет очевидного текстового эквивалента (например, графический язык G в среде LabVIEW).
В современных разработках делаются попытки интегрировать подход визуального программирования с программированием потоков данных (англ. dataflow programming), чтобы иметь непосредственный доступ к состоянию программы для онлайновой отладки, или автоматизированная генерация и документирование программы.
11.Использование переменных и констант
Описание и инициализация переменных
Прежде чем использовать в программе какую-то переменную, надо дать ей описание, то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:
int k; // это переменная целого типа int
double x; // это переменная вещественного типа удвоенной точности
Если имеется несколько переменных одного типа, то допускается их описание через запятую в одном операторе, например:
После описания переменной её можно использовать, но возникает вопрос: а какое значение имеет переменная сразу же после её описания? Ответ таков: в программе на языке C или C++ переменная после описания имеет произвольное значение. В переменной хранится та последовательность двоичных цифр, которая была там до выделения памяти под эту переменную. Такой подход таит определённую опасность: можно по ошибке использовать в выражении переменную, которой не было присвоено ни какое значение:
Так как переменная x ни как не была определена, т. е. имела произвольное значение, то и переменнаяy получит явно не то значение, на которое рассчитывал пользователь.
Чтобы избежать такой ошибки, Бьерн Страуструп рекомендует инициализировать переменные, то есть не просто выделять память под переменные, но и задавать им при этом необходимые значения. Например:
Инициализация переменных выполняется один раз на этапе компиляции, она не снижает скорость работы программы, но при этом уменьшает риск использования переменной, которая не получила ни какого значения.
Задание и использование констант
Рассмотрим работу с константами более подробно.
Все константы вне зависимости от типа данных можно подразделить на две категории: именованные константы и константы, которые не имеют собственного имени. Например:
25 — константа целого типа;
3.14 — вещественная константа;
Все три приведённые здесь константы не имеют имени, они заданы своим внешним представлением и используются в программе непосредственно, например так:
int k=25; // переменная k инициализирована константой — целым числом 25.
В ряде случаев константе удобнее дать имя и использовать её далее по имени.
В языке C был единственный способ создания именованных констант — с помощью директивы препроцессора #define, например:
t = PI * 2; // здесь использована именованная константа PI, заданная выше
В языке C++ появился ещё один способ — использование константных переменных, то есть переменных, которые нельзя изменять после инициализации. Рассмотрим на том же примере:
const double PI=3.14; // здесь PI — константная переменная
При использовании константной переменной компилятор проверяет правильность задания константы, и если она будет задана неверно, то будет выдана ошибка именно в операторе, в котором дано определение константной переменной.
Если использована именованная константа, заданная директивой препроцессора #define, то ошибка будет показана только там, где используется константа. Например:
// в директиве препроцессора сделаем ошибку:
t = PI * 2; // в этой строке компилятор выдаст ошибку,
// хотя на самом деле ошибка допущена гораздо раньше!