Вот краткие ответы на ваши вопросы по темам, связанным с программированием на C++ и программной инженерией.
11. Основные стандартные типы данных в С++
C++ поддерживает несколько базовых типов данных:
- Целые типы:
int,short,long,long long,unsigned intи их разновидности. Отличаются диапазоном значений. - Числа с плавающей запятой:
float,double,long double. Используются для хранения дробных значений. - Символы:
charиwchar_t(широкий символ). - Булевый тип:
bool, который хранитtrueилиfalse.
Особенности их описания включают использование спецификаторов (например, unsigned), а также инициализацию и приведение типов.
12. Арифметические операции в С++
Основные арифметические операции: сложение (+), вычитание (-), умножение (*), деление (/), остаток от деления (%).
Приоритет операций и ассоциативность:
- Сначала выполняются операции умножения, деления, остаток (
*,/,%), затем сложение и вычитание (+,-). - Ассоциативность левых (
+и-с левой) или правых (^с правой).
Типичные ошибки могут включать деление на ноль или неявное приведение типов.
13. Представление чисел в ЭВМ
Числа представляются в двоичной системе. Формы представления чисел с плавающей запятой, согласно стандарту IEEE 754, включают:
- Одинарная точность (32 бита): 1 бит знака, 8 бит экспоненты, 23 бита мантиссы.
- Двойная точность (64 бита): 1 бит знака, 11 бит экспоненты, 52 бита мантиссы.
14. Конструирование алгоритмических программ
Этапы конструирования:
- Анализ задачи.
- Проектирование алгоритма.
- Реализация.
- Тестирование и отладка.
Алгоритм имеет свойства: конечность, определенность, общность и результативность.
15. Формы представления алгоритмов
Формы представления:
- Текстовый (псевдокод).
- Блок-схемы.
- Таблицы.
16. Базовые алгоритмические структуры
- Последовательность.
- Ветвление (условные операции).
- Циклы (операции повторения).
17. Принципы организации условных операторов
Условные операторы в C++:
if,else if,else.switchдля множественного выбора.
Пример:
if (условие) {
// блок кода
} else {
// альтернативный блок
}
18. Принципы организации операторов цикла
Операторы цикла в C++:
for,while,do while.
Пример:
for (int i = 0; i < 10; i++) {
// код
}
19. Неструктурное программирование
Неструктурное программирование характеризуется "спагетти-кодом", который сложен для понимания и сопровождения из-за отсутствия четкой структуры. Пример: длинные последовательности вложенных if без логической структуры.
20. Модульное программирование
Особенности:
- Разделение кода на модули.
- Повторное использование.
Типы модулей: функции, классы и библиотеки. Преимущества: улучшение читабельности и тестируемости кода.
21. Определение и использование функции в С++
Функция в C++ — это блок кода, который выполняет определенную задачу. Пример:
int add(int a, int b) {
return a + b;
}
22. Операция сложения/вычитания в двоичной и шестнадцатеричной системах счисления
В двоичной системе сложение осуществляется по тем же правилам, что и в десятичной (перенос разряда). В шестнадцатеричной также учитываются буквы A-F для значений от 10 до 15. Галузи реализации могут влиять на выставление переполнений и точность.
23. Ядро знаний SWEBOK
SWEBOK (Software Engineering Body of Knowledge) включает в себя 15 областей знаний в области программной инженерии, таких как требования, проектирование, тестирование и управление проектами.
24. Область знаний "Требования к ПО"
Основные разделы:
- Сбор требований.
- Анализ требований.
- Спецификация требований.
- Подтверждение и верификация.
25. Основы C++ Code Convention
Соглашения по кодированию включают:
- Именование:
CamelCaseдля классов,snake_caseдля функций и переменных. - Четкость и отступы кода. Пример рабочего кода:
void myFunction() {
int myVariable = 10;
}
26. Функциональные и нефункциональные требования к ПО
Функциональные требования описывают, что система должна делать, в то время как нефункциональные — как она должна это делать (например, производительность, безопасность). Связь между ними заключается в том, что нефункциональные требования могут напрямую влиять на реализацию функциональности.
27. Область знаний "Конструирование ПО"
Эта область охватывает этапы разработки, такие как проектирование, кодирование, тестирование и инструментальные средства. Основные разделы включают:
- Проектирование архитектуры.
- Кодирование.
- Тестирование и отладка.
Эти материалы должны помочь вам подготовиться к экзамену. Удачи!