
- •Этапы решения задач на эвм.
- •Понятие алгоритма. Свойства алгоритмов. Способы представления алгоритмов. Виды алгоритмов
- •Типы данных. Модификации типов данных: модификаторы размера, модификаторы знаков.
- •Функции. Определение функции, обращение к функции, прототип функции.
- •17. Программирование ветвлений. Оператор выбора.
- •Линейные вычислительные алгоритмы. Ветвления в вычислительных алгоритмах. Циклы в вычислительных алгоритмах.
- •Понятие языка программирования. Виды языков программирования. Трансляторы: компилятор, интерпретатор.
17. Программирование ветвлений. Оператор выбора.
Эта структура обеспечивает в зависимости от результата проверки условия (истина или ложь) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма продолжается независимо от того, какой путь будет выбран. Основные операторы ветвления – условный оператор if, оператор switch.
Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора: i f ( выражение ) оператор_1; [else оператор_2;]
Сначала вычисляется выражение. Если оно имеет значение true, выполняется первый оператор, иначе — второй. После этого управление передается на оператор, следующий за условным.
Одна из ветвей ветвления может отсутствовать, логичнее опускать вторую ветвь вместе с ключевым словом else.
Примеры:
i f (а<0) b = 1; - пример ветвления с отсутствием одной ветви ветвления
i f (a<b && (a>d || a==0)) b++; else {b *- a: a = 0;} пример с проверкой нескольких условий
i f (b>a) max = b: else max = a; стандартный вид
Оператор switch (переключатель) предназначен для разветвления процесса вычислений на несколько направлений. Формат оператора:
switch ( выражение ){
case константное_выражение_1: [список_операторов_1]
case константное_выражение_2: [список_операторов_2]
…case константное_выражение_n: [список_операторов_п]
[default: операторы ] }
Выполнение оператора начинается с вычисления выражения (оно должно быть целочисленным), а затем управление передается первому оператору из списка, помеченного константным выражением, значение которого совпало свычисленным. После этого, если выход из переключателя явно не указан, последовательно выполняются все остальные ветви.
Выход из переключателя обычно выполняется с помощью операторов break или return.
Пример (программа реализует простейший калькулятор на 4 действия):
#include <iostream.h>
int main(){
int a, b, res; char op;
cout « "\nВведите 1й операнд: "; cin » a; cout « "\nВведите знак операции: "; cin » op;
cout « "\nВведите 2й операнд: "; cin » b; bool f = true;
switch (op) {case '+': res = a + b; break; case '-': res = a – b; break; case '*': res = a * b; break; case ‘/’: res = a / b; break;
default: cout <<"\пНеизвестная операция”; f=false;}
If (f) cout<<"\nРезультат: "<<res; eturn 0;}
Линейные вычислительные алгоритмы. Ветвления в вычислительных алгоритмах. Циклы в вычислительных алгоритмах.
Следование, ветвление и цикл называют базовыми конструкциями структурного программирования
Следованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов (простых или составных). Величины, которые при выполнении алгоритма изменяют свои значения, называются переменными. При этом следует помнить, что для записи переменной в вычислительной машине отводится определенное поле памяти, как правило, равное длине машинного слова ЭВМ. Когда переменной присваивается новое значение, то оно записывается в то же самое поле памяти, отведенное для этой переменной. Порядок выполнения операторов в алгоритме должен отвечать принципу следования или принципу обеспеченности переменных, в основе которого лежит обеспеченность значений переменных на каждом шаге выполнения алгоритма.
Пример программы по алгоритму следования
# include <iostream.h>
void main ()
{ int a,b,c; cout<<”Введите а:”; cin>>a;
cout<<”\nВведите b:”; cin>>b; c=a+b;
cout<<”\nРезультат выражения a + b =”<<c;
return 0;}
Второй базовой структурой является Ветвление. Эта структура обеспечивает в зависимости от результата проверки условия (истина или ложь) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма продолжается независимо от того, какой путь будет выбран. Основные операторы ветвления – условный оператор if, оператор switch.
Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора: i f ( выражение ) оператор_1; [else оператор_2;]
Сначала вычисляется выражение. Если оно имеет значение true, выполняется первый оператор, иначе — второй. После этого управление передается на оператор,следующий за условным. Одна из ветвей ветвления может отсутствовать, логичнее опускать вторую ветвь вместе с ключевым словом else.
Примеры:
i f (а<0) b = 1; - пример ветвления с отсутствием одной ветви ветвления
i f (a<b && (a>d || a==0)) b++; else {b *- a: a = 0;} пример с проверкой нескольких условий
i f (b>a) max = b: else max = a; стандартный вид
Операторы цикла
Любой цикл состоит из тела цикла, то есть тех операторов, которые выполняются несколько раз, начальных установок, модификации параметра цикла и проверки условия продолжения выполнения цикла. Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием), либо после тела цикла (цикл с постусловием). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, после чего проверяется, надо ли его выполнять еще раз. Проверка необходимости выполнения цикла с предусловием делается до тела цикла, поэтому возможно, что он не выполнится ни разу.
Переменные, изменяющиеся в теле цикла и используемые при проверке условия продолжения, называются параметрами цикла. Целочисленные параметры цикла, изменяющиеся с постоянным шагом на каждой итерации, называются счетчиками цикла. Цикл завершается, если условие его продолжения не выполняется.