Программирование циклических алгоритмов

 

Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных. Число повторений этих ветвей алгоритма может быть задано в явной или неявной форме.

Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE и REPEAT, с помощью которых они программируются.

Пример. Составим программу для вычисления и вывода на печать таблицы значений функции y = a x2 при x = 5, 6, 7, ..., 35; a =10.2.

С использованием оператора WHILE программа имеет вид:

program Pr1;

var

y,a: real;

x: integer;

begin

x:=5; a:=10.2;

while x<=35 do

begin

y:= a*x*x;

writeln(‘ x=',x, ‘y=’,y)

x:= x+1

end

end.

С использованием REPEAT программа выглядит так:

program Pr2;

var

y,a: real;

x: integer;

begin

x:=5; a:=10.2;

repeat

y:= a*x*x;

writeln(‘ x=',x, ‘y=’,y)

x:= x+1

until x >35

end.

Порядок выполнения работы

 

1. Изучить необходимые сведения, указанные в п.3.

2. Получить у преподавателя вариант задания.

3. Разработать, ввести и отладить программу

4. Произвести расчет по крайней мере при двух различных вариантах исходных данных, выбранных самостоятельно.

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

 

 

Варианты заданий

1. Вычислить число сочетаний из n по m по формуле

где n!=1*2*3…(n-1)*n, целые числа n, m (n>=m>0) ввести с клавиатуры.

 

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

b = (1+

где n ввести с клавиатуры.

 

3. Вычислить число размещений из n по m по формуле

,

где целые числа n и m ввести с клавиатуры (n>=m>0).

 

4. Вычислить приближенно значение бесконечной суммы с точностью до e = 0,001;

Значение n и точность расчетов ввести с клавиатуры.

 

Примечание.Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше,чем e.


 

5. Вычислить приближенно значение бесконечной суммы с точностью до 0,0005:

Значение n и точность расчетов ввести как константы (см. примечание к варианту 4).

 

6. Дано натуральное n, определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры.

 

7. Вывести на печать таблицу n значений функции при изменении х от х1 до х2 с шагом h = (х2- х1)/(n – 1). Коэффициенты a, b, c, границы интервала х1, х2 и число n ввести с клавиатуры.

 

 

8. Вычислить значение функции для k = 1,2,… .Вычисления производить до тех пор, пока y>=z. Исходные данные x, y и z (x, y>1) ввести с клавиатуры.

 

9. Найти приближенно , с точностью до 0,01, минимум функции f(x)= ax2 + bx + c на отрезке х1 £ х <= x2. Значения х1, х2 и a, b, c ввести как константы.

 

 

10. Пусть а1= u; b1 = v; ak = 2bk-1+ ak-1; bk = 2ak-1 + bk-1, k=2,3,4,… .Даны действительные u, v, натуральное n. Найти

 

11. Вычислить бесконечную сумму с точностью e=0,001.

См. примечание к варианту 4.

 

12. Вычислить бесконечную сумму с точностью e=0,001.

См. примечание к варианту 4.


 

13. Вычислить и вывести на экран таблицу значений функции у = х/k!, больших e, если k = 1,2,3,… . Исходные данные: х=1,55; e = 0,0183.

 

14. Вычислить и вывести на экран таблицу всех 20 значений функции z(i,j) = xi 2+ yj 3 для xi = x1, x2, x3, x4; yj = y1, y2,…,y5. Исходные данные: x1= 0,1; x2 =0,2; x3 = =0,3; x4 =0,4; y1= 1,1; y2 = 1,2; y3 = 2,1; у4 = 2,2; y5 =2,5.

 

 

15. Вычислить значение выражения

 

(9 + (9 + …+ (9 + 91/2)1/3…)1/m-1)1/m

Число m ввести с клавиатуры.

 

16. Составить программу для вычисления и вывода на экран таблицы значений сумм для а £ х £ b, изменяющегося с шагом h = (b-a)/10. Исходные данные: а = -1,05; b= 362; n = 10.

 

17. Вычислить и вывести на экран таблицу значений функции у = x2 – ab – cx для х = -5, -6, -7,…,-35. Исходные данные (в экспоненциальной форме записи): а = 1,14Е +1; b = -4,21Е+2; с = 3,25Е+3.

 

 

18. Составить программу вычисления и вывода на экран таблицы сумм , где х изменяется в пределах а £ х £ b с шагом h = (b-a)/10. Исходные данные: а = 0,1; b = 13; n = 12.

 

19. Вычислить и вывести на экран таблицу значений функции у = x2 – ab + cx, для хнач. £ х £ хкон. с шагом h. Исходные данные: а = -1,14; b = -4,21; с = 3,25; хнач.= 4,5; хкон = 35,5; h = 0,5.

 

 

20. Найти наибольшее значение функции у = аx3 + bх – c при изменении х от хнач. до хкон с шагом h. Исходные данные : а = 2,14; b = -4,21; с = 3,25; хнач.= - 4,5; хкон = - 35,5; h = - 0,5.

 


 

21. Вычислить приближенно значение бесконечной суммы с точностью до 0,0005:

Значение n и точность расчетов ввести как константы (см. примечание к варианту 4).

 

22. Дано натуральное n, определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры.

 

23. Вывести на печать таблицу n значений функции при изменении х от х1 до х2 с шагом h = (х2- х1)/(n – 1). Коэффициенты a, b, c, границы интервала х1, х2 и число n ввести с клавиатуры.

 

 

24. Вычислить значение функции для k = 1,2,… . Вычисления производить до тех пор, пока y>=z. Исходные данные x, y и z (x, y>1) ввести с клавиатуры.

 

25. Найти приближенно , с точностью до 0,01, минимум функции f(x)= ax2 + bx + c на отрезке х1 £ х <= x2. Значения х1, х2 и a, b, c ввести как константы.

 

 

26. Пусть а1= u; b1 = v; ak = 2bk-1+ ak-1; bk = 2ak-1 + bk-1, k=2,3,4,… .Даны действительные u, v, натуральное n. Найти

 

27. Вычислить бесконечную сумму с точностью e=0,001.

См. примечание к варианту 4.

 

28. Вычислить бесконечную сумму с точностью e=0,001.

См. примечание к варианту 4.


 

29. Вычислить и вывести на экран таблицу значений функции у = х/k!, больших e, если k = 1,2,3,… . Исходные данные: х=1,55; e = 0,0183.

 

30. Вычислить и вывести на экран таблицу всех 20 значений функции z(i,j) = xi 2+ yj 3 для xi = x1, x2, x3, x4; yj = y1, y2,…,y5. Исходные данные: x1= 0,1; x2 =0,2; x3 = =0,3; x4 =0,4; y1= 1,1; y2 = 1,2; y3 = 2,1; у4 = 2,2; y5 =2,5.

 

31. Вычислить значение выражения

 

(9 + (9 + …+ (9 + 91/2)1/3…)1/m-1)1/m

 

Число m ввести с клавиатуры.

 

 

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

1. Каково назначение режимов Compile и Tools системы Turbo?

2. Какие команды имеются в режимах Compile и Tools?

3. Как записывается и как работает оператор FOR?

4. Для организации каких циклов применим оператор FOR?

5. В чем отличие оператора WHILE от оператора REPEAT?

6. Как программируются циклические алгоритмы с явно заданным числом повторений цикла?ign='left' width='50%'> 


Дата добавления: 2015-05-10; просмотров: 157; Опубликованный материал нарушает авторские права?.