Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР 2-АП.doc
Скачиваний:
4
Добавлен:
13.07.2019
Размер:
802 Кб
Скачать
☆

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

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

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

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

Порядок выполнения работы и методические указания к ее выполнению:

- создать заготовку консольного приложения, воспользоваться для этого мастером создания приложений Win32;

- наполнить полученную заготовку консольного приложения конкретным содержанием в соответствии с предложенным заданием (см. пример);

- устранить все ошибки, возникшие на этапе компиляции исходного текста программы;

- выполнение программы осуществить в пошаговом режиме;

- вывести в окно предварительного просмотра значения всех промежуточных переменных;

- найти свою папку проекта и ознакомиться с ее содержимым (с помощью Блокнота открыть файл ReadMe.txt и перевести текст, который в нем записан);

- итоговый запуск исполняемого модуля выполнить из командной строки;

- изменить свойства консольного окна и сделать фон окна белым, а шрифт черным;

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

- выполнить экспериментальную часть работы согласно полученного задания;

- оформить отчет и сдать преподавателю.

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

Задача 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.

21.

22.

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

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

ПРИЛОЖЕНИЕ 2

№

Функция

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

вар.

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

21

0.75

3.4

1.2

22

1.7

0.6

3.7

23

0.75

3.4

1.2

24

2.3

7.5

3.8

25

3.6

5.7

2.3

26

3.75

1.3

2.3

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

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

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

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

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

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

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

.

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