ответ: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.Инкапсуляция — в информатике размещение в одном компоненте данных и методов, которые с ними работают. Также может означать скрытие внутренней реализации от других компонентов. Например, доступ к скрытой переменной может предоставляться не напрямую, а с методов для чтения (геттер) и изменения (сеттер) её значения.
Полиморфизм в языках программирования и теории типов функции обрабатывать данные разных типов. Существует несколько разновидностей полиморфизма.
Объяснение:
===== C++ 17 =====
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n = 3;
int a[3][3] = {{3,-7,12},{14,-5,0},{5,-12,-1}};
// исходный массив
for (int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
cout << setw(4) << a[i][j];
cout << endl;
}
// поиск минимального элемента
int im = 0, min = a[0][0];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (a[i][j] < min)
{
min = a[i][j];
im = i;
}
cout << "min = " << min << endl;
// обмен строк
int t;
for (int j = 0; j < n; j++)
{
t = a[0][j];
a[0][j] = a[im][j];
a[im][j] = t;
}
// полученный массив
for (int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
cout << setw(4) << a[i][j];
cout << endl;
}
return 0;
}