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

2. Вычисляется выражение.

3. Если выражение false, то выполнение оператора do while заканчивается и выполняется следующий по порядку оператор. Если выражение true, то выполнение оператора продолжается с пункта 1.

Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break.

Оператор do while реализует алгоритм, представленный на рис. 23.

Рис.23. Алгоритмы работы оператора do while

В отличие от цикла while, в котором проверка условия окончания цикла делается до выполнения тела цикла, в цикле do while такая проверка имеет место после выполнения тела цикла. Следовательно, тело цикла do while будет выполнено хотя бы один раз, даже если выражение имеет значение false с самого начала.

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

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

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

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

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

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

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

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

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

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

Задача 1

Вычислить площадь фигуры ограниченной линиями

Для вычисления площади фигуры ограниченной линиями можно использовать итерационное выражение , где , и

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

#include "stdafx.h"

#include <math.h>

#include <stdio.h>

#include <windows.h>

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

{

char buf[80];

double x,dx,f1,f2,s;

s=0.;

x=0.;

dx=1.0e-5;

f1=sqrt(x);

f2=sqrt(4.-3.*x);

for(;f1<f2;x=x+dx)

{

f1=sqrt(x);

f2=sqrt(4.-3.*x);

s=s+(f2-f1)*dx;

}

sprintf(buf," s=%6.2f\n x=%6.2f\n f1=%6.2f\n

f2=%6.2f\0",s,x,f1,f2);

return 0;

}

Результат

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

№

Задание

Цикл

№

Задание

Цикл

1.

for

13.

do while

2.

while

14.

while

3.

do while

15.

for

4.

for

16.

for

5.

while

17.

while

6.

do while

18.

do while

7.

while

19.

while

8.

do while

20.

do while

9.

for

21.

for

10.

while

22.

while

11.

do while

23.

do while

12.

for

24.

for

Задача 2. Вычисление функции с помощью разложения в ряд

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

Вариант 1

Вариант 2

Вариант 3

x > 0

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Вариант 11

Вариант 12

Вариант 13

Вариант 14

Вариант 15

Вариант 16

Вариант 17

Вариант 18

Вариант 19

Вариант 20

Задача 3(дополнительно). Составить программу вычисления корней уравнения f(x)=0 с точностью EPS = 0,0001.

Интервал локализации корня [a, b] известен.

Использовать:

а) метод простой итерации;

б) метод половинного деления отрезка [a, b] локализации корня;

в) метод Ньютона.

При составлении программы использовать операторы цикла

WHILE и DO WHILE .

Примечание.

1. Метод простой итерации состоит в том, что по i-му приближению корня находится i+1 приближение по формуле

Процесс продолжается до тех пор, пока относительная ошибка для двух последовательных приближений не станет меньше EPS:

Процесс итерации сходится на [a, b], если при всех .

Для начального значения корня x0 принять .

2. Метод половинного деления.

Всегда локализованный корень находится в том интервале, на концах которого значения функции имеют противоположные знаки. Если нужно определить корень с точностью EPS, то деление интервала пополам продолжают, пока его длина не станет меньше 2*EPS. В этом случае средина последнего интервала дает значение корня с нужной точностью.

3. Метод Ньютона состоит в последовательном вычислении по формуле:

Оценка ошибки k-го приближения корня выполняется так:

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

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

1) (0; 2)

2) (1; 2)

3) (3; 4)

4) (1,5; 2,7)

5) (0,1; 0,6)

6) (0,5; 0,9)

7) (0; 1)

8) (0,5; 1)

9) (0,1; 0,8)

10) (0,1; 0,8)

11) (0,2; 1)

12) (1,5; 2)

13) (0,5; 1)

14) (0; 1)

15) (0,5; 1)

16) (1; 2)

17) (0,5; 1,5)

18) (0; 2)

19) (1; 2)

20) (0; 2)

21) (2; 3)

22) (0,5; 1,5)

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

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

2.Какие операторы используются для организации циклов?

3.Опишите ситуации, когда следует использовать каждый из трех операторов цикла.

4.Какие три операции должны производиться в программе при организации любого цикла?

5.Охарактеризуйте преимущества, которые дает цикл for.

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