Разработка вычислительной программы
Разработка проекта 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