Файл: Отчёт по практике Матвиенко дубль 3.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.05.2024

Просмотров: 60

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Міністерство освіти і науки України Машинобудівний коледж Сумського державного університету Циклова комісія спеціальності 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.1 Програмування лінійних алгоритмів

Обчислити значення вираження при заданих вихідних даних. Порівняти набутого значення з вказаним правильним результатом.

Код програми:

#include <iostream>

#include <math.h>

using namespace std;

int main ()

{

double x,y,z,a,b,h;

cout << "Vvedite x: ";

cin >> x;

cout << "Vvedite y: ";

cin >> y;

cout << "Vvedite z: ";

cin >> z;

a = pow(y+pow(x-1,1/3),1/4);

b = abs(x-y)*(pow(sin(z),2)+tan(z));

h = a/b;

cout << "Result s= " << h << endl;

system("pause");

return 0;

}

Рис. 11 Результат виконання завданяя №11

3.2 Програмування алгоритмів, що розгалужуються

При виконанні завдання передбачити вибір вигляду функції f(x): sh(x), x2 або ex. Передбачити виведення інформації про вибрану гілку обчислень.

Код програми:

#include <iostream>

#include <math.h>

using namespace std;

int main()

{

double x,y,f,a,s;

int k;

cout << "Vvedite x "; cin >> x;

cout << "Vvedite y "; cin >> y;

cout << "Viberite f: 1 - sh(x), 2 - x^2, 3 - exp(x)";

cin >> k;

switch(k)

{

case 1: f=sinh(x); break;

case 2: f=pow(x,2); break;

case 3: f=exp(x); break;

default: cout << "Ne vuibrana funkciya "; return 1;

}

if (x/y>0) {

//cout << "Net rezultata" << endl;

//return 1;

s=pow(x+log(y),3);

} else

if (x/y<0) s=2/3+log(abs(sin(y)));

else s=pow((x*x),1/3);

cout << "RESULT = " << s << endl;

system("pause");

return 0;

}

Рис. 12 Результат виконання завданяя №12

Рис. 13 Результат виконання завданяя (другий варіант)

Рис. 14 Результат виконання завданяя (третій варіант)


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


2.10 Завдання № 11

Програмування з використанням одновимірних масивів

Завдання: Заданий масив з до символів. Видалити з нього повторні входження кожногого символу.

Код програми:

#include <iostream>

#include <ctime>

#include <cstdlib>

using namespace std;

int main()

{ const int k=20;

cout << "Vvedite k=20\n";

int array[k];

int i, j;

srand((unsigned) time(0));

int count = 0;

for ( i = 0; i < k; i++)

array[i] = rand() % 20;

for ( i = 0; i < k; i++)

cout << array[i] << " ";

cout << endl;

for ( i = 0; i < k; i++) {

int temp = array[i];

for ( j = 0; j < k; j++)

if(temp == array[j])

count++;

if(count == 1)

cout << temp << " ";

count = 0; }

cout << endl;}

Рис. 15 12 Результат виконання завданяя №13

Висновок

Під час виконання навчальної практики я ознайомвся з інтерфейсом Visual С++ та навчився використовувати Microsoft Visual Studio для розробки програм на мові С++. Отримав практичні навики з середовищем візуальної розробки програм завдяки написаним програмам заданими в методичних вказівках.

MicrosoftVisualC++ є інтегрованим середовищем розробки, в якому ви можете легко створювати, відкривати, переглядати, редагувати, зберігати, компілювати і відлагоджувати всі свої застосування, написані на С або C++. Розроблена фірмою Microsoft. Постачається або як частина комплекту Microsoft Visual Studio, або окремо у вигляді безкоштовного функціонально обмеженого комплекту Visual C++ Express Edition. Перевагою цього середовища є відносна простота і легкість у вивченні.

Microsoft VisualC++ містить безліч інтегрованих засобів візуального програмування. Компілятор VisualC++ містить багато нових інструментальних засобів і поліпшених можливостей, надає величезні можливості в плані оптимізації додатків, внаслідок чого можна отримати виграш як відносно розміру програми, так і відносно швидкості її виконання, незалежно від того, що являє собою ваш додаток.

Література

  1. Хортон А., Visual C++ 2005: базовий курс. Пб: Диалектика, 2007. -1152 ст.

  2. Грегори К., Использование Visual C++ 6. Специальное издание. –М: Вильямс, 2000. -864 ст.

  3. Сергеев А.П., Терен А.Н., Программирование в Microsoft Visual C++ 2005. Самоучитель. –С.Пб.: Диалектика, 2006. -352 ст.

  4. Солтер Н., Клепер Дж., C++ для профессионалов . –С.Пб.: Диалектика, 2006. -912 ст.

  5.  Шилдт Г. , C++: базовый курс, 3-е издание . –М.: Вильямс, 2005. -624 ст.

  6. Шилдт Г. , Справочник программиста по C/C++, 3-е издание. –М.: Вильямс, 2003. -432 ст.