№
|
Задание
|
1.
|
|
Для нахождения
всех рациональных корней полинома n-й степени с целыми коэффициентами
используем теорему
Теорема. Для того чтобы несократимая дробь p/q
была корнем уравнения (q¹0) с целыми
коэффициентами, необходимо, чтобы число р было делителем свободного члена а0,
а число q - делителем старшего коэффициента an.
Алгоритм:
Исходный
код программы:
#include <math.h>
//подключение библиотек
#include <iostream>//подключение библиотек
#include <conio.h>//подключение
библиотек
#include <stdio.h>//подключение библиотек
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
|
4.5
|
|
Исходный
код программы
#include <math.h>//подключение библиотек
#include <conio.h>//подключение библиотек
#include <stdio.h>//подключение библиотек
#include <iostream>//подключение библиотек
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 <iostream>//подключение библиотек
#include <math.h>//подключение
библиотек
#include <conio.h>//подключение
библиотек
#include <stdio.h>//подключение
библиотек
#include <string.h>//подключение
библиотек
#include <windows.h>//подключение библиотек
using namespace std;
char buf[256];// функция для использования
char* rus(const char* text)//
русского языка в программе
{ AnsiToOem(text,buf);
return buf; }
int main()//главная функция
{
int i; //объявление переменных и их типа
cout<<rus("Введите год: ");//вывод
сообщеня пользователю
cin>>i; //считывание значения, введенного
пользователем
cout<<rus("\nГод ");//вывод сообщеня пользователю
while ((i<1984)||(i>1996))//запуск цикла
{
if (i<1984) //проверка условия
{i=i+10;}
else if (i>1996) //проверка условия
{i=i-10;}
}
switch (i)
{
case 1984: cout<<rus("зелен"); break;
case 1985: cout<<rus("зелен"); break;
case 1986: cout<<rus("красн"); break;
case 1987: cout<<rus("красн"); break;
case 1988: cout<<rus("жолт"); break;
case 1989: cout<<rus("жолт"); break;
case 1990: cout<<rus("бел"); break;
case 1991: cout<<rus("бел"); break;
case 1993: cout<<rus("черн"); break;
case 1994: cout<<rus("зелен"); break;
case 1995: cout<<rus("зелен"); break;
}
while ((i<1984)||(i>1996))
{
if (i<1984) //проверка условия
{i=i+12;}
else if (i>1996) //проверка условия
{i=i-12;}
}
switch (i)
{
case 1986: cout<<rus("ого "); break;
case 1987: cout<<rus("ого "); break;
case 1988: cout<<rus("ого "); break;
default: cout<<rus("ой "); break;
}
switch (i)
{
case 1984: cout<<rus("крысы"); break;
case 1985: cout<<rus("коровы"); break;
case 1986: cout<<rus("тигра"); break;
case 1987: cout<<rus("зайца"); break;
case 1988: cout<<rus("дракона"); break;
case 1989: cout<<rus("змеи"); break;
case 1990: cout<<rus("лошади"); break;
case 1991: cout<<rus("овцы"); break;
case 1992: cout<<rus("обезьяны"); break;
case 1993: cout<<rus("курицы"); break;
case 1994: cout<<rus("собаки "); break;
case 1995: cout<<rus("свиньи"); break;
}
getchar();//функция
задержки экрана
getchar();//функция
задержки экрана
getchar();//функция
задержки экрана
return 0;
}
Результат
роботы:
Вывод: выполняя контрольную
работу я ознакомился со средствами решения задач разветвляющихся программ на
ЭВМ, изучил основные разветвляющиеся конструкции языка С++, функции стандартных
библиотек. Я приобрел практические навыки решения задач разветвляющегося
характера, их тестирования и отладки.