Разветвляющиеся вычислительные процессы



 

Условие задачи 1

Ввести число x, выяснить что больше: целая часть числа x, или его дробная часть, умноженная на 10. Если первое, то число разделить на 10, если второе, то дробную часть от него отнять.

Тестовые примеры к задаче 1

1)

Входные данные: X = 3.08763

Выходные данные:

Целая часть числа равна 3

дробная часть числа равна 0.08763

целая часть больше

число после изменения x=30.8763

2)

Входные данные:X = 1.2345

Выходные данные:

Целая часть числа равна 1

дробная часть числа равна 0.2345

дробная часть, умноженная на 10 больше

удесятеренная дробная часть равна

2.345

число после изменения x=1


Блок-схема к задаче 1

2.4 Листинг программы на языке С++ к задаче 1

#include <iostream.h>

using namespace std;

int main()

{

float x;

cout<<"\nVvod x";

cin>>x;

float y,z;

// Рассчитываем целую часть

y=(int)x;

// Рассчитываем дробную часть

z=x-(int)x;

    cout<<"\nCelaya chast="<<y;

cout<<"\nDrobnaya chast="<<z; 

// Проверка условия

if (y>z*10)

{

cout<<"\nCelaya chast bolshe";

x=x*10;

}

else

{

cout<<"\nDrobnaya chast *10 bolshe";

x=x-z;

}

cout<<"\nx="<<x;

}

 

Условие задачи 2

Ввести четырёхзначное число, выяснить равны ли первая и последняя цифра в его записи. Если цифры равны и чётны, то разделить их на два. Если цифры не равны и первая цифра больше последней, то поменять их местами. Если цифры не равны и первая цифра меньше последней, то поменять местами вторую и третью цифры.

Тестовые примеры к задаче 2

1)

Входные данные:X = 4124

Выходные данные:

первая и последняя цифры четны и равны

в результате преобразований получено число X = 2122

2)

Входные данные:X = 2658

Выходные данные:

первая и последняя цифры не равны

в результате преобразований получено число X = 2568

3)

Входные данные:X = 8562

Выходные данные:

первая и последняя цифры не равны

в результате преобразований получено число X = 2568

4)

Входные данные:X = 5125

Выходные данные:

первая и последняя цифры равны, но они не четны

в результате преобразований получено число X = 5125

Блок-схема к задаче 2

 

2.8 Листинг программы на языке С++ к задаче 2

#include <iostream.h>

using namespace std;

int main()

{

    int x,y,x1,x2,x3,x4;

cout<<"\Vvod x";

    cin>>x;

// чтобы не потерять исходное число, копируем его в Y

y=x;

x1=y / 1000; // первая цифра

y= y % 1000; // отбрасываем первую цифру

x2=y / 100; // вторая цифра

y= y % 100; // отбрасываем вторую цифру

x3=y / 10; // третья цифра

x4= y % 10; // четвёртая цифра

// проверяем правильно ли мы разложили

// введённое число

y= 1000*x1 + 100*x2 + 10*x3 + x4;

    cout<<"\nBilo x="<<x<<"\tStalo y="<<y;

cout<<"\nCifri:"<<x1<<"\t"<<x2<<"\t"<<x3<<"\t"<<x4;

if (x1==x4)

{

if (x1 % 2==0) // x4 не проверяем, т.к. x1=x4

    {

     cout<<"\n Cifri ravni";

              x1=x1 / 2;

              x4=x4 / 2;

    }

else

   cout<<"\n Cifri ravni no necetni";

    }

    else

{

cout<<"\n Cifri ne ravni";

if (x1>x4)

    {

     y=x1;

     x1=x4;

     x4=y;

    }

else

    {

     y=x2;

     x2=x3;

     x3=y;

    }

}

x= 1000*x1 + 100*x2 + 10*x3 + x4;

cout<<"\n Posle preobrazovaniy x="<<x;

}

 

Контрольные вопросы по теме «Разветвляющиеся вычислительные процессы»

1. Определение разветвляющегося вычислительного процесса.

2. Блок-схема условного оператора и порядок его исполнения.

3. Оператор, реализующий разветвляющийся вычислительный процесс.

4. Запись условий: понятие условия, выражения отношения, логические операции, логические выражения.

5. Запись условия попадания значения в интервал и вне интервала.


Дата добавления: 2019-11-16; просмотров: 460; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!