ответ:1.Этап 1 – Определение проблемы
Этап 2 – Выработка требований
Этап 3 – Создание плана разработки
Этап 4 – Разработка архитектуры системы или высокоуровневое проектирование
Этап 5 – Детальное проектирование
Этап 6 – Кодирование и отладка
Этап 7 – Тестирование компонентов
Этап 8 – Интеграция компонентов
Этап 9 – Тестирование всей системы
2.Принципы структурного программирования
Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры.
Принцип 1. Следует отказаться от использования оператора безусловного перехода GoTo.
Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл.
• Последовательность - однократное выполнение операций в том порядке, в котором они записаны в тексте программы. Бертран Мейер поясняет: «Последовательное соединение: используйте выход одного элемента как вход к другому, подобно тому, как электрики соединяют выход сопротивления со входом конденсатора» .
• Ветвление - однократное выполнение одной из двух или более операций, в зависимости от выполнения заданного условия.
• Цикл - многократное исполнение одной и той же операции до тех пор, пока выполняется заданное условие (условие продолжения цикла).
Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается.
Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются.
В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция «Вызов подпрограммы». При выполнении такой инструкции работает вызванная подпрограмма. После этого продолжается исполнение основной программы, начиная с инструкции, следующей за командой «Вызов подпрограммы».
Бертран Мейер поясняет: «Преобразуйте элемент, возможно, с внутренними элементами, в подпрограмму, характеризуемую одним входом и одним выходом в потоке управления».
Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок (block). Блоки являются основой структурного программирования.
Блок - это логически сгруппированная часть исходного кода, например, набор инструкций, записанных подряд в исходном коде программы. Понятие блок означает, что к блоку инструкций следует обращаться как к единой инструкции. Блоки служат для ограничения области видимости переменных и функций. Блоки могут быть пустыми или вложенными один в другой. Границы блока строго определены. Например, в if-инструкции блок ограничен кодом BEGIN..END (в языке Паскаль) или фигурными скобками {...} (в языке C) или отступами (в языке Питон).
Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход.
Произвольные управляющие конструкции (такие, как в блюде спагетти) могут иметь произвольное число входов и выходов. Ограничив себя управляющими конструкциями с одним входом и одним выходом, мы получаем возможность построения произвольных алгоритмов любой сложности с простых и надежных механизмов.
Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз»
3.Подпрограмма — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий.
4.1.Наследование
2.Абстракция
3.Инкапсуляция
4.Полиморфизм
5(задание). Класс = срособ организации полей, методов и пр. = инкапсулированный «кусок» функциональности, описание структуры будущих объектов + своё пространство имён внутри.
Объект = экземпляр класса = объект, типом которого является какой-то класс = класс после инициализации = сущность в памяти, обладающая поведением изменять своё состояние.
6.Инкапсуляция — в информатике размещение в одном компоненте данных и методов, которые с ними работают. Также может означать скрытие внутренней реализации от других компонентов. Например, доступ к скрытой переменной может предоставляться не напрямую, а с методов для чтения (геттер) и изменения (сеттер) её значения.
Полиморфизм в языках программирования и теории типов функции обрабатывать данные разных типов. Существует несколько разновидностей полиморфизма.
Объяснение:
#include <iostream> // header input/output streams
#include <fstream> // header для работы с файлами
using std::ifstream; // для работы с файлом input.txt
using std::ofstream; // для работы с файлом output.txt
using std::cin; // для работы cin
using std::cout; // для работы cout
using std::endl; // для работы перевода на новую строку endl
int main(){
ifstream in_file; // input.txt
ofstream out_file; //output.txt
try{
in_file.open("input.txt");
out_file.open("output.txt");
}
catch(std::exception& e){
cout << e.what() << endl;
}
unsigned int a,b;
in_file >> a >> b;
unsigned int sum = a+b -1;
cout << sum;
out_file << sum - a << ' ' << sum-b << endl;
}