
- •Министерство образования и науки рф
- •Рабочая программа
- •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();
}