- •Лабораторная работа №3
- •Новосибирск 2011
- •1. Цель работы:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
- •3. Алгоритм решения задачи:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
- •3. Алгоритм решения задачи:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
- •4. Текст программы решения задачи:
- •5. Результаты работы программ:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Факультет Автоматики и Вычислительной Техники
Кафедра Вычислительной Техники
ОТЧЁТ
Лабораторная работа №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-ого члена.