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

Рациональные корни полинома n-й степени с целыми коэффициентами. Значение функции Y(x) при различных значениях исходных данных. Алгоритм: по номеру года вывести его название с использованием оператора switch/case. Исходные коды программ, тестирование.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 25.09.2010
Размер файла 197,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

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

Задание

1.

Для нахождения всех рациональных корней полинома 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;

}

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

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


Подобные документы

  • Разработка программ с использованием оператора выбора Switch. Программирование компьютерной игры в карты. Составление программы, которая по введенным значениям и номеру действия выполняет действия над числами. Тестирование работоспособности программы.

    лабораторная работа [1,2 M], добавлен 23.11.2014

  • Составление программы, которая по введенным значениям x, y и номеру действия выполняет то или иное арифметическое действие над положительными числами. Алгоритм и код программы. Проведение тестовых наборов. Тестирование и результат работы программы.

    лабораторная работа [961,5 K], добавлен 23.11.2014

  • Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.

    курсовая работа [575,8 K], добавлен 06.12.2013

  • Использование информационных технологий для решения транспортных задач. Составление программ и решение задачи средствами Pascal10; алгоритм решения. Работа со средствами пакета Microsoft Excel18 и MathCad. Таблица исходных данных, построение диаграммы.

    курсовая работа [749,1 K], добавлен 13.08.2012

  • Конструкции языка программирования С++, составление простых программ, использyющих оператор if, оператор if else и оператор switch. Работа оператора switch. Создание программы, которая по дате определяет день недели , на который эта дата приходится.

    лабораторная работа [3,1 M], добавлен 03.02.2008

  • Исходные данные по предприятию ОАО "Красногорсклексредства". Разработка математических моделей задач по определению оптимальных планов производства продукции с использованием пакетов прикладных программ для решения задач линейного программирования.

    курсовая работа [122,5 K], добавлен 16.10.2009

  • Разработка программы совместной обработки данных о проданных билетах на одну дату отправления авиарейсов и общее количество для формирования выходного документа; исходные данные и особенности алгоритма; ограничения. Тестирование функций программы.

    курсовая работа [4,1 M], добавлен 07.04.2012

  • Содержание и применение теоремы Кастильяно для определения прогиба балки при различных значениях силы. Алгоритм составления и решения данной задачи. Формирование таблицы идентификаторов. Файл исходных данных. Текст и листинг полученной программы.

    контрольная работа [73,4 K], добавлен 30.04.2011

  • Определение понятия CASE-технологий. Использование комплексного инструментария ER/Studio для создания логической и физической модели данных, генерирования баз данных на платформе СУБД Access. Процедура добавления атрибутов и сущностей, создания связей.

    контрольная работа [2,2 M], добавлен 21.12.2011

  • Организация файлов и доступ к ним. Файловые операции. Программирование с использованием встроенных функций ввода-вывода; линейных, разветвляющихся и циклических вычислительных процессов с использованием If-else, оператора выбора Case; массивов и матриц.

    курсовая работа [5,8 M], добавлен 24.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.