Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_lab1.doc
Скачиваний:
36
Добавлен:
13.11.2018
Размер:
6.74 Mб
Скачать

2.3. Операторы break, continue и goto

Оператор break используется для выхода из опратора while, dowhile, for и switch, непосредственно его содержащего. Управление передается на оператор, следующий за оператором, из которого осуществляется выход. Пример применения оператора break приведен выше.

Оператор continue используется для пропуска оставшейся части выполняемой итерации цикла, непосредственно его содержащего. Если условиями цикла допускается новая итерация, то она выполняется, в противном случае цикл завершается.

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

Задания к лабораторной работе №2

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

Содержательный смысл практической задачи – вычисление вещественных корней многочленов.

При решении таких задач используется теорема.

Теорема. Для того чтобы несократимая дробь p/q была корнем уравнения (q0) с целыми коэффициентами, необходимо, чтобы число р было делителем свободного члена а0, а число q - делителем старшего коэффициента an.

Если уравнение имеет целые коэффициенты, а старший коэффициент равен единице (т. е. аn=1), то рациональными корнями этого уравнения могут быть только целые числа, которые являются делителями свободного члена а0.

Пример

.

Свободный член этого уравнения имеет делители ±1. Старший коэффициент уравнения имеет делители ±1, ±2, ±3, ±6. Составим все возможные дроби p/q. Получим следующие числа 1, -1, 1/2, -1/2, 1/3, -1/3, 1/6, -1/6.

Все рациональные корни исходного уравнения принадлежат этому множеству чисел.

Текст программы

#include "stdafx.h"

#include <math.h>

#include <conio.h>

#include <stdio.h>

int _tmain(int argc, _TCHAR* argv[])

{

double x,f;

x=1.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=-1.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=1./6.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=-1./6.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=1./3.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=-1./3.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=1./2.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

x=-1./2.;

f=6.*pow(x,4.)-pow(x,3.)-7.*pow(x,2.)+x+1.;

if(f==0.) printf("f(x)=%6.2f x=%6.2f\n",f,x);

getch();

return 0;

}

Результат работы программы

Задания к задаче 1.

Задание

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

Задача 2. Вычислить значение функции Y(x) при различных значениях исходных данных x и a.

Вид функции и значения исходных данных приведены в таблице 1.

Таблица 1

Функция

Исходные данные

вар.

x

a

1

3.1

1.3

2.3

2

7.3

2.8

5.8

3

4.2

1.25

3.7

4

0.5

0.34

0.45

5

3.7

7

6.2

6

2.5

0.17

/20

7

2.8

1.73

2.1

8

2.75

12.3

5

9

2.8

1.1

1.25

10

2.75

1.89

2.3

11

4.6

1.27

1.3

12

5.85

2.13

4.3

13

7.85

5.2

8.5

Продолжение таблицы 2

14

4.3

6.75

5.8

15

6

2.7

4.5

16

0.75

3.4

1.2

17

1.7

0.6

3.7

18

10.2

5.4

8.7

19

7.3

4.75

5.1

20

1.2

8.4

5.7

Задача 3 (ДОПОЛНИТЕЛЬНО на оценку 12). В восточном календаре принят 60-летний цикл, состоящий из 12- летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название, если 1984 год был началом цикла — годом зеленой крысы. Написать программу с использованием оператора switch/case.

Контрольные вопросы

1.Что такое разветвляющийся вычислительный процесс?

2.Какие формы записи имеет условный оператор if ?

3.Назовите отличительные особенности условного выражения в сравнении с условным оператором.

4.Напишите программу поиска минимального числа из трех заданных чисел.

5.Назовите все рациональные корни уравнения типа

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]