243

Создание Windows приложения с использованием Windows Forms

Курсовая

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

Разработка алгоритма и программы на языке С# вычисления площади, ограниченной двумя кривыми, заданными вариантом индивидуального задания для интервала, определяемого пользователем в диалоговом режиме.

Русский

2012-11-14

401 KB

147 чел.

Министерство образования и науки РФ

ФГБОУ ВПО «Ижевский Государственный Технический Университет»

Кафедра: «Мехатронные системы»

Пояснительная записка к курсовому проекту

по дисциплине «Информатика»

на тему: «Создание Windows приложения

с использованием Windows Forms»

Выполнил:

студент группы 3-35-1

Чуйков Р.И.

Проверил:

преподаватель

Ананин Н.С.

Рецензент:

Лекомцев П.В.

Ижевск 2012

Содержание

Техническое задание 3

Введение 4

1 Разработка алгоритма 5

1.1 Разработка математического алгоритма 5

1.2 Разработка схем алгоритма 7

2 Разработка программы 11

3 Руководство оператора 18

4 Руководство программиста 19

5 Вычислительный эксперимент 20

Заключение 26

Список литературы 27


Техническое задание

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

Вариант задания представлен в таблице 1.

Таблица 1.  Вариант задания

Функция 1: y = a*tg(b*x+c)

Функция 2: y = a*cos(b*x+c)

Метод интегрирования: метод Гаусса


                                                Введение

Программа, предназначенная для расчёта площади фигуры, ограниченной графиками двух исходных функций y = a*tg(b*x+c) и y = a*cos(b*x+c)и пределами интегрирования, вводимыми пользователем в диалоговом режиме, разработана в среде программирования «Microsoft Visual Studio 2010 Ultimate», на языке программирования C#.

Язык C# является наиболее известной новинкой в области создания языков программирования. Ввиду очень удобного объектно-ориентированного дизайна, C# является хорошим выбором для конструирования различных компонентов – от высокоуровневой
бизнес логики до системных приложений, использующих низкоуровневый код. Также
следует отметить, что C# является и Web ориентированным - используя встроенные конструкции языка компоненты, могут быть превращены в Web сервисы, к которым можно будет обращаться из Internet посредством любого языка на любой операционной системе. 

В C# унифицирована система типов, можно рассматривать каждый тип как объект. Несмотря на то, используется класс, структура, массив или встроенный тип, можно обращаться к нему как к объекту. Объекты собраны в пространства имен (namespaces),которые позволяют программно обращаться к чему-либо. Это значит, что вместо списка включаемых файлов заголовков в своей программе необходимо написать какие пространства имен, для доступа к объектам и классам внутри них, будут использоваться. В C# выражение using позволяет не писать каждый раз название пространства имен, когда необходимо использовать класс из него. Например, пространство имен System содержит несколько классов, в том числе и Console.


1 Разработка алгоритма

Алгоритм программы состоит из двух частей:

  1.  Математический алгоритм – вычисление интеграла;
  2.  Общий алгоритм работы программы.

  1.  Разработка математического алгоритма

Численное интегрирование  — вычисление значения определённого интеграла (как правило, приближённое). Под численным интегрированием понимают набор численных методов отыскания значения определённого интеграла.

Численное интегрирование применяется, когда:

  1.  Сама подынтегральная функция не задана аналитически. Например, она представлена в виде таблицы (массива) значений в узлах некоторой расчётной сетки.
  2.  Аналитическое представление подынтегральной функции известно, но её первообразная не выражается через аналитические функции.

В этих двух случаях невозможно вычисление интеграла по формуле Ньютона-Лейбница. Также, возможна ситуация, когда вид первообразной настолько сложен, что быстрее вычислить значение интеграла численным методом.

Метод Гаусса — метод численного интегрирования, позволяющий повысить алгебраический порядок точности методов на основе интерполяционных формул путём специального выбора узлов интегрирования без увеличения числа используемых значений подынтегральной функции. Метод Гаусса позволяет достичь максимальной для данного числа узлов интегрирования алгебраической точности.

Формула нахождения определенного интеграла методом Гаусса

Например, для двух узлов можно получить метод 3-го порядка точности тогда как для равноотстоящих узлов метода выше 2-го порядка получить невозможно. В общем случае, используя n точек, можно получить метод с порядком точности 2n − 1. Значения узлов метода Гаусса по n точкам являются корнями полинома Лежандра степени n и приводятся в справочниках специальных функций вместе с соответствующими весами. Наиболее известен метод Гаусса по 5 точкам.

Алгебраический порядок точности численного метода (порядок точности численного метода, степень точности численного метода, порядок точности, степень точности) — наибольшая степень полинома, для которой численный метод даёт точное решение задачи.

Другое определение: говорят, что численный метод имеет порядок точности , если его остаток  равен нулю для любого полинома степени , но не равен нулю для полинома степени .

Очевидно, что метод левых (или правых) прямоугольников имеет порядок точности 0, метод Рунге — Кутты (решения дифференциалных уравнений) четвёртого порядка — 4. Широко известный метод Гаусса по пяти точкам имеет порядок точности 9. Менее очевидно, но легко показывается, что порядок точности метода трапеций — 1, а метода Симпсона — 4.

Наивысшая возможная алгебраическая степень точности для методов численного интегрирования достигается для метода Гаусса.

Для метода Рунге — Кутты решения ОДУ порядок точности имеет другое значение — максимальное число первых членов ряда Тейлора полученного решения, совпадающих с действительным решением ОДУ


1.2 Разработка схем алгоритма

Схема алгоритма программы представлена на рисунке 1.

Рисунок 1 – Схема алгоритма программы, считающей площадь, ограниченную двумя исходными функциями и границами интегрирования.

Рисунок 1 – Схема алгоритма программы, считающей площадь, ограниченную двумя исходными функциями и границами интегрирования (Продолжение )  


Схема алгоритма метода класса, выводящего окно справки, представлена на рисунке 2.

 

Рисунок 2 – Схема алгоритма программы, выводящей окно справки.


Схема алгоритма процедуры, считающей площадь, ограниченную двумя исходными функциями и границами интегрирования, представлена на рисунке 3.

Рисунок 3 – Схема алгоритма процедуры, считающей площадь, ограниченную двумя исходными функциями и пределами интегрирования


2 Разработка программы

Программа, предназначенная для расчёта площади, ограниченной графиками двух исходных функций y1= a*cos(b*x+c) и y2= a*tg(b*x+c) и пределами интегрирования, вводимыми пользователем в диалоговом режиме, разработана в среде программирования «Microsoft Visual Studio 2010 Ultimate», на языке программирования C#.

Программа содержит несколько классов: классы, отображающие окна программы, включающий в себя методы вычисления площадей, и класс для построения графиков.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace WindowsFormsApplication9

{

   class functions

   {

       /// <summary>

       /// коэффициенты в функциях

       /// </summary>

       public double a;

       public double b;

       public double c;

       /// <summary>

       /// пределы интегрирования

       /// </summary>

       public double x1;

       public double x2;

       public functions(double a, double b, double c, double x1, double x2)

       {

           this.a = a;

           this.b = b;

           this.c = c;

           this.x1 = x1;

           this.x2 = x2;

       }

       /// <summary>

       /// Метод, вычисляющий значение функции y=a*cos(b*x+c).

       /// </summary>

       /// <param name="x"></param>

       /// <returns>значение функции y=a*cos(b*x+c)</returns>

       public double f1(double x)

       {

           double y2 = Math.Pow(a, b * x + c);

           return y2;

       }

       /// <summary>

       /// Метод, вычисляющий значение функции y=a*tg(b*x+c).

       /// </summary>

       /// <param name="x"></param>

       /// <returns>значение функции y=a*tg(b*x+c)</returns>

      

Рисунок 4 – Текст класса, включающего методы вычисления функций и площадей

       public double f2(double x)

       {

           double y1 = a * Math.Cos(b * x + c);

           return y1;

       }

       /// <summary>

       /// Подынтегральная функция

       /// </summary>

       /// <param name="x"></param>

       /// <returns>Модуль разности функций</returns>

       private double F(double x)

       {

           double m = Math.Abs(f1(x) - f2(x));

           return m;

       }

       /// <summary>

       /// Нахождение площади методом Гаусса

       /// </summary>

       /// <returns>Площадь фигуры образованной двумя функциями </returns>

       public double Gauss()

       {

           double I;

           double c = 0.5 * (x2 - x1);

           double d = 0.5 * (x2 + x1);

           double e = 0.5 * (x2 - x1)/Math.Sqrt(3);

           I = c * (F(d - e) + F(d + e));

           return I;

       }

   }

}

Рисунок 4– Текст класса, включающего методы вычисления функций и площадей (Продолжение)


Текст класса, включающего методы построения графиков функций, представлен на рисунке 5.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Drawing;

namespace WindowsFormsApplication9

{

   class Grafik : Control

   {

       /// <summary>

       /// Масштаб и инициализация переменных

       /// </summary>

       public double maxX = 7;

       public double maxY = 7;

       double a, b, c;

       int x1, x2;

       

       Nullable<Point> lastPoint;

       public List<List<Point>> pointList1 = new List<List<Point>>();

       protected override void OnPaint(PaintEventArgs e)

       {

           this.SetStyle(ControlStyles.ResizeRedraw, true);

           Graphics g = e.Graphics;

           Pen p = new Pen(Color.Black, 1);

           ///Ocи x и y

           g.DrawLine(p, this.Size.Width / 2, 0, this.Size.Width / 2, this.Size.Height);

           g.DrawLine(p, 0, this.Size.Height / 2, this.Size.Width, this.Size.Height / 2);

           /// Стрелки на осях

           g.DrawLine(p, this.Size.Width / 2, 0, this.Size.Width / 2 - 5, 10);

           g.DrawLine(p, this.Size.Width / 2, 0, this.Size.Width / 2 + 5, 10);

           g.DrawLine(p, this.Size.Width, this.Size.Height / 2, this.Size.Width - 10, this.Size.Height / 2 - 5);

           g.DrawLine(p, this.Size.Width, this.Size.Height / 2, this.Size.Width - 10, this.Size.Height / 2 + 5);

           ///Деления

           for (int i = 0; i < this.Size.Width - 10; i = i + 10)

           {

               g.DrawLine(p, i, this.Size.Height / 2 - 1, i, this.Size.Height / 2 + 1);

           }

           for (int i = 0; i < this.Size.Height; i = i + 10)

           {

               g.DrawLine(p, this.Size.Width / 2 - 1, i, this.Size.Width / 2 + 1, i);

           }

Рисунок 5 – Текст класса, включающего методы построения графиков функций


           ///Подпись x, y, 0

           Font f = new System.Drawing.Font("Comic Sans MS", 10);

           g.DrawString("0", f, Brushes.Black, this.Size.Width / 2 - 15, this.Size.Height / 2 + 3);

           g.DrawString("y", f, Brushes.Black, this.Size.Width / 2 - 15, 3);

           g.DrawString("x", f, Brushes.Black, this.Size.Width - 15, this.Size.Height / 2);

           GRAF(a, b, c, x1, x2);

       }

       ///Преобразование координат

       public Point koordinat(double koordX, double koordY)

       {

           Point p = new Point();

           p.X = (int)(koordX * this.Size.Width / (2 * maxX)) + this.Size.Width / 2;

           p.Y = -(int)(koordY * this.Size.Height / (2 * maxY)) + this.Size.Height / 2;

           return p;

       }

       ///Обнуление

       public void SetNullLastPoint()

       {

           lastPoint = null;

       }

       ///Рисование графика

       public void AddTochka(double xTochki, double yTochki, Color col)

       {            

           

               Pen p = new Pen(col, 2);

               Graphics g = this.CreateGraphics();

               Point point = koordinat(xTochki, yTochki);

               {

                   if (lastPoint != null)

                   {

                       g.DrawLine(p, lastPoint.Value, point);

                   }

                   lastPoint = koordinat(xTochki, yTochki);

               }           

       }

       ///Рисование первого предела

       public void AddPredel_1(int x1, Color col)

       {

           Pen p = new Pen(Color.Black, 1);

           Graphics g = this.CreateGraphics();

           g.DrawLine(p, this.Size.Width / 2 + x1, 0, this.Size.Width / 2 + x1, 500);

       }

       ///Рисование второго предела

       public void AddPredel_2(int x2, Color col)

       {

           Pen p = new Pen(Color.Black, 1); Graphics g = this.CreateGraphics(); g.DrawLine(p, this.Size.Width / 2 + x2, 0, this.Size.Width / 2 + x2, 500);

       }

Рисунок 5– Текст класса, включающего методы построения графиков функций (Продолжение)


      ///Метод перерисовки графиков

       public void GRAF(double a, double b, double c, int x1, int x2)

       {

           if (a != 0 && b != 0 && c != 0 && x1 != 0 && x2 != 0)

           {

               this.a = a;

               this.b = b;

               this.c = c;

               this.x1 = x1;

               this.x2 = x2;

               functions fun1 = new functions(a, b, c, x1, x2);

               ///Рисование графика функции y = a*tg(b*x+c)

               for (double x = -maxX; x < maxX; x = x + 0.001)

               {

                   double y = fun1.f1(x);

                   AddTochka(x, y, Color.LightCoral);

               }

               SetNullLastPoint();

               ///Рисование графика функции y = a*cos(b*x+c)

               functions fun2 = new functions(a, b, c, x1, x2);

               for (double x = -maxX; x < maxX; x = x + 0.001)

               {

                   double y = fun2.f2(x);

                   AddTochka(x, y, Color.BlueViolet);

               }

               SetNullLastPoint();

               ///Пределы интегрирования

               AddPredel_1(x1, Color.Black);

               AddPredel_2(x2, Color.Black);

           }

       }

   }

}

Рисунок 5– Текст класса, включающего методы построения графиков функций (Продолжение)


Текст основного класса, отображающего главное окно программы, представлен на рисунке 6.

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 WindowsFormsApplication9

{

   public partial class Form1 : Form

   {

       public Form1()

       {

           InitializeComponent();

       }

       

       /// <summary>

       /// Вывод результата интегрирования, после нажатия кнопки "Результат"

       /// </summary>

       /// <param name="sender"></param>

       /// <param name="e"></param>

       private void button1_Click(object sender, EventArgs e)

       {

           ///Проверка на корректность введенных данных

           try

           {

               ///Инициализация переменных

               double a = Convert.ToDouble(pole_a.Text);

               double b = Convert.ToDouble(pole_b.Text);

               double c = Convert.ToDouble(pole_c.Text);

               int x1 = Convert.ToInt32(pole_x1.Text);

               int x2 = Convert.ToInt32(pole_x2.Text);

               ///Нахождение площади 

               functions S = new functions(a, b, c, x1, x2);

               double I = S.Gauss();

               string z = Convert.ToString(I);

               label4.Text = "= " + z;

           }

           catch

           {

               Oshibka o = new Oshibka();

               o.Show();

           }

       }

       /// <summary>

       /// Вызов справки

       /// </summary>

       /// <param name="sender"></param>

       /// <param name="e"></param>

       private void button2_Click(object sender, EventArgs e)

       {

           Spravka s = new Spravka();

           s.Show();

       }

   Рисунок 6 - Текст класса, отображающего главное окно программы

       /// <summary>

       /// Построение графиков, после нажатия кнопки "Графики"

       /// </summary>

       /// <param name="sender"></param>

       /// <param name="e"></param>

       private void button3_Click(object sender, EventArgs e)

       {         

           this.grafik.Refresh();

           this.grafik.Invalidate();

          

           try

           {

               double a = Convert.ToDouble(pole_a.Text);

               double b = Convert.ToDouble(pole_b.Text);

               double c = Convert.ToDouble(pole_c.Text);

               int x1 = Convert.ToInt32(pole_x1.Text);

               int x2 = Convert.ToInt32(pole_x2.Text);

               this.grafik.GRAF(a, b, c, x1, x2);               

           }

           catch

           {

               Oshibka o = new Oshibka();

               o.Show();

           }

       }

       /// <summary>

       /// Выход из приложения

       /// </summary>

       /// <param name="sender"></param>

       /// <param name="e"></param>

       private void button4_Click(object sender, EventArgs e)

       {

           DialogResult res = MessageBox.Show("закрыть проект?", "Выход", MessageBoxButtons.YesNo);

           if (res == DialogResult.Yes)

           {

               MessageBox.Show("Выход");

               this.Close();

           }

       }    

   }

}

Рисунок 6– Текст класса, отображающего главное окно программы (Продолжение)


3 Руководство оператора

Назначение программы: программа предназначена для расчёта площади фигуры, ограниченной графиками двух исходных функций y1 = a*tg(bx+c) и y2 = a*cos(b*x+c) и пределами интегрирования, вводимыми пользователем в диалоговом режиме, а также для отображения графиков этих функций.

Входные параметры (задаваемые пользователем в диалоговом режиме):

а, b, cкоэффициенты исходных функций y1 = a*tg(bx+c) и y2 = a*cos(b*x+c);

x1 – начало интервала интегрирования;

x2 – конец интервала интегрирования.

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

В случае неверного заполнения полей ввода, либо заполнения не всех предусмотренных полей, программа сообщит оператору о возникновении ошибки (вывод окна «ОШИБКА»).

            Описание работы кнопок:

           «Графики» - При нажатии кнопки «Графики» происходит построение графиков функций у1 = a*tg(bx+c) и y2 = a*cos(b*x+c) и пределами интегрирования х1 и х2.

«Результат» - При нажатии кнопки «Результат» происходит расчёт площади, ограниченной графиками функций y1 = a*tg(bx+c) и y2 = a*cos(b*x+c) (расчёт площади производится методом Гаусса), выводится числовое значение вычисленной площади в поле «Вывод площади».

«Справка» -  При нажатии кнопки «Справка», происходит  вызов окна справки.

«Выход» - При нажатии кнопки «Выход», происходит закрытие приложения, ведущее за собой выбор «Да» или «Нет».

          


4 Руководство программиста

Назначение и условия применения программы

Программа предназначена для расчёта площади фигуры, ограниченной графиками двух исходных функций y1 = a*tg(bx+c) и y2 = a*cos(b*x+c)   и пределами интегрирования. Программа работает в диалоговом режиме. В программе предусмотрена проверка ввода данных на корректность и графическое отображение заданных функций.

Обращение к программе

Program.cs – главная точка входа для приложения;

Form1.cs – основной класс, используемый для отображения главного окна приложения;

Spravochka.cs– класс, используемый для отображения окна справки;

Oshibochka.cs– класс, используемый для отображения сообщения об ошибке;

functions.cs–класс, включающий в себя методы расчетов значений функций и площадей фигур, образуемых графиками заданных функций;

Grafik.cs – класс, включающий в себя методы построения координатной плоскости и графиков функций;

Входные и выходные данные

Входные и выходные параметры всех методов имеют тип double.

Список основных методов, используемых в программе:

  •  public double f1(double a, double b, double c, double x) и public double f2(double a, double b, double c, double x) – методы, вычисляющие значения функций;
  •  private double F(double x, double m)  – методы, вычисляющий модуль разности функций;
  •  public void AddTochka (double xTochki, double yTochki, Color col) – метод, рисующий графики.


5 Вычислительный эксперимент

Окно программы и окно справки представлены на рисунках 7,8.

Рисунок 7 – Окно программы

Рисунок 8 – Окно справки

                                                   Вычислительный эксперимент №1

В первом вычислительном эксперименте предусмотрим ввод положительных целых чисел.

Рисунок 9 – Вычислительный эксперимент №1


Вычислительный эксперимент №2

Во втором вычислительном эксперименте предусмотрим ввод отрицательных чисел.

Рисунок 10 – Вычислительный эксперимент №2


Вычислительный эксперимент №3

В третьем вычислительном эксперименте предусмотрим ввод некорректных данных (буквы).

Рисунок 11 – Вычислительный эксперимент №3


Вычислительный эксперимент №4

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

Рисунок 12 – Вычислительный эксперимент №4


Заключение

В процессе выполнения представленной курсовой работы были приобретены навыки по созданию Windows-приложений в среде программирования «Microsoft Visual Studio 2010 Ultimate», на языке программирования C#.

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


Список литературы

  1.  Агуров П.А. С#. Разработка компонентов в MS Visual Studio 2008/2010.СПб.: БХВ –Петербург, 2008. 480с.

  1.  Марченко А.Л. C#. Введение в программирование. Учебное пособие. М.: МГУ им. М.В. Ломоносова ,2005. 317с.

  1.  Биллиг В.А. Основы программирования на C#//Учебное пособие. 2005. URL:http://www.intuit.ru/department/pl/csharp (дата обращения 16.01.12)


 

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

29005. ИТ обработки данных: назначение, структура, функционирование 30 KB
  ИТ обработки данных предназначен для решения хорошо структурированных задач задачи кот. Сбор данных. Обработка данных.
29006. ИТ управления: назначение, структура, функционирование 30 KB
  Здесь входные данные преобразуются к формату и виду пригодного для анализа. БД содержит 2 части: – данные по операциям – накапливаются в процессе функционирования организации. Виды отчётов: суммирующий отчёт данные объединены в отдельные группы и представляют собой вид суммирующих итогов сравнительные отчёты содержат данные из различных источников классифицированные по признакам для сравнения чрезвычайные отчёты формируются по запросу менеджера по его согласию.
29007. Расчёт фундаментов по второй группе предельных состояний. Определение границ условного фундамента при расчёте осадок свайных фундаментов 34 KB
  Определение границ условного фундамента при расчёте осадок свайных фундаментов. Расчёт оснований свайных фундаментов по второй группе предельных состояний по деформациям производится исходя из условия: s≤su 1 где s конечная стабилизированная осадка свайного фундамента определённая расчётом; su предельное значение осадки устанавливаемое соответствующими нормативными документами или требованиями проекта. В настоящее время в большинстве случаев свайный фундамент при расчёте его осадки s рассматривается как условный массивный...
29008. Определение осадки свайного фундамента методом послойного суммирования. Порядок расчёта 31.5 KB
  Определение осадки свайного фундамента методом послойного суммирования.1 а нагрузка передаваемая на грунт основания принимается равномерно распределённой интенсивностью: 1 где N0II расчётная нагрузка от веса здания или сооружения на уровне верхнего обреза фундамента; NcII NpII NгII вес соответственно свай ростверка и грунта в объёме уловного фундамента авсd; Ау=by·ly площадь подошвы условно гофундамента. Найденное значение pII не должнопревышать расчётное сопротивление грунта основания R на уровне нижних концов свай...
29009. Опускные колодцы. Условия применения, конструктивная схема и последовательность устройства. Классификация опускных колодцев по материалу, по форме в плане и по способу устройства стен 41.5 KB
  Опускные колодцы. Опускные колодцы могут быть выполнены из дерева каменной или кирпичной кладки бетона железобетона металла. Наибольшее распространение в современной практике строительства получили железобетонные колодцы. По форме в плане опускные колодцы могут быть круглыми квадратными прямоугольной или смешанной формы с внутренними перегородками и без них рис.
29010. Кессоны. Условия применения, конструктивная схема, последовательность производства работ 35 KB
  При залегании прочных грунтов на значительной глубине когда устройство фундаментов в открытых котлованах становится трудновыполнимым и экономически невыгодным а применение свай не обеспечивает необходимой несущей способности прибегают к устройству фундаментов глубокого заложения. Необходимость устройства фундаментов глубокого заложения может быть вызвана и особенностями самого сооружения например когда оно должно быть опущено на большую глубину заглубленные и подземные сооружения. Одним из видов фундаментов глубокого заложения наряду с...
29011. Возведение заглубленных и подземных сооружений методом "стена в грунте". Технология устройства. Монолитный и сборный варианты 66.5 KB
  Возведение заглубленных и подземных сооружений методом стена в грунте . Способ стена в грунте предназначен для устройства фундаментов и заглубленных в грунт сооружений различного назначения. Способ заключается в том что сначала по контуру будущего сооружения в грунте отрывается узкая глубокая траншея которая затем заполняется бетонной смесью или сборными железобетонными элементами. Способ стена в грунте используется при возведении фундаментов под тяжёлые здания и.
29012. Условия применения песчаных подушек при устройстве фундаментов мелкого заложения. Основы расчёта 31.5 KB
  В качестве материала грунтовых подушек чаще всего используют крупные и среднезернистые пески песчаные подушки. Если в первом случае выбор толщины грунтовой подушки однозначен то во втором случае порядок её проектирования сводится к следующему. Задавшись расчётными значениями физикомеханических характеристик материала подушки определяют ориентировочные размеры фундамента в плане. Далее варьируя толщину подушки и если необходимо размеры фундамента устанавливают такую толщину подушки чтобы выполнялось условие: pz ≤ Rz 1 где pz ...
29013. Поверхностное уплотнение грунтов укаткой, вибрацией и тяжёлыми трамбовками. Понятие об оптимальной влажности уплотняемого грунта 36 KB
  Понятие об оптимальной влажности уплотняемого грунта. Уплотняемость грунтов особенно пылеватоглинистых в значительной степени зависит от их влажности и определяется максимальной плотностью скелета уплотнённого грунта ρdmax и оптимальной влажностью w0. Эти параметры находятся по методике стандартного уплотнения грунта при различной влажности 40 ударами груза весом 215 Н сбрасываемого с высоты 30 см. По результатам испытания строится график зависимости плотности скелета уплотнённого грунта ρd от влажности грунта w рис.