Logo
  • Подробнее

Курсы

  • Введение в язык Ада
    • Введение
      • История
      • Ада сегодня
      • Философия
      • SPARK
    • Императивы языка
      • Hello world
      • Условный оператор
      • Циклы
        • Циклы for
        • Простой цикл
        • Циклы while
      • Оператор выбора
      • Зоны описания
      • Условные выражения
        • Условное выражение
        • Выражение выбора
    • Подпрограммы
      • Подпрограммы
        • Вызовы подпрограмм
        • Вложенные подпрограммы
        • Вызов функций
      • Виды параметров
      • Вызов процедуры
        • Параметры in
        • Параметры in out
        • Параметры out
        • Предварительное объявление подпрограмм
      • Переименование
    • Модульное программирование
      • Пакеты
      • Использование пакета
      • Тело пакета
      • Дочерние пакеты
        • Дочерний пакет от дочернего пакета
        • Множественные потомки
        • Видимость
      • Переименование
    • Сильно типизированный язык
      • Что такое тип?
      • Целочисленные типы - Integers
        • Семантика операций
      • Беззнаковые типы
      • Перечисления
      • Типы с плавающей запятой
        • Основные свойства
        • Точность типов с плавающей запятой
        • Диапазон значений для типов с плавающей запятой
      • Строгая типизация
      • Производные типы
      • Подтипы
        • Подтипы в качестве псевдонимов типов
    • Записи
      • Объявление типа записи
      • Агрегаты
      • Извлечение компонент
      • Переименование
    • Массивы
      • Объявление типа массива
      • Доступ по индексу
      • Более простые объявления массива
      • Атрибут диапазона
      • Неограниченные массивы
      • Предопределенный тип String
      • Ограничения
      • Возврат неограниченных массивов
      • Объявление массивов (2)
      • Отрезки массива
      • Переименование
    • Подробнее о типах
      • Агрегаты: краткая информация
      • Cовмещение и квалифицированные выражения
      • Символьные типы
    • Ссылочные типы
      • Введение
      • Выделение (allocation) памяти
      • Извлечение по ссылке
      • Другие особенности
      • Взаимно рекурсивные типы
    • Подробнее о записях
      • Типы записей динамически изменяемого размера
      • Записи с дискриминантом
      • Записи c вариантами
    • Типы с фиксированной запятой
      • Десятичные типы с фиксированной запятой
      • Обычные типы с фиксированной запятой
    • Изоляция
      • Простейшая инкапсуляция
      • Абстрактные типы данных
      • Лимитируемые типы
      • Дочерние пакеты и изоляция
    • Настраиваемые модули
      • Введение
      • Объявление формального типа
      • Объявление формального объекта
      • Определение тела настраиваемого модуля
      • Конкретизация настройки
      • Настраиваемые пакеты
      • Формальные подпрограммы
      • Пример: конкретизация ввода/вывода
      • Пример: АТД
      • Пример: Обмен
      • Пример: Обратный порядок элементов
      • Пример: Тестовое приложение
    • Исключения
      • Объявление исключения
      • Возбуждение исключения
      • Обработка исключения
      • Предопределенные исключения
    • Управление задачами
      • Задачи
        • Простая задача
        • Простая синхронизация
        • Оператор задержки
        • Синхронизация: рандеву
        • Обрабатывающий цикл
        • Циклические задачи
      • Защищенные объекты
        • Простой объект
        • Входы
      • Задачные и защищенные типы
        • Задачные типы
        • Защищенные типы
    • Контрактное проектирование
      • Пред- и постусловия
      • Предикаты
      • Инварианты типа
    • Взаимодействие с языком C
      • Многоязычный проект
      • Соглашение о типах
      • Подпрограммы на других языках
        • Вызов подпрограмм C из Ады
        • Вызов Ада подпрограмм из C
      • Внешние переменные
        • Использование глобальных переменных C в Аде
        • Использование переменных Ада в C
      • Автоматическое создание связок
        • Адаптация связок
    • Объектно-ориентированное программирование
      • Производные типы
      • Теговые типы
      • Надклассовые типы
      • Операции диспетчеризации
      • Точечная нотация
      • Личные и лимитируемые типы с тегами
      • Надклассовые ссылочные типы
    • Стандартная библиотека: Контейнеры
      • Векторы
        • Создание экземпляра
        • Инициализация
        • Добавление элементов
        • Доступ к первому и последнему элементам
        • Итерация
        • Поиск и изменение элементов
        • Вставка элементов
        • Удаление элементов
        • Другие операции
      • Множества
        • Инициализация и итерация
        • Операции с элементами
        • Другие операции
      • Отображения для неопределенных типов
        • Хэшированные отображения
        • Упорядоченные отображения
        • Сложность
    • Стандартная библиотека: Дата и время
      • Обработка даты и времени
        • Задержка с использованием даты
      • Режим реального времени
        • Анализ производительности
    • Стандартная библиотека: Строки
      • Операции со строками
      • Ограничение строк фиксированной длины
      • Ограниченные строки
      • Неограниченные строки
    • Стандартная библиотека: Файлы и потоки
      • Текстовый ввод-вывод
      • Последовательный ввод-вывод
      • Прямой ввод-вывод
      • Потоковый ввод-вывод
    • Стандартная библиотека: Numerics
      • Элементарные функции
      • Генерация случайных чисел
      • Комплексные числа
      • Работа с векторами и матрицами
    • Приложения
      • Приложение A: Формальные типы настройки
        • Неопределенные версии типов
      • Приложение B: Контейнеры
  • Безопасное и надежное программное обеспечение
    • Вступление
    • Предисловие
    • Безопасный синтаксис
      • Присваивание и проверка на равенство
      • Группы инструкций
      • Именованное сопоставление
      • Целочисленные литералы
    • Безопасные типы данных
      • Использование индивидуальных типов
      • Перечисления и целые
      • Ограничения и подтипы
      • Предикаты подтипов
      • Массивы и ограничения
      • Установка начальных значений по умолчанию
      • «Вещественные ошибки»
    • Безопасные указатели
      • Ссылки, указатели и адреса
      • Ссылочные типы и строгая типизация
      • Ссылочные типы и контроль доступности
      • Ссылки на подпрограммы
      • Вложенные подпрограммы в качестве параметров
    • Безопасная архитектура
      • Спецификация и тело пакета
      • Приватные типы
      • Контрактная модель настраиваемых модулей
      • Дочерние модули
      • Модульное тестирование
      • Взаимозависимые типы
      • Контрактное программирование
    • Безопасное объектно‐ориентированное программирование
      • ООП вместо структурного программирования
      • Индикатор overriding
      • Запрет диспетчеризации вызова подпрограмм
      • Интерфейсы и множественное наследование
      • Взаимозаменяемость
    • Безопасное создание объектов
      • Переменные и константы
      • Функция-конструктор
      • Лимитируемые типы
      • Контролируемые типы
    • Безопасное управление памятью
      • Переполнение буфера
      • Динамическое распределение памяти
      • Пулы памяти
      • Ограничения
    • Безопасный запуск
      • Предвыполнение
      • Директивы компилятору, связанные с предвыполнением
      • Динамическая загрузка
    • Безопасная коммуникация
      • Представление данных
      • Корректность данных
      • Взаимодействие с другими языками
      • Потоки ввода/вывода
      • Фабрики объектов
    • Безопасный параллелизм
      • Операционные системы и задачи
      • Защищенные объекты
      • Рандеву
      • Ограничения
      • Ravenscar
      • Безопасное завершение
      • Время и планирование
    • Сертификация с помощью SPARK
      • Контракты
      • SPARK — подмножество языка Ада
      • Формальные методы анализа
      • Гибридная верификация
      • Примеры
      • Сертификация
      • Дальнейший процесс
    • Заключение
    • Список литературы
Logo

Copyright © 2022 AdaCore. All rights reserved.    Creative Commons License
Legal   |   Privacy Policy   |   Report an Issue