- •Министерство образования и науки рф
- •Рабочая программа
- •1. Информация и информатика.
- •2. Вычислительная техника.
- •3. Устройство персонального компьютера (пк).
- •4. Функции операционных систем (ос) пк.
- •5. Основы работы с операционной системой Windows xp.
- •6. Настройка операционной системы Windows xp.
- •7. Стандартные приложения Windows xp.
- •8. Компьютерные сети, Интернет, компьютерная безопасность.
- •9. Получение информации из Интернета.
- •10. Создание текстовых документов.
- •11. Введение в программирование на эвм
- •13. Лабораторные работы.
- •Задания для контрольной работы №1 задание 1. Программирование формул
- •Задание 2. Структуры выбора
- •Задание 3. Вывод на текстовый экран таблицы и графика функции
- •Задание 4. Итерационные циклы
- •Задание 5. Обработка одномерного массива
- •Задание 6. Обработка двумерного массива
- •Задание 7. Обработка символьных данных
- •Задания для контрольной работы №2 задание 8. Функции
- •Задание 10. Перечисления структуры и объединения
- •Задание 11. Работа с экраном в текстовом режиме
- •Задание 13. Файлы
Задание 3. Вывод на текстовый экран таблицы и графика функции
Вывести на текстовый экран таблицу и график значений функции на интервале значений аргумента x, изменяющегося с шагом h.
Вариант | ||||
1 |
0 |
0.1 | ||
2 |
0 |
0.1 | ||
3 |
0 |
0.1 | ||
4 |
-10 |
10 |
0.5 | |
5 |
-2 |
1 |
0.1 | |
6
|
0 |
0.15 | ||
7 |
0 |
0.15 | ||
8 |
0 |
0.15 | ||
9 |
-1 |
2 |
0.1 | |
10 |
0 |
2 |
0.2 | |
11 |
0 |
0.1 | ||
12 |
0 |
0.15 | ||
13 |
0 |
3 |
0.1 | |
14 |
0 |
0.1 | ||
15 |
-1 |
3 |
0.15 | |
16 |
0 |
3 |
0.125 | |
17 |
-1 |
1 |
0.05 | |
18 |
0 |
6 |
0.2 | |
19 |
1 |
5 |
0.15 | |
20 |
0 |
2 |
0.05 | |
21 |
-10 |
10 |
0.5 | |
22 |
0 |
6 |
0.2 | |
23 |
0 |
4 |
0.1 | |
24 |
0 |
10 |
0.25 | |
25 |
0 |
0.1 | ||
26 |
0 |
0.2 | ||
27 |
0 |
0.1 | ||
28 |
0 |
3 |
0.1 | |
29 |
0 |
3 |
0.1 | |
30 |
0 |
3 |
0.1 |
Пример
//Программа для вывода таблицы и графика функции y=exp(-x/2)*sin(x)
#include<iostream.h>
#include<math.h>
#include<stdio.h>
#include<iomanip.h>
#include<conio.h>
void main()
{
double a,b,h,x,y;
int n;
cout<<"Введите a,b,h "<<endl; //a=0, b=6.28, h=0.2
cin>>a>>b>>h;
getchar();
cout<<"\n Таблица и график функции y=exp(-x/2)*sin(x)"<<endl<<endl;
cout<<" x\t\t y\n\n";
for(n=1,x=a;x<=b+h/2;x+=h,n++)
{ cout<<setprecision(2)<<setw(5)<<setiosflags(ios::fixed)<<x;
y=exp(-x/2)*sin(x);
cout.setf(ios::scientific,ios::floatfield);
cout<<setw(15)<<setprecision(3)<<y
<<setw((int)((y+0.15)*(60/(0.6+0.15))))<<'*'<<endl;
//под график функции отводится по 60 позиций в строке
//минимальное значение y = -0.11, максимальное значение y = 0.512
cout.setf(0,ios::floatfield);
if(n%20= =0){cout<<"Для продолжения нажмите Enter"; getchar();}
}
cout<<"Конец программы";
getchar();
}
Задание 4. Итерационные циклы
Вычислить значение функции точное по её выражению и приближенное по её разложению в ряд суммируя те члены ряда для которых где- заданная ошибка (вводится с клавиатуры) Подсчитать также количество просуммированных членов ряда
N |
Примечание | |
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 |
Пример 1
Из выражения для члена ряда находим:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
void main()
{double x,y,eps,a,beta;
int k,n;
cout<<"Введите x=";
cin>>x;
y=pow(cos(x),2);
cout<<endl<<"При x="<<x<<" точное значение y="<<y<<endl<<endl;
cout<<"Введите eps (конец - 0):";
cin>>eps;
while(eps!=0)
{ for(y=0, n=0, k=1, a=x*x; fabs(a)>=eps&&n<1000; y+=a, n++,
beta =-2*x*x/(2*k+1)/(k+1), a*= beta, k++);
cout<<"При eps="<<eps<<" приближенное значение y="<<1-y<<endl
<<" просуммировано "<<n<<" членов ряда"<<endl<<endl;
cout<<"Введите eps (конец - 0):";
cin>>eps;}
cout<<"Конец программы.Нажмите Enter.";
getchar();
}
Пример 2
#include<iostream.h>
#include<math.h>
#include<stdio.h>
void main()
{double x,y,eps,a,s;
int k,n;
cout<<"Введите x=";
cin>>x;
y=pow(log(1+x),2)/2;
cout<<endl<<"При x="<<x<<" точное значение y="<<y<<endl<<endl;
cout<<"Введите eps (конец - 0):";
cin>>eps;
while(eps!=0)
{ for(y=0, n=0, k=1, a=x*x/2, s=0; fabs(a)>=eps&&n<1000; n++, k++)
{ y+=a; s+=1.0/k; a*=-x*(k+1)/(k+2)*(s+1.0/(k+1))/s;}
cout<<"При eps="<<eps<<" приближенное значение y="<<y<<endl
<<" просуммировано "<<n<<" членов ряда"<<endl<<endl;
cout<<"Введите eps (конец - 0):"; cin>>eps; }
cout<<"Конец программы. Нажмите Enter.";
getchar();
}