Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа Тема 4

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ

Лабораторная работа

Тема 4.2: «Основные средства языка С#»

Выполнил студент

группы ИТ1051

Бахтеев А.С.

Содержание:

  1.  Условия задания_____________________________________ стр. 3
  2.  Формализация задания________________________________стр. 3
  3.  Блок-схемы
    1.   Блок-схема библиотеки классов___________________стр. 4
    2.   Блок-схема консольного приложения______________ стр. 4
    3.   Блок-схема windows приложения__________________стр. 5
    4.   Пояснения к блок-схемам________________________стр. 5
  4.  Библиотека классов___________________________________стр. 6
  5.  Приложения
    1.   Консольное приложение_________________________ стр. 6
    2.   Windows приложение____________________________стр. 9
  6.  Доказательство правильности результата_________________стр.12
  7.  Выводы_____________________________________________ стр. 13

1. Условия задания:

Создать приложение для вычисления арифметических выражений. То есть,

Задано: х и у вещественные переменные

Определить:          i=c;

где i, c – результаты вычислений, причем i – целое, с – вещественная.

Проверяем для X=2,123 и Y=-1,89.

2. Формализация задания:

На входе приложения вводим вещественные числа X и Y – аргументы предложенной функции, в которых целая часть отделяется от десятичной запятой.

На выходе получаем вещественное число С, рассчитанное по формуле

Правильность работы приложения доказываем для X=2,123 и Y=-1,89.

3. Блок схемы

3.1 Блок-схема библиотеки классов

3.2 Блок-схема консольного приложения

3.3 Блок-схема windows приложения

3.4 Пояснения к блок-схемам:

  1.  Math.Floor(C) – возвращает наибольшее целое число, которое меньше или равно заданному числу двойной точности С
  2.  Math.Ceiling(C) – возвращает наименьшее целое число, которое больше или равно заданному числу двойной точности С
  3.  Math.Abs(C) – возвращает абсолютное значение числа С

4. Библиотека классов

Программный код библиотеки классов:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace MyLab

{

   public static class MyFormula

   {

       public static double Formula(double X, double Y)

       {

           return Math.Pow(Y*X*X-1,2)*(Math.Cos(Y)*Math.Cos(Y)-Math.Sin(X*X))/2;

       }

   }

}

5. Приложения

5.1 Консольное приложение

Программный код консольного приложения:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ProjConsole_4_2_Lab

{

   class MyProj

   {

       static void Main(string[] args)

       {

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

           double X; double Y; double С;

           int i; double M; double N;

           string H; string G;

           const string INVITE =

           "Введите числа X, Y - аргументы рассчитываемой функции?";

           const string CONTINUE = "Продолжим? (Yes/No)";

           string answer = "yes";

           do

           { //Организация ввода данных

               Console.WriteLine(INVITE);

               Console.WriteLine("Введите Х - ?");

               string temp1 = Console.ReadLine();

               X = Convert.ToDouble(temp1);

               Console.WriteLine("Введите У - ?");

               string temp2 = Console.ReadLine();

               Y = Convert.ToDouble(temp2);

               //Вычисления и вывод результата

               С = MyLab.MyFormula.Formula(X, Y);

               Console.WriteLine("\nРезультат вычислений C=");

               Console.WriteLine(С.ToString());

               i = (int)С;

               Console.WriteLine("i=");

               Console.WriteLine(i.ToString());

               Console.WriteLine("\n");

               M = Math.Floor(С);

               Console.WriteLine("Floor(C) - M=");

               Console.WriteLine(M.ToString());

               Console.WriteLine("\n");

               N = Math.Ceiling(С);

               Console.WriteLine("Ceiling(C) - N=");

               Console.WriteLine(N.ToString());

               Console.WriteLine("\n");

               H = Math.Floor(Math.Abs(С)).ToString();

               Console.WriteLine("Floor(Abs(C))=");

               Console.WriteLine(H);

               Console.WriteLine("\n");

               G = Math.Ceiling(Math.Abs(С)).ToString();

               Console.WriteLine("Ceiling(Abs(C))=");

               Console.WriteLine(G);

               Console.WriteLine("\n");

               //диалог с пользователем

               Console.WriteLine(CONTINUE);

               answer = Console.ReadLine();

           } while (answer == "yes");

       }

   }

}

Рис. 1 «Окно консольного приложения»

На рис. 1 изображено окно консольного приложения, рассчитывающего по формуле .

Входящие данные X = 1, Y = 2; на выходе С = - 0, 334146397619851.

Остальные расcчитанные данные:

i = 0 – целая часть от полученного результата.

М = -1 – наибольшее целое число, которое меньше заданного числа С.

N = 0 – наименьшее целое число, которое больше заданного числа С.

Floor(Abs(C)) = 0 – наибольшее целое число, которое меньше абсолютного значения числа C.

Ceiling(Abs(C)) = 1 - наименьшее целое число, которое больше абсолютного значения C.

«Продолжим? <Yes/No>» - запрос на повторение ввода данных и повторение вычислений (при ответе yes работа приложения продолжится, в остальных случаях работа приложения завершится).

5.2 Windows приложение

Рис. 2 «Графический интерфейс»

На рис. 2 изображен графический интерфейс windows приложения. Кнопка «Вычислить» запускает вычисления. Кнопка «Выход» завершает работу программы и закрывает окно приложения.

В текстовые поля X и Y вводим значения соответствующих переменных.

В текстовых полях с, i, Floor(c), Ceiling(c), Floor(Abs(c)), Ceiling(Abs(c)) выводятся соответствующие посчитанные значения.

Программный код windows интерфейса:

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 ProjWin_4_2_Lab

{

   public partial class Form1 : Form

   {

       public Form1()

       {

           InitializeComponent();

       }

       private void button2_Click(object sender, EventArgs e)

       {

           Close();

       }

       private void button1_Click(object sender, EventArgs e)

       {

           double X; double Y; double C;

           int i; double M; double N;

           X = double.Parse(textBox1.Text);

           Y = double.Parse(textBox2.Text);

           C = MyLab.MyFormula.Formula(X, Y);

           i = (int)C;

           M = Math.Floor(C);

           N = Math.Ceiling(C);

           textBox3.Text = C.ToString();

           textBox4.Text = i.ToString();

           textBox5.Text = M.ToString();

           textBox6.Text = N.ToString();

           textBox7.Text = Math.Floor(Math.Abs(C)).ToString();

           textBox8.Text = Math.Ceiling(Math.Abs(C)).ToString();

       }

   }

}

Программный код класса Program:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

namespace ProjWin_4_2_Lab

{

   static class Program

   {

       /// <summary>

       /// Главная точка входа для приложения.

       /// </summary>

       [STAThread]

       static void Main()

       {

           Application.EnableVisualStyles();

           Application.SetCompatibleTextRenderingDefault(false);

           Application.Run(new Form1());

       }

   }

}

Рис. 3 «Результаты работы»

На рис. 3 изображено окно windows приложения, рассчитывающего по формуле

Входящие данные X = 2,123, Y = -1,89; на выходе С = 48,810798702454.

Остальные расcчитанные данные, отображенные в текстовых блоках:

i = 48 – целая часть от полученного результата.

Floor(c) = 48 – наибольшее целое число, которое меньше заданного числа С.

Ceiling(c) = 49 – наименьшее целое число, которое больше заданного числа С.

Floor(Abs(c)) = 48 – наибольшее целое число, которое меньше абсолютного значения числа C.

Ceiling(Abs(c)) = 49 - наименьшее целое число, которое больше абсолютного значения C.

В данном примере значения X и Y взяты из задания поэтому доказательство правильности работы программы будет рассчитываться исходя из приведенных результатов.

6. Доказательство правильности результата

X=2,123             Y=-1,89

Разобьем формулу на несколько частей для простоты расчета

(Cos(y))^2 = 0,098477067165134616031709870381143

Sin(x^2) = -0,97900802796429090174793070345712

(Cos(y))^2 - Sin(x^2) = 1,0774850951294255177796405738381

Y*X^2 - 1 = -9,51847381

(Y*X^2 – 1)^2 = 90,6013436716559161

(Y*X^2 – 1)^2 / 2 = 45,30067183582795805

(Cos^2(y) - Sin(x^2)) * (Y*X^2 – 1)^2 / 2 = 48,810798702453974691277879129007

                                                                                                   |

      Вот здесь происходит округление

Для полученного числа справедливо неравенство:

48 < 48,810798702453974691277879129007 < 49

Поэтому:

i = 48

Floor(c) = 48

Ceiling(c) = 49

Floor(Abs(c)) = 48

Ceiling(Abs(c)) = 49

7. Выводы

1. В работе была проведена формализация задачи и составлен алгоритм решения.

2. Для предлагаемой формулы была создана библиотека классов, получающая на входе вещественные Х и Y, а на выходе выдающая результат вычислений согласно заданному выражению.

3. Исходя из поставленных задач был разработан интерфейс пользователя для консольного и windows приложения.

4. Корректность работы приложений проверена путем введения и обработки различных данных.

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




1. Надёжность блока управления является одним из главных показателей который зависит от электрических парам
2. Келісемін Б
3. Тема- Создание формул
4. Игра как организационная форма обучения через Интернет
5. Прогресс Культура 1992 Пезешкян Н
6. Теория и практика сестринского дела
7. Нижегородский государственный университет им
8. культурном сервисе и туризме Учебнометодический комплекс для студентов очной и заочной формы обучени
9. Сверхъестественное
10. дійовий характер
11. Локализация функций в коре больших полушарий Электрическая активность головного мозга
12. статья- Эон философия В гностицизме- божественные самодовлеющие и совершенные сущности плод эманационн
13. Шанс Атлантиде
14. По теме Совершенствование функций менеджмента в организации Выполнила- студентка 3 курса Факультета за
15. Контрольная работа по дисциплине наименование дисциплины
16. Supply Infinitives nd ingformes for the following text
17. ЛЕКЦИЯ I НАУЧНАЯ ЗАДАЧА ИЗУЧЕНИЯ МЕСТНОЙ ИСТОРИИ
18. I. В широкой практике раздачи государственных крестьян и земель в руки крепостников помещиков
19. Задание 2Ситуационное задание Управление магазиномФрагмент книги Фоксола Голдсмита и Брауна
20. 8 ОНИЩЕНКО Володимир Олександрович ОСНОВИ ФОРМУВАННЯ ІНВЕСТИЦІЙНОЇ ПОЛІТИКИ РЕГІОНУ