- •1 Концепция структурного программирования. Причины появления концепции. Модульность и функции. Ограничения на логические конструкции. Использование оператора goto.
- •Теорема о структурном программировании (Теорема Бёма — Якопини)
- •3 Платформа .Net Framework. Многоязыковое программирование. Кроссплатформенность по. Web-ориентированные приложения.
- •Преимущества технологии динамической компиляции
- •5 Построение приложения Windows в интегрированной среде программирования
- •6 Основные типы данных
- •7 Символы и строки. Символы, строки и массивы строк. Операции над строками
- •8 Структура программы на языке c#. Понятие пространства имен. Иерархия пространств имен. Видимость имен.
- •9 Операторы. Основные языка с#. Арифметические и логические операторы. Бинарные и унарные операторы. Составные операторы. Понятие перегрузки операторов.
- •10 Выражения. Приоритет и ассоциативность операторов. Порядок вычисления выражения.
- •11 Преобразования типов. Иерархия численных типов. Явное и неявное преобразование типов. Возможные ошибки.
- •12 Тема: Модификаторы доступа языка c#. Необходимые знания: Назначение и функции модификаторов private, public, protected, internal, protected internal, private protected.
- •13 Выбор вариантов.
- •If (Условие)
- •14 Циклы.
- •15 Классы памяти
- •16 Функции в языке с#
- •17 Массивы. Создание и инициализация. Ссылки на массив. Двухмерные и многомерные массивы. Инициализация массивов. Невыровненные массивы.
- •18 Понятие класса. Определение класса и экземпляр класса. Данные и методы. Ключевое слово partial.
- •19 Создание объекта класса.
- •20 Деструкторы и «сборка мусора». Оператор «new». Резервирование и освобождение памяти. Деструкторы и «сборка мусора».
- •21 Полиморфизм и перегрузка операторов. Перегрузка унарных и бинарных операторов. Семантика перегрузки операторов в с#.
- •Понятие полиморфизма и шаблоны. Назначение и преимущества использования шаблонов. Параметры универсального типа.
- •23 Свойства c# (Понятие инкапсуляции и свойства в c#. Использование ключевых слов «get» и «set». Преимущества использования свойств.)
- •24 Механизм исключений (Назначение исключений. Основные категории исключений. Ключевые слова try, catch и finally, throw.)
- •25 Наследование в c#. Понятие наследования в c#. Механизм наследования. Базовый и производный классы. Наследование и модификаторы доступа.
3 Платформа .Net Framework. Многоязыковое программирование. Кроссплатформенность по. Web-ориентированные приложения.
.NET Framework — это программная платформа, выпущенная компанией Microsoft, которая подходит для разных языков программирования.
ASP.NET — технология создания веб-приложений и веб-сервисов от компании Microsoft.
Фреймворк .NET представляет мощную платформу для создания приложений.
Можно выделить следующие ее основные черты:
• Поддержка нескольких языков. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), благодаря чему .NET поддерживает несколько языков. При компиляции код на любом из этих языков компилируется в сборку на общем языке CIL (Common Intermediate Language) - своего рода ассемблер платформы .NET. Поэтому при определенных условиях мы можем сделать отдельные модули одного приложения на отдельных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi.
• Кроссплатформенность. .NET является переносимой платформой (с некоторыми ограничениями). Например, последняя версия платформы на данный момент - .NET 5 поддерживается на большинстве современных ОС Windows, MacOS, Linux. Используя различные технологии на платформе .NET, можно разрабатывать приложения для самых разных платформ - Windows, MacOS, Linux, Android, iOS, Tizen.
• Мощная библиотека классов. .NET представляет единую для всех поддерживаемых языков библиотеку классов. И какое бы приложение мы не собирались писать - текстовый редактор, чат или сложный веб-сайт - так или иначе мы задействуем библиотеку классов .NET.
• Разнообразие технологий. Общеязыковая среда исполнения CLR и базовая библиотека классов являются основой для целого стека технологий, которые разработчики могут задействовать при построении тех или иных приложений. Например, для работы с базами данных в этом стеке технологий предназначена технология ADO.NET и Entity Framework Core. Для построения графических приложений с богатым насыщенным интерфейсом - технология WPF и UWP, для создания более простых графических приложений - Windows Forms. Для разработки мобильных приложений - Xamarin. Для создания веб-сайтов и веб-приложений - ASP.NET и т.д.
• Производительность. Согласно ряду тестов веб-приложения на .NET 5 в ряде категорий сильно опережают веб-приложения, построенные с помощью других технологий. Приложения на .NET 5 в принципе отличаются высокой производительностью.
Также еще следует отметить такую особенность языка C# и фреймворка .NET, как автоматическая сборка мусора. Общеязыковая среда CLR сама вызовет сборщик мусора и очистит память.
4 Динамическая компиляция. Основные технологии построения ПО (понятия интерпретации, компиляции, динамической компиляции). Универсальный промежуточный язык программирования. Байт-код. Общеязыковая исполняющая среда (CLR). Понятие сборки. Компоненты сборки. JIT компилятор.
Методы построения программ
В наиболее общем виде можно выделить три основных метода:
1) Построение предварительно компилированных программ. При этом исполняемая программа переводится на внутренний язык компьютера и полностью строится до ее выполнения.
2) Работа программ в режиме интерпретации. Операторы программы переводятся на внутренний язык компьютера непосредственно в ходе ее выполнения, оператор за оператором (BASIC, MATLAB).
3) Работа программ в режиме динамической компиляции. Каждая часть программы предварительно преобразуется в код на промежуточном языке программирования. В ходе выполнения необходимые модули компилируются во внутренний язык компьютера и затем выполняются.