Подготовка и решение на ПК задач с разветвлением
F=24.*pow (x, 5)+10.*pow (x, 4)-pow (x, 3)-19.*pow (x, 2)-5.*x+6;//описание формулы. F=24.*pow (x, 5)+10.*pow (x, 4)-pow (x, 3)-19.*pow (x, 2)-5.*x+6;//описание формулы. F=24.*pow (x, 5)+10.*pow (x, 4)-pow (x, 3)-19.*pow (x, 2)-5.*x+6;//описание формулы. F=24.*pow (x, 5)+10.*pow (x, 4)-pow (x, 3)-19.*pow (x, 2)-5.*x+6;//описание формулы. F=24.*pow (x, 5)+10.*pow (x, 4)-pow (x, 3)-19.*pow (x… Читать ещё >
Подготовка и решение на ПК задач с разветвлением (реферат, курсовая, диплом, контрольная)
Подготовка и решение на ПК задач с разветвлением
Цель контрольной работы: приобретение практических навыков по подготовке, отладке и выполнению разветвляющихся программ.
Задача 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.2fn», 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.2fn», 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.2fn», 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.2fn», 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.2fn», 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.2fn», 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.2fn», 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.2fn», f, x);//вывод результата
getchar ();//функция задержки экрана
getchar ();//функция задержки экрана
getchar ();//функция задержки экрана
getchar ();//функция задержки экрана
return 0;
}
Результат роботы:
Задача 2.. Вычислить значение функции Y (x) при различных значениях исходных данных x и a.
Исходные данные (по вариантам) находятся в таблице 2.
№ | Функции | Исходные данные | ||
вар. | x | a | ||
2.7 | 4.5 | |||
Исходный код программы
#include //подключение библиотек
#include //подключение библиотек
#include //подключение библиотек
#include //подключение библиотек
using namespace std; //подключение библиотек
int main ()//главная функция
{
cout<<" nn" ;//отступ двух строк (для красоты:-)
double x, y, a, b;//объявление переменных и их типа
cout<<" Vvedite X: «;//вывод сообщеня пользователю
cin>>x;//считывание значения, введенного пользователем
a=4.5;//приcваение значений
b=½;//при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;
}
Результат роботы:
Вывод: выполняя контрольную работу я ознакомился со средствами решения задач разветвляющихся программ на ЭВМ, изучил основные разветвляющиеся конструкции языка С++, функции стандартных библиотек. Я приобрел практические навыки решения задач разветвляющегося характера, их тестирования и отладки.