Разработка программ с ветвлениями. Разработка программы для нахождения корней кубического уравнения

Страницы работы

Содержание работы

Министерство науки и образования Российской Федерации

Новосибирский государственный технический университет

Отчет по информатике

Лабораторная работа 2

Разработка программ  с ветвлениями

Группа   РН12-61

Студент Соловьёв А. Н.

Преподаватель _______________

2008

  1. Проанализировать и исполнить программы Murka-2007 раздела if_else (часть Ветвления). На приведенных примерах освоить синтаксис операторов if и if-else и особенности их использования. Восстановить и зарисовать блок-схемы, реализованные в программах 3_ifelse, 4_ifelse, 5_ifelse, 6_ifelse, 7_ifelse, 8_ifelse. Зафиксировать в рабочем журнале результаты их исполнения для четырех возможных комбинаций ключей:

3_ifelse

4_ifelse


5_ifelse

 


6_ifelse

7_ifelse

8_ifelse

key1

0

0

1

1

key2

0

1

0

1

3_ifelse

key = 0

key = 0

key не равен 0

key не равен 0

4_ifelse

A

B

С

С

5_ifelse

A

A

B

C

6_ifelse

A

B

C

D

7_ifelse

A

B

8_ifelse

A

B

B

  1. Проанализировать и исполнить программы Murka раздела Логические операции (часть Ветвления). Освоить правила записи сложных логических выражений, использующих несколько операций отношения и операции NOT, OR и AND.

В результате исполнения программы 1LOGICAL были получены следующие результаты:

a = 0

b = 1

!a = 1

!b = 0

a||b = 1

a&&b = 0

В результате исполнения программы 2LOGICAL были получены следующие результаты:

a b   !a  !b   (a||b) (a&&b)

0 0 |  1   1     0      0

0 1 |  1   0     1      0

1 0 |  0   1     1      0

1 1 |  0   0     1      1

В результате исполнения программы 3LOGICAL были получены следующие результаты:

a b c    f1  f2

0 0 0 |   1   1

0 0 1 |   0   0

0 1 0 |   1   1

0 1 1 |   0   0

1 0 0 |   1   1

1 0 1 |   0   0

1 1 0 |   0   0

1 1 1 |   0   0

данная программа находит значение функций при a=0; b=0; c=0.

В результате исполнения программы 4LOGICAL были получены следующие результаты:

!((a)&&(b)||(c)) = 1

(((!a)||(!b))&&(!c)) = 1

  1. Разработать программу для расчета значения одной из следующих ниже кусочно-разрывных функций. Выполнить двумя способами: с использованием вложенной структуры операторов if-else и с использованием только операторов if. При проверке работы программы особое внимание обратить на правильность расчета в точках разрыва.

с помощью оператора if:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

//описание данных

double x,y;

//присваивание

clrscr();

cout<<"введите x="; cin>>x;

//расчёт

if (x<-1) y=-sin(x);

if ((-1<=x) && (x<1)) y=tanh(x);

if (x>=1) y=x*x-x;

//вывод

cout<<endl;

cout<<"y(x)="<<y<<endl;

getch();

}

с помощью операторов if-else:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

//описание данных

double x,y;

//присваивание

clrscr();

cout<<"введите x="; cin>>x;

//расчёт

if (x<-1) y=-sin(x);

else if ((-1<=x) && (x<1)) y=tanh(x);

else y=x*x-x;

//вывод

cout<<endl;

cout<<"y(x)="<<y<<endl;

getch();

}

  1. Разработать программу для расчета значения одной из кусочно-разрывных функций, заданных следующими ниже графиками.

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

//описание данных

double x,y;

//присваивание

clrscr();

cout<<"введите x="; cin>>x;

//расчёт

if ((x>=-4) && (x<=-1)) y=(11-x)/3;

if ((x>-1) && (x<=0)) y=-4*x;

if ((x>0) && (x<=1)) y=3*x;

if ((x>1) && (x<=4)) y=3;

if ((x>4) && (x<=6)) y=(18-3*x)/2;

if (x>6) y=0;

//вывод

cout<<endl;

cout<<"y="<<y<<endl;

getch();

}

  1. Разработать программу для проверки, попадает ли точка с заданными на плоскости координатами x и y внутрь пересекающихся окружностей с центрами в точках , и , и радиусами  и . Программа должна выдавать в виде результата сообщение, в какую область попала точка:

не принадлежащую ни одному из кругов;

принадлежащую только первому кругу;

принадлежащую только второму кругу;

принадлежащую и первому, и второму кругу.

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

//Описание данных

double x,y,x1,x2,y1,y2,r1,r2;

int k1,k2;

/Присвоение

clrscr();

cout<<"Введите х="; cin>>x;

cout<<"Введите x1="; cin>>x1;

cout<<"Введите x2="; cin>>x2;

cout<<"Введите y="; cin>>y;

cout<<"Введите y1="; cin>>y1;

cout<<"Введите y2="; cin>>y2;

cout<<"Введите r1="; cin>>r1;

cout<<"Введите r2="; cin>>r2;

//Расчет

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Отчеты по лабораторным работам
Размер файла:
112 Kb
Скачали:
0