0 / 0 / 1
Регистрация: 25.10.2012
Сообщений: 12
1

Программирование циклов с неизвестным заранее числом повторений

25.10.2012, 19:38. Показов 7198. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Лабораторная работа №3
Программирование циклов с неизвестным заранее числом повторений
Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании.
Пример программы с использованием оператора цикла с предусловием:
Схема программы к данному примеру:

Пример программы с использованием оператора цикла с постусловием:
Схема программы к данному примеру:

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта.
2. Составить схему программы и разработать программу для вычисления указанной функции разложением ее в ряд для заданных аргументов с точностью с использованием оператора цикла с предусловием.
3. Составить схему программы и разработать программу для вычисления указанной функции разложением ее в ряд для заданных аргументов с точностью с использованием оператора цикла с постусловием.
5. Выполнить программы на ЭВМ.
6. Оформить отчет.


Помогите с программой, ума не приложу что с делать.
Миниатюры
Программирование циклов с неизвестным заранее числом повторений  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2012, 19:38
Ответы с готовыми решениями:

Программирование циклов с неизвестным заранее числом повторений
Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель...

Программирование циклов с неизвестным заранее числом повторений
Задание: составить схему программы и программу на языке C++ с использованием оператора цикла с...

Программирование циклов с неизвестным заранее числом повторений
вот еще лабораторная, как её делать ума не приложу, и одногруппники тоже сделать не могут. если кто...

Программирование циклов с неизвестным заранее числом повторений2
Тема: "Программирование циклов с неизвестным заранее числом повторений" Цель работы: освоение...

12
0 / 0 / 1
Регистрация: 25.10.2012
Сообщений: 12
11.12.2012, 22:46  [ТС] 2
вот программа с предусловием, но компилятор выдает ошибки..
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
    double  s, n, m, b, a, c, nm;
cout << "Vvedi a ";
cin >> a;
 
cout << "Vvedi b ";
cin >> b;
if  ((b/a^3>1)||( b/a^3<-1)) 
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0";
cin >> nm;
n = 1;
m = 1+(1/3)*(b/a^3)^n;
while(n>nm)
{
  n++
   m = m+s*(1/3)*(b/a^3)^n;
}
m*a = c
cout << " " << c << endl;
 
getch();
 
return 0;
 
}
и что нужно поменять что бы написать ее с постусловием?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.12.2012, 22:49 3
цикл с постусловием - do { } while (условие);
a^3 != a*a*a. Для возведения a в 3 степень используйте pow(a, 3);
0
0 / 0 / 1
Регистрация: 25.10.2012
Сообщений: 12
12.12.2012, 23:26  [ТС] 4
ошибки так же остаются

Добавлено через 4 часа 12 минут
up...
0
101 / 102 / 43
Регистрация: 06.03.2012
Сообщений: 478
13.12.2012, 00:15 5
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
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
void main()
{
    double  s, n, m, b, a, c, nm;
cout << "Vvedi a ";
cin >> a;
 
cout << "Vvedi b ";
cin >> b;
 
if  ((int (b/a)^3>1)||(int (b/a)^3<-1)) 
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0";
cin >> nm;
n = 1;
m = 1+(1/3)*(int (b/a)^3)^n;
while(n>nm)
{
   m = int (m+s)*(1/3)*(int (b/a)^3)^int (n);
   n++;
}
 
c = m*a;
cout << " " << c << endl;
 
getch();
 
}
что успел изменить - изменил,после футбола посмотрю дальше,очень много ошибок,проще всё переписать)))
0
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
13.12.2012, 00:20 6
Цитата Сообщение от MrGluck Посмотреть сообщение
a^3 != a*a*a
??? КО
0
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 31
13.12.2012, 00:56 7
вроде правильно.
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
   #include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
void main()
{
    double  s, n, m, b, a, c, x, y, nm;
cout <<"Vvedi a ";
cin >> a;
cout << "Vvedi b ";
cin >> b;
if ((b/(pow(a,3))>1)||(b/(pow(a,3))<-1))
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0 ";
cin >> nm;
n = 1;
x = b/(pow(a,3));
m = 1+(1/3)*(pow(x,n));
while(nm>n)
{
  n++ ;
  s+=3;
    m=(m+(s*1/s*3))*(pow(x,n));
}
c=m*a;
cout <<"c= "<<c;
 
getch();
 
}
Добавлено через 16 минут
с постусловием. проверяй.
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
   #include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
void main()
{
    double  s, n, m, b, a, c, x, y, nm;
cout <<"Vvedi a ";
cin >> a;
cout << "Vvedi b ";
cin >> b;
if ((b/(pow(a,3))>1)||(b/(pow(a,3))<-1))
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0 ";
cin >> nm;
n = 0;
x = b/(pow(a,3));
m = 1+(1/3)*(pow(x,n));
do
{
  n++ ;
  s+=3;
    m=(m+(s*2/s*3))*(pow(x,n));
}
  while(nm>n);
c=m*a;
cout <<"c= "<<c;
 
getch();
 
}
0
0 / 0 / 1
Регистрация: 25.10.2012
Сообщений: 12
13.12.2012, 16:59  [ТС] 8
ошибки все равно остаются, причем глупые, но я дурак не могу исправить, только учусь
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.12.2012, 17:09 9
qwerty321, я уже писал вам про void main.

s = 0.0, вы работает с неинициализированной переменной, прибавляете значения к мусору.
0
0 / 0 / 2
Регистрация: 07.12.2012
Сообщений: 21
13.12.2012, 22:25 10
вот переделал более простым способом, но тут теперь еще в 19 строке вот такая ошибка (statement missing), как исправить не знаю. подскажите.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double  a, b, eps;
clrscr ();
cout<<"Vvedite znachenie argumenta i tochnosti \n";
cin>>a>>b>>eps;
double x=b/(pow(a,3)), y=x/3, F=a*(1+y);
int n=1;
while (fabs(y)>=eps)
{
y*=-x*n/(n+3);
F+=a*y;
n+=3;
}
cout<<"Priblighennoe znachenie="<<F;
cout<<"Tochnoe znachenie="sprt(pow(a,3)+b));
}
Добавлено через 15 минут
все сделал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double  a, b, eps, k=0;
clrscr ();
cout<<"Vvedite znachenie argumenta i tochnosti \n";
cin>>a>>b>>eps;
double x=b/(pow(a,3)), y=x/3, F=a*(1+y);
int n=1;
while (fabs(y)>=eps)
{
y*=-x*n/(n+3);
F+=a*y;
n+=3;
k=pow(a,3)+b;
}
cout<<"Priblighennoe znachenie="<<F;
cout<<"Tochnoe znachenie="<<pow(k,1/3);
}
Добавлено через 21 минуту
блин, она считает неправильно, что то не так((

Добавлено через 6 минут
подскажите где исправить нужно..

Добавлено через 46 минут
подскажите, программа неправильно считает точное значение
0
0 / 0 / 2
Регистрация: 07.12.2012
Сообщений: 21
15.12.2012, 22:32 11
ребятушки, подскажите где ошибка
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.12.2012, 22:37 12
Пробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double  a, b, eps, k=0.0;
clrscr ();
cout<<"Vvedite znachenie argumenta i tochnosti \n";
cin>>a>>b>>eps;
double x=(double)b/(pow(a,3));
double y=x/3.0, F=a*(1.0+y);
int n=1;
while (fabs(y)>=eps)
{
y*=-x*n/(n+3.0);
F+=a*y;
n+=3.0;
k=pow(a,3)+(double)b;
}
cout<<"Priblighennoe znachenie="<<F;
cout<<"Tochnoe znachenie="<<pow(k,1.0/3);
}
1
0 / 0 / 2
Регистрация: 07.12.2012
Сообщений: 21
16.12.2012, 00:23 13
огромное спасибо!
0
16.12.2012, 00:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2012, 00:23
Помогаю со студенческими работами здесь

Циклы с неизвестным числом повторений
Помогите с задачкой пожалуйста y=1+(1+x)+\frac{(1+x{)}^{2}}{2!}+\frac{(1+x{)}^{3}}{3!}+...

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

Операторы условия, циклы с известным и неизвестным числом повторений
чтобы не париться с 3 темами закину 3 лабы в 1 :D порядок: задание - мой вариант(исправить ошибки)...

Циклы с заранее неизвестным числом повторений
В лабораторной дано индивидуальное задание: Фабрика &quot;GRM pic&quot; выпускает два вида каш для завтрака...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru