ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.05.2024
Просмотров: 60
Скачиваний: 0
СОДЕРЖАНИЕ
Завдання на навчальну практику студента
2.8 Завдання № 9 Програмування алгоритмів, що розгалужуються
2.9 Завдання № 10 Програмування циклічних алгоритмів.
3.1 Програмування лінійних алгоритмів
3.2 Програмування алгоритмів, що розгалужуються
3.3 Програмування циклічних алгоритмів
3.4 Програмування з використанням одновимірних масивів
3.5 Покажчики. Програмування з використанням динамічних двовимірних масивів
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++ містить багато нових інструментальних засобів і поліпшених можливостей, надає величезні можливості в плані оптимізації додатків, внаслідок чого можна отримати виграш як відносно розміру програми, так і відносно швидкості її виконання, незалежно від того, що являє собою ваш додаток.
Література
-
Хортон А., Visual C++ 2005: базовий курс. Пб: Диалектика, 2007. -1152 ст.
-
Грегори К., Использование Visual C++ 6. Специальное издание. –М: Вильямс, 2000. -864 ст.
-
Сергеев А.П., Терен А.Н., Программирование в Microsoft Visual C++ 2005. Самоучитель. –С.Пб.: Диалектика, 2006. -352 ст.
-
Солтер Н., Клепер Дж., C++ для профессионалов . –С.Пб.: Диалектика, 2006. -912 ст.
-
Шилдт Г. , C++: базовый курс, 3-е издание . –М.: Вильямс, 2005. -624 ст.
-
Шилдт Г. , Справочник программиста по C/C++, 3-е издание. –М.: Вильямс, 2003. -432 ст.