Лабораторная работа № 3 Тема: Операторы повторений
Задание:
Составить схему алгоритма и программу
на языке С++ для вычисления значений
функции y=f(x)
в точках от х=х1
до х=хn
c
шагом ∆х.
x1
=
2 |
xn
= 3 |
Δx =
0,1 |
a = 4 |
b = 7 |
Решение:
Блок-схема
алгоритма
Начало
True
Конец
Вывод
1
– for
2
– while
3
– do while
4
- exit
Ввод
nn
nn=1
nn=4
nn=3
nn=2
Ввод
х1,
хn,
∆х
x=xn
x≤xk+∆x
x=x+∆x
Вывод
х, у
x=xn
x=x+∆x
x≤xk
Ввод
х1,
хn,
∆х
Вывод
х, у
Ввод
х1,
хn,
∆х
x=xn
Вывод
х, у
x=x+∆x
x≤xk
Ошибка
да
да
да
да
да
да
да
нет
нет
нет
нет
нет
нет
нет
Текст
программы
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <locale>
using
namespace std;
int
_tmain(int argc, _TCHAR*
argv[])
{
setlocale(0,"");
system("cls");
double
a=4, b=7, y, x, xn,xk,dx;
int
nn;
while(true)
{
cout«"1-for
\n2-while\n3-do while\n4-exit\n";
cin»nn;
switch(nn)
{
case
1:
cout«"Введи
xn\nxn=";
cin»xn;
cout«"Введи
xk\nxk=";
cin»xk;
cout«"Введи
dx\ndx=";
cin»dx;
for(
x=xn; x<=xk+dx; x=x+dx)
{
y=b*x*sqrt(1+a*a*log(x));
cout«x«"
"«y«endl;
}
system
("pause");
break;
case
2:
cout«"Введи
xn\nxn=";
cin»xn;
cout«"Введи
xk\nxk=";
cin»xk;
cout«"Введи
dx\ndx=";
cin»dx;
x=xn;
while(x<=xk+dx)
{
y=b*x*sqrt(1+a*a*log(x));
cout«x«"
"«y«endl;
x=x+dx;
}
system
("pause");
break;
case
3:
cout«"Введи
xn\nxn=";
cin»xn;
cout«"Введи
xk\nxk=";
cin»xk;
cout«"Введи
dx\ndx=";
cin»dx;
x=xn;
do
{
y=b*x*sqrt(1+a*a*log(x));
cout«x«"
"«y«endl;
x=x+dx;
}
while(x<=xk+dx);
break;
case
4: return 0;
default:cout«"Выбери
1, 2, 3, 4\n";
}
}
system
("pause");
return
0;
}
Результат
Самара,
2017