Автор работы: Пользователь скрыл имя, 18 Сентября 2017 в 19:46, контрольная работа
В процессе развития вычислительной техники было создано множество языков и технологий программирования, практически несовместимых между собой. Конечно, при разработке программ, работающих автономно, можно обойтись одним языком, одной технологией программирования и не иметь никаких проблем с совместимостью, но приложения для Интернета требуют использования разных языков и разных технологий.
Разработчики из Microsoft поставили перед собой задачу кардинально решить эту проблему. В 2000г был представлен первый вариант новой технологии, получившей название Microsoft .NET (.NET — по-русски произносится «Дот-Нэт»).
Преимущества и недостатки платформы Microsoft.NET.
Сравнение технологий .NET и Java…………………………………………3
Работа с одномерным числовым массивом ………………………………..8
Построение блок-схемы выполнения операций в рассматриваемой предметной области …………………………………………………….…..24
2. Объявляем необходимые нам переменные с помощью int, объявляем строку, формируем для значений элементов, возвращаем строку с помощью return.
public partial class Form1 : Form
{
//данные класса
int[] Mассив; // массив с отложенной инициализацией
int N = 0;//количество чисел (размер массива)
int R = 0;//диапазон случайных чисел
int Rc = 0;
string strmas()//функция возвращает строку чисел
{
string s = " ";// пустая строка
for (int i = 0; i < N; i++)
s = s + Mассив[i] + " ";
return s;//возвращаем строку
}
3. Объявляем основной массив, вводим его размер (границы), выводим метод преобразования его из чисел в строку. Создаем защитный блок try, с помощью которого, происходит защита от недопустимых значений. При ошибке программа выводит сообщение
R = int.Parse(textBox2.Text);//
Rc= int.Parse(textBox3.Text);//
Button3.Enabled = true;
Button4.Enabled = true;
Button5.Enabled = true;
Button6.Enabled = true;
try//защищаем от неправильных значений(блок)
{
N = int.Parse(textBox1.Text);//
}
catch (Exception err)
{
MessageBox.Show("Ошибка ввода! \n" + err.Message, "Ошибка");
// вывод ошибки, если данная существует
return;
}
Mассив = new int[N];//инициализация массива размера
Random Rand = new Random(); //объявить объект-переменную Rand
for (int i = 0; i < N; i++)//цикл заполнения массива
{
try//защита от недопустимого диапазона
{
Mассив[i] = Rand.Next(R, Rc);// присвоить случайное число (0..R-1) элементу массива
}
catch (Exception err)
{
MessageBox.Show("Неверно указан диапазон, проверьте значения и повторите ввод.\n" + err.Message, " Ошибка ввода");
return;
}
richTextBox1.Clear();//очистка
richTextBox1.AppendText("
richTextBox1.AppendText(
}
}
С помощью кода создаем массив случайных элементов заданного количества элементов. Для защиты от недопустимых значений используем защитные блоки try…catch. Try пробует исполнить часть кода, если исполнить не получается, блок catch собирает данные об исключении и выводит сообщение об ошибке.
4. Код кнопки сортировать. Сортировка методом выбора (возрастание, убывание).
int max = 0, nmax = 0; //сортировка выбором
if (radioButton1.Checked == true)
{
for (int i = 0; i < N; i++) // внешний цикл
{
max = Массив[i];
nmax = i;
for (int j = i + 1; j < N; j++) // внутренний цикл
{
if (Массив[j] < max) // сортировка по возрастанию элементов
{
max = Массив[j]; //меняем местами элемент
nmax = j; //замена номера элемента
}
}
Массив[nmax] = Массив[i];
Массив[i] = max;
}
richTextBox1.AppendText("\n\
richTextBox1.AppendText(
}
else
{
for (int i = 0; i < N; i++)
{
max = Массив[i];
nmax = i;
for (int j = i + 1; j < N; j++)
{
if (Массив[j] > max)
{
max = Массив[j];
nmax = j;
}
}
Массив[nmax] = Массив[i];
Массив[i] = max;
}
richTextBox1.AppendText("\n\
richTextBox1.AppendText(
Сортировка методом выбора происходит в двух циклах. Первый – просмотр массива, во внутреннем цикле программа определяет максимум (минимум) на каждом участке и заменяет его с нужным элементом. Выбираем сначала кнопку «по возрастанию», выводим массив, затем кнопку «по убыванию», выводим массив.
Создаем блок-схему алгоритмов для метода сортировки «Выбор». Цикл наших действий: Возможно несколько вариантов завершения программы, если выполняется условие (и оно верно), то программа продолжает цикл, если же нет, то выводится строка и программа завершается. В ромбиках мы проверяем условие и идём по стрелочке либо «да» или «нет». Если да, то выводится результат данной операции или происходит присвоение значения.
5. Код кнопки Shell (сортировка пузырьковым методом).
Используем условный оператор if для сортировки по возрастанию или убыванию. Вводим временную переменную temp типа int для замены, организуем внешний цикл просмотров и внутренний цикл сравнения и присвоения значения. Выводим новый массив.
if (radioButton1.Checked == true)
{
richTextBox1.AppendText("\n\
int temp;//временная переменная для замены
for (int i = 0; i < N; i++) // массив
{
for (int j = N - 1; j > i; j--)//смотрим два соседних элемента
{
if (Mассив[j] < Mассив[j - 1])//сравнение для сортировки по возрастанию
{
temp = Mассив[j];//если условие подходит, производим замену
Mассив[j] = Mассив[j - 1];
Mассив[j - 1] = temp;
}
}
}
richTextBox1.AppendText(
}
else
{
richTextBox1.AppendText("\n\
int temp;
for (int i = 0; i < N; i++)
{
for (int j = N - 1; j > i; j--)
{
if (Массив[j] > Массив[j - 1])
{
temp = Массив[j];
Массив[j] = Массив[j - 1];
Массив[j - 1] = temp;
}
}
}
richTextBox1.AppendText(
Пузырьковый метод основывается на сравнении двух соседних элементов, если один элемент больше (меньше) другого, то происходит замена их друг другом.
Создаем блок-схему алгоритмов для метода сортировки «Shell». Цикл наших действий: Возможно несколько вариантов завершения программы, если выполняется условие (и оно верно), то программа продолжает цикл, если же нет, то выводится строка и программа завершается. В ромбиках мы проверяем условие и идём по стрелочке либо «да» или «нет». Если да, то выводится результат данной операции или происходит присвоение значения. Temp (временная переменная).
6. Пишем код на кнопку «Стандартное отклонение». Выводим формулы расчетов. Сначала обнуляем сумму, затем считаем общую сумму элементов массива. Используем тип double для точности вычислений, создаем переменную sum и z данного типа, используем цикл for для подсчета суммы.
double sum = 0;
double z = 0;
richTextBox1.AppendText("\n\
for (int i = 0; i < N; i++)//считаем сумму элементов массива
{
sum += Mассив[i];
}
double m = sum / N;
for (int i = 0; i < N; i++)//формула расчета
{
z = z + (Mассив[i] - m) * (Mассив[i] - m);
}
double std = Math.Sqrt(z / (N - 1));//стандартное отклонение
string s1 = std + " ";
richTextBox1.AppendText(s1);//
Стандартное отклонение считаем по формуле:
Объявляем входной поток f1, инициализируем размер массива, создаем цикл с условием завершения и присваиваем массиву элементы из файла.
//объявляемвходнойпоток f1
StreamReader f1 = new StreamReader("datai.txt");
Mассив = new int[100];//инициализация массива для открытия из файла
int i = 0;
while (!f1.EndOfStream)//цикл с условием завершения - завершение входного потока данных
{
Mассив[i] = Convert.ToInt32(f1.ReadLine())
i++;//следующая строка
}
f1.Close();//закрытие потока
N = i;//меняем количество элементов на количество строк
textBox1.Text = Convert.ToString(N);
richTextBox1.Clear();//чистим
richTextBox1.AppendText("
richTextBox1.AppendText(
Для открытия из файла мы используем класс Streamreader. Создаем переменную этого класса – входной поток. И циклом while считываем каждую строку текстового документа в папке bin/debug, затем выводим на экран.
Close();
Становится доступной после нажатия кнопки создать или открыть, что делает невозможным сохранение пустого файла.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.
if (saveFileDialog1.ShowDialog() == DialogResult.OK)//запуск savefiledialog
{
richTextBox1.SaveFile(
Text = saveFileDialog1.FileName;
Сохраняется массив с помощью элемента savefiledialog. Выводится окно, пользователь выбирает место сохранения файла, текст из richtextbox копируется в текстовый документ и сохраняется.
Задание: Поменять местами элементы с четными и нечетными индексами.
Вводим временную переменную tmp типа int для обмена значениями.
{
int tmp; //tmp - переменная для обмена значениями двух элементов
// решение
for (int i = 1; i < N; i += 2)
{ // обмен значениями элементов
tmp = Массив[i];
Массив[i] =Массив[i - 1];
Массив[i - 1] = tmp;
}
// вывод результата
richTextBox1.AppendText("\n\
richTextBox1.AppendText(
}
Блок схема алгоритма решения задачи
При проведении анализа составляется общая схема системы, устанавливаются главные ее компоненты, функции, взаимосвязи, разрабатывается схема подсистем, показывается соподчинение их элементов (рис. 1).
Комплексное исследование деятельности предприятия начинается с проведения маркетингового анализа (блок 1, см. рис. 1), в рамках которого изучаются спрос и предложение на его продукции), цена на нее, рассматриваются возможные конкуренты. В результате этих исследований можно прийти к следующим выводам.
1. На продукцию есть
спрос, цена устраивает потребителей,
в связи с чем надо изучить
возможности предприятия по
2. Продукция не пользуется спросом и поэтому необходимо определить "слабые" места в деятельности предприятия.
Решение поставленных вопросов возможно при изучении дальнейших блоков схемы.
В основе всех экономических показателей деятельности лежит организационно-технический уровень производства, т.е. качество техники, прогрессивность технологических процессов, уровень организации труда, производства, управления (блок 2). От организационно-технического уровня зависит степень использования производственных ресурсов.
Интенсивность применения производственных ресурсов (блок 3) проявляется в трех измерениях: в объеме и качестве произведенной и реализованной продукции (блок 6); в величине затрат на производство (блок 4); в величине авансированного капитала (блок 5).
Информация о работе Основы объектно-ориентированного программирования