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

Математические задачи - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.66
lucefer2
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 8
09.01.2012, 06:17     Математические задачи #1
Вот математические задачки, нуждаюсь в помощи решения... Сам на данный момент не способен, так как тёмный в этом деле.
Ещё раз заранее извиняюсь что прошу так много сделать, но увы зачислен был поздно, и разобраться в материале просто физически был не способен, вот сейчас потихоньку разбираю, кому не сложно помогите пожалуйста.

1. Составьте алгоритм расчета значений z1 и z2 по двум формулам, соответствующим Вашему индивидуальному заданию.
По составленному алгоритму на языке C++ в среде Visual Studio 2005 напишите консольное приложение расчета значений z1 и z2 по двум формулам (результат вычисления по первой формуле должен совпадать c результатом вычисления по второй формуле, т.е. значение z1 должно равняться значению z2 ).


z1= cos^2 (3/8 π-a/4)-cos^2 (11/8 π+a/4) , z2= √2/2 sin a/2

2. Разработать алгоритм программы, которая принимает от пользователя значение x и в зависимости от этого значения вычисляет значение функции f(x) по одной из указанных в индивидуальном задании формул в зависимости от выполнения определенных условий.
Подготовить 5 тестовых вариантов (c входными и выходными данными).

fx1= cosx ; fx2= 1/(x+5)^2 ; fx3= ln(x+1) ; условие1= x<=0 ; условие2 = 0 < x < 2


3. Разработать алгоритм программы, при помощи цикла FOR которая решает Ваше индивидуальное задание
Подготовить 5 тестовых вариантов (c входными и выходными данными).

Вводятся числа a и b. Найти сумму таких чисел в диапазоне [a;b], которые при возведении в квадрат дают число с последней цифрой 6.


4. Разработать алгоритм программы, которая решает Ваше индивидуальное задание, с помощью цикла While, Do-While.
Последовательность Фибоначчи определяется следующим образом: первые два члена последовательности равны 1, а каждый следующий равен сумме двух предыдущих. Т.е. числами Фибоначчи являются 1,1,2,3,5,8,13... . Вводиться номер N. Определить N-e по порядку Фибоначчи.

Заранее благодарен!!!
 Комментарий модератора 
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2012, 06:17     Математические задачи
Посмотрите здесь:

C++ Математические функции
C++ Математические вырази
C++ Встроенные математические констатны
математические задачи С++ C++
C++ Математические выражения на языке С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.01.2012, 07:09     Математические задачи #2
№1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    double a = 3;
    double z1 = 0,z2 = 0;
    z1 = pow(cos(((3./8.)*M_PI)-(a/4.)),2)-pow(cos(((11./8.)*M_PI)+(a/4.)),2);
    z2 = sqrt(2.)/2.*sin(a/2.);
    cout << z1 << "  " << z2;
    
    cin.get();
}
Добавлено через 5 минут
№2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    double x = 0;
    cin >> x;
    if(x<=0)
    cout << cos(x);
    if(x>0&&x<2)
    cout << (1./pow((x+5),2));
    if(x>2)// не дано 3 условие.....
    cout << log(x+1.);
    
    cin.get();
    cin.get();
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.01.2012, 08:10     Математические задачи #3
3.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main()
{
    int a, b, s=0, i;
    cin>>a>>b;
    for(i=a; i<=b; i++)
        if(i%10==4 || i%10==6)
            s+=i;    
    cout<<s<<endl;    
    cin.get();
    return 0;
}
Sadom
11 / 11 / 1
Регистрация: 06.01.2012
Сообщений: 18
09.01.2012, 09:02     Математические задачи #4
№4

Через функцию, реализованную с помощью цикла while
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
#include <iostream>
 
using namespace std;
 
double fib(int n);
 
int main()
{
    int x;
 
    cout << "N = ";
    cin >> x;
    cout << fib(x) << endl;
    
    system("pause");
    return 0;
}
 
double fib(int n)
{
    int first = 0;
    int second = 1;
    if (n == 1)
        return 0;
    else if (n == 2)
        return 1;
    else
    {
    while(n > 2)
    {
        second += first;
        first = second - first;
        n--;
        
        
    }
    return second;
    }   
}
}


Через рекурсивную функцию
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
#include <iostream>
 
double fib(double);
 
int main()
{
    using namespace std;
 
    int number, result;
    
    cin >> number;
    result = fib(number);
    cout << result;
    
    return 0;
}
 
double fib(double n)
{
    if (n == 0 || n == 1)
        return n;
    else
        return fib(n-1) + fib(n-2);
}
lucefer2
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 8
09.01.2012, 15:34  [ТС]     Математические задачи #5
vet, спасибо всё работает, только вот на M_PI ругался, но я поправил

Добавлено через 13 минут
valeriikozlov, тоже всё работает, спасибо

Добавлено через 25 минут
Sadom, спасибо за оба варианта, кстати с циклом while возникла проблема, считать начинает с 0 хотя должно с 1, но так или иначе огромное спасибо за проделанный труд!!!!
Yandex
Объявления
09.01.2012, 15:34     Математические задачи
Ответ Создать тему
Опции темы

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