Разработка вычислительной программы

Разработка проекта Dialog based, позволяющего вычислять и отображать два значения. Текст программы, выводящей таблицу функций. Проверка выражений с помощью исчисления интеграла с использованием элементов progress и slider. Запись значений в файл.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 22.06.2011
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Институт информационных технологий

Специальность ИТУТС

КОНТРОЛЬНАЯ РАБОТА

По курсу: СТРПОСУ

Студент-заочник 2 курса

Овсяников Дмитрий Владимирович

Проверил: Снисаренко С.В.

Минск 2011

1. Cоздайте проект типа Dialog based, позволяющий вычислять и отображать два значения Z1 Z2 (в случае успеха они должны совпасть)

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 _1_classview

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public void btn_calc_Click(object sender, EventArgs e)

{

if (String.IsNullOrEmpty(textBox_b.Text))

{

MessageBox.Show("Введите число!");

}

else

{

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

if ((b == 1) || (b == 0))

{

MessageBox.Show("В знаменателе z1 корень из отрицательного числа!");

}

double z1 = (Math.Sqrt(2 * Math.Sqrt(b * b - 4) + 2 * b)) / (Math.Sqrt(b * b - 4) + b + 2);

double z2 = 1 / (Math.Sqrt(b + 2));

if ((long)z2 != (long)z1) textBox_equal.Text = "!=";

else textBox_equal.Text = "=";

textBox_z1.Text = Convert.ToString(z1);

textBox_z2.Text = Convert.ToString(z2);

}

}

private void btn_cancel_Click(object sender, EventArgs e)

{

textBox_b.Text = "";

textBox_z1.Text = "";

textBox_z2.Text = "";

textBox_equal.Text = "";

}

}

}

Результат:

2. Написать и отладить программу, которая выводит таблицу функций

для х изменяющихся от Х1 до Х2 с шагом H

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 _4_listbox

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button_count_Click(object sender, EventArgs e)

{

int xstart = Convert.ToInt32(textBox_xstart.Text);

int xfinish = Convert.ToInt32(textBox_xfinish.Text);

double step = Convert.ToDouble(textBox_step.Text);

int n = Convert.ToInt32(textBox_nstep.Text);

double k, x, fact = 1;

listBox.Items.Add("X нач. = " + xstart + ", X кон. = " + xfinish + " с шагом " + step + " до N = " + n + ":");

for (k = 0; k <= n; k++)

{

if (k == 0)

fact = 1;

else

fact *= k;

for (x = xstart; x <= xfinish; x += step)

{

double Y = Math.Pow(3, x) - 1;

double S = Math.Pow(Math.Log(3), k) * Math.Pow(x, k) / fact;

listBox.Items.Add("S = " + S + ", Y = " + Y + " при k = "+ k + ", при x = " + x);

}

}

}

private void button_cancel_Click(object sender, EventArgs e)

{

listBox.Items.Clear();

}

}

Результат:

3. Проверьте правильность выражений, вычислив интеграл:

программа интеграл файл

Используя элементы progress, slider.

Код Form1.cs:

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 _6_progressslider

{

public partial class Form1 : Form

{

int N = 1;

public Form1()

{

InitializeComponent();

textBox1.Text = "1";

}

private void button_ab_Click(object sender, EventArgs e)

{

abform abform = new abform();

abform.Visible = true;

}

private void button_count_Click(object sender, EventArgs e)

{

double h, x, res = 0, f;

h = abform.b - abform.a / N;

x = abform.a;

int i = 0;

timer1.Enabled = true;

progressBar.Minimum = 0;

progressBar.Maximum = 100;

progressBar.Step = 1;

progressBar.Value = 0;

for (i = 0; i <= N; i++)

{

int progress = i * 100 / N;

progressBar.Value = progress;

int percent = i / N * 100;

progressBar.CreateGraphics().DrawString(percent.ToString() + " % ", new Font("Arial", (float)7.25, FontStyle.Regular), Brushes.Black, new PointF(progressBar.Width / 2 - 10, progressBar.Height / 2 - 7));

}

while (x < abform.b)

{

f = Math.Sin(x);

res += f * h;

x += h;

}

textBox_out.Text = Convert.ToString(res);

}

public void trackBar_N_Scroll(object sender, EventArgs e)

{

N = trackBar_N.Value;

textBox1.Text = Convert.ToString(N);

}

}

}

Код abform.cs:

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 _6_progressslider

{

public partial class abform : Form

{

public static int a, b, c;

public abform()

{

InitializeComponent();

}

public void button_ok_Click(object sender, EventArgs e)

{

if ((textBox_a.Text != "") | (textBox_b.Text != ""))

{

try

{

a = int.Parse(textBox_a.Text);

b = int.Parse(textBox_b.Text);

}

catch

{

MessageBox.Show("Введите целое число");

}

}

else MessageBox.Show("Введите данные");

this.Close();

}

}

Результат:

4. Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц товара, цену единицы и дату поступления товара на склад. Вывести в алфавитном порядке список товаров, хранящихся больше месяца, стоимость которых превышает 1000000 руб.

Меню создания файла

Запись значений в файл

Созданный items.xml

Вывод всех значений из .xml

Код Form1.cs:

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;

using System.IO;

using System.Xml;

namespace _7_mdi

{

public partial class Form1 : Form

{

string filename;

public Form1()

{

InitializeComponent();

}

private void открытьToolStripMenuItem_Click(object sender, EventArgs e)

{

openFileDialog1.ShowDialog();

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Close();

}

private void button_select_with_query_Click(object sender, EventArgs e)

{

Form query = new query();

query.Visible = true;

}

private void button_select_all_Click(object sender, EventArgs e)

{

listBox_out.Items.Clear();

FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();

xmldoc.Load(fs);

for (int i = 0; i < xmldoc.DocumentElement.ChildNodes.Count; i++)

{

listBox_out.Items.AddRange(new object[] { xmldoc.DocumentElement.ChildNodes[i].InnerText });

}

fs.Close();

}

private void button_create_file_Click(object sender, EventArgs e)

{

Form createxml = new createxml();

createxml.Visible = true;

}

private void openFileDialog1_FileOk(object sender, CancelEventArgs e)

{

filename = openFileDialog1.FileName;

toolStripStatusLabel2.Text = filename;

}

}

}

Код createxml.cs:

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;

using System.Xml;

using System.IO;

namespace _7_mdi

{

public partial class createxml : Form

{

string filename;

public static string name, datetime, count, price;

public createxml()

{

InitializeComponent();

}

public void saveFileDialog1_FileOk(object sender, CancelEventArgs e)

{

filename = saveFileDialog1.FileName; //имя файла и полный путь указываемый пользователем в диалоге savefile

}

public void button_write_Click(object sender, EventArgs e)

{

name = textBox_name.Text;

count = textBox_count.Text;

price = textBox_price.Text;

datetime = Convert.ToString(dateTimePicker.Value);

XmlDocument doc = new XmlDocument();

if (File.Exists(filename) == true) // если файл уже существует, добавить в него новые элементы

{

doc.Load(filename);

// создаем node в документе

XmlElement elmRoot = doc.DocumentElement;

XmlElement elmNew = doc.CreateElement("names");

elmRoot.AppendChild(elmNew);

elmRoot = doc.DocumentElement;

elmNew = doc.CreateElement("name");

XmlText names = doc.CreateTextNode(name);

elmRoot.LastChild.AppendChild(elmNew);

elmRoot.LastChild.LastChild.AppendChild(names);

elmNew = doc.CreateElement("count");

names = doc.CreateTextNode(count);

elmRoot.LastChild.AppendChild(elmNew);

elmRoot.LastChild.LastChild.AppendChild(names);

elmNew = doc.CreateElement("price");

names = doc.CreateTextNode(price);

elmRoot.LastChild.AppendChild(elmNew);

elmRoot.LastChild.LastChild.AppendChild(names);

elmNew = doc.CreateElement("date");

names = doc.CreateTextNode(datetime);

elmRoot.LastChild.AppendChild(elmNew);

elmRoot.LastChild.LastChild.AppendChild(names);

doc.Save(filename);

}

else

{

XmlTextWriter myXmlTextWriter = null;

myXmlTextWriter = new XmlTextWriter(filename, System.Text.Encoding.UTF8);

myXmlTextWriter.Formatting = Formatting.Indented;

myXmlTextWriter.WriteStartDocument(false);

myXmlTextWriter.WriteDocType("items", null, null, null);

myXmlTextWriter.WriteComment("items on storehouse");

myXmlTextWriter.WriteStartElement("items");

myXmlTextWriter.WriteStartElement("names", null);

myXmlTextWriter.WriteElementString("name", name);

myXmlTextWriter.WriteElementString("count", count);

myXmlTextWriter.WriteElementString("price", price);

myXmlTextWriter.WriteElementString("date", datetime);

myXmlTextWriter.WriteEndElement();

myXmlTextWriter.WriteEndElement();

//запись xml в файли закрытие потока textwriter

myXmlTextWriter.Flush();

myXmlTextWriter.Close();

if (myXmlTextWriter != null)

myXmlTextWriter.Close();

}

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Close();

}

private void создатьToolStripMenuItem_Click(object sender, EventArgs e)

{

saveFileDialog1.ShowDialog();

}

}

}

Вывод данных в listbox из файла по запросу в условии принесу на лекции, т.к к концу задания понял что подход к решению не верный.

Размещено на Allbest.ru


Подобные документы

  • Исследование арифметических выражений и разработка простых программ. Таблица переменных для алгоритма и программы. Алгоритм решения, текст программы на языке С. Разработка программы вычисления значений выражений, сравнение результатов с ручным подсчетом.

    лабораторная работа [282,7 K], добавлен 30.01.2015

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

    курсовая работа [84,2 K], добавлен 15.04.2013

  • Разработка программы нахождения значения определенного интеграла с помощью метода трапеций. Оценка абсолютной погрешности метода. Использование среды программирования Visual Studio Community 2015 для написания программы. Работа с графическим интерфейсом.

    курсовая работа [573,8 K], добавлен 17.03.2016

  • Описание работы программы, осуществляющей запись команд графического экрана в файл формата BMP. Изучение функции чтения 18-битовых значений из нескольких последовательно расположенных регистров таблицы цветов. Составление блок-схемы и текста программы.

    курсовая работа [198,1 K], добавлен 20.11.2012

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

  • Разработка программы, которая по заданной самостоятельно функции будет выполнять интегрирование методом прямоугольников. Блок-схема алгоритма вычисления интеграла (функция rectangle_integrate). Экспериментальная проверка программы, ее текст на языке C.

    курсовая работа [232,0 K], добавлен 27.05.2013

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

    контрольная работа [831,0 K], добавлен 24.11.2013

  • Разработка и тестирование программы класса Точка. Спецификация программы. Сценарий диалога с пользователем. Разработка структур данных и алгоритмов. Таблица параметров функций программы. Текст программы на языке C++. Особенности тестирования программы.

    лабораторная работа [43,1 K], добавлен 21.07.2012

  • Создание программы, позволяющей вводить квадратную матрицу и заменять значения ненулевых элементов и значения элементов главной диагонали на другие. Программа выполнена с использованием языка проектирования программ Visual Basic for Application.

    курсовая работа [405,3 K], добавлен 30.08.2010

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

    курсовая работа [560,1 K], добавлен 18.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.