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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет Автоматики и Вычислительной Техники

Кафедра Вычислительной Техники

ОТЧЁТ

Лабораторная работа №3

по курсу Информатика

Ряды, цепные дроби.

Группа: АБ 121

Студент: Зайцев И.Е.

Преподаватель: Малявко Александр Антонович

Новосибирск 2011

1. Цель работы:

Научиться решать задачи связанные с рядами и цепными дробями

2. 3)Определить корень третьей степени от Z по итерационной формуле, пока |Wn+1 - Wn| < e

Wn+1 = Wn +(1/3)(Z/ Wn2- Wn)

начальное значение

Z/3 , если Z >= 0

W0=

3 Z если Z < 0

Использовать функцию F(w) = w + (1/3)(Z/ w2- w)

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

while (x > e)

{

wn1 = wn + (z / (wn * wn) - wn) / 3;

x = wn1 > wn? wn1 - wn : wn - wn1;

wn = wn1;

}

4. Текст программы решения задачи:

/*Определить корень третьей степени от Z по итерационной формуле, пока |Wn+1 - Wn| < e

Wn+1 = Wn +(1/3)(Z/ Wn2- Wn)

начальное значение

Z/3 , если Z >= 0

W0=

3 Z если Z < 1

Использовать функцию F(w) = w + (1/3)(Z/ w2- w)

*/

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <iostream>

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,"russian");

//Объявление переменных

float x = 0;

float z = 0;

float e = 0;

float wn1 = 0;

float wn = 0;

//Ввод данных

printf("Введите Z: ");

scanf("%f",&z);

printf("Введите точность(разделение целой и дробной части через запятую): ");

scanf("%f",&e);

//Определение корня третьей степени

if (z < 0)

{

wn = 3 * z;

}

else

{

wn = z / 3;

x = wn;

}

while (x > e)

{

wn1 = wn + (z / (wn * wn) - wn) / 3;

x = wn1 > wn? wn1 - wn : wn - wn1;

wn = wn1;

}

//Вывод полученного значения

printf("%9.2f",wn1);

getchar();

getchar();

return 0;

}

5. Результаты работы программ:

2. 4)Задание: Вычислить квадратный корень из произвольного вещественного числа А>0 по итерационной формуле, пока |Yn+1 - Yn| < e

Yn+1 = 0.5(Yn +A/Yn) и полагая Y0=A

3. Алгоритм решения задачи:

Вычисляется корень из числа, введенного пользователем, по формуле указанной в лабораторной работе

4. Текст программы решения задачи:

/* Вычислить квадратный корень из произвольного вещественного числа А>0 по итерационной формуле, пока |Yn+1 - Yn| < e

Yn+1 = 0.5(Yn +A/Yn) и полагая Y0=A

*/

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <iostream>

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,"russian");

//Объявление переменных

float A=0;

float Yn1=0;

float Yn=0;

float e=0;

float x=0;

//Ввод значений переменных

printf("Введите число А: ");

scanf("%f", &A);

printf("Введите точность: ");

scanf("%f", &e);

//Вычисление корня

Yn = A;

x = A;

while (x > e)

{

Yn1 = (Yn + A/Yn) / 2;

x = Yn1 > Yn? Yn1 - Yn: Yn - Yn1;

Yn = Yn1;

}

printf("%f",Yn);

getchar();

getchar();

return 0;

}

5. Результаты работы программ:

2. 5: Получение N-го числа Фибоначи, т.е. числа из последовательности

0 1 1 2 3 5 8 13 21 34

ci= ci-1 + ci-2 (c1 = 0 c2 = 1 ) n=10 c=34

3.

После ввода данных, запускается цикл-счетчик в котором находится n-ый член последовательности, путем воспроизведения этой последовательности до n-ого члена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]