Отчет защищен с оценкой (отлично, хорошо, удовлетворительно)



Download 13,81 Mb.
bet5/20
Sana20.07.2022
Hajmi13,81 Mb.
#828539
TuriОтчет
1   2   3   4   5   6   7   8   9   ...   20
Bog'liq
Юлдашев Анвар TM 2003R Отчёт о квалификационной практике

ОЦЕНКА ПРАКТИКИ КАФЕДРОЙ


Замечания по практике и составлению отчета (выполнение программы и графика практики, участие в научной и других работах, выполнение индивидуальных заданий, качество оформления отчета и т.п. _______________________________________________


_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Практика оценена на __________________________________________________________
(отлично, хорошо, удовлетворительно, неудовлетворительно)


Зав. кафедрой _______________________________________________________
(подпись)
Рук. практикой от университета ______________________________________


Задание 1. Разработка алгоритмов и программ для простых задач.


1.1. Цель задания.
Закрепление начальных знаний по разработке алгоритмов и составление программ на С#, для математических задач по предмету «Алгоритмические языки и программирование».
1.2. Содержание задания.
Задание состоит из примеров, взятых, из курсов линейной алгебры и аналитической геометрии, механики, а также математического анализа, вычисление, которых требуется выполнить на ПК.
Задача 1. Найти скалярное произведение двух n – мерных векторов
( и ( по формуле:
=
где n, , (i=1, 2, … n) – заданы.
Блок схема имеет следующий вид:

Рис.1. Блок схема для вычисления скалярного произведения двух n – мерных векторов

Ниже приводится текст программы с результатами расчетов:


//Основная программа
int n;
Console.WriteLine("Введите размерность пространнства");
n = int.Parse(Console.ReadLine());
double [] A = new double [n]; // Объявление массива координат вектора А
Console.WriteLine("Введите координаты вектора А:");
for (int i = 0; i < n; i++)
{
A[i] = double.Parse(Console.ReadLine());
}
Console.Write("Координаты вектора А = (");
foreach (int i in A)
{
Console.Write(" " + i + " ");
}
Console.Write(")");
double [] B = new double[n]; // Объявление массива координат вектора B
Console.WriteLine();
Console.WriteLine("Введите координаты вектора B:");
for (int j = 0; j < n; j++)
{
B[j] = double.Parse(Console.ReadLine());
}
Console.Write("Координаты вектора B = (");
foreach (int j in B)
{
Console.Write(" " + j + " ");
}
Console.Write(")");
Console.WriteLine();
double S = 0;
for (int k = 0; k < n; k++)
{
for (int l = 0; l < n; l++)
{
if (k==l)
{
S = S+ A[k] * B[l]; // Скалярное произведение полученное, как сумма по координатного произведения векторов
}
}
}
Console.Write("Скалярное произведение векторов ");
Console.WriteLine("(A, B) = " + S);
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Для определения скалярного произведения двух n – мерных векторов, необходимо:
Ввести размерность n, соответственно программа выводит запрос на получение размерности в окне консоли.
В качестве примера взята размерность – 5.
Далее, необходимо ввести координаты вектора . Размерность пространства – 5, следовательно, вектор должен иметь пять координат. После введения каждой координаты, необходимо нажать клавишу Enter на клавиатуре для подтверждения ввода:
Пусть координаты вектора = (2, 2, 2, 2, 2). Тогда ввод имеет вид:
2 Enter,
2 Enter,
2 Enter,
2 Enter,
2 Enter.
Аналогично, для вектора . Пусть координаты вектора = (3, 3, 3, 3, 3).
После введения координат векторов программа производит расчет и выводит сообщение с результатом вычислений, в виде:
"Скалярное произведение векторов (A, B) = 30 ";
Конечеый результат работы программы выглядит в следующим образом:

Рис. 2 Результат работы программы по вычислению скалярного произведения двух векторов.

Задача 2. Проверить выполнение необходимого и достаточного условия компланарности n – мерных векторов ( ( и ( при n = 3, исходя из условия компланарности:



Блок схема имеет следующий вид:

Рис.3. Блок схема для вычисления условия компланарности векторов.

Ниже приводится текст программы с результатами расчетов:


// Основная программа
int det;
int n = 3; // Размерность пространсива определена по условию
int [] A = new int[n];
Console.WriteLine("Введите координаты вектора A");
for (int i = 0; i < A.Length; i++)
{
A[i] = int.Parse(Console.ReadLine());
}
int [] B = new int[n];
Console.WriteLine("Введите координаты вектора B");
for (int j = 0; j < B.Length; j++)
{
B[j] = int.Parse(Console.ReadLine());
}
int [] C = new int[n];
Console.WriteLine("Введите координаты вектора C");
for (int k = 0; k < C.Length; k++)
{
C[k] = int.Parse(Console.ReadLine());
}
det = A[0] * B[1] * C[2] + A[1] * B[2] * C[0] + B[0] * C[1] * A[2] - (A[2] * B[1] * C[0] + A[1] * B[0] * C[2] + A[0] * B[2] * C[1]); // Формула для вычисления определителя 3-го порядка
if (det == 0)
{
Console.WriteLine("Вектора A, B и С компланарны");
}
else
{
Console.WriteLine("Вектора A, B и С не компланарны");
}
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
По условию размерность пространства равна трем, т.е. n=3. Для проверки компланарности трех векторов, вводим поочерёдно координаты векторов , и . О чём нас уведомляет программа.
Пусть координаты вектора = (1, 1, 1). Тогда ввод имеет вид:
1 Enter,
1 Enter,
1 Enter.
Аналогично, для векторов и . Пусть координаты вектора = (1, 3, 1), а координаты вектора = (2, 2, 2). После введения координат векторов программа производит расчет и выводит сообщение с результатом вычислений, в виде сообщения с результатом проверки:
"Вектора A, B и С компланарны"
Теперь, пусть координаты вектора = (1, 5, 5). Тогда ввод имеет вид:
1 Enter,
5 Enter,
5 Enter.
Аналогично, для векторов и . Пусть координаты вектора = (1, 3, 1), а координаты вектора = (2, 2, 2). После введения координат векторов программа производит расчет и выводит сообщение с результатом вычислений, в виде сообщения с результатом проверки:
"Вектора A, B и С не компланарны"


Рис. 4 Результат работы программы по определению компланарности трех векторов.

Задача 3. Найти радиус и номер конуса, при котором будет наибольший объем, вычисляемый по формуле: . Здесь n, и - заданы.
Блок схема имеет следующий вид:

Рис.5. Блок схема для вычисления радиуса и номера конуса с наибольшим объемом.

Ниже приводится текст программы с результатами расчетов:


// Начало программы
Console.Write("Введите количество конусов: ");
int n = int.Parse(Console.ReadLine());
double[] R = new double[n];
Console.WriteLine("Введите радиусы конусов:");
for (int i = 0; i < R.Length; i++)
{
R[i] = double.Parse(Console.ReadLine()); // массив радиусов
}
double[] H = new double[n];
Console.WriteLine("Введите, соответствующие радиусам, высоты конусов");
for (int j = 0; j < H.Length; j++)
{
H[j] = double.Parse(Console.ReadLine()); // массив высот
}
Console.WriteLine();
Console.WriteLine("Объемы конусов:");
double[] V = new double[n];
for (int k = 0; k < n; k++)
{
V[k] = (Math.Pow(R[k],3) * H[k] * Math.PI)/3; // вычисление объема
Console.WriteLine(V[k]);
}
double maxvalue = V.Max(); // определение наибольшего элемента
int index_of_max_value = Array.IndexOf(V, maxvalue); // определение индекса
Console.WriteLine("Наибольший объем равен: {0}" , maxvalue);
Console.Write("Искомый радиус: ");
Console.WriteLine(R[index_of_max_value]);
int index = index_of_max_value + 1;
Console.Write("Искомый номер: ");
Console.WriteLine(index);
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Для определения радиуса и номера конуса, при котором будет наибольший объем:
Вводим количество конусов, их радиусы и высоты для вычисления объема. В качестве примера рассмотрим три конуса, т.е. n=3. Далее, необходимо ввести три радиуса и три высоты каждого конуса, о чем оповестит программа:
"Введите радиусы конусов: "
5 Enter;
8 Enter;
6 Enter,
Аналогично, по запросу программы, вводятся высоты:
"Введите, соответствующие радиусам, высоты конусов"
2 Enter;
3 Enter;
4 Enter.
Далее, программа вычисляет объемы и определяет наибольший из них, затем выводит его в окно, а также радиус и искомый номер при этом объеме.
"Наибольший объем равен: 1608,49543863797"
"Искомый радиус: 8"
"Искомый номер: 2 "


Рис. 6 Результат работы программы по определению радиуса и искомого номера конуса, при котором будет наибольший объем.

Задача 4. Найти объем усеченной пирамиды ,
у которой наименьший объем среди усеченных пирамид с площадями оснований при постоянной высоте h . Здесь n , h, – заданы.
Блок схема имеет следующий вид:

Рис.7. Блок схема для вычисления наименьшего объема среди усеченных пирамид.

Ниже приводится текст программы с результатами расчетов:


Console.Write("Введите количество пирамид: ");
int n = int.Parse(Console.ReadLine());
Console.Write("Введите высоту: ");
double h = double.Parse(Console.ReadLine());
Console.WriteLine("Введите меньшие площади оснований:");
double[] p = new double[n];
for (int i = 0; i < p.Length; i++)
{
p[i] = double.Parse(Console.ReadLine());
}
Console.WriteLine();
Console.WriteLine("Введите большие площади оснований: ");
double[] P = new double [n];
for (int j = 0; j < P.Length; j++)
{
P[j] = double.Parse(Console.ReadLine());
}
double[] V = new double[n];
Console.WriteLine("Объемы пирамид:");
for (int k = 0; k < n; k++)
{
if (p[k] >= P[k] | P[k]<=p[k])
{
Console.WriteLine("Ошибка! Площадь меньшего основания всегда меньше площади большего основания усеченной пирамиды.");
}
else if (p[k]
p[k])
{
V[k] = ((p[k] + P[k]) * h) / 3;
Console.WriteLine("{0}\t", V[k]);
}
}
Console.WriteLine();
double minvalue = V.Min();
Console.WriteLine("Наименьший объем: {0}", minvalue);
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Для определение усеченной пирамиды с наименьшим объемом среде остальных пирамид:
Вводим количество усеченных пирамид, пусть оно равняется трем:
"Введите количество пирамид: "
3 Enter.
Далее, вводим общую для всех высоту, пусть она равняется 5:
"Введите высоту: "
5 Enter
Далее вводим меньшие площади оснований:
1 Enter;
2 Enter;
3 Enter.
А затем большие площади оснований:
4 Enter;
5 Enter;
6 Enter.
Далее, программа вычисляет объемы и определяет наименьший из них, затем выводит его в окно консоли.
"Наименьший объем: 8,33333333333333"
В случае, если введенные площади меньших оснований будут больше больших оснований или наоборот, программа выдаст ошибку, следующего вида:
"Ошибка! Площадь меньшего основания всегда меньше площади большего основания усеченной пирамиды."

Рис. 8 Результат работы программы по вычислению наименьшего объема усеченной пирамиды.

Задача 5. Пусть известны длины сторон треугольника a1, a2 и а3 ;

Download 13,81 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   20




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish