Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инф_техн_метод_указания_КР_211000(З).DOC
Скачиваний:
3
Добавлен:
16.11.2019
Размер:
2.03 Mб
Скачать

А лгоритм решения задачи Листинг программы

//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#include <conio.h> //библиотека подключения функции getch()

#include <iostream.h> //библиотека для cin и cout

#include <malloc.h> //библиотека для динамического выделения памяти

#include <fstream.h> //библиотека для ввода/вывода в файл

#include <windows.h> //библиотека используется в функции RUS

#include <math.h> //библиотека математических функций

#include <ctype.h> // библиотека проверки принадлежности символов

#include <stdlib.h> // библиотека некоторых стандартных функций

#include <string.h> // библиотека функций работы со строками

//

char bufRus[256];

//---------------------------------------------------------------------------

char* RUS(const char*text) //функция поддержки русского языка

{

CharToOem(text,bufRus);

return bufRus;

}

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

float a,b,c,x,F;

cout<<RUS("\nВвести а, в, с, х\n");

cin>>a>>b>>c>>x;

if(x<0&&b!=0)

F=-a*x*x+b;

else

if(x>0&&b==0)

if(x==c)

{

cout<<RUS("\nДеление на ноль\n");

goto M;

}

else

F=x/(x-c)+5.5;

else

if(c==0)

{

cout<<RUS("\nДеление на ноль\n");

goto M;

}

else

F=x/(-c);

cout<<"\nF= "<<F;

M:cout<<RUS("\nНажмите любую клавишу для завершения программы\n");

getch();

return 0;

}

//---------------------------------------------------------------------------

Результаты тестирования программы

ЗАДАНИЕ 3

Условие задачи

Составить программу, которая печатает сообщения: "принадлежит" или "не принадлежит" точка с координатами х, у, введенными с клавиатуры, заштрихованной области (номера вариантов на графиках). Принять на графиках ось ординат – y, ось абсцисс – x, размер координатной сетки 1x1:

Метод решения задачи

Точка с координатами х, у будет находиться в заштрихованной области, если выражение

будет истинным.

Алгоритм решения задачи

Листинг программы

//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#include <conio.h> //библиотека подключения функции getch()

#include <iostream.h> //библиотека для cin и cout

#include <malloc.h> //библиотека для динамического выделения памяти

#include <fstream.h> //библиотека для ввода/вывода в файл

#include <windows.h> //библиотека используется в функции RUS

#include <math.h> //библиотека математических функций

#include <ctype.h> // библиотека проверки принадлежности символов

#include <stdlib.h> // библиотека некоторых стандартных функций

#include <string.h> // библиотека функций работы со строками

//

char bufRus[256];

//---------------------------------------------------------------------------

char* RUS(const char*text) //функция поддержки русского языка

{

CharToOem(text,bufRus);

return bufRus;

}

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

float x,y;

cout<<RUS("\nВвести кординаты точки ")<<"x,y\n";

cin>>x>>y;

if((x*x+y*y<=36)&&(!((x>0)&&(y>0))))

cout<<RUS("\nТочка принадлежит области\n");

else

cout<<RUS("\nТочка не принадлежит области\n");

cout<<RUS("\nНажмите любую клавишу для завершения программы\n");

getch();

return 0;

}

//---------------------------------------------------------------------------

Результаты тестирования программы

ЗАДАНИЕ 4

Условие задачи

Вычислить сумму ряда S с погрешностью ε, задаваемой с клавиатуры. Вывести количество итераций , сделанных при вычислении. Если вычислить сумму S с погрешностью ε невозможно, вывести сообщение и завершить выполнение программы.

Метод решения задачи

Для вычисления суммы членов ряда используется прием накопления суммы. Сумма накапливается путем прибавления очередного члена ряда

к сумме предыдущих. Формула для накопления имеет вид:

При первом выполнении суммирования вычисляется значение

,

которое должно быть равно . Поэтому начальное значение суммы должно равняться нулю.

Накопление суммы выполняется пока очередной член ряда по модулю больше заданной погрешности. Как только этот член ряда станет равным или меньше погрешности, суммирование завершается и считается, что сумма ряда S вычислена с погрешностью ε.

Если очередной член ряда по модулю будет всегда больше заданной погрешности, считается, что вычислить сумму S с погрешностью ε невозможно, в этом случае завершение программы выполняется, когда количество итераций n удовлетворяет неравенству

,

где N некоторое большое число.