2. Порядок виконання роботи
Запустити Visual Studio. В меню обрати File/New/Project.
У вікні New Project вибрати Visual C#, Windows Application.
Відкоригувати шлях до файлів проекту (кнопка Browse). Якщо після корекції шляху до проекту поставити позначку біля надпису “Create directory for solution”, то буде автоматично створений каталог для файлів проекту.
Розмістити на формі програми, яка створюється, необхідні компоненти (рис. 5.1).
Відповідно до вищенаведеного, створити текст програми, яка обчислює визначений інтеграл методом прямокутників.
Виконати програму для всіх вказаних в тексті програми функцій на довільному відрізку
з довільною похибкою. Результати занести
до звіту з лабораторних робіт.
3. Зміст звіту
Номер, тема і мета лабораторної роботи.
Постановка задачі.
Малюнок вікна програми.
Схема алгоритму процедури обчислення інтегралу (рис. 5.2).
Текст програми.
Результати виконання програми.
Висновок про відповідність виконаної роботи завданню.
4. Контрольні запитання
Призначення компонента Form.
Призначення компонента Button.
Призначення компонента TextBox.
Призначення компонента Label.
Оператор switch.
Цикл for.
Цикл while.
Створення методу-функції.
Лабораторна робота № 2 Статистична обробка одновимірного масиву
Мета роботи:Навчитись створювати, обробляти і виводити на екран одновимірний масив числових даних.
1. Методичні поради до створення програми
У програмі мова йтиме про створення масиву цілих випадкових чисел і його статистичну обробку. Для масиву із nрівномірно розподілених в заданому діапазоні [k,m] цілих випадкових чисел будемо розраховувати статистичні параметри розподілення. В створюваній програмі користувач задаватиме границіkіmінтервалу випадкових цілих чисел і їх кількістьn. Програма обчислюватиме середньоарифметичне значенняSaмасиву чисел і середньоквадратичне відхиленняSkvвід середнього значення. У процесі статистичної обробкиn-елементного масиву X випадкових чисел середнє значенняSaі середньоквадратичне відхиленняSkvчисел масивуxiвід середнього значення будемо обчислювати за такими формулами:
,
.
Програма
буде також обчислювати статистичне
розподілення ймовірності pjвипадкових чисел в масиві. Розподілення
ймовірностіpjвизначає
ймовірність появи кожного числового
значенняjв заданому діапазоні
значень [k,m]. Статистична (експериментальна)
ймовірність обчислюється за формулою:
,
деnj– кількість появ
числа j серед загальної кількостіnчисел в масиві. При
статистичне розподілення наближається
до теоретичного.
Вікно програми показане на рис. 7.1.

Рис. 7.1. Вікно програми статистичної обробки масиву
Основна частина тексту програми приведена нижче.
namespace StatParamMas
{
public partial class Form1 : Form
{
int k, m, n;
double Sa, Skv;
public Form1()
{
InitializeComponent();
numericUpDown1.Value = -5;
numericUpDown2.Value = 5;
numericUpDown3.Value = 200;
}
private void button1_Click(object sender, EventArgs e)
{
InpData ( out k, out m, out n);
int[] V1 = new int[n];
double[] V2 = new double[m - k];
FillMasV1( k, m, n, V1);
OutMasV1(V1);
CalcSaSkv(out Sa, out Skv, V1);
OutSaSkv(Sa, Skv);
CalcMasV2(k, V1, V2);
OutMasV2(V2); //k,
}
private void buttonExit_Click(object sender, EventArgs e)
{
Close();
}
private void InpData (out int k, out int m, out int n)
{
k = Convert.ToInt32(numericUpDown1.Value);
m = Convert.ToInt32(numericUpDown2.Value);
n = Convert.ToInt32(numericUpDown3.Value);
}
private void FillMasV1(int k, int m, int n, int[] V1)
{
Random rnd = new Random();
for (int i = 0; i < n; i++)
V1[i] = rnd. Next(k,m);
}
private void OutMasV1(int[] V1)
{
textBox3.Clear();
int i = 0;
foreach( int x in V1)
textBox3.AppendText
(string.Format(" {0} {1} \n" , i++, x));
}
private void CalcSaSkv(out double Sa, out double Skv, int[] V1)
{
int S=0;
for (int i = 0; i < V1.Length; i++) S = S + V1[i];
Sa = (double) S / n;
S = 0;
foreach (int x in V1) Sа = S + (x-Sa)*(x-Sa);
Skv = Math.Sqrt((double)(S / n));
}
private void OutSaSkv(double Sa, double Skv)
{
textBox1.Text = Convert.ToString(Sa);
textBox2.Text = Convert.ToString(Skv);
}
private void CalcMasV2(int k, int[] V1, double[] V2)
{
int q = k;
int S;
for (int j = 0; j < V2.Length; j++)
{
S = 0;
foreach (int x in V1) if (x == q) S += 1;
V2[j] = (double) S / n;
q += 1;
}
}
private void OutMasV2(double[] V2)
{
textBox4.Clear();
//int L = k;
for (int j = 0; j < V2.Length; j++)
textBox4.AppendText
(string.Format(" {0} {1:f5} \n", k+j, V2[j]));
}
}
}
Застосовані масиви V1 і V2. Масив V1 – це заданий масив n цілих випадкових чисел з інтервалу [k,m). Зверніть увагу на відкритість інтервалу з правої сторони. Це означає, що числоbне є елементом масиву. V2 – це масив ймовірностейpjпояви чисел відkдоmв масиві V1. Кількість елементів в масиві V2 дорівнюєk=(m-k). Алгоритм програми видний з тексту методу-процедуриbutton1_Click, в якій
вводяться значення полів-змінних програми k, m, n,
створюються масиви V1, V2,
заповнюється випадковими числами масив V1,
виводиться масив V1 на екран,
обчислюються величини SaіSkv,
виводяться на екран величини SaіSkv,
обчислюється масив ймовірностей V2,
виводиться на екран масив V2.
