- •Міністерство освіти і науки України Машинобудівний коледж Сумського державного університету Циклова комісія спеціальності 5.05010101
- •Щоденник-звіт з навчальної практики База практики________________________________________________________
- •Завдання на навчальну практику студента
- •1 Теоретичні відомості
- •2 Практичне завдання
- •2.1 Завдання № 1
- •2.2 Завдання № 2
- •2.3 Завдання № 3
- •2.4 Завдання № 4-5
- •2.5 Завдання № 6
- •2.6 Завдання № 7
- •2.7 Завдання № 8
- •2.8 Завдання № 9 Програмування алгоритмів, що розгалужуються
- •2.9 Завдання № 10 Програмування циклічних алгоритмів.
- •3 Індивідуальні завдання
- •3.1 Програмування лінійних алгоритмів
- •3.2 Програмування алгоритмів, що розгалужуються
- •3.3 Програмування циклічних алгоритмів
- •3.4 Програмування з використанням одновимірних масивів
- •3.5 Покажчики. Програмування з використанням динамічних двовимірних масивів
- •2.10 Завдання № 11
- •Висновок
- •Література
3.3 Програмування циклічних алгоритмів
Вивести на екран таблицю значень функції Y(x) і її розкладання в ряд S(x) для x, що змінюється від а до b з кроком h = (b – а)/10.
-
а
b
S(x)
n
Y(x)
–2
–0.1
160
Таблиця 2
Код програми:
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int main(){
double a,b,h,x,y,s,p;
int n,i;
cout << "Vvedite a,b,h,n" << endl;
cin >> a >> b >> h >> n;
x=a;
do {
p=s=1;
for (i=1; i<=n; i++){
p *= -(pow((1+x),2))+(pow((1+x),4))/2;
s += p;}
y=log(1/(2+2*x+x*x));
cout << setw(15) << x << setw(15) << s << setw(15) << y << endl;
x += h;}
while (x <= b+h/2);
cout << endl;
system("pause");
return 0;}
Рис. 15 12 Результат виконання завданяя №13
3.4 Програмування з використанням одновимірних масивів
Заданий масив з до символів. Видалити з нього повторні входження каж-дого символу.
Код програми:
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
#include <iterator>
#include <sstream>
int main(){
std::string s;
getline (std::cin, s);
std::istringstream ist(s);
std::istream_iterator<char> st(ist), fn;
std::set<char> stt(st, fn);
std::copy(stt.begin(), stt.end(), std::ostream_iterator<char>(std::cout, " "));
return 0;
}
Рис. 16 Результат виконання завданяя №14
3.5 Покажчики. Програмування з використанням динамічних двовимірних масивів
У матриці розміром NXM знайти максимальний серед елементів, лежачих нижче за побічну діагональ, і мінімальний серед елементів, лежачих вище за головну діагональ.
Код програми:
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
setlocale(LC_ALL, "Russian");
int row,column;
std::cout << "Введите кол-во строк в матрице: ";
std::cin >> row;
std::cout << "Введите кол-во столбцов в матрице: ";
std::cin >> column;
int **MAS = new int *[row];
for (int i = 0; i < row; i++)
MAS[i] = new int [column];
srand(time(NULL));
std::cout << "Матрица: " << std::endl;
for (int i=0; i<row; i++)
{
for (int j=0; j<column; j++)
{
MAS[i][j]=10-rand()%21;
std::cout << std::setw(3) << MAS[i][j];
}
std::cout << std::endl;
}
int min=MAS[0][1];
for (int i=0; i<row; i++)
for (int j=0; j<column; j++)
if ((j>i) && (MAS[i][j]<min)) min=MAS[i][j];
int max=MAS[0][1];
for (int i=0; i<row; i++)
for (int j=0; j<column; j++)
if ((j>i) && (MAS[i][j]>max)) max=MAS[i][j];
std::cout << "Наименьший элемент, лежащий выше главной диагонали: " << min<<std::endl;
std::cout << " Mаксимальный среди элементов, лежащих ниже побочной " << max<<std::endl;
std::cout << std::endl;
for (int i = 0; i < row; i++)
delete []MAS[i];
delete []MAS;
system("pause");
return 0;
}
Рис. 17 Результат виконання завданяя №15