Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3.Циклы.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
379 Кб
Скачать

Вычисление значения функции с заданной точностью

Функцию у = можно вычислить как предельное значение последовательности, определяемой рекуррентной формулой:

yk = (yk–1 + x/ yk–1)/2 для k = 1, 2, ...

Начальное значение y0 задается произвольно. За приближенное с точностью ε значение корня берется первое yk, для которого выполняется условие: |ykyk–1| < ε.

P rogram Posled;

Var X, eps, Aold, Anew: real; k: integer;

Begin

write('Введите число Epsilon'); readln(eps);

write('Введите значение X'); readln(X);

Aold:=X; Anew: = (Aold + X/Aold)/2;

while abs(Anew-Aold)>=eps do

begin

Aold := Anew; Anew: = (Aold + X/Aold)/2;

end;

writeln('Корень квадратный(',X,')=', Anew)

Еnd.

Решение. Для вычисления значений числовой последовательности достаточно двух простых переменных, в которых на каждом шаге будут храниться последнее и предпоследнее значения yk и yk–1. Обозначим эти переменные Anew и Aold. При программировании этой задачи нельзя использовать цикл с параметром, так как неизвестно заранее число повторений цикла. Воспользуемся циклом с предусловием.

Вложенные циклы

Даны натуральные числа n и k. Составить программу вычисления выражения 1k+2k+...+ nk.

P rogram Stepen;

Var n, k, y, i, s, m: Integer;

Begin

writeln('Введите n и k');

readln(n,k);

s:=0;

for i:=l to n do

begin

y:=l;

for m:=l to k do y:=y*i; {нахождение степени k числа i}

s:=s+y;

end;

writeln('Ответ:',s);

End.

Решение. Для вычисления указанной суммы целесообразно организовать цикл с параметром i, в котором, во-первых, находилось бы значение очередного члена ряда (y:=ik) и, во-вторых, осуществлялось бы накопление искомой суммы путем прибавления полученного слагаемого к сумме всех предшествующих (s : =s + y).

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

Сочетание оператора цикла и условного оператора

Написать программу, которая находит и выводит на печать все четырехзначные числа abcd, где а, b, с, d – различные цифры, для которых выполняется соотношение: abcd = a + b + c + d.

Решение. Задачу можно решать несколькими способами. Можно просто перебрать все четырехзначные числа и для каждого проверять соблюдение условий. Попробуем сократить перебор, для этого преобразуем приведенное соотношение:

abcd = a + b + c + d; 10a + b – (10c + d) = a + b + c + d;

9(a c) = 2(c + d); .

Учитывая, что а, b, с, d – различные цифры, получаем:

a = с+2, d = 9 – с и 0 ≤ с ≤ 7.

P rogram Example2;

Var a,b,с,d: integer;

Begin

for c:=0 to 7 do

begin

a:=c+2; d:=9–c;

for b:=0 to 9 do

If (b<>c) and (b<>a) and (b<>d)

then write(a, b, c, d,' ');

end;

End.

Таким образом, мы решили задачу, значительно сократив перебор.

Задания для самостоятельного выполнения

  1. Задачи на работу с целыми числами:

  1. Найти наибольшую и наименьшую цифры в записи данного натурального числа.

  2. Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k.

  3. Найти на отрезке [n; m] натуральное число, имеющее наибольшее количество делителей.

  4. Дано натуральное число n. Проверить, будут ли все цифры числа различными.

  5. Найти все делители натурального числа n.

  6. Даны натуральные числа n, m. Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m.

  7. Найти натуральное число в диапазоне от 1 до n с максимальной суммой делителей.

  8. Составить программу перевода натурального числа из десятичной системы счисления в двоичную.

  9. Составить программу перевода данного натурального числа n в шестнадцатеричную систему счисления.

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

  11. Даны натуральные числа n, k. Проверить, есть ли в записи числа nk цифра m.

  12. Произведение n первых нечетных чисел равно р. Сколько сомножителей взято? Если введенное n не является указанным произведением, сообщить об этом.

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

  14. Дано натуральное число n. Поменять порядок следования цифр в этом числе на обратный или сообщить, что это невозможно в силу переполнения.

  15. Дано натуральное число п. Среди чисел 1, ..., n найти такие, запись которых совпадает с последними цифрами записи их квадратов (например, 62 = 36, 252= 625).

  16. Натуральные числа а, b, c называются числами Пифагора, если выполняется условие a2 + b2 = c2. Напечатать все числа Пифагора, меньшие N.

  17. Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с р.

  18. Для заданных натуральных n и k определить, равно ли число n сумме k-x степеней своих цифр.

  19. Задано натуральное число n. Найти количество натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2, 3, 5.

  20. Дано натуральное число n. Переставить его цифры так, чтобы образовалось наименьшее число, записанное теми же цифрами.

  1. Решить задачу двумя способами: 1) используя цикл с параметром; 2) используя цикл с предусловием (для нечетных вариантов) или цикл с постусловием (для четных вариантов).

  1. Дано натуральное число N. Вычислить:

S = 1– + +…+(–1)n .

  1. Дано натуральное число N. Вычислить:

S = + +…+ .

  1. Дано натуральное число N. Вычислить произведение первых N сомножителей.

P = *…* .

  1. Дано натуральное число N. Вычислить:

P = + +…+ .

  1. Дано действительное число х. Вычислить:

S = x + + + .

  1. Даны натуральное n, действительное x. Вычислить:

S = sinx + sinsinx +...+sinsin...sinx.

  1. Даны действительное число а, натуральное число n. Вычислить:

P = a(а + 1) *...* (а + n – 1).

  1. Даны действительное число а, натуральное число n. Вычислить:

P = а(а n)(а 2п) *...* (aп2).

  1. Даны действительное число а, натуральное число n. Вычислить:

S = + + +…+ .

  1. Дано действительное х. Вычислить:

Р = .

  1. Вычислить:

P = (1 + sin0,l)(l + sin0,2) *...* (1 + sin10).

  1. Даны натуральное n, действительное х. Вычислить:

S = sinx + sinx2 +...+ sinxn.

  1. Дано натуральное n. Вычислить:

S = 1*2 + 2*3*4 + ... + n*(n + 1) *…* 2n.

  1. Дано натуральное число n. Вычислить:

P = *…* , где n > 2.

  1. Дано натуральное число n. Вычислить:

Р = *…* .

  1. Дано натуральное число n. Вычислить:

S = l! + 2! + 3! + ... + n!, где n > 1.

  1. Дано натуральное число n. Вычислить:

S = + + …+ .

  1. Дано натуральное n. Вычислить:

S = + + +…+ .

  1. Вычислить:

S = cosx + cos2x + cos3x + ... + cosnx.

  1. Вычислить:

S = sin1 + sin1,1 + sin1,2 + ... sin2.

  1. Решить задачу, используя цикл с постусловием (для нечетных вариантов) и цикл с предусловием (для четных вариантов).

Дан числовой ряд и малая величина ε. Найти сумму ряда с точностью ε, общий член которого задан формулой:

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

  1. an=

Найти наименьший номер последовательности, для которого выполняется условие |anan| < ε. Вывести на экран этот номер и все элементы ai, где i = 1, 2, ..., n, если ε = 10–3.

  1. an = arctg an–1 +1, a1 = 0

  1. an = ean – 1, a1 = 0

  1. an = 2 + , a1 = 2

  1. an = , a1 = x

  1. an = tg an–1, a1 = 0,5

  1. an = , a1 = 2

  1. an = cos an–1, a1 = 0,5

  1. an = , a1 = 1, a2 = 2

  1. Составить таблицу значений функции у = f(x) на отрезке от а до b с шагом h. Вид функции, значения a, b, h взять из нижеприведенной таблицы. Для построения таблицы значений использовать цикл с предусловием в вариантах с нечетными номерами и цикл с постусловием в вариантах с четными номерами. Таблица должна выводиться на экран в два столбца с заголовками ‘x’ и ‘f(x)’.

варианта

Функция у = f(x)

a

b

h

1

2

3

4

5

1

x2–3x+2

0

4

0,25

2

x∙sinx

0

6

0,25

3

5x3ex

0

5

0,25

4

(exex)/2

–2

3

0,25

5

3x–2∙lnx

0,5

5

0,25

6

2ex/5sin(x/2)

0

10

0,5

7

2∙sinx∙cosx

0

6

0,25

8

x2

–2

2

0,25

9

–ln(x+1)

0

4

0,25

10

|sinx|

–2

2

0,25

11

1/chx

–3

3

0,25

12

x2/ex

0

10

0,5

13

e|x|cosx

–2

2

0,2

14

ex

0

6

0,25

15

lnxex2

0,5

5

0,25

16

x+ excosx

–1

3

0,25

17

5 ex2/2

–5

5

0,5

18

shx∙chx

–2

2

0,25

19

thx+0,25sin2x

–2

2

0,2

20

chxx4

–2

2

0,25