Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфрм отв.rtf
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
11.08 Mб
Скачать

28) Разветвляющийся вычислительный процесс (if else)

Разветвляющийся вычислительный процесс– это процесс, в котором вычисление идет по одному из двух путей, в зависимости от того, выполняется или нет какое- либо логическое условие. Для организации такого процесса используют логический оператор if (если). Этот оператор имеет три формы записи:

1)

if (логическое выражение) {Оператор 1;

оператор 2;

..........

}

else {Оператор 1;

оператор 2;

..........

}

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

2)

if (логическое выражение) {Оператор 1;

оператор 2;

..........

}

В этом случае, если логическое выражение имеет значение истина, то выполняются операторы записанные в фигурных скобках, если же логическое выражение имеет значение ложь, то выполняются операторы, записанные после оператора if.

Пример:

#include

using namespace std;

void main()

{setlocale(LC_ALL,"Russian");

double a, b, c;

cout<<"\n Введите a:";

cin>>a;

cout<<"\n Введите b:";

cin>>b;

if (a>b) {c=a+b;

}

else {c=a-b;

}

cout<<"\n c="<<c;

cout<<endl;

}

В этой простой программке, если с клавиаткры вводятся числа a и b и a>b, то вычисления идут по формуле c=a+b, иначе c=a-b

30,31,32) Циклы

Одной из основополагающих структур данных являются циклы. Цикл — это какое либо действие, которое постоянно повторяется, пока не будет достигнут нужный результат. Например если вы точите карандаш с помощью точилки, вы выполняете слеюдующий цикл — крутить карандаш в точилке, пока он не станет острым. Давайте рассмотрим основные циклы, которые используются в языке с++.

1. Цикл for.

Цикл for() используется в случае, если известно точное число повторов действия. Например в в случае открывания замка, мы знаем что надо повернуть ключ 2 раза.Общий вид цикла такой:

view sourceprint?

1.for(переменная; условие; счетчик){

2. 

3.//операции, которые повторяются

4. 

5.}

Например имеется такая задача: ввести с клавиатуры массив из 5 чисел. Мы конечно могли бы написать так:

view sourceprint?

01.int a[5];

02. 

03.cin>>a[0];

04. 

05.cin>>a[1];

06. 

07.cin>>a[2];

08. 

09.cin>>a[3];

10. 

11.cin>>a[4];

но как вы заметили — это не совсем удобно. Представляете что будет, если потребуется ввести 100 элементов? Вот для того, чтобы сократить повторяющиеся участки кода и используют циклы.

Вот более элегантное решение:

view sourceprint?

1.int a[5];

2. 

3.for(int i=0;i<5;i++){

4. 

5.cin>>a[i];

6. 

7.}

2. Цикл while() — кол-во повторов этого цикла заранее не известно, известен только результат, к которому нужно прийти. Имейте ввиду, если указанная последоватльностьне приводит к результату, то цикл будет повторяться бесконечно.

Общий вид цикла:

view sourceprint?

1.while(результат к которому ведет тело цикла){

2. 

3.//тело цикла

4. 

5.}

Пример использования: Сосчитаем кол-во символов в строке. Как известно строки оканчиваются на ‘\0′, именно это значение будет результатом.

view sourceprint?

01.int i = 0;

02. 

03.char *str = "Hello";

04. 

05.while(a[i]!='/0'){

06. 

07.i++;//число символов

08. 

09.}

По другому цикл while называют циклом с предусловием.

3. Цикл do … while () — по другому цикл с постусловием. Он отличается от цикла while тем, что тело цикла в любом случае выполняется, хотя-бы 1 раз.

Общий вид цикла:

view sourceprint?

1.do{

2. 

3.//тело цикла

4. 

5.}while(условие);

33)

Программа на С++ поиск корня нелинейного уравнения методом половинного деления (дихотомии)

Составить программу на языке программирования С++ и блок-схему для решения следующей задачи: уточнить приближенное значение корня нелинейного уравнения f(x) = 0 на заданном отрезке [a,b]  методом половинного деления (дихотомии) с точностью ε = 0.001.

Уравнение имеет вид: x3 - 9x2  + 20x – 11=0              

Отрезок, на котором осуществляется поиск корня: [0; 1]