Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Задачи для самостоятельного решения




Пример 4

Пример 3

Пример 2

'Имя файла Nod.vbs

'Задача: найти наибольший общий делитель (НОД) двух целых чисел

'--------------------------------------

FUNCTION RecNod(n,m)

'Рекурсивное вычисление НОД

If n=m Then

RecNod=n

ElseIf n>m Then

RecNod=RecNod(n-m, m)

Else

RecNod=RecNod(n, m-n)

End If

End FUNCTION

'---------------------------------------

FUNCTION NonRecNod(n,m)

'Вычисление НОД с помощью цикла

While (n<>m)

If n>m Then

n=n-m

Else

m=m-n

End If

WEnd

NonRecNod=n

End FUNCTION

'---------------------------------------

Dim n, m

 

n=CLng(InputBox("Введите натуральное число n", "Вычисление НОД: ","25"))

m=CLng(InputBox("Введите натуральное число m", "Вычисление НОД: ","50"))

MsgBox "Рекурсивно вычисленный НОД: "&CStr(RecNod(abs(n),abs(m)))&_

VbCrLf&_

"Нерекурсивно вычисленный НОД: "&CStr(NonRecNod(abs(n),abs(m)))_

,vbInformation,"Результат вычисления НОД:"

'Имя файла: Fib.vbs

'Задача: При помощи рекурсивной функции найти и вывести на экран

' к-й элемент последовательности Фибоначчи. Последовательность Фибоначчи:

' 1, 1, 2, 3, 5, 8, 13,... Нумерация данных чисел начинается с 0.

'-----------------------------------------

FUNCTION Fib(k)

If k=0 or k=1 Then

Fib=1

Else

Fib=fib(k-1)+Fib(k-2)

End If End FUNCTION

'-----------------------------------------

dim k

k=Cint(InputBox("Введите k: ", "Вычисление к-го элемента посл-ти Фибоначчи: "))

MsgBox k&"-й"&" элемент последовательности фибоначчи: "&_

vbCrlf& Fib(k), vbInformation, "Результат: "

'Имя файла Koren.vbs

'Задача:'Вычислить, используя рекурсию: 'sqr(1+(n+1)*sgr(1+(n+2)*sqr(1+(n+3)*sqr(1+...

' где n - натуральное число,

' k - количество корней

'--------------------------------------

FUNCTION Kor(i, n)

If i=k Then

Kor=sqr(1+(n+k))

Else

Kor=sqr(1+(n+i)*Kor(i+1,n))

End If

End FUNCTION

'---------------------------------------

Dim n,k,i

n=CInt(InputBox("Введите натуральное число n: ", "Ввод параметров:","1"))

k=CInt(InputBox("Введите количество корней k: ", "Ввод параметров:","1"))

i=1

MsgBox "Значение вычисленного корня: "&CStr(Kor(i,n)), vbInformation, "Результат: "

1. Дано натуральное число n. Вычислите (2n)! и 2n!; при этом используйте рекурсивную функцию вычисления факториала.

2. Переделайте программу Fib.vbs, так чтобы она находила к-й член последовательности Фибоначчи, но последовательность начиналась бы не с 1, а с 0:

0, 1, 1, 2, 3, 5, 8, 13, 21,...

3. Проверьте, будет ли к-й член последовательности Фибоначчи делиться на 5.

4. Опишите рекурсивную функцию Stepen(x,n), формальными параметрами которой являются вещественная переменная x и натуральная переменная n, вычисляющую величину xn следующим образом:

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

6. Напишите программу вычисления первого числа Фибоначчи, большего m (m>1), включающую рекурсивную функцию, которая основана на непосредственном использовании соотношения un=un-1+un-2.

7. Числа Фибоначчи второго порядка u0, u1, u2,... определяются следующим образом:

Напишите программу вычисления un для данного неотрицательного целого n. Используйте рекурсивную функцию.

8. Вычислите, используя рекурсию:

9. Опишите семантику приведённой ниже программы:

Function koren(i)

If i=0 Then

koren=sqr(11)

Else

koren=sqr(11-2*sqr(11+2*sqr(11-2*koren(i-1))))

End If

End Function

Dim n,k,i

i=CInt(InputBox("Введите количество рекурсий", "Ввод параметров","1"))

msgbox "Результат: "&koren(i)


ЛАБОРАТОРНАЯ РАБОТА 6.
МАССИВЫ

6.1 ЦЕЛЬ РАБОТЫ

Познакомиться с понятиями "массивы", закрепить практические навыки работы с одномерными и многомерными массивами




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 411; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.