Скачиваний:
30
Добавлен:
22.05.2015
Размер:
164.35 Кб
Скачать

Задания для самостоятельной работы

Задание 1. Разработать предикат для быстрого вычисления n-го числа Фибоначчи. Подсказка: аргументы этого предиката должны быть такими:

quick_fib(integer First,  % первый член ряда

          integer Second,  % второй член ряда

          unsigned Index,  % индекс искомого члена

          integer NthItem).  % искомый член

Работа предиката основана на том, что каждый следующий член ряда получается путём сложения двух предыдущих, которые хранятся в первом и втором аргументах соответственно. Индекс при этом декрементируется. Рекурсия останавливается тогда, когда индекс уменьшится до трёх. При этом NthItem=First+Second.

Задание 2. Вывести на экран все двухзначные числа, произведение цифр которых равно 18. Подсказка: один из способов проверки такого равенства (X div 10)*(X mod 10)=18, где X – проверяемое число.

Задание 3. Проверить, является ли автобусный шестизначный билет “счастливым”. Счастливый номер – это номер, у которого сумма первых трёх цифр равна сумме последних трёх цифр. Подсказка: для определения цифры, находящейся в нужной позиции шестизначного номера можно воспользоваться либо предикатом string::front предварительно переведя номер в домен string предикатом toString, либо последовательностью операций целочисленного деления div и операций определения остатка от деления mod.

Задание 4. Найти сумму всех двузначных чисел, кратных трём.

Задание 5. Разработать функцию для нахождения суммы ряда:

y=exp^x=1+x/1!+x^2/2!+x^3/3!+........ x^n/n!

где x-значение переменной, n-количество членов ряда. Проверить работу этой функции при n=100, сравнив её результаты со значением встроенной функции ex при x=0,7. Подсказка: в Visual Prolog 7.3 возведение числа e в степень записывается так: e^X.

Соседние файлы в папке Лабораторные работы