Подготовка и решение на ПК задач с разветвлением (48064)

Посмотреть архив целиком

Подготовка и решение на ПК задач с разветвлением


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


Задача 1. Найти все рациональные корни полинома n-й степени с целыми коэффициентами.


Задание

1.


Для нахождения всех рациональных корней полинома n-й степени с целыми коэффициентами используем теорему

Теорема. Для того чтобы несократимая дробь p/q была корнем уравнения (q0) с целыми коэффициентами, необходимо, чтобы число р было делителем свободного члена а0, а число q - делителем старшего коэффициента an.


Алгоритм:


Исходный код программы:


#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

using namespace std;

int main()//главная функция

{

double x,f;//объявление переменных и их типа

x=1.;//присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.) //проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=-1.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=6./24.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=-6./24.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=6./12.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=-6./12.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=6./6.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

x=-6./6.; //присваение значения

f=24.*pow(x,5)+10.*pow(x,4)-pow(x,3)-19.*pow(x,2)-5.*x+6;//описание формулы

if(f==0.)//проверка условия

printf("f(x)=%6.2f x=%6.2f\n",f,x);//вывод результата

getchar();//функция задержки экрана

getchar();//функция задержки экрана

getchar();//функция задержки экрана

getchar();//функция задержки экрана

return 0;

}


Результат роботы:


Задача 2. . Вычислить значение функции Y(x) при различных значениях исходных данных x и a.


Исходные данные (по вариантам) находятся в таблице 2.

Функции

Исходные данные

вар.


x

a

15

6

2.7

4.5


















Исходный код программы


#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

using namespace std; //подключение библиотек

int main()//главная функция

{

cout<<"\n\n";//отступ двух строк (для красоты:-)

double x,y,a,b;//объявление переменных и их типа

cout<<"Vvedite X: ";//вывод сообщеня пользователю

cin>>x;//считывание значения, введенного пользователем

a=4.5;//приcваение значений

b=1/2;//приcваение значений

if (x>=a)//проверка условия

{

y=(log(1+pow(1+pow(x,2),b)))/(1+exp(1+x*x))+(a+exp(1+x*x));//описание формулы

}

else

y=(log(1+pow(1+pow(x,2),2)))/1+exp(1+x*x)+(a-exp(1+x*x));//описание формулы

printf("f(x)=%2.2f",y);//вывод результата

getchar();//функция задержки экрана

getchar();//функция задержки экрана

getchar();//функция задержки экрана

getchar();//функция задержки экрана

return 0;

}



Результат роботы:


Задача 3. В восточном календаре принят 60-летний цикл, состоящий из 12- летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи.

По номеру года вывести его название, если 1984 год был началом цикла годом зеленой крысы. Написать программу с использованием оператора switch/case.



Схема алгоритма


Исходный код программы:


#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

#include //подключение библиотек

using namespace std;

char buf[256];// функция для использования

char* rus(const char* text)// русского языка в программе

{ AnsiToOem(text,buf);

return buf; }

int main()//главная функция

{

int i; //объявление переменных и их типа

cout<

cin>>i; //считывание значения, введенного пользователем

cout<

while ((i<1984)||(i>1996))//запуск цикла

{

if (i<1984) //проверка условия

{i=i+10;}

else if (i>1996) //проверка условия

{i=i-10;}

}

switch (i)

{

case 1984: cout<

case 1985: cout<

case 1986: cout<

case 1987: cout<

case 1988: cout<

case 1989: cout<

case 1990: cout<

case 1991: cout<

case 1992: cout<

case 1993: cout<

case 1994: cout<

case 1995: cout<

}

while ((i<1984)||(i>1996))

{

if (i<1984) //проверка условия

{i=i+12;}

else if (i>1996) //проверка условия

{i=i-12;}

}

switch (i)

{

case 1986: cout<

case 1987: cout<

case 1988: cout<

default: cout<

}

switch (i)

{

case 1984: cout<

case 1985: cout<

case 1986: cout<

case 1987: cout<

case 1988: cout<

case 1989: cout<

case 1990: cout<

case 1991: cout<

case 1992: cout<

case 1993: cout<

case 1994: cout<

case 1995: cout<

}

getchar();//функция задержки экрана

getchar();//функция задержки экрана

getchar();//функция задержки экрана

return 0;

}


Результат роботы:


Вывод: выполняя контрольную работу я ознакомился со средствами решения задач разветвляющихся программ на ЭВМ, изучил основные разветвляющиеся конструкции языка С++, функции стандартных библиотек. Я приобрел практические навыки решения задач разветвляющегося характера, их тестирования и отладки.


Случайные файлы

Файл
58364.rtf
tes.doc
71994-1.rtf
38338.doc
151278.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.