|
Подготовка и решение на ПК задач с разветвлением
Подготовка и решение на ПК задач с разветвлением
Подготовка и решение на ПК задач с разветвлениемЦель контрольной работы: приобретение практических навыков по подготовке, отладке и выполнению разветвляющихся программ.Задача 1. Найти все рациональные корни полинома n-й степени с целыми коэффициентами.Для нахождения всех рациональных корней полинома n-й степени с целыми коэффициентами используем теоремуТеорема. Для того чтобы несократимая дробь p/q была корнем уравнения (q0) с целыми коэффициентами, необходимо, чтобы число р было делителем свободного члена а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 2.7 | 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 1992: 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;}Результат роботы: Вывод: выполняя контрольную работу я ознакомился со средствами решения задач разветвляющихся программ на ЭВМ, изучил основные разветвляющиеся конструкции языка С++, функции стандартных библиотек. Я приобрел практические навыки решения задач разветвляющегося характера, их тестирования и отладки.
|
|