848

Программирование математических задач с использованием классов и методов языка C#

Курсовая

Информатика, кибернетика и программирование

Реализовать перевод чисел между десятичной, двоичной и восьмеричной системами счисления. Результаты машинного тестирования программы. Описание вычислительных методов. Ручной подсчёт отладочного варианта.

Русский

2013-01-06

960.5 KB

121 чел.

СОДЕРЖАНИЕ

НОРМАТИВНЫЕ ССЫЛКИ……………………………………………………..5

ВВЕДЕНИЕ…………………………………………………………………….….6

1 ЗАДАНИЕ №1…………………………………………………………………...7

  1.   Формулировка задачи…………………………………………..........7
    1.   Спецификация задачи…………………………………………..........7
    2.   Математическая постановка задачи……………………………...…7
    3.   Описание вычислительных методов……………………………......8
    4.   Схема алгоритма. Описание………………………………………..9
    5.   Текст программы……………………………………………………11
    6.   Ручной просчет отладочного варианта…………………………….13
    7.   Результаты машинного тестирования программы………………..13

2 ЗАДАНИЕ №2……...…………………………………………………………..15

2.1 Формулировка задачи……………………………………………….15

2.2 Спецификация задачи……………………………………………….15

2.3 Математическая постановка задачи………………………………..15

2.4 Описание вычислительных методов…………………………….....16

2.5 Схема алгоритма. Описание………………………………………...17

2.6 Текст программы ……………………………………………………19

2.7 Ручной просчет отладочного варианта…………………………….19

2.8 Результаты машинного тестирования……………………………...20

ЗАКЛЮЧЕНИЕ………………………………………………………………….21

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ……………………………….22

ПРИЛОЖЕНИЕ А………………………………………………………………23

ПРИЛОЖЕНИЕ Б………………………………………………………………..26

ПРИЛОЖЕНИЕ В………………………………………………………………..32

 

 

НОРМАТИВНЫЕ ССЫЛКИ

В настоящей пояснительной записке используются ссылки на следующие нормативные документы:

ГОСТ 7.32-2001 «Отчет о научно-исследовательской работе. Структура и правила оформления».

ГОСТ 2.105-95 «Общие требования к текстовым документам»

ГОСТ Р 7.0.5-2008 «Библиографическая ссылка. Общие требования и правила составления»

ГОСТ 7.1-2003 «Библиографическая запись. Библиографическое описание. Общие требования и правила составления»

ГОСТ 7.80-2000. «Библиографическая запись. Заголовок. Общие требования и правила составления»

ГОСТ 19.701-80 – ЕСПД. Схемы алгоритмов, программ, данных и систем.


ВВЕДЕНИЕ

Класс является основой языка С#, так как все действия в любой программе на этом языке происходят внутри класса. Реализация механизма подпрограмм в C# возложена на функциональный член класса, который именуется методом и реализует вычисления или другие действия, выполняемые классом или экземпляром. Методы определяют поведение класса.

Данная курсовая работа направлена на подробное изучение классов и методов языка C#. С этой целью будет реализовано программирование математических задач. Также данная курсовая работа способствует закреплению полученных на занятиях навыков алгоритмизации и программирования задач на языке высокого уровня C#.
             
1 ЗАДАНИЕ №1

1.1 Формулировка задачи

Реализовать перевод чисел между десятичной, двоичной и восьмеричной системами счисления.

1.2 Спецификации задачи

Входные данные:

  •  Число в десятичной, восьмеричной или двоичной системе счисления (Вводится с клавиатуры).

Выходные данные:

  •  Число, переведённое в выбранную пользователем систему счисления.

1.3 Математическая постановка задачи

В таблице 1 приведен ряд переменных, представляющих исходные данные и результаты работы программы. Этот ряд может быть дополнен на стадии разработки алгоритма.

Общее описание алгоритма.  Примем, что переводимое число будет вводиться вовремя работы программы после того, как будет указано основание(1) позиционной системы исчисления(2) этого числа.

Вводимое число заносится в строковую переменную s, так как это необходимо для упрощения работы программы. В зависимости от выбранного основания системы счисления переводимого числа s переменная q1 будет принимать значения: 2, 8 или 10. Также, в зависимости от выбранного основания системы счисления, в которую будет выполняться перевод s, изменяется переменная q2. Впоследствии s преобразуется в выбранную систему счисления исходя из значения q2.

Таблица 1 – Характеристика переменных

Имя перемен-ной

Смысл переменной

Назначение переменной

Ограничения

s

Переводимое число

Исходная

Целая, положительная

q1

Основание переводимого числа

Промежуточная

10, 8 или 2

q2

Основание числа в которое выполняется перевод

Промежуточная

10, 8 или 2

s

Переведённое число

Результат

1.4 Описание вычислительных методов

За основание системы можно принять любое натуральное число — два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения:

             (1)

где ai – цифры системы счисления;

n и m – число целых и дробных разрядов, соответственно.

Перевод чисел из одной позиционной системы счисления в другую производится по следующим правилам:

а) Перевод целого числа из десятичной системы в другую позиционную систему счисления:

При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1. Число в системе с основанием q записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего.

б) Перевод числа из двоичной, восьмеричной, системы в десятичную:

При переводе числа из двоичной, восьмеричной системы в десятичную надо это число представить в виде суммы степеней основания его системы счисления (по формуле 1).

Примечание: Все эти правила обеспечат перевод чисел из одной системы счисления в другую. Но так как среде уже предусмотрен метод Convert, который обеспечивает явное преобразование переменных из одного типа в другой с переводом в указанную позиционную систему, мы воспользуемся этим методом. Применение данного метода в разы сократит код программы, что облегчит работу компилятора, иными словами программа станет менее «громоздкой». Также программа будет выполнена в Windows Forms, для удобства пользования ею.

1.5 Схема алгоритма. Описание

Метод From_To (код приведён в листинге 1) класса Translation  выполняет перевод числа из одной позиционной системы счисления в другую.

Программа состоит из шести условий. В первую очередь пользователь указывает систему счисления вводимого числа с помощью соответствующего переключателя (по умолчанию десятичная). Программой выполняется проверка первых трёх условий:

  •  Если выбрана десятичная система счисления q1 принимает значение 10;
  •  Если выбрана восьмеричная система, то q1 принимает значение 8;
  •  Если же выбрана двоичная система, то q1 соответственно принимает значение 2.

Затем вводится само число и теми же переключателями выбирается система счисления, в которую нужно перевести число. По нажатию кнопки «Перевести» аналогичным образом происходит проверка условий для переменной q2, а затем вызов метода From_To, которому передаются значения s, q1 и q2. Выводится результат.

В программе предусмотрена обработка исключений. Если пользователь ввёл не цифру, а например, букву цифру не соответствующую двоичной системы, программа выдаст ошибку. Блок проверки на ошибки содержится в методе From_To (смотри листинг 1).

Листинг 1 - Блок проверки на ошибки

class Translation

       {

           public string From_To(string x, int q1, int q2) // Метод обеспечивающий перевод из q1-ичной в q2-ичную систему исчисления (С.И.)

           {

               long l = 0;

               string s;

               try { l = Convert.ToInt64(x, q1); s = Convert.ToString(l, q2); }

               catch { s = "Ошибка!!!"; }

               return s;

           }

       }

Схема алгоритма приведена в приложении А.


1.6 Текст программы

Код программы приведён в листинге 2.

Листинг 2 – Код программы к заданию 1

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

   public partial class Form1 : Form

   {

       public int q1 = 0; // Основание переводимого числа

       public int q2 = 0; // Основание числа в которое выполняется перевод

       string s = "";     // Результат

       class Translation

       {

           public string From_To(string x, int q1, int q2) // Метод обеспечивающий перевод из q1-ичной в q2-ичную систему счисления (С.C.)

           {

               long l = 0;

               string s;

               try { l = Convert.ToInt64(x, q1); s = Convert.ToString(l, q2); } // Сгенерировано исключение

               catch { s = "Ошибка!!!"; }

               return s;

           }

       }

       public Form1()

       {

           InitializeComponent();

           radioButton1.Checked = true; // После запуска формы выбрана 10-тичная С.C.

       }

       private void button1_Click(object sender, EventArgs e) // Кнопка "Закрыть"

       {

           Close(); // Закрытие программы

       }

       private void button2_Click(object sender, EventArgs e) // Кнопка "Очистить"

       {

           textBox1.Clear(); // Очистка textBox1

       }

       private void textBox1_TextChanged(object sender, EventArgs e)

       {

           s = textBox1.Text;

           // ВЫБОР С.C. ВВЕДЁННОГО ЧИСЛА

           if (radioButton1.Checked == true) // Десятичная

           {

               q1 = 10;

           }

           if (radioButton2.Checked == true) // Восьмиричная

           {

               q1 = 8;

           }

           if (radioButton3.Checked == true) // Двоичная

           {

               q1 = 2;

           }

       }

       private void button3_Click(object sender, EventArgs e) // Кнопка "Перевести"

       {

           Translation x = new Translation(); // Создание копии класса Translation

           // ВЫБОР С.С. числа в которую будет переведенно исходное

           if (radioButton1.Checked == true) // в десятичную

           {

               q2 = 10;

           }

           if (radioButton2.Checked == true) // в восьмиричную

           {

               q2 = 8;     

           }

           if (radioButton3.Checked == true) // в двоичную

           {

               q2 = 2;  

           }

           textBox1.Text = x.From_To(s, q1, q2); // Перевод числа с помощью метода From_To класса Translation с непосредственным выводом результата в textBox1

       }

       private void radioButton1_CheckedChanged(object sender, EventArgs e)

       {

       }

       private void Form1_Load(object sender, EventArgs e)

       {

       }

   }

}


1.7 Ручной подсчёт отладочного варианта

Воспользовавшись правилами перевода приведенными в пункте «математической постановке задачи» выполним руной подсчёт:

Переведём число 75 из десятичной системы в двоичную, восьмеричную.

                    в двоичную:          в восьмеричную:      

75   

1

2

75

8

37

2

3

9

8

1

18

2

1

1

0

9

2

1

4

2

0

2

2

0

1

Ответ: 7510 = 1 001 0112 = 1138 

Выполним обратный перевод числа по формуле 1(Сверху указаны разряды):

6

5

4

3

2

1

0

1

0

0

1

0

1

12 = 1*26+1*25+1*24+1*23+1*22+1*21+1*20 = 7510

2

1

0

1

1

38

= 1*82+1*81+3*80 = 7510

1.8 Результат машинного тестирования программы

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

Рисунок 1 – Ввод числа

Рисунок 2 – Перевод числа в двоичную систему

Рисунок 3 – Перевод числа в восьмеричную систему


2 ЗАДАНИЕ №2

2.1 Формулировка задачи

Дана матрица размера n*n. Развернуть ее на 90°, 180°, 270°. Сосчитать сумму элементов главной диагонали всех матриц и найти их определители.

2.2 Спецификации задачи

Входные данные:

  •  Порядок квадратной матрицы n.

Выходные данные:

  •  Исходная матрица A;
  •  Матрица A, развёрнутая на 90°, 180° и 270°;
  •  Суммы главных диагоналей исходной, развёрнутой на 90°, 180° и 270° матриц sum1, sum2, sum3, sum4 соответственно;
  •  Определители всех матриц det1, det2, det3 и det4.

2.3 Математическая постановка задачи

В таблице 2 приведен ряд переменных, представляющих исходные данные и результаты работы программы. Этот ряд будет  дополнен на стадии разработки алгоритма. Переменная A – двумерный массив (матрица), элементы которого будут менять индексы по ходу работы программы, т.е. положение элементов в матрице будет меняться.

Общее описание алгоритма. Пользователь вводит с клавиатуры порядок матрицы n. Затем массив A (матрица) размером nxn заполняется случайным образом. Суммы главных диагоналей исходной, развёрнутой на 90°, 180° и 270° матриц заносятся в переменные sum1, sum2, sum3, sum4 соответственно. Вычисленные определители всех матриц аналогично заносятся в переменные det1, det2, det3 и det4. Каждая переменная содержащая значение определителя или суммы элементов главной диагонали зависит только от соответствующего ей массива (матрицы).

Таблица 2 – Характеристика переменных

Имя

Смысл переменной

Назначение

Ограничения

n

Размер кв. матрицы

Исходная

Целый тип данных

A

Исходный массив

Исходная/Результат

sum1

Сумма эл. главной диагонали исходной матрицы

Результат

sum2

Сумма эл. главной диагонали матрицы  развёрнутой на 90°

Результат

sum3

Сумма элементов главной диагонали матрицы развёрнутой на 180°

Результат

sum4

Сумма эл. главной диагонали матрицы развёрнутой на 270°

Результат

det1

Определитель исходной матрицы

Результат

det2

Определитель матрицы  развёрнутой на 90°

Результат

det3

Определитель матрицы  развёрнутой на 180°

Результат

det4

Определитель матрицы  развёрнутой на 270°

Результат

x

Объект класса Random

Промежуточная

i

Счётчик цикла

Промежуточная

j

Счётчик цикла

Промежуточная

2.4 Описание вычислительных методов

Квадратной матрицей называется матрица, у которой число строк равно числу столбцов. Квадратная матрица A имеет вид:

                               (2)

Сумма элементов главной диагонали матрицы - это сумма элементов, у которых номер (индекс) строки равен номеру столбца:

Для квадратной матрицы может быть введено понятие детерминанта,     или определителя. Детерминант матрицы A обозначают  Детерминантом матрицы A порядка   называют  число:

  1.                                                                      (4)
  2.                   (5)
  3.  Для  можно воспользоваться методом Гаусса

Метод Гаусса заключается в следующем: Сначала, при помощи элементарных преобразований над матрицей производится обнуление элементов под главной диагональю, т.е. матрица приводится к верхнетреугольному виду. Затем определитель находится как произведение элементов, лежащих на главной диагонали (формула 6).

      (6)

2.5 Схема алгоритма. Описание

В первую очередь пользователь вводит порядок матрицы n. Затем при помощи метода Next объекта x - экземпляра класса Random массив A заполняется случайным образом во вложенном цикле.

Далее над каждой матрицы производятся следующие действия:

Матрица при помощи метода PrintArray выводится на экран.

Затем по формуле (3) вычисляется сумма элементов главной диагонали. Это осуществляет метод SumDiag.

Далее вычисляется определитель матрицы при помощи метода Det. Его работа заключается в следующем: при помощи вложенного цикла for создаётся копия передаваемого методу массива. Создание копии необходимо для того, чтобы не изменить исходный массив пи реализации метода Гаусса. Далее идёт проверка условия. Если , то программа переходит ко вложенному оператору if: если , то нахождение определителя выполняется по формуле (4), если нет, то программа переходит к следующему оператору if, в котором: если , то нахождение определителя выполняется по формуле (5). Если же , то нахождение определителя выполняется с помощью метода Гаусса.

Производится поворот матрицы на 90° с помощью метода Rotation. Поворот реализован очень просто, а именно: Задаётся массив B с тем же количеством элементов, что и у исходного A. Массив B заполняется вложенным циклом for элементами массива A по следующему правилу: индекс строки элемента массива B равен индексу столбца элемента массива A, а индекс столбца элемента B равен переменной m, изначально m = n – 1 (индекс последнего столбца), которая уменьшается на 1 с каждой итерацией внешнего цикла.

Примечание: поворот на 180° и 270° реализуется двойным и тройным вызовом метода Rotation, так как 180°=2*90° и 270°=3*90°, т.е. достаточно развернуть исходную матрицу два и три раза соответственно.

В программе предусмотрена обработка исключений. Если пользователь ввёл не цифру, а, например, букву, при задании порядка матрицы, то программа сообщит об ошибке:

Листинг 3 – Блок проверки на ошибки

catch (System.FormatException)                                        // Первый блок catch  

           {

               Console.WriteLine("Вы ввели недопустимый знак(возможно букву)");

               return;

           }

Схема алгоритма приведена в приложении Б.

2.6 Текст программы

Т.к. текст программы занимает достаточно большой объём, он приведен в приложении В ( листинг 4).

2.7 Ручной подсчёт отладочного варианта

Пусть порядок матрицы , исходная матрица , тогда сумма диагоналей: .

Найдём определитель матрицы A методом Гаусса:

  1.  Преобразуем матрицу к верхнетреугольному виду

  1.  Вычислим определитель, сложив элементы главной диагонали  1*(-15)*5,07 = 76

Аналогично и для остальных матриц. Нам достаточно подсчёта значений для исходной матрицы.


2.8 Результат машинного тестирования программы

Результат работы данной программы представлен на рисунке 4. Он совпадает с ручным расчётом задачи.

Рисунок 4 – Результат тестирования программы


ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы были разработаны алгоритмы решения поставленных задач и написаны соответствующие коды программ. Коды были написаны с использованием созданных классов и их методов, что позволило значительно сократить и оптимизировать коды.

В результате  были созданы две работоспособных программы по решению математических задач. Первая выполняет перевод чисел между десятичной, восьмеричной и двоичной системами счисления. Вторая выполняет поворот квадратной матрицы на 90°, 180° и 270°, находит сумму элементов главной диагонали каждой матрицы, а также их определители.


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1.  Павловская Т.А. C#. Программирование на языке высокого уровня: учебник для вузов. – СПб.: Питер, 2007. – 432 с.
  2.  Шилдт Г. C# 4.0: полное руководство. Пер. с англ. – М.: Вильямс, 2011.
  3.  Письменный Д. Т. Конспект лекций по высшей математике. Полный курс. — М.: Айрис-пресс, 2006. — 608 с.


ПРИЛОЖЕНИЕ А

Блок-схема к заданию №1

Метод textBox1_TextChanged (выбор с.c. введённого числа)

 


Метод From_To


ПРИЛОЖЕНИЕ Б

Блок-схема к заданию №2

 


Метод SumDiag

 

Метод Rotation

 


Метод PrintArray

 


Метод Det

j

 


ПРИЛОЖЕНИЕ В

Листинг 4 – код программы к заданию 2

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

   class Program

   {

       class Matrix

       {

           public void Rotation(float[,] A) // Поворот на 90 градусов

           {

               int n = A.GetLength(0); // Получение длинны строк

               float[,] B = new float[n, n]; // Вспомогательный массив

               int m = n; // Вспомогательная переменная

               /*ПОВОРОТ, ПРИСВОЕНИЕМ ЭЛЕМЕНТОВ A ЭЛЕМЕНТАМ B ПО ОПР. ЗАКОНОМЕРНОСТИ*/

               for (int i = 0; i < n; i++)

               {

                   m = m - 1;

                   for (int j = 0; j < n; j++)

                   {

                       B[j, m] = A[i, j];

                   }

               }

               /*ПРИСВОЕНИЕ КАЖДОМУ ЭЛ. А СООТВЕТСТВУЮЩЕГО ЭЛ. В*/

               for (int i = 0; i < n; i++)

               {

                   for (int j = 0; j < n; j++)

                   {

                       A[i, j] = B[i, j];

                   }

               }

           }

           public float SumDiag(float[,] A) // Сумма эл. главной диагонали

           {

               float sum = 0;

               int n = A.GetLength(0);

               for (int i = 0; i < n; i++)

               {

                   sum += A[i, i];

               }

               return sum;

           }

           public float Det(float[,] A)

           {

               float result = 1;

               int n = A.GetLength(0); // Порядок матрицы. Он равен и числу столбцов, и числу строк; мы приравняем его к числу строк

               float[,] B = new float[n, n];

               for (int i = 0; i < n; i++) // Создаём копию исходной матрицы, чтобы она осталась не изменной

               {

                   for (int j = 0; j < n; j++)

                   {

                       B[i, j] = A[i, j];

                   }

               }

               if (n <= 2)

               {

                   if (n == 1) { result = B[0, 0]; }

                   else { result = B[0, 0] * B[1, 1] - B[0, 1] * B[1, 0]; }

               }

               else

               {

                   /* МЕТОД ГАУССА */

                   for (int k = 1; k < n; k++) // Приводим матрицу к треугольному виду

                   {

                       for (int i = k; i < n; i++)

                       {

                           float C = B[i, k - 1] / B[k - 1, k - 1];

                           for (int j = 0; j < n; j++)

                           {

                               B[i, j] -= C * B[k - 1, j];

                           }

                       }

                   }

                   for (int i = 0; i < n; i++) // Вычисляем произведение элементов на главной диагонали

                   {

                       result *= B[i, i];

                   }

               }

               return result;

           }

           public void PrintArray(string Header, float[,] A) // Вывод матрицы

           {

               int n = A.GetLength(0); // Получение длины строки(порядка аматрицы)

               Console.WriteLine("\n" + Header + "\n ");

               for (int i = 0; i < n; i++)

               {

                   for (int j = 0; j < n; j++)

                   {

                       Console.Write(" " + A[i, j] + "\t");

                   }

                   Console.WriteLine("\n");

               }

           }

       }

       static void Main(string[] args)

       {

           Random x = new Random(); // Создаём объект х - копия класса Random

           Matrix m = new Matrix(); // Создаём объект х - копия класса Matrix

           Console.Write("Введите порядок матрицы: ");

           int n = 1;

           try 

           {

               

               n = Convert.ToInt32(Console.ReadLine()); // Вводим порядок матрицы

               float[,] A = new float[n, n];

               for (int i = 0; i < n; i++) // Заполнение матрицы случайным образом

               {

                   for (int j = 0; j < n; j++)

                   {

                       A[i, j] = x.Next(-5, 5);

                   }

               }

               /*ИСХОДНАЯ МАТРИЦА*/

               float sum1 = m.SumDiag(A);

               float det1 = m.Det(A);

               m.PrintArray("Исходная матрица", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum1);

               Console.WriteLine("Определитель: det A = " + det1);

               m.Rotation(A);

               /*ПОВЁРНУТАЯ НА 90*/

               float sum2 = m.SumDiag(A);

               float det2 = m.Det(A);

               m.PrintArray("На 90", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum2);

               Console.WriteLine("Определитель: det A = " + det2);

               m.Rotation(A);

               /*ПОВЁРНУТАЯ НА 180*/

               float sum3 = m.SumDiag(A);

               float det3 = m.Det(A);

               m.PrintArray("На 180", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum3);

               Console.WriteLine("Определитель: det A = " + det3);

               m.Rotation(A);

               /*ПОВЁРНУТАЯ НА 270*/

               float sum4 = m.SumDiag(A);

               float det4 = m.Det(A);

               m.PrintArray("На 270", A);

               Console.WriteLine("Сумма элементов главной диагонали: " + sum4);

               Console.WriteLine("Определитель: det A = " + det4);

           }

           catch (System.FormatException)                                        // Первый блок catch  

           {

               Console.WriteLine("Вы ввели недопустимый знак(возможно букву)");

               return;

           }

           catch (System.IndexOutOfRangeException)                               // Второй блок catch

           {

               Console.WriteLine("Количество строк или столбцов матрицы больше 2000!!!");

               return;

           }

       }

   }

}

(1) Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.

(2) Система счисления — это способ записи чисел с помощью заданного набора специальных знаков (цифр).


 

А также другие работы, которые могут Вас заинтересовать

50666. Частотные модуляторы 195 KB
  Схема принципиальная электрическая ЧМ автогенератора с варикапом Схема принципиальная электрическая ЧМ автогенератора с реактивным транзистором Расчет Экспериментальная часть Выводы В ходе лабораторной работы были исследованы частотно-модулированные колебания в ЧМ автогенераторе с варикапом и реактивным транзистором. В схеме с варикапом видно что: Уходит значение центральной частоты.
50667. Исследование компенсационных стабилизаторов напряжения 831 KB
  Входное напряжение при номинальном рабочем режиме схемы: Выходное напряжение при номинальном рабочем режиме схемы: Увеличенное входное напряжение: Выходное напряжение при увеличенном входном напряжении: Измерение выходного сопротивления Выходное напряжение стабилизатора с нагрузкой...
50668. Изучение методов структурного резервирования 96.5 KB
  Возможные типы резервирования: Общее нагруженное резервирование. Поэлементное нагруженное резервирование. Общее резервирование замещением. Поэлементное резервирование замещением.
50670. Измерение коэффициента ошибок в цифровых каналах телекоммуникационных систем 186 KB
  Цель работы Ознакомление с приборами методами и схемами измерений коэффициента ошибок в цифровых каналах телекоммуникационных систем; методами оценки качества цифровой модуляции с использованием глазковых диаграмм и диаграмм рассеяния. Экспериментальная часть Измерение коэффициента ошибок на выходе канала передачи информации. Отношение сигнал шум 5 6 7 9 11 15 Число ошибок 54320 50290 56350 57420 35240 1 Общее число принятых бит 111700 106100 123800 148900 102800 466000 Коэффициент ошибок 0.
50671. Изучение законов динамики вращательного движения твёрдого тела вокруг неподвижной оси на маятнике Овербека 292.5 KB
  В этой модели считается что трение в оси неподвижного блока отсутствует этот блок невесом а момент сил трения в оси блока с крестовиной не зависит от угловой скорости вращения В этих условиях ускорение груза массой m постоянно на всём отрезке движения H. Тогда рассмотрим систему состоящую из блока 1 с моментом инерции который может вращаться вокруг неподвижной горизонтальной оси и блока 2 с моментом инерции вращающегося вокруг оси . Запишем основное уравнение динамики вращательного движения для каждого блока учитывая что...
50673. Изучение метода последовательного анализа при испытании на надежность элементов и устройств информационной техники 71.5 KB
  В результате исследования процесса возникновения отказов в аппаратуре ИИС убедимся в простоте метода последовательного анализа при испытаниях на надежность который опираясь на данных о границах надежности и рисках потребителя и изготовителя позволяет принять решение о принадлежности партии изделий к принимаемой или бракуемой группе.