Условные операторы. Виды операторов (if else)

Оператор if служит для того, чтобы выполнить какую-либо операцию в том случае, когда условие является верным.

Условная конструкция в С++ всегда записывается в круглых скобках после оператора if.

Каждому оператору if соответствует только один оператор else.

Если после оператора if, else или их связки else if должна выполняться только одна команда, то фигурные скобки можно не ставить.

12.Циклы, виды циклов

Циклом называется любое повторение, написанное таким образом, что выхода не будет, пока не условие не выполнится.

Итерацией цикла называется один проход этого цикла

Цикл с предусловием - выполняет одну и ту же последовательность действий пока проверяемое условие истинно. При этом условие записывается до тела цикла и проверяется до выполнения тела цикла.
Цикл с постусловием - отличается от цикла с предусловием тем, что сначала выполняется блок цикла, а потом проверяется условие. Если условие истинно, то цикл будет выполнен еще раз, и так до тех пор, пока условие будет истинно.
Цикл по параметру – если мы точно знаем количество действий цикла.


 

13. Рекурсия, виды рекурсий

Рекурсия — это когда данная функция вызывает сама себя.

Рекурсия может быть прямой и косвенной.

В случае прямой рекурсии вызов функцией самой себя делается непосредственно в этой же функции.

Косвенная рекурсия создаётся за счёт вызова данной функции из какой-либо другой функции, которая сама вызывалась из данной функции.

14.Структурное программирование

Структурное программирование - методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Цель структурного программирования — повысить производительность труда программистов, в том числе при разработке больших и сложных программных комплексов, сократить число ошибок, упростить отладку, модификацию и сопровождение программного обеспечения.

Структурное программирование призвано, в частности, устранить беспорядок и ошибки в программах, вызванные трудностями чтения кода, несистематизированным, неудобным для восприятия и анализа исходным текстом программы. Такой текст нередко характеризуют как «спагетти-код».

Спагетти-код (spaghetti code) — плохо спроектированная, слабо структурированная, запутанная и трудная для понимания программа, содержащая много операторов goto (особенно переходов назад), исключений и других конструкций, ухудшающих структурированность.

Самая распространённая ловушка программирования.

15. Принципы мультипрограммирования

Мультипрограммирование — способ организации выполнения нескольких программ на одном компьютере.

Разделяют мультипрограммирование в пакетных системах, системах реального времени и в системах разделения времени.

Пакетная обработка используется для достижения максимальной эффективности использования ресурсов вычислительной машины при выполнении вычислительных задач путём сбалансированной загрузки её компонентов, как например, АЛУ и УВВ. Задачи, планируемые к выполнению, называются пакетом. Переключение между задачами в пакетном режиме инициируется выполняющейся в данный момент задачей, поэтому промежутки времени выполнения той или иной задачи не определены.

Системы разделения времени используются для «одновременного» выполнения нескольких программ в интерактивном режиме. В отличие от пакетного режима, все программы получают определённые временные промежутки времени для выполнения, затем система инициирует переключение. Выделяемые временные интервалы могут быть равными для всех задач, а могут определяться их приоритетами

Системы реального времени отличаются от систем с разделением времени (англ. time-sharing system) тем, что они должны быть предсказуемы в следующих ситуациях[1]:

· Высокая степень планируемости: временные ограничения должны выполняться и при высокой степени использования ресурсов.

· Время отклика должно быть в пределах допустимого даже в наихудшем случае.

· Стабильность при временной нагрузке: в случае перегрузки система должна успевать выполнять наиболее важные задачи в срок, жертвуя менее важными задачами.

Кроме того, система реального времени может тратить больше ресурсов (быть менее эффективной или иметь меньшую пропускную способность) из-за более высоких требований к планированию задач, а также не использовать в полной мере ресурсы в моменты средней загруженности.

 


 

 

16. Стиль программирования