Двоичный сумматор. Обучающая программа

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.10.2013
Размер файла 910,6 K

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

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

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

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

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

1. Основная часть

1.1 Описательная постановка задачи

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

Последнее время все более идет тенденция на «электронное обучение». Люди скачивают обучающие ролики, обучающие программы, записываются на вебинары и т.д. Обучающая программа решает такие сложные вопросы как:

1. Время обучения. Вы можете воспользоваться обучающей программой когда хотите и пользоваться ей сколько вам угодно.

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

3. Многообразие режимов. Программа может включать в себя как теоретическую часть, так и тесты, задания, решения, объяснения и т.д.

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

По способу представления и обработки складываемых чисел многоразрядные сумматоры подразделяются на:

· последовательные, в которых обработка чисел ведётся поочерёдно, разряд за разрядом на одном и том же оборудовании;

· параллельные, в которых слагаемые складываются одновременно по всем разрядам, и для каждого разряда имеется своё оборудование.

Сложение чисел в двоичной системе счисления подобно суммированию в десятичной системе.

Как только сумма разрядов в десятичной системе становится больше или равной 10 (основанию системы счисления) мы делаем перенос в более старший разряд. Так и в двоичной системе:

0+0=0;

0+1=1;

1+0=1;

1+1=0 и перенос в старший разряд 1. (1+1=2; 2=2 (основание системы); совершается перенос в старший разряд).

1.2 Цели

1. Научиться лучше работать со средой разработки Visual Studio 2012.

2. Более подробно разобраться в возможностях языка программирования C#.

3. Получить знания, для дальнейшего обучения на данной специальности

1.3 Задачи

1. Изучить информацию, касающуюся двоичных сумматоров. Понять принцип их работы.

2. Создать программу.

3. Протестировать программу на наличие ошибок.

2. О программе

2.1 Описание

программа двоичный сумматор счисление

Программа представляет собой окно с элементами windows forms. Код реализован при помощи языка программирования C#.

В программе предусмотрено два режима работы: режим обучения и режим проверки знаний.

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

В теоретическом курсе содержатся основные понятия, связанные с двоичными сумматорами.

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

Сумматор двоичных кодов с выводом решения имитирует действия человека при вычислении в столбик.

Режим проверки знаний представляет собой окно с шестью примерами. Для того, чтобы начать тестироваться достаточно заполнить нужные поля и нажать кнопку «начать тестирование». После этого, при помощи класса Random будут сгенерированы шесть заданий. После успешного решения и ввода ответов в форму, нужно нажать «завершить тестирование», вследствие чего появится окно с результатами. Результаты также будут сохранены в файл.

Нажав на кнопку «справка» можно ознакомиться с краткой информацией о программе и с источниками информации.

2.2 Укрупненная схема проекта

На следующей блок-схеме продемонстрирована работа программы. (схема 1).

2.3 Интерфейс проекта и описание

На главной форме проекта расположены: двоичный сумматор с выводом решения (слева), теоретическая часть (справа), пользовательское меню (сверху).

Рисунок 1 - главная форма

Рисунок 2 - режим проверки знаний

В режиме тестирования примеры не появляются до тех пор, пока пользователь не введет данные в поля «Ф.И.О.» и «Группа». При запущенном тестировании, любая попытка закрыть форму приравнивается к нажатию кнопки «завершить тестирование», о чем написано на самой форме. (Рис. 2)

При запуске графического имитатора параллельного двоичного сумматора открывается новая форма (рис. 3). Чтобы начать демонстрацию работы сумматора необходимо ввести исходные данные в специальные поля и нажать кнопку «начать демонстрацию».

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

Рисунок 3 - динамическая схема параллельного двоичного сумматора.

Рисунок 4 - справка

В справке освещены основные моменты в работе программы. Ниже находится список источников информации для теоретического курса. (рис. 4)

3. Тестирование

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

Заключение и вводы

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

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

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

1 Т.А. Павловская Программирование на языке высокого уровня: учеб. пособие /ПИТЕР, 2007. - 427 с.

2 msdn.microsoft.com [Электронный ресурс]: интернет - портал.

3 Chipnews.ru [Электронный ресурс]: интернет - журнал. - М. - Режим доступа: http://www.chipnews.ru/html.cgi/arhiv/00_02/stat-37.htm

Приложение А

Листинг программы

Главная форма (режим обучения)

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 WindowsFormsApplication4

{

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent();

}

Form2 f2 = new Form2 ();

Form3 f3 = new Form3 ();

Form4 f4 = new Form4 ();

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

{

Close();

}

private void button1_Click (object sender, EventArgs e)

{

try

{

label2. Text = «»;

label3. Text = «»;

string TB1 = «», TB2 = «», otv = «»;

int deistv = 0;

int Max = Math. Max (textBox1. Text. Length, textBox2. Text. Length);

int NULL = Math. Abs (textBox1. Text. Length - textBox2. Text. Length);

int[] ost = new int [Max + 1];

int[] x = new int [Max + 1];

int[] y = new int [Max + 1];

int[] otvet = new int [Max + 1];

for (int i = 0; i < NULL; i++)

if (textBox1. Text. Length > textBox2. Text. Length)

TB2 += 0;

else

TB1 += 0;

TB1 += textBox1. Text;

TB2 += textBox2. Text;

for (int i = Max; i > 0; i-)

{

x[i] = TB1 [i - 1] - 48;

y[i] = TB2 [i - 1] - 48;

ost[i] = 0;

}

label3. Text = «0» + TB1 + «\n+\n» +» 0» + TB2;

for (int i = Max; i >= 0; i-)

(

deistv++; label2. Text += «\n» + deistv +»)»;

if (x[i] == 1 && y[i] == 1) if (ost[i] == 0) {ost [i - 1] = 1; otvet[i] = 0; label2. Text += x[i] + «+» + y[i] + «=» + ost [i - 1] + «0»;} else {ost [i - 1] = 1; otvet[i] = 1; label2. Text += x[i] + «+» + y[i] + «+остаток:» + ost[i] + «=» + otvet[i] +» " + ost [i - 1];}

else if (x[i] == 0 && y[i] == 1 || x[i] == 1 && y[i] == 0) if (ost[i] == 0) {otvet[i] = 1; label2. Text += x[i] + «+» + y[i] + «=» + otvet[i];} else {ost [i - 1] = 1; otvet[i] = 0; label2. Text += x[i] + «+» + y[i] + «+ остаток:» + ost[i] + «=» + ost [i - 1] +» " + otvet[i];}

else if (x[i] == 0 && y[i] == 0) if (ost[i] == 0) {otvet[i] = 0; label2. Text += x[i] + «+» + y[i] + «=» + otvet[i];} else {otvet[i] = 1; label2. Text += x[i] + «+» + y[i] + «+ остаток:» + ost[i] + «=» + otvet[i];}

}

int bb = Max + 1;

for (int i = 0; i <= Max; i++)

otv += otvet[i]; label2. Text += «\nответ:» + otv;

if (otv[0] == '0') otv = otv. Remove (0, 1);

textBox3. Text = otv;

}

catch {MessageBox. Show («неопознанное исключение»);}

}

private void textBox1_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar==(char) Keys.D0||e. KeyChar==(char) Keys.D1|| (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

if (e. KeyChar == (char) Keys. Enter) button1. Focus();

}

private void textBox2_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

if (e. KeyChar == (char) Keys. Enter) button1. Focus();

}

private void режимПроверкиЗнанийToolStripMenuItem_Click (object sender, EventArgs e)

{

panel4. Visible = false;

f2. ShowDialog();

}

private void файлToolStripMenuItem_Click (object sender, EventArgs e)

{

Close();

}

private void справкаToolStripMenuItem_Click (object sender, EventArgs e)

{

f3. ShowDialog();

}

private void button3_Click (object sender, EventArgs e)

{

f4. ShowDialog();

}

private void Form1_Activated (object sender, EventArgs e)

{

panel4. Visible = true;

}

private void button2_Click_1 (object sender, EventArgs e)

{

f2. ShowDialog();

}

}

}

Режим проверки знаний

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;

namespace WindowsFormsApplication4

{

public partial class Form2: Form

{

public Form2 ()

{

InitializeComponent();

}

string C = «5», C2= «5», C3= «5», C4= «5», C5= «5», C6= «5»;

private void button1_Click (object sender, EventArgs e)

{

try

{

if (textBox4. Text. Trim() == «») MessageBox. Show («введите Ф.И.О.»);

else

if (textBox5. Text. Trim() == «») MessageBox. Show («введите группу»);

else

{

groupBox1. Enabled = true;

textBox4. Enabled = false;

textBox5. Enabled = false;

button1. Enabled = false;

label2. Enabled = false;

label3. Enabled = false;

panel1. Visible = true;

panel2. Visible = true;

panel3. Visible = true;

panel4. Visible = true;

panel5. Visible = true;

panel6. Visible = true;

label10. Visible = true;

label11. Visible = true;

label12. Visible = true;

label13. Visible = true;

label13. Visible = true;

label14. Visible = true;

label15. Visible = true;

Random random = new Random();

int a = random. Next (0, 100);

int b = random. Next (0, 100);

C = Convert. ToString (a + b, 2);

string value1 = Convert. ToString (a, 2);

string value2 = Convert. ToString (b, 2);

label5. Text = value1 + «\n+\n» + value2;

a = random. Next (0, 100);

b = random. Next (0, 100);

C2 = Convert. ToString (a + b, 2);

value1 = Convert. ToString (a, 2);

value2 = Convert. ToString (b, 2);

label6. Text = value1 + «\n+\n» + value2;

a = random. Next (0, 100);

b = random. Next (0, 100);

C3 = Convert. ToString (a + b, 2);

value1 = Convert. ToString (a, 2);

value2 = Convert. ToString (b, 2);

label7. Text = value1 + «\n+\n» + value2;

a = random. Next (0, 100);

b = random. Next (0, 100);

C4 = Convert. ToString (a + b, 2);

value1 = Convert. ToString (a, 2);

value2 = Convert. ToString (b, 2);

label1. Text = value1 + «\n+\n» + value2;

a = random. Next (0, 100);

b = random. Next (0, 100);

C5 = Convert. ToString (a + b, 2);

value1 = Convert. ToString (a, 2);

value2 = Convert. ToString (b, 2);

label4. Text = value1 + «\n+\n» + value2;

a = random. Next (0, 100);

b = random. Next (0, 100);

C6 = Convert. ToString (a + b, 2);

value1 = Convert. ToString (a, 2);

value2 = Convert. ToString (b, 2);

label8. Text = value1 + «\n+\n» + value2;

}

}

catch {MessageBox. Show («неопознаная ошибка»);}

}

private void button2_Click (object sender, EventArgs e)

{

Close();

}

private void textBox1_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox2_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox3_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void Form2_FormClosed (object sender, FormClosedEventArgs e)

{

try {

if (groupBox1. Enabled)

{

StreamWriter f = new StreamWriter (textBox5. Text + «» + textBox4. Text +».txt»);

int verno = 0;

int ocenka = 0;

string errors = «»;

if (textBox1. Text == C) verno++; else errors += «1»;

if (textBox2. Text == C2) verno++; else errors += «2»;

if (textBox3. Text == C3) verno++; else errors += «3»;

if (textBox6. Text == C4) verno++; else errors += «4»;

if (textBox7. Text == C5) verno++; else errors += «5»;

if (textBox8. Text == C6) verno++; else errors += «6»;

f. WriteLine («учащийся(яся):» + textBox4. Text);

f. WriteLine («группа:» + textBox5. Text);

f. WriteLine («дано верных ответов:» + verno);

f. WriteLine («ошибки в номерах:» + errors);

switch (verno)

{

case 6: ocenka = 5; break;

case 5: ocenka = 4; break;

case 4: ocenka = 4; break;

case 3: ocenka = 3; break;

case 2: ocenka = 2; break;

case 1: ocenka = 2; break;

case 0: ocenka = 2; break;

}

if (verno == 6) MessageBox. Show («верно ответов дано:» + verno + «\n оценка:» + ocenka);

else

MessageBox. Show («верно ответов дано:» + verno + «\n оценка:» + ocenka + «\n ошибки в номерах:» + errors);

f. WriteLine («оценка:» + ocenka);

f. Close();

Close();

groupBox1. Enabled = false;

textBox4. Enabled = true;

textBox5. Enabled = true;

button1. Enabled = true;

label2. Enabled = true;

label3. Enabled = true;

label5. Text = «»;

label6. Text = «»;

label7. Text = «»;

label1. Text = «»;

label4. Text = «»;

label8. Text = «»;

textBox1. Text = «»;

textBox2. Text = «»;

textBox3. Text = «»;

textBox4. Text = «»;

textBox5. Text = «»;

textBox6. Text = «»;

textBox7. Text = «»;

textBox8. Text = «»;

panel1. Visible = false;

panel2. Visible = false;

panel3. Visible = false;

panel4. Visible = false;

panel5. Visible = false;

panel6. Visible = false;

label10. Visible = false;

label11. Visible = false;

label12. Visible = false;

label13. Visible = false;

label13. Visible = false;

label14. Visible = false;

label15. Visible = false;

}

else

{

textBox4. Text = «»;

textBox5. Text = «»;

}

} catch {MessageBox. Show («неопознанное исключение»);}

}

private void textBox6_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;}

else e. Handled = true;

}

private void textBox7_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;}

else e. Handled = true;

}

private void textBox8_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;}

else e. Handled = true;

}

}

}

Графический имитатор параллельного двоичного сумматора

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 WindowsFormsApplication4

{

public partial class Form4: Form

{

public Form4 ()

{

InitializeComponent();

}

private void button1_Click (object sender, EventArgs e)

{

rectangleShape1. BackColor = Color. LimeGreen;

rectangleShape3. BackColor = Color. LimeGreen;

rectangleShape5. BackColor = Color. LimeGreen;

rectangleShape2. BackColor = Color. Red;

rectangleShape4. BackColor = Color. Red;

rectangleShape6. BackColor = Color. Red;

label1. BackColor = Color. LimeGreen;

label2. BackColor = Color. LimeGreen;

label3. BackColor = Color. LimeGreen;

label4. BackColor = Color. Red;

label5. BackColor = Color. Red;

label6. BackColor = Color. Red;

groupBox2. Visible = true;

button1. Enabled = false;

label27. Visible = true;

}

private void button4_Click (object sender, EventArgs e)

{

if (textBox1. Text. Length == 1 && textBox2. Text. Length == 1 && textBox3. Text. Length == 1 && textBox4. Text. Length == 1 && textBox5. Text. Length == 1 && textBox6. Text. Length == 1)

{

groupBox1. Visible = true;

groupBox1. Visible = true;

label14. Text = textBox1. Text;

label15. Text = textBox4. Text;

label16. Text = textBox2. Text;

label17. Text = textBox5. Text;

label18. Text = textBox3. Text;

label19. Text = textBox6. Text;

lineShape10. BorderColor = Color. Red;

lineShape9. BorderColor = Color. Red;

lineShape8. BorderColor = Color. Red;

lineShape11. BorderColor = Color. Red;

lineShape12. BorderColor = Color. Red;

lineShape13. BorderColor = Color. Red;

lineShape14. BorderColor = Color. Red;

lineShape15. BorderColor = Color. Red;

lineShape16. BorderColor = Color. Red;

lineShape17. BorderColor = Color. Red;

lineShape18. BorderColor = Color. Red;

lineShape21. BorderColor = Color. Red;

lineShape22. BorderColor = Color. Red;

lineShape25. BorderColor = Color. Red;

lineShape26. BorderColor = Color. Red;

lineShape6. BorderColor = Color. Black;

lineShape49. BorderColor = Color. Black;

lineShape38. BorderColor = Color. Black;

lineShape39. BorderColor = Color. Black;

lineShape40. BorderColor = Color. Black;

lineShape2. BorderColor = Color. Black;

lineShape4. BorderColor = Color. Black;

lineShape35. BorderColor = Color. Black;

lineShape36. BorderColor = Color. Black;

lineShape37. BorderColor = Color. Black;

button3. Enabled = false;

button5. Enabled = false;

groupBox4. Visible = false;

label20. Text= «БЕЗ ИЗМЕНЕНИЙ»;

label21. Text= «БЕЗ ИЗМЕНЕНИЙ»;

label22. Text = «БЕЗ ИЗМЕНЕНИЙ»;

if (label14. Text == «1») lineShape19. BorderColor = Color. LimeGreen; else lineShape19. BorderColor = Color. Red;

if (label15. Text == «1») lineShape20. BorderColor = Color. LimeGreen; else lineShape20. BorderColor = Color. Red;

if (label16. Text == «1») lineShape24. BorderColor = Color. LimeGreen; else lineShape24. BorderColor = Color. Red;

if (label17. Text == «1») lineShape23. BorderColor = Color. LimeGreen; else lineShape23. BorderColor = Color. Red;

if (label18. Text == «1») lineShape28. BorderColor = Color. LimeGreen; else lineShape28. BorderColor = Color. Red;

if (label19. Text == «1») lineShape27. BorderColor = Color. LimeGreen; else lineShape27. BorderColor = Color. Red;

lineShape41. BorderColor = Color. IndianRed; lineShape42. BorderColor = Color. IndianRed; lineShape43. BorderColor = Color. IndianRed; lineShape44. BorderColor = Color. IndianRed;

lineShape45. BorderColor = Color. IndianRed; lineShape48. BorderColor = Color. IndianRed; lineShape47. BorderColor = Color. IndianRed; lineShape46. BorderColor = Color. IndianRed;

button1. Enabled = true;

button2. Enabled = true;

groupBox2. Visible = false;

groupBox3. Visible = false;

label27. Visible = false;

}

else MessageBox. Show («введите все значения входов»);

}

int schot = 0;

private void button2_Click (object sender, EventArgs e)

{

lineShape41. BorderColor = Color. Green; lineShape42. BorderColor = Color. Green; lineShape43. BorderColor = Color. Green; lineShape44. BorderColor = Color. Green;

if (label14. Text == «1») {lineShape17. BorderColor = Color. LimeGreen; lineShape10. BorderColor = Color. LimeGreen; lineShape9. BorderColor = Color. LimeGreen; lineShape8. BorderColor = Color. LimeGreen; label20. Text = «смена триггера»; if (label1. BackColor == Color. LimeGreen) {label1. BackColor = Color. Red; rectangleShape1. BackColor = Color. Red; label4. BackColor = Color. LimeGreen; rectangleShape2. BackColor = Color. LimeGreen;} else {label1. BackColor = Color. LimeGreen; rectangleShape1. BackColor = Color. LimeGreen; label4. BackColor = Color. Red; rectangleShape2. BackColor = Color. Red;}} else {label20. Text = «без изменений»; lineShape10. BorderColor = Color. Red; lineShape9. BorderColor = Color. Red; lineShape8. BorderColor = Color. Red;}

if (label16. Text == «1») {lineShape21. BorderColor = Color. LimeGreen; lineShape11. BorderColor = Color. LimeGreen; lineShape12. BorderColor = Color. LimeGreen; lineShape13. BorderColor = Color. LimeGreen; label21. Text = «смена триггера»; if (label2. BackColor == Color. LimeGreen) {label2. BackColor = Color. Red; rectangleShape3. BackColor = Color. Red; label5. BackColor = Color. LimeGreen; rectangleShape4. BackColor = Color. LimeGreen;} else {label2. BackColor = Color. LimeGreen; rectangleShape3. BackColor = Color. LimeGreen; label5. BackColor = Color. Red; rectangleShape4. BackColor = Color. Red;}} else {label21. Text = «без изменений»; lineShape11. BorderColor = Color. Red; lineShape12. BorderColor = Color. Red; lineShape13. BorderColor = Color. Red;}

if (label18. Text == «1») {lineShape25. BorderColor = Color. LimeGreen; lineShape14. BorderColor = Color. LimeGreen; lineShape16. BorderColor = Color. LimeGreen; lineShape15. BorderColor = Color. LimeGreen; label22. Text = «смена триггера»; if (label3. BackColor == Color. LimeGreen) {label3. BackColor = Color. Red; rectangleShape5. BackColor = Color. Red; label6. BackColor = Color. LimeGreen; rectangleShape6. BackColor = Color. LimeGreen;} else {label3. BackColor = Color. LimeGreen; rectangleShape5. BackColor = Color. LimeGreen; label6. BackColor = Color. Red; rectangleShape6. BackColor = Color. Red;}} else {label22. Text = «без изменений»; lineShape14. BorderColor = Color. Red; lineShape16. BorderColor = Color. Red; lineShape15. BorderColor = Color. Red;}

timer2. Enabled = true;

groupBox3. Visible = true;

button2. Enabled = false;

}

private void timer2_Tick (object sender, EventArgs e)

{

switch (schot)

{

case 1: {lineShape19. BorderWidth = 5; lineShape24. BorderWidth = 5; lineShape28. BorderWidth = 5; break;}

case 2: {lineShape19. BorderWidth = 3; lineShape24. BorderWidth = 3; lineShape28. BorderWidth = 3; rectangleShape10. BorderWidth = 5; rectangleShape12. BorderWidth = 5; rectangleShape14. BorderWidth = 5; break;}

case 3: {rectangleShape10. BorderWidth = 1; rectangleShape12. BorderWidth = 1; rectangleShape14. BorderWidth = 1; lineShape17. BorderWidth = 5; lineShape21. BorderWidth = 5; lineShape25. BorderWidth = 5; break;}

case 4: {lineShape17. BorderWidth = 2; lineShape21. BorderWidth = 2; lineShape25. BorderWidth = 2; rectangleShape7. BorderWidth = 5; rectangleShape8. BorderWidth = 5; rectangleShape9. BorderWidth = 5; break;}

case 5: {rectangleShape7. BorderWidth = 1; rectangleShape8. BorderWidth = 1; rectangleShape9. BorderWidth = 1; lineShape10. BorderWidth = 5; lineShape9. BorderWidth = 5; lineShape8. BorderWidth = 5; lineShape13. BorderWidth = 5; lineShape12. BorderWidth = 5; lineShape11. BorderWidth = 5; lineShape14. BorderWidth = 5; lineShape16. BorderWidth = 5; lineShape15. BorderWidth = 5; label20. Visible = true; label21. Visible = true; label22. Visible = true; break;}

case 6: {lineShape10. BorderWidth = 2; lineShape9. BorderWidth = 2; lineShape8. BorderWidth = 2; lineShape13. BorderWidth = 2; lineShape12. BorderWidth = 2; lineShape11. BorderWidth = 2; lineShape14. BorderWidth = 2; lineShape16. BorderWidth = 2; lineShape15. BorderWidth = 2; label20. Visible = false; label21. Visible = false; label22. Visible = false; schot = 0; button3. Enabled = true; timer2. Enabled = false; break;}

}

schot++;

}

private void button3_Click (object sender, EventArgs e)

{

timer3. Enabled = true;

lineShape45. BorderColor = Color. Green; lineShape48. BorderColor = Color. Green; lineShape47. BorderColor = Color. Green; lineShape46. BorderColor = Color. Green;

if (label15. Text == «1») {lineShape18. BorderColor = Color. LimeGreen; lineShape10. BorderColor = Color. LimeGreen; lineShape9. BorderColor = Color. LimeGreen; lineShape8. BorderColor = Color. LimeGreen; label20. Text = «смена триггера»; if (label1. BackColor == Color. LimeGreen) {label1. BackColor = Color. Red; rectangleShape1. BackColor = Color. Red; label4. BackColor = Color. LimeGreen; rectangleShape2. BackColor = Color. LimeGreen;} else {label1. BackColor = Color. LimeGreen; rectangleShape1. BackColor = Color. LimeGreen; label4. BackColor = Color. Red; rectangleShape2. BackColor = Color. Red;}} else {label20. Text = «без изменений»; lineShape10. BorderColor = Color. Red; lineShape9. BorderColor = Color. Red; lineShape8. BorderColor = Color. Red;}

if (label17. Text == «1») {lineShape22. BorderColor = Color. LimeGreen; lineShape11. BorderColor = Color. LimeGreen; lineShape12. BorderColor = Color. LimeGreen; lineShape13. BorderColor = Color. LimeGreen; label21. Text = «смена триггера»; if (label2. BackColor == Color. LimeGreen) {label2. BackColor = Color. Red; rectangleShape3. BackColor = Color. Red; label5. BackColor = Color. LimeGreen; rectangleShape4. BackColor = Color. LimeGreen;} else {label2. BackColor = Color. LimeGreen; rectangleShape3. BackColor = Color. LimeGreen; label5. BackColor = Color. Red; rectangleShape4. BackColor = Color. Red;}} else {label21. Text = «без изменений»; lineShape11. BorderColor = Color. Red; lineShape12. BorderColor = Color. Red; lineShape13. BorderColor = Color. Red;}

if (label19. Text == «1») {lineShape26. BorderColor = Color. LimeGreen; lineShape14. BorderColor = Color. LimeGreen; lineShape16. BorderColor = Color. LimeGreen; lineShape15. BorderColor = Color. LimeGreen; label22. Text = «смена триггера»; if (label3. BackColor == Color. LimeGreen) {label3. BackColor = Color. Red; rectangleShape5. BackColor = Color. Red; label6. BackColor = Color. LimeGreen; rectangleShape6. BackColor = Color. LimeGreen;} else {label3. BackColor = Color. LimeGreen; rectangleShape5. BackColor = Color. LimeGreen; label6. BackColor = Color. Red; rectangleShape6. BackColor = Color. Red;}} else {label22. Text = «без изменений»; lineShape14. BorderColor = Color. Red; lineShape16. BorderColor = Color. Red; lineShape15. BorderColor = Color. Red;}

button3. Enabled = false;

groupBox4. Visible = true;

}

private void timer3_Tick (object sender, EventArgs e)

{

switch (schot)

{

case 1: {lineShape10. BorderWidth = 2; lineShape9. BorderWidth = 2; lineShape8. BorderWidth = 2; lineShape13. BorderWidth = 2; lineShape12. BorderWidth = 2; lineShape11. BorderWidth = 2; lineShape14. BorderWidth = 2; lineShape16. BorderWidth = 2; lineShape15. BorderWidth = 2; label20. Visible = false; label21. Visible = false; label22. Visible = false; lineShape20. BorderWidth = 5; lineShape23. BorderWidth = 5; lineShape27. BorderWidth = 5; break;}

case 2: {lineShape20. BorderWidth = 2; lineShape23. BorderWidth = 2; lineShape27. BorderWidth = 2; rectangleShape11. BorderWidth = 5; rectangleShape13. BorderWidth = 5; rectangleShape15. BorderWidth = 5; break;}

case 3: {rectangleShape11. BorderWidth = 1; rectangleShape13. BorderWidth = 1; rectangleShape15. BorderWidth = 1; lineShape18. BorderWidth = 5; lineShape22. BorderWidth = 5; lineShape26. BorderWidth = 5; break;}

case 4: {lineShape18. BorderWidth = 2; lineShape22. BorderWidth = 2; lineShape26. BorderWidth = 2; rectangleShape7. BorderWidth = 5; rectangleShape8. BorderWidth = 5; rectangleShape9. BorderWidth = 5; break;}

case 5: {rectangleShape7. BorderWidth = 1; rectangleShape8. BorderWidth = 1; rectangleShape9. BorderWidth = 1; lineShape10. BorderWidth = 5; lineShape9. BorderWidth = 5; lineShape8. BorderWidth = 5; lineShape13. BorderWidth = 5; lineShape12. BorderWidth = 5; lineShape11. BorderWidth = 5; lineShape14. BorderWidth = 5; lineShape16. BorderWidth = 5; lineShape15. BorderWidth = 5; label20. Visible = true; label21. Visible = true; label22. Visible = true; break;}

case 6: {lineShape10. BorderWidth = 2; lineShape9. BorderWidth = 2; lineShape8. BorderWidth = 2; lineShape13. BorderWidth = 2; lineShape12. BorderWidth = 2; lineShape11. BorderWidth = 2; lineShape14. BorderWidth = 2; lineShape16. BorderWidth = 2; lineShape15. BorderWidth = 2; label20. Visible = false; label21. Visible = false; label22. Visible = false; break;}

case 7: {timer1. Enabled = false; schot = 0; button5. Enabled = true; timer3. Enabled = false; break;}

}

schot++;

}

private void textBox1_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox2_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox3_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox4_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox5_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

private void textBox6_KeyPress (object sender, KeyPressEventArgs e)

{

if (e. KeyChar == (char) Keys.D0 || e. KeyChar == (char) Keys.D1 || (e. KeyChar == (char) Keys. Back)) {return;} // запрет ввода всего, кроме 0 и 1 в ТБ1

else e. Handled = true;

}

int schot2 = 0;

private void timer4_Tick (object sender, EventArgs e) //

{

schot2++;

switch (schot2)

{

case 1: {lineShape6. BorderWidth = 5; break;}

case 2: {lineShape6. BorderWidth = 2; lineShape49. BorderWidth = 5; break;}

case 3: {lineShape49. BorderWidth = 2; rectangleShape18. BorderWidth = 5; break;}

case 4: {rectangleShape18. BorderWidth = 1; lineShape38. BorderWidth = 5; break;}

case 5: {lineShape38. BorderWidth = 2; lineShape39. BorderWidth = 5; break;}

case 6: {lineShape39. BorderWidth = 2; lineShape40. BorderWidth = 5; break;}

case 7: {lineShape40. BorderWidth = 2; rectangleShape8. BorderWidth = 5; break;}

case 8: {rectangleShape8. BorderWidth = 1; lineShape11. BorderWidth = 5; lineShape12. BorderWidth = 5; label21. Visible = true; lineShape13. BorderWidth = 5; break;}

case 9: {lineShape11. BorderWidth = 2; lineShape12. BorderWidth = 2; lineShape13. BorderWidth = 2; label21. Visible = false; schot2 = 0; timer4. Enabled = false; break;}

}

}

private void button5_Click (object sender, EventArgs e)

{

button5. Enabled = false;

if (label18. Text == «1» && label19. Text == «1») {timer4. Enabled = true; lineShape6. BorderColor = Color. LimeGreen; lineShape49. BorderColor = Color. LimeGreen; lineShape38. BorderColor = Color. LimeGreen; lineShape39. BorderColor = Color. LimeGreen; lineShape40. BorderColor = Color. LimeGreen; label21. Text = «смена триггера»; lineShape13. BorderColor = Color. LimeGreen; lineShape12. BorderColor = Color. LimeGreen; lineShape11. BorderColor = Color. LimeGreen; if (label2. BackColor == Color. LimeGreen) {label2. BackColor = Color. Red; label5. BackColor = Color. LimeGreen; rectangleShape3. BackColor = Color. Red; rectangleShape4. BackColor = Color. LimeGreen;} else {label2. BackColor = Color. LimeGreen; label5. BackColor = Color. Red; rectangleShape3. BackColor = Color. LimeGreen; rectangleShape4. BackColor = Color. Red;}}

if (label16. Text == «1» && label17. Text == «1») {timer5. Enabled = true; lineShape37. BorderColor = Color. LimeGreen; lineShape36. BorderColor = Color. LimeGreen; lineShape35. BorderColor = Color. LimeGreen; lineShape4. BorderColor = Color. LimeGreen; lineShape2. BorderColor = Color. LimeGreen; label20. Text = «смена триггера»; lineShape9. BorderColor = Color. LimeGreen; lineShape8. BorderColor = Color. LimeGreen; lineShape10. BorderColor = Color. LimeGreen; if (label1. BackColor == Color. LimeGreen) {label1. BackColor = Color. Red; label4. BackColor = Color. LimeGreen; rectangleShape1. BackColor = Color. Red; rectangleShape2. BackColor = Color. LimeGreen;} else {label1. BackColor = Color. LimeGreen; label4. BackColor = Color. Red; rectangleShape1. BackColor = Color. LimeGreen; rectangleShape2. BackColor = Color. Red;}}

}

int schot3 = 0;

private void timer5_Tick (object sender, EventArgs e)

{

schot3++;

switch (schot3)

{

case 1: {lineShape2. BorderWidth = 5; break;}

case 2: {lineShape2. BorderWidth = 2; lineShape4. BorderWidth = 5; break;}

case 3: {lineShape4. BorderWidth = 2; rectangleShape16. BorderWidth = 5; break;}

case 4: {rectangleShape16. BorderWidth = 1; lineShape35. BorderWidth = 5; break;}

case 5: {lineShape35. BorderWidth = 2; lineShape36. BorderWidth = 5; break;}

case 6: {lineShape36. BorderWidth = 2; lineShape37. BorderWidth = 5; break;}

case 7: {lineShape37. BorderWidth = 2; rectangleShape7. BorderWidth = 5; break;}

case 8: {rectangleShape7. BorderWidth = 1; lineShape10. BorderWidth = 5; lineShape9. BorderWidth = 5; label20. Visible = true; lineShape8. BorderWidth = 5; break;}

case 9: {lineShape10. BorderWidth = 2; lineShape9. BorderWidth = 2; lineShape8. BorderWidth = 2; label20. Visible = false; schot3 = 0; timer5. Enabled = false; break;}

}

}

private void Form4_FormClosed (object sender, FormClosedEventArgs e)

{

groupBox1. Visible = false;

textBox2. Text = «»;

textBox3. Text = «»;

textBox6. Text = «»;

textBox5. Text = «»;

timer1. Enabled = false;

timer2. Enabled = false;

timer3. Enabled = false;

timer4. Enabled = false;

timer5. Enabled = false;

schot = 0;

schot2 = 0;

schot3 = 0;

label14. Text = textBox1. Text;

label15. Text = textBox4. Text;

label16. Text = textBox2. Text;

label17. Text = textBox5. Text;

label18. Text = textBox3. Text;

label19. Text = textBox6. Text;

lineShape10. BorderColor = Color. Red;

lineShape9. BorderColor = Color. Red;

lineShape8. BorderColor = Color. Red;

lineShape11. BorderColor = Color. Red;

lineShape12. BorderColor = Color. Red;

lineShape13. BorderColor = Color. Red;

lineShape14. BorderColor = Color. Red;

lineShape15. BorderColor = Color. Red;

lineShape16. BorderColor = Color. Red;

lineShape17. BorderColor = Color. Red;

lineShape18. BorderColor = Color. Red;

lineShape21. BorderColor = Color. Red;

lineShape22. BorderColor = Color. Red;

lineShape25. BorderColor = Color. Red;

lineShape26. BorderColor = Color. Red;

lineShape6. BorderColor = Color. Black;

lineShape49. BorderColor = Color. Black;

lineShape38. BorderColor = Color. Black;

lineShape39. BorderColor = Color. Black;

lineShape40. BorderColor = Color. Black;

lineShape2. BorderColor = Color. Black;

lineShape4. BorderColor = Color. Black;

lineShape35. BorderColor = Color. Black;

lineShape36. BorderColor = Color. Black;

lineShape37. BorderColor = Color. Black;

lineShape2. BorderWidth = 2;

lineShape10. BorderWidth = 2;

lineShape4. BorderWidth = 2;

lineShape6. BorderWidth = 2;

lineShape7. BorderWidth = 2;

lineShape8. BorderWidth = 2;

lineShape9. BorderWidth = 2;

lineShape11. BorderWidth = 2;

lineShape12. BorderWidth = 2;

lineShape13. BorderWidth = 2;

lineShape14. BorderWidth = 2;

lineShape15. BorderWidth = 2;

lineShape16. BorderWidth = 2;

lineShape17. BorderWidth = 2;

lineShape18. BorderWidth = 2;

lineShape19. BorderWidth = 2;

lineShape20. BorderWidth = 2;

lineShape21. BorderWidth = 2;

lineShape22. BorderWidth = 2;

lineShape23. BorderWidth = 2;

lineShape24. BorderWidth = 2;

lineShape25. BorderWidth = 2;

lineShape26. BorderWidth = 2;

lineShape27. BorderWidth = 2;

lineShape28. BorderWidth = 2;

lineShape29. BorderWidth = 2;

lineShape30. BorderWidth = 2;

lineShape31. BorderWidth = 2;

lineShape32. BorderWidth = 2;

lineShape33. BorderWidth = 2;

lineShape34. BorderWidth = 2;

lineShape35. BorderWidth = 2;

lineShape36. BorderWidth = 2;

lineShape37. BorderWidth = 2;

lineShape38. BorderWidth = 2;

lineShape39. BorderWidth = 2;

lineShape40. BorderWidth = 2;

lineShape41. BorderWidth = 2;

lineShape42. BorderWidth = 2;

lineShape43. BorderWidth = 2;

lineShape44. BorderWidth = 2;

lineShape45. BorderWidth = 2;

lineShape46. BorderWidth = 2;

lineShape47. BorderWidth = 2;

lineShape48. BorderWidth = 2;

lineShape49. BorderWidth = 2;

lineShape50. BorderWidth = 2;

lineShape51. BorderWidth = 2;

lineShape52. BorderWidth = 2;

lineShape53. BorderWidth = 2;

button3. Enabled = false;

button5. Enabled = false;

groupBox4. Visible = false;

label20. Text = «БЕЗ ИЗМЕНЕНИЙ»;

label21. Text = «БЕЗ ИЗМЕНЕНИЙ»;

label22. Text = «БЕЗ ИЗМЕНЕНИЙ»;

if (label14. Text == «1») lineShape19. BorderColor = Color. LimeGreen; else lineShape19. BorderColor = Color. Red;

if (label15. Text == «1») lineShape20. BorderColor = Color. LimeGreen; else lineShape20. BorderColor = Color. Red;

if (label16. Text == «1») lineShape24. BorderColor = Color. LimeGreen; else lineShape24. BorderColor = Color. Red;

if (label17. Text == «1») lineShape23. BorderColor = Color. LimeGreen; else lineShape23. BorderColor = Color. Red;

if (label18. Text == «1») lineShape28. BorderColor = Color. LimeGreen; else lineShape28. BorderColor = Color. Red;

if (label19. Text == «1») lineShape27. BorderColor = Color. LimeGreen; else lineShape27. BorderColor = Color. Red;

lineShape41. BorderColor = Color. IndianRed; lineShape42. BorderColor = Color. IndianRed; lineShape43. BorderColor = Color. IndianRed; lineShape44. BorderColor = Color. IndianRed;

lineShape45. BorderColor = Color. IndianRed; lineShape48. BorderColor = Color. IndianRed; lineShape47. BorderColor = Color. IndianRed; lineShape46. BorderColor = Color. IndianRed;

button1. Enabled = true;

button2. Enabled = true;

groupBox2. Visible = false;

groupBox3. Visible = false;

label27. Visible = false;

}

}

}

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


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

  • Исследование процесса разработки и кодирования приложения для перевода двоичных чисел в шестнадцатеричные в операционной системе Linux. Изучение требований к надежности и программной документации. Определение основных состояний интерфейса программы.

    курсовая работа [2,4 M], добавлен 23.06.2012

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

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

  • Создание программы для выполнения простейших математических функций с применением языка программирования ObjectPascal. Проектирование графического интерфейса Калькулятора двоичных и шестнадцатеричных систем. Описание алгоритма на естественном языке.

    курсовая работа [115,4 K], добавлен 19.05.2014

  • Методика разработки, практической апробации программы в среде Turbo Pascal по построению графика прямой линии регрессии. Формирование блок-схемы данной программы, ее листинг. Построение графика с помощью математических формул и графического модуля Graph.

    контрольная работа [46,2 K], добавлен 22.07.2011

  • Разработка 16-ти разрядного последовательного сумматора двоичных чисел с фиксированной запятой с низкой потребляемой мощностью. Обеспечение преобразования результата в код Грея и индикации в десятичном коде. Проектирование средства встроенного контроля.

    курсовая работа [245,4 K], добавлен 16.06.2009

  • Описание логической структуры программы "perevod" для перевода числа из одной системы счисления в другую. Блок-схема алгоритма обработчика события Button1Click. Разработка и испытание приложений. Назначение и условия применения программы, листинг.

    курсовая работа [945,5 K], добавлен 03.01.2011

  • Проектирование цифрового автомата для выполнения арифметической операции деления двоичных чисел, алгоритм работы. Числа с плавающей запятой. Типы элементов памяти управляющего автомата JK-триггер, не имеющего запрещенных состояний на основных входах.

    курсовая работа [747,4 K], добавлен 25.03.2012

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

    реферат [687,5 K], добавлен 28.10.2011

  • C++ как универсальный язык программирования, его сущность, назначение, классы и возможности. Блок-схема и листинг программы KURS.EXE, ее принцип работы, системные требования, возможные неполадки и способы их устранения. Листинг заставки VOVA777.EXE.

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

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

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

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