Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс зубков.docx
Скачиваний:
6
Добавлен:
27.04.2019
Размер:
300.59 Кб
Скачать
  1. Выбор языка программирования.

«С» - это язык программирования, созданный в 70-х годах XX века для разработки системы UMX и программного обеспечения для нее В 80-х годах XX века на основе языка Сбыл создан язык С++, являющийся объектно-ориентированным расширением языка С++. В настоящее время языки С и С++ являются наиболее распространенными языками для профессиональной разработки программного обеспечения для всех операционных систем Синтаксис языка С и С++ не зависит от используемой системы и компилятора, однако набор доступных библиотек (например, для разработки графических приложений) является системно-зависимым и не стандартизирован.

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

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

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

Предсказуемое выполнение программ является важным достоинством для построения систем реального времени Весь код, неявно генерируемый компилятором для реализации языковых возможностей (например, при преобразовании переменной к другому типу), определён в стандарте Также строго определены места программы, в которых этот код выполняется Это даёт возможность замерять или рассчитывать время реакции программы на внешнее событие.

  • Автоматический вызов деструкторов объектов при их уничтожении, причем в пору обратном вызову конструкторов. Это упрощает (достаточно объявить переменную) и делает более надёжным освобождение ресурсов (память, файлы, семафоры и т.п.) а также позволяет гарантированно выполнять переходы состояний программы, не обязательно связанные о освобождением ресурсов (например, запись в журнал).

  • Язык поддерживает понятия физической (const) и логической (mutable) константности. Это делает программу надёжнее, так как позволяет компилятору, например, диагностироватьошибочные попытки изменения значения переменной. Объявление константности даёт программисту, читающему текст программы дополнительное предствление о правильном использовании классов и функций.

  • Возможность имитации расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую. Например, библиотека Boost Bind позволяет связывать аргументы функций. Возможность создания встроенных предметно-ориентированных языков программировании. Такой подход использует, например библиотека Boost Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде С++.

Таким образом, для решения поставленной задачи можно использовать язык программирования «С++».

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