Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практикум по основам программирования. Скалярные типы. Управляющие операторы. Учебное пособие
.pdf
float max = x;
while (i < n)
{
scanf("%f ", &x);
i++;
if (x < 0 && x > max)
max=x;
}
printf("%f \n", max);
д) Используя оператор цикла, вычислить по схеме Горнера:
y = x10 +2x9 + 3x8 + … + 10x +11.
int n = 2;
float x, y = 1;
scanf("%f ", &x);
while (n <= 11)
{
y = y * x + n;
n++;
}
printf("%f \n", max);
е) Используя оператор цикла, вычислить значение
1! + 3! + 5! + ... + n!, если n > 1.
int n, k, y = 1;
scanf("%d ", &n);
while (n > 1)
{
y = y * (n - 1)* n + 1;
n = n - 2;
}
51

0
ln 2 sin x dx
12
( ) ( ) ( ) ( )
b
n
a
f x dx h f x f x f x
printf("%d \n", y);
ж) С точностью eps вычислить значение
y = ex = 1 + x / 1! + x2 / 2! +…+ xn / n! +… .
Считать, что требуемая точность достигнута, если очередное сла-
гаемое по модулю меньше eps,– все последующие слагаемые не
учитывать.
int n = 1;
float x, y = 1, b, eps;
scanf("%f %f ", &x, &eps);
b = x;
while (fabs (b) >= eps)
{
y += b;
n++;
b *= x / n;
}
printf("%f \n", y);
з) При заданном n вычислить приближенно интеграл
используя формулу прямоугольников:
где h = (b – a) / n, xi = a + i·h – h / 2.
int n;
float x, y = 0, h, pi = 3.14159265;
scanf("%d ", &n);
,
,
52

h = pi / n;
x= h / 2;
while (x < pi)
{
y += log(2+sin x);
x += h;
}
printf("%f \n", y);
ПРАКТИЧЕСКОЕ ЗАДАНИЕ «ЦИКЛЫ»
Тема
Программирование циклических вычислительных процессов. Простые типы данных.
Цели
Сформировать навыки программирования простейших задач, в основе решения которых лежат такие фундаментальные действия структурного программирования, как циклы. Сформировать практические
навыки использования простых типов данных.
Содержание работы
1. Изучить циклические управляющие структуры (операторы цикла с
предусловием и постусловием).
2. Изучить простые скалярные типы.
3. Спроектировать и отладить программу решения поставленной зада-
чи.
Требования к выполнению задания
1. Описывая в алгоритме циклический вычислительный процесс, ис-
пользовать технологию структурного программирования.
2. В данном задании сложные по своей природе величины (например,
последовательность чисел) не имеют ограничений сверху на размер, поэтому обрабатывать эти величины необходимо частями, определяя из условия задачи единицу обработки. Единица обработки – это минимальное
количество элементов сложной величины, зная значения которых можно
решить задачу (например, это один элемент последовательности чисел
или два элемента последовательности и т. п.).
53

( 2)( 4)( 8) ( 64)
( 1)( 3)( 7) ( 63)
x x x x
y
x x x x
2 2 2
1 1 1
1 1 1
12 n
корней
2 2 2
n
3 6 3( 1) 3nn
1 1 1
sin1 sin1 sin2 sin1 sinn
1 1 1
( 1) ( 1) ( )a a a a a a n
2 4 2
1 1 1 1
n
a a a a
2
( )( 2 ) ( )a a n a n a n
2 2 2 2
скобок
(( (( ) ) ) )
n
x a a a a a
1
12
11
1,
23
Варианты заданий
1 Дано произвольное число x. Вычислить:
2 Дано натуральное число n. Вычислить:
.
а)
б)
в)
г)
;
;
;
.
3 Даны натуральное число n и действительное число a. Вычислить:
а)
б)
в)
;
.
;
4 Даны натуральное число n и действительные числа x, a. Вычис-
лить:
5 Дано действительное число a. Найти:
а) среди чисел 1,
,
первое, большее a;
54

11
1
2
a
n
357
( ) sin
3! 5! 7!
x x x
f x x x
( ) 2 ( ) 2 ( 2 ) 2 ( ( 1) ) ( )f a f a h f a h f a n h f a nh
22
( ) ( 1)cosf x x x
2
sin sin sin
n
x x x
2
sin sin sin
n
x x x
sin sinsin sinsin sin
n
x x x
0 1 2
, , ,y y y
0
ya
11
1
1
1
, 1,2,3,
i i i
n
i
x
y y y i
ny
m
y
22
1mm
y y eps
б) такое наименьшее n, что
;
6 Дано действительное число x. Вычислить
с точностью eps. Считать, что требуемая точность достигнута, если
очередное слагаемое по модулю меньше eps.
7 Даны действительные числа a, h, натуральное число n. Вычислить
,
где
8 Даны натуральное число n и действительное число x. Вычислить:
а)
б)
в)
.
;
;
.
9 Даны положительные действительные числа a, x и натуральное n. В
последовательности
летворяющий следующей точности вычислений
10 Вычислить бесконечную сумму с заданной точностью eps. Считать,
что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых и очередное слагаемое по модулю
меньше eps:
, образованной по закону
найти первый член
55
,
, удов-
.

1
( 1)
!
i
ii
!
1
( 1)
( 1)( 2)
i
i
i i i
!
1
( 1)
( 1)
i
i
ii
1
( 1)
(2 1)
i
i
ii
1
( 1) ( 1)
!
i
i
i
i
0
sinxt
dt
t
35
3 3! 5 5! !
n
x x x
x
nn
20
10
dx
x
1
1
0
( ) ( ) ( )
2
b
n
ii
i
a
h
f x dx f x f x
ba
h
n
i
x a ih
1
2
4
0
1
11dxx
( ) ( ) (2 ) ( )
b
a
f x dx h f h f h f nh
ba
h
n
а)
б)
в)
г)
д)
;
;
;
;
.
11 Вычислить значение интеграла
.
12 Вычислить значение интеграла
как сумму M членов ряда:
по методу трапеций:
13 Вычислить значение интеграла
угольников:
, где
56
,
.
по методу прямо-
, где
.

1
0
1dxx
0 1 2 2 3 4 2 1
( ) ( 4 ) ( 4 ) ( 4 )
3
b
n n n n
a
h
f x dx S f f f f f f f f f
ba
h
n
()
i
f f a ih
0,1,2, ,in
2n
n n 2
SS
2n
11
, , , ,
nn
a b a b
()
ii
ab
i
a
i
b
12 n
d d d
i
d
1n
14 Вычислить значение интеграла
по методу Симпсона:
,
где
Начальное значение
,
.
, затем n последовательно удваивается до
.
15 Дана непустая последовательность ненулевых целых чисел, за ко-
торой следует 0. Определить, сколько раз в этой последовательности меняется знак.
16 Даны целое
Рассматривая пары
и вещественные числа
и
как левые и правые концы отрезков на
одной и той же прямой, определить концы отрезка, являющегося
пересечением всех этих отрезков. Если такого отрезка нет, то сообщить об этом.
17 Дана последовательность литер, имеющая следующий вид:
. (
– цифра,
). Вычислить значение этой ал-
гебраической суммы.
.
18 Дана непустая последовательность литер, оканчивающаяся точкой.
Определить, удовлетворяет ли она следующему свойству:
а) последовательность начинается с некоторой ненулевой цифры, за
которой следуют только буквы и их количество равно значению
этой цифры;
б) последовательность содержит помимо букв только одну цифру,
причем ее числовое значение равно длине последовательности;
в) последовательность состоит только из цифр, причем их число-
вые значения образуют арифметическую прогрессию;
57

0
1
(1 ), 2,
()
, 2.
2
p
n
n
m
n
xn если x
yx
x
если x
г) последовательность совпадает с начальным отрезком ряда
0123456789;
д) последовательность совпадает с каким-то отрезком ряда
0123456789.
19 Дано целое число N > 1 и набор из N вещественных чисел. Набор
называется пилообразным, если каждый его внутренний элемент
либо больше, либо меньше обоих своих соседей (то есть является
«зубцом»). Если данный набор является пилообразным, то вывести
0; в противном случае вывести номер первого элемента, не являющегося «зубцом».
20 Дано целое число N > 1 и набор из N целых чисел, содержащий, по
крайней мере, два нуля. Вывести сумму чисел из данного набора,
расположенных между последними двумя нулями. Если последние
нули идут подряд, то вывести 0.
21 Дано целое число N > 1 и набор из N целых чисел. Найти количест-
во элементов, расположенных перед первым минимальным элементом.
22 Дано целое число N > 1 и набор из N целых чисел. Найти количест-
во элементов, расположенных после последнего максимального
элемента.
23 Дано целое число N > 1 и набор из N целых чисел, содержащий
только нули и единицы. Найти номер элемента, с которого начинается самая длинная последовательность из единиц, и количество
элементов в этой последовательности. Если таких последовательностей несколько, то вывести номер последней из них. Если единицы в последовательности отсутствуют, то вывести 0.
Вычислить
58

1
0
, 2,
()
1 , 2.
2
n
m
n
p
n
x
если x
n
yx
x
если x
n
1
1
,,
()
( ), .
m
kk
k
p
kk
n
ax если a x
yx
axесли a x
Вариант
Уравнение f(x) = 0
Область,
содержащая корень
1
3sin 0.35 3.8 0xx
[2, 3]
Вычислить
Вычислить
24 Для заданного интервала (см. Таблицу 1), содержащего один ко-
рень, используя метод половинного деления, уточнить корень заданного нелинейного уравнения с точностью до eps.
25 Для заданного интервала (см. Таблицу 1), содержащего один ко-
рень, используя метод простой итерации, уточнить корень заданного нелинейного уравнения с точностью до eps.
26 Для заданного интервала (см. Таблицу 1), содержащего один ко-
рень, используя метод итерации и метод половинного деления,
уточнить корень заданного нелинейного уравнения с точностью до
eps. Определить число повторений цикла в том и другом методе
уточнения корней.
27 Вычислить сумму членов ряда с заданной точностью eps для про-
извольного заданного аргумента х. Определить число повторений
итерационного цикла (см. Таблицу 2). Считать, что точность достигнута, если модуль разности между значением выражения для
проверки и вычисленной суммой членов ряда будет меньше eps.
Таблица 1
59

2
1
0
3 sin3.6xx
[0, 0.85]
3
2
0.1 ln 0x x x
[1, 2]
4
22
sin cos 10 0x x x
[0, 1]
5
2
3
3
2 1 0x
[0, 2]
6
22
30
xx
ee
[1, 3]
№
Формула ряда
Диапазон
изменения
х
Выражение
для проверки
1
3 2 1
1 1 1
2 ... ...
3 (2 1)
n
x x n x
1x
1
ln
1xx
2
2
1 ... ...
n
x x x
1x
1
1 x
3
23
1
1 2 3 3 4 4 5 ...
2
x x x
1x
3
1
1 x
4
23
1 1 1 1
1 ... ...
n
x x x x
1x
1
x
x
5
22
ln ln ln
1 ... ...
1! 2! !
nn
x a x a x a
n
x
x
a
Таблица 2
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
