Форум программистов, компьютерный форум CyberForum.ru

Описать программу - C++

Восстановить пароль Регистрация
 
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 821
17.11.2010, 19:16     Описать программу #1
Нужно на словах описать каждую строчку программы я начал делать только до конца не как не получаеться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
#define E 2.718281828 (это объявление константы,  Е- это значение постоянной)
 
 
const double e= 0.00001;  (формат числа с плавающей запятой)
 
double f(double x) (формат числа с плавающей запятой)
{
    return (x-1)*(x-1)-0.5*pow(E, x);  (возврат  pow   вычисляет экспоненту и x) 
}
 
double fi(double x) (добавляем функцию и)
{
    return log((x-1)*(x-1)*2); (возврат натурального логарифма x-1  в квадрате умножить на 2)
}
 
double g(double x) (функция g)
{
    return (x-1)*2-0.5*pow(E, x); (возврат и вычисляет экспоненту,х) 
}
 
double Iteracii(double e, double (*f)(double), double (*fi)(double)) (указатели на функции)
{
    double x=0, y;  (указатель) 
    do  
    {
        y= x;
        x= fi(x);
    }while (fabs(x-y)>=e); цикл с предусловием  ( fabs модуль)
 
    return x; (возврат х)
}
 
double Newton(double e, double (*f)(double), double (*g)(double))  (указатели на функции)
{
    double x0=1, x;
    do
    {
        x= x0;
        x0= x0-f(x0)/g(x0);
    }while (fabs(x-x0)>=e);
 
    return x;
}
 
double Balzano(double a, double b, double e, double (*f)(double))
{
    double x;
    do
    {
        x= (a+b)/2;
        if (f(x)*f(a)<0)
            b= x;
        else
            a= x;
    }while (b-a>=e);
    return ((a+b)/2);
}
 
 
int main()
{
    int a, b; (указатель)
    printf("Vvedite a i b: ");  (функция,выводящая на экран значение своего первого параметра (то, что в ковычках)
    scanf("%d%d", &a, &b); (Функция scanf читает данные из buffer в расположение, за-
даваемое аргументом) (введя через пробел 3 чмсла,они запишутся в a и b)
 
    printf("Vetod Iteraci:\nx= %f\n\n", Iteracii(e, f, fi)); (функция,выводящая на экран значение своего первого параметра (то, что в ковычках) при этом заменяет значения типа %f на значения последующих своих параметров )
 
    printf("Vetod Newtona:\nx= %f\n\n", Newton(e, f, g));
 
    printf("Vetod Balzano:\nx= %f\n\n", Balzano(a, b, e, f));
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 19:16     Описать программу
Посмотрите здесь:

Помогите описать программу ежестрочно!!!!! C++
C++ Написать программу, в которой описать перечисляемые типы...
Помогите описать программу C++
здравствуйте помагите написать программу: описать структуру с именем Note содержашие следущее поля (в с++ BORLAND) C++
C++ Написать программу в которой описать функцию, которая находит кол-во символов в n-ой строке непустого текстового файла.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 821
17.11.2010, 19:38  [ТС]     Описать программу #2
Цитата Сообщение от LEQADA Посмотреть сообщение

Не по теме:

Так ведь лучше выглядит, правда?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
 
//это объявление константы, Е- это значение постоянной
#define E 2.718281828 
 
 
const double e= 0.00001; //формат числа с плавающей запятой
 
double f(double x) //формат числа с плавающей запятой
{
return (x-1)*(x-1)-0.5*pow(E, x); //возврат pow вычисляет экспоненту и x)
}
 
double fi(double x) //добавляем функцию и
{
return log((x-1)*(x-1)*2); //возврат натурального логарифма x-1 в квадрате умножить на 2
}
 
double g(double x) //функция g
{
return (x-1)*2-0.5*pow(E, x); //возврат и вычисляет экспоненту,х
}
 
double Iteracii(double e, double (*f)(double), double (*fi)(double)) //указатели на функции
{
double x=0, y; //указатель
do 
{
y= x;
x= fi(x);
}while (fabs(x-y)>=e); //цикл с предусловием ( fabs модуль)
 
return x; (возврат х)
}
 
double Newton(double e, double (*f)(double), double (*g)(double)) //указатели на функции
{
double x0=1, x;
do
{
x= x0;
x0= x0-f(x0)/g(x0);
}while (fabs(x-x0)>=e);
 
return x;
}
 
double Balzano(double a, double b, double e, double (*f)(double))
{
double x;
do
{
x= (a+b)/2;
if (f(x)*f(a)<0)
b= x;
else
a= x;
}while (b-a>=e);
return ((a+b)/2);
}
 
 
int main()
{
int a, b; (указатель)
printf("Vvedite a i b: "); //функция,выводящая на экран значение своего первого параметра (то, что в ковычках
scanf("%d%d", &a, &b); //Функция scanf читает данные из buffer в расположение, за-
даваемое аргументом) введя через пробел 3 чмсла,они запишутся в a и b
 
printf("Vetod Iteraci:\nx= %f\n\n", Iteracii(e, f, fi)); //функция,выводящая на экран значение своего первого параметра (то, что в ковычках) при этом заменяет значения типа %f на значения последующих своих параметров 
 
printf("Vetod Newtona:\nx= %f\n\n", Newton(e, f, g));
 
printf("Vetod Balzano:\nx= %f\n\n", Balzano(a, b, e, f));
 
return 0;
}

а как это описать
C++
1
2
3
4
5
6
7
8
9
10
11
12
{
double x;
do
{
x= (a+b)/2;
if (f(x)*f(a)<0)
b= x;
else
a= x;
}while (b-a>=e);
return ((a+b)/2);
}
 Комментарий модератора 
Используйте теги выделения кода [CPP][/CPP]!
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
17.11.2010, 19:59     Описать программу #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
{
double x ; // Объявление переменной типа double
do // Сделать
{
x= (a+b)/2; // х присвоить значение (a+b)/2
if (f(x)*f(a)<0) //если неравенство указанное в скобках верно, то
b= x; // b присвоить х
else //иначе
a= x; // а присвоить х
}
while (b-a>=e); // пока неравенство указанное в скобках верно, повторяй блок "do"
return ((a+b)/2); // возвратить значение выражения (a+b)/2
}
Добавлено через 6 минут

Не по теме:

Буду не против, если нажмёшь на кнопочку "+1 Спасибо", который находится под моим постом.

zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 821
17.11.2010, 20:09  [ТС]     Описать программу #4
Цитата Сообщение от LEQADA Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
{
double x ; // Объявление переменной типа double
do // Сделать
{
x= (a+b)/2; // х присвоить значение (a+b)/2
if (f(x)*f(a)<0) //если неравенство указанное в скобках верно, то
b= x; // b присвоить х
else //иначе
a= x; // а присвоить х
}
while (b-a>=e); // пока неравенство указанное в скобках верно, повторяй блок "do"
return ((a+b)/2); // возвратить значение выражения (a+b)/2
}
Добавлено через 6 минут

Не по теме:

Буду не против, если нажмёшь на кнопочку "+1 Спасибо", который находится под моим постом.


А как лучше эти две строчки описать
C++
1
2
x0= x0-f(x0)/g(x0);
}while (fabs(x-x0)>=e); // цикл с предусловием модуль х разность х0 бльше или равно епсилон
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
17.11.2010, 20:19     Описать программу #5
C++
1
2
3
// тут наверху должен быть блок "do"
x0= x0-f(x0)/g(x0); // x0 присвоить значение выражения (x0-f(x0)/g(x0))
}while (fabs(x-x0)>=e); // выполнять блок "do" пока верно неравенство написанное в скобках
Миниатюры
Описать программу  
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
17.11.2010, 20:37     Описать программу #6
zmei89, я вам помог?
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 821
17.11.2010, 20:41  [ТС]     Описать программу #7
Цитата Сообщение от LEQADA Посмотреть сообщение
zmei89, я вам помог?
да очень большое спасибо!теперь надо думать как блок схему составить
tartikov
Заблокирован
17.11.2010, 20:45     Описать программу #8
zmei89
имхо, то что ты делашь - обезьяний труд.
Я очень сомневаюсь, что преподователю надо именно это (если конечно он не дибил).
Смысл от того, что пишешь комментарии вида "это цикл", "здесь к a прибавляется b" - нулевой.
тот кто читает программу итак видит какие инструкции языка выполняются, а лишние комментарии лишь замусоривают код.
гораздо важнее описать смысл того что происходит, описание алгоритмов, назначение переменных и функций.
Я, например, твоим коментариям не понял, что делает программа.

LEQADA, успокойся ты со своими спасибами, зачем тебе они
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
17.11.2010, 20:50     Описать программу #9
zmei89, Обращайся

Не по теме:

tartikov, да с утра нескольким уже помог и ни одного "Спасибо"... Обидно блин...

zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 821
17.11.2010, 20:55  [ТС]     Описать программу #10
Цитата Сообщение от LEQADA Посмотреть сообщение
zmei89, Обращайся

Не по теме:

tartikov, да с утра нескольким уже помог и ни одного "Спасибо"... Обидно блин...

да нам препод сказал в отчете по лабе каждую строчку описывайте
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 21:00     Описать программу
Еще ссылки по теме:

C++ Как правильно описать программу для курсовой?
C++ Описать структуру с именем ZNAK и написать программу, работающую с ней.
C++ Описать структуру с именем «Поезд» и написать программу, работающую с ней.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
tartikov
Заблокирован
17.11.2010, 21:00     Описать программу #11
Цитата Сообщение от zmei89 Посмотреть сообщение
да нам препод сказал в отчете по лабе каждую строчку описывайте
ну тогда мне жаль его
Yandex
Объявления
17.11.2010, 21:00     Описать программу
Ответ Создать тему
Опции темы

Текущее время: 08:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru