Слайд 2
Линейный алгоритм
Алгоритм – описание последовательности действий (план), строгое исполнение
которых приводит к решению поставленной задачи за конечное число
шагов
Слайд 3
Блок схемы и описании
Блок-схема — распространенный тип схем (графических моделей),
описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде
блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
Слайд 4
Алгоритмическая структура «ветвление». Команда ветвления. Пример неполного ветвления.
Слайд 5
Алгоритмическая структура «ветвление». Команда ветвления. Пример полного ветвления.
Слайд 6
Команда ветвления
Вся программа состоит из команд (операторов). Команды
бывают простые и составные (команды, внутри которых встречаются другие
команды). Составные команды часто называют управляющими конструкциями. Этим подчеркивается то, что эти операторы управляют дальнейшим ходом программы.
Рассмотрим запись условного оператора на языке Basic.
Простая форма оператора выглядит следующим образом:
#include using namespace std; int main() { setlocale(0, ""); double num; cout << "Введите произвольное число: "; cin >> num; if (num < 10) { // Если введенное число меньше 10. cout << "Это число меньше 10." << endl; } else { // иначе cout << "Это число больше либо равно 10." << endl; } return 0; }
Слайд 7
Оператор switch
Оператор switch обеспечивает ясный способ переключения между различными частями
программного кода в зависимости от значения одной переменной или
выражения. Общая форма этого оператора такова:
Результатом вычисления выражения может быть значение любого простого типа, при этом каждое из значений, указанных в операторах case, должно быть совместимо по типу с выражением в операторе switch. Все эти значения должны быть уникальными литералами. Если же вы укажете в двух операторах case одинаковые значения, транслятор выдаст сообщение об ошибке.
Оператор switch работает следующим образом. Вычисленное значение выражения сравнивается со всеми значениями, указанными в операторах case. Если при этом находится оператор case со значением, которое совпадает со значением выражения, управление передается стоящему за ним (после двоеточия) коду. Если же значению выражения не соответствует ни один из операторов case, управление передается коду, расположенному после ключевого слова default. Отметим, что оператор default необязателен. В случае, когда ни один из операторовcase не соответствует значению выражения и в switch отсутствует оператор default, выполнение программы продолжается с оператора, следующего за оператором switch.
Внутри оператора switch (а также внутри циклических конструкций) break без метки приводит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий. Иногда бывает удобно иметь в операторе switch несколько смежных разделов case, не разделенных оператором break.
Слайд 8
Оператор switch
Общий формат оператора множественного выбора – switch
switch
(switch_expression)
{
case constant1: statement1; [break;]
case constant2: statement2; [break;]
case constantN: statementN;
[break;]
[else: statement N+l;]
}
switch (switch_expression)
{
case constant1, case constant2: statement1; [break;]
case constantN: statementN; [break;]
[default: statement N+l;]
}
switch (switch_expression)
{
case constant1: statement1; [break;]
case constant2: statement2; [break;]
case constantN: statementN; [break;]
[default: statement N+l;]
Слайд 9
Оператор while
Оператор while
Оператор цикла while называется циклом с
предусловием и имеет следующий формат:
while (выражение) тело ;
В качестве
выражения допускается использовать любое выражение языка программирования С, а в качестве тела любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая:
1. Вычисляется выражение.
2. Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while.
3. Процесс повторяется с пункта 1.
Оператор цикла вида
for (выражение-1; выражение-2; выражение-3) тело ;
может быть заменен оператором while следующим образом:
выражение-1; while (выражение-2) { тело выражение-3; }Так же как и при выполнении оператора for, в операторе while вначале происходит проверка условия. Поэтому оператор while удобно использовать в языке программирования Стуациях, когда тело оператора не всегда нужно выполнять.
Внутри операторов for и while можно использовать локальные переменные, которые должны быть объявлены с определением соответствующих типов.
Слайд 10
Оператор цикла с предусловием (while) в C++
Блок схема:
Структура
цикла while в C++ такова:
While(выражение)оператор
Слайд 11
Цикл do while
Цикл do-while
Как вы видели, если в
начальный момент условное выражение, управляющее циклом while, ложно, тело
цикла вообще не будет выполняться. Однако иногда желательно выполнить тело цикла хотя бы один раз, даже если в начальный момент условное выражение ложно. Иначе говоря, существуют ситуации, когда проверку условия прерывания цикла желательно выполнять в конце цикла, а не в его начале. К счастью, Java поддерживает именно такой цикл: do-while. Этот цикл всегда выполняет тело цикла хотя бы один раз, поскольку его условное выражение проверяется в конце цикла. Общая форма цикла do-while следующая:
do { // тело цикла
} while {условие);
Слайд 12
Пример цикла do while
#include "stdafx.h"
#include
#include
using namespace
std;
int main(int argc, char* argv[])
{
srand(time(0));
int balance = 8; // баланс
do //
начало цикла do while
{
cout << "balance = " << balance << endl; // показать баланс
int removal = rand() % 3; // переменная, для хранения вычитаемого значения
cout << "removal = " << removal << endl; // показать вычитаемое значение
balance -= removal; // управление условием
}
while ( balance > 0 ); // конец цикла do while
system("pause");
return 0;
Слайд 13
Оператор цикла for
Оператор цикла for
Часто при организации цикла
требуется перебирать значение счетчика в заданном диапазоне значений и
с заданным шагом изменения. Например, чтобы перебрать элементы вектора (массива), нужно организовать счетчик от 1 до N с шагом 1, где N – число элементов вектора. Чтобы вычислить сумму ряда, также задается счетчик от a до b с требуемым шагом изменения step. И так далее. В связи с тем, что подобные задачи часто встречаются в практике программирования, для их реализации был предложен свой оператор цикла for, который позволяет проще и нагляднее реализовывать цикл со счетчиком.