Автор работы: Пользователь скрыл имя, 18 Января 2012 в 14:58, курсовая работа
Написать программу вычисления значений функции y=ln(2+x) на интервале x(- [0;4] с шагом dx=0.2 с помощью разложения функции в степенной ряд
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Южно-Уральский
государственный университет»
Информатика
Курсовая
работа
Проверил:
доцент
Садов
В.Б.
Челябинск
2011
а. Написать программу вычисления значений функции y=ln(2+x) на интервале x(- [0;4] с шагом dx=0.2 с помощью разложения функции в степенной ряд
Сравнить полученные данные значения
с точными(вычисленными с помощью библиотечной
функции вычисления натурального логарифма).
Вычисления логарифма по формуле оформить
в виде функции с двумя параметрами : значением
х и значением относительной погрешности
d.
Решение:
Если
учесть что ln(2)=0,6931, то сделаем разложение
по формуле:
делаем замену,
такую, чтобы 2 + x = (1 + y) / (1 - y),
отсюда:
y = (1 + x) / (3 + x)
затем всё по формуле:
k - степень при y
r - результат
// ln2(x,d) === ln(2+x, d)
function ln2(x, d) {
var y = (1 + x) / (3 + x),
r = 0,
k = 1,
n = 1;
while (n * n > d * r * d * r) {
n *= y; // n === y ^ k
r += k % 2 ? 2 * n / k : 0;
k++;
}
return r;
}
// результат:
// Math.log(2+2) - ln2(2, 0.0001) = 0.00000953187804708655
б. Составить
программу нахождения наибольшего
элемента массива X={xi},i=1,n. Значения
элементов массива и его размер (до 10) вводить
с клавиатуры. Вывести массив с пометкой
этого массива.
Решение:
В строке №7 записываем переменную для хранения величины максимального элемента.
В строке
№8 записываем переменную для хранения
индекса максимального
В строке №11 мы включаем функцию Randomize. Эта функция позволяет генерировать случайные числа в программе. В данном случае нам необходимо каждому элементу массива [1..N] присвоить какое-нибудь значение. В задаче №33 эти значения мы вводили с клавиатуры. В этой задаче мы ничего вводить не будем. Функция Randomize сама создаст значения для каждого элемента массива. В массиве у нас 10 элементов ([1..N], const N=10), соответственно будет сгенерировано 10 случайных чисел.
В строке №12 включаем цикл. Переменная «I» будет изменяться в цикле от 1 до «N»
В строке
№14 очередному элементу массива мы
присваиваем случайное число, которое
лежит в диапазоне от – 50 до + 50.
(Сначала пишется минимальное
число – 50, затем знак +, затем
слово RANDOM, затем в скобках указывается
общее количество возможных чисел
в диапазоне; в диапазоне от –
50 до + 50 получается 100 чисел + число 0, всего
101)
Таким образом,
если мы запустим программу на данном
этапе, у нас выведется на экран 10 различных
чисел со значением от – 50 до + 50.
В строке №18 в переменную для хранения индекса (номера) максимального элемента мы записали число 1, т.е. будем считать, что первый элемент массива – максимальный (т.е. первое число, которое сгенерирует программа – максимальное).
В строке №19 в переменную для хранения величины максимального элемента записываем значение для первого элемента массива (например, если первое сгенерированное число будет 13, то его и будем считать максимальным)
В строке №20 задаем цикл. В него мы не включаем 1-ый элемент. А затем, в строке №21 мы проверяем условие. Мы сравниваем все значения элементов массива (т.е. все сгенерированные числа) начиная со 2-го и до 10-го с 1 - ым числом. И если очередное число в массиве больше чем 1-ое число, то в переменную для хранения числа записываем это очередное число (строка №23), а в переменную для хранения индекса числа записываем индекс этого очередного числа. После выполнения цикла в переменной max должно остаться максимальное число, а в переменной «imax» должен остаться номер этого числа.
Результат:
Информация о работе Программирование на языках высшего уровня