Работа. Отчет по лабораторной работе 1 по дисциплине Алгоритмизация и программирование Тема работы Алгоритмы линейной и разветвляющейся структуры Выполнил студент группы вт18
Скачать 306.36 Kb.
|
Министерство образования и науки Украины ГВУЗ «Приазовский государственный технический университет» Кафедра информатики Отчет по лабораторной работе № 1 по дисциплине «Алгоритмизация и программирование» Тема работы: «Алгоритмы линейной и разветвляющейся структуры» Выполнил студент группы ВТ-18 Турченко Вадим Андреевич Приняла ст. преп. Сергиенко А.В. Мариуполь, 2018 Турченко Вадим Андреевич, группа ВТ-18 Лабораторная работа №1 Вариант №10 Алгоритмы линейной и разветвляющейся структуры Цель работы Изучить алгоритмы линейной и разветвляющейся структуры, изучить среду разработки MS Visual Studio, научиться писать консольные программы на Visual C++. Задания
Ввести координаты двух точек (х1, y1), (x2, y2). Найти расстояние между ними.
Для x ∈ [0, 4] e-bx sin b x при x<2.3, где a=1, b=3. y = сos b x при , e-ax cos b x при x≥3.
Перевести число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления. Ход работы
Формула 1 Блок-схема: Рис. 1.1 Исходный код: #include #include #include using namespace std; int main(){ double a, b, c, x, w; cout << "Type a:"; cin >> a; cout << "Type b:"; cin >> b; cout << "Type c:"; cin >> c; cout << "Type x:"; cin >> x; if(b*x - exp(x*-1)*sin(b*x)+c != 0){ w = a*x + pow(2, x*-1)*cos(b*x)/ b*x - exp(x*-1)*sin(b*x)+c; cout << w; } _getch(); } Результат: Рис 1.2 Рис 1.3
Формула 2 Блок-схема: Рис 2.1 Исходный код: #include #include #include using namespace std; int main(){ double x1, x2, y1, y2, D; cout << "Type (X1, Y1): "; cin >> x1 >> y1; cout << "Type (X2, Y2): "; cin >> x2 >> y2; D = sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)); cout << D; _getch(); } Результат: Рис 2.2
e-bx sin b x при x<2.3, y = сos b x при , e-ax cos b x при x≥3. Формула 3 Блок-схема: Рис 3.1 Исходный код: #include #include #include using namespace std; int main(){ double a, b, x, y; cout << "Type a, b, x: "; cin >> a >> b >> x; if((x >= 0)&&(x < 2.3)){ y = exp(-1*b*x)*sin(b*x); cout << y; }else if(x < 3){ y = cos(b*x); cout << y; }else if(x <= 4){ y = exp(-1*a*x)*cos(b*x); cout << y; }else{ cout << "Input data is invalid."; } _getch(); } Результат: Рис 3.2 Рис 3.3 Рис 3.4
Рис 4.1 Исходный код: #include #include #include using namespace std; int main(){ int x, mod, pos = 0; char a[4] = {'\0', '\0', '\0', '\0'}; cout << "Type x: "; cin >> x; if((x >= 0)&&(x <= 31)){ while(x != 0){ mod = x % 16; x /= 16; if(mod < 10){ a[pos] = mod + '0'; pos++; }else{ switch(mod){ case 10:{ a[pos] = 'A'; pos++; }break; case 11:{ a[pos] = 'A'; pos++; }break; case 12:{ a[pos] = 'A'; pos++; }break; case 13:{ a[pos] = 'A'; pos++; }break; case 14:{ a[pos] = 'A'; pos++; }break; case 15:{ a[pos] = 'A'; pos++; }break; } } } //Вывод строки в обратном порядке for(int i = pos - 1; i >=0; i--){ cout << a[i]; } }else{ cout << " Input data is invalid."; } _getch(); } Результат: Рис 4.2 Рис 4.3 Вывод Изучил алгоритмы линейной и разветвляющейся структуры, изучил среду разработки MS Visual Studio, научитлся писать консольные программы на Visual C++. |