Лабораторная работа № 2
Студент(ы) Смирнова К. А.
Группа РН12-72
Дата выполнения 19.03.08
Преподаватель Кудашов А. Г.
Отметка о защите
Задание №1. В данном задании требовалось проанализировать и исполнить программы Murka-2007 раздела if_else (часть Ветвления) и на приведенных примерах освоить синтаксис операторов if и if-else и особенности их использования. Восстановить и зарисовать блок-схемы, реализованные в программах 3_ifelse, 4_ifelse, 5_ifelse, 6_ifelse, 7_ifelse, 8_ifelse.
Задание №2. В данном задании требовалось проанализировать и исполнить программы Murka раздела Логические операции (часть Ветвления), а также освоить правила записи сложных логических выражений, использующих несколько операций отношения и операции NOT, OR и AND.
Задание №3(2). В данном задании требуется разработать программу для расчета значения следующей кусочно-разрывной функции:
Входные данные: x; тип - doublе(вещественные переменные).
Выходные данные: f; тип – doublе(вещественные переменные).
Текст программы:
#include <iostream.h> //включение заголовочного файла ввода/вывода С++
#include <conio.h> //включение заголовочного файла для функции getch()
#include <math.h> // включение заголовочного файла с мат. функциями
void main()
{
//описание данных
double x,f;
clrscr();
cout<<"x=";
cin>>x;
// расчет
if (x<=0)
f=exp(x);
if ((x>0)&&(x<1))
f=x*x-x;
if (x>=1)
f=cos(x);
//вывод результата
cout<<endl<<"f="<<f<<endl;
getch();
}
Результаты исполнения работы:
Набор 1. x=-1
f=0.367879
Набор 2. x=1.5
f=0.070737
Набор 3. x=1
f=0.540302
Вывод: Для расчета значения кусочно-разрывной функции разработана программа с ветвлением. При написании использовали оператор if. Результаты исполнения работы приведены после текста программы. Программа успешно работает.
Задание №4(2). В данном задании требовалосьразработать программу для расчета значения кусочно-разрывной функций, заданной следующим графиком.
При разработке необходимо было записывать уравнение прямой, проходящей через две точки с координатами x1, y1 и x2, y2:
.
Входные данные: x; тип - doublе(вещественные переменные).
Выходные данные: f; тип – doublе(вещественные переменные).
Текст программы:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double x,f;
clrscr();
cout<<"x=";
cin>>x;
if (x<=-1)
f=0;
if ((x>=-1)&&(x<=0))
f=2*(x+1);
if ((x>=0)&&(x<=1))
f=-3*x+2;
if ((x>=1)&&(x<4))
f=-2+x;
if ((x>=4)&&(x<=5))
f=22-5*x;
if (x>5)
f=-3;
cout<<endl<<"f="<<f<<endl;
getch();
}
Результаты исполнения работы:
Набор 1. x=-6
f=0
Набор 2. x=4
f=2
Набор 3. x=6
f=-3
Вывод: Была разработана программа для расчета значения кусочно-разрывной функций с ветвлением. При написании использовали оператор if. Результаты исполнения работы приведены после текста программы. Программа успешно работает.
Задание № 5. В данном заданиитребовалось разработать программу для проверки, попадает ли точка с заданными на плоскости координатами x и y внутрь пересекающихся окружностей с центрами в точках , и , и радиусами и . Программа должна выдавать в виде результата сообщение, в какую область попала точка:
- не принадлежащую ни одному из кругов;
- принадлежащую только первому кругу;
- принадлежащую только второму кругу;
- принадлежащую и первому, и второму кругу.
Входные данные: x01,x02,y01,y02,R1,R2,y,x,r1,r2; тип - doublе(вещественные переменные).
Текст программы:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double x01,x02,y01,y02,R1,R2,y,x,r1,r2;
clrscr();
cout<<"x01=";
cin>>x01;
cout<<"y01=";
cin>>y01;
cout<<"x02=";
cin>>x02;
cout<<"y02=";
cin>>y02;
cout<<"R1=";
cin>>R1;
cout<<"R2=";
cin>>R2;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
r1=sqrt((x-x01)*(x-x01)+(y-y01)*(y-y01));
r2=sqrt((x-x02)*(x-x02)+(y-y02)*(y-y02));
if ((r1<=R1)&&(r2>R2))
cout<<endl<<"tochka prinadlegit pervomu krugu"<<endl;
if ((r1>R1)&&(r2>R2))
cout<<endl<<"tochka ne prinadlegit ni odnomu iz cruqov"<<endl;
if ((r2<=R2)&&(r1>R1))
cout<<endl<<"tochka prinadlegit vtoromu krugu"<<endl;
if ((r1<=R1)&&(r2<=R2))
cout<<endl<<"tochka prinadlegit i pervomu crugu i vtoromu"<<endl;
getch();
}
Результаты исполнения работы:
Набор 1. x01=0
y01=0
x02=3
y02=0
R1=4
R2=2
x=0
y=1
tochka prinadlegit pervomu krugu
Набор 2. x01=0
y01=0
x02=3
y02=0
R1=4
R2=2
x=5
y=6
tochka ne prinadlegit ni odnomu iz cruqov
Набор 3. x01=0
y01=0
x02=4
y02=0
R1=6
R2=3
x=5
y=0
tochka prinadlegit i pervomu crugu i vtoromu
Вывод: Была разработана программа для проверки, попадает ли точка с заданными на плоскости координатами x и y внутрь пересекающихся окружностей с центрами в точках , и , и радиусами и . Программа выдает в виде результата сообщение, в какую область попала точка:
- не принадлежащую ни одному из кругов;
- принадлежащую только первому кругу;
- принадлежащую только второму кругу;
- принадлежащую и первому, и второму кругу.
При написании использовали оператор if. Результаты исполнения работы приведены после текста программы. Программа успешно работает.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.