АЛГОРИТМ РАЗРАБОТАННОЙ ПРОГРАММЫ
В этой главе описывается блок-схема разработанной программы со всеми условиями, циклами и переходами.
|












|















|







|















|





|







|




|
Рассмотрим словесный алгоритм разработанной программы:
Шаг 1: Начало программы
Шаг 2: Чтение файла
Шаг 3: Запись текста в строку
Шаг 4: Разделение строки на массив слов
Шаг 5: Перебор и запоминание слов с определенным индексом
Шаг 6: Проверка слов соответствию маске
Шаг 7: Разделение слов на отдельные элементы
Шаг 8: Перебор элементов слова
Шаг 9: Выбор правила по выбранному элементу
Шаг 10: Проверка первого символа
Шаг 11-18: Проверка остальных символов аналогично первому
Шаг 19: В случае выполнения правил, вывод конструкций на экран
Шаг 20: Определение слов на ошибки
Шаг 21: Вывод ошибочных конструкций на экран
Шаг 22: Конец программы
КОД ПРОГРАММЫ
Ниже приводится код разработанной программы с построчным комментарием.
public partial class Form1: Form
{
string filename;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Regex rege = new Regex(@"^[+_?:%;№][a-zA-Z]()[a-zA-Z][0-9][0-9][0-9][a-zA-Z][+_?:%;№]$"); // маска
if (filename == null)
{
MessageBox.Show("Файл не выбран!\n Выбирите файл!");
}
else
{
Regex reg;
int def = 0;
string TempWord;
string[] TempWord1;
string text1 = "";
String line;
StringBuilder str = new StringBuilder(); // изменяемая стока
StringBuilder str1 = new StringBuilder();
using (StreamReader sr = new StreamReader(filename))
{
line = sr.ReadToEnd();
TempWord = line;
TempWord1 = TempWord.Split(new char[]{'.', ',', '\r', '\n'});
}
for (int i = 0; i < TempWord1.Length; i++) // идем по массиву
{
text1 = TempWord1[i];
foreach (Match match in rege.Matches(text1))
{
str1.AppendLine(match.Value);
textBox1.Text = str1.ToString();
}
char[] b = text1.ToCharArray();
for (int j = 0; j < b.Length; j++)
{
char Temp;
Temp = b[j];
int a = 0;
switch (j)
{
case 0:
reg = new Regex(@"^[+_?:%;№]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 1:
reg = new Regex(@"^[a-zA-Z]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 2:
reg = new Regex(@"^()$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 3:
reg = new Regex(@"^[a-zA-Z]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 4:
reg = new Regex(@"^[0-9]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 5:
reg = new Regex(@"^[0-9]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 6:
reg = new Regex(@"^[0-9]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 7:
reg = new Regex(@"^[a-zA-Z]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
case 8:
reg = new Regex(@"^[+_?:%;№]$");
foreach (Match match in reg.Matches(Convert.ToString(b[j])))
{
a++;
}
if (a == 0)
{
def++;
}
break;
default: MessageBox.Show("No");
break;
}
}
if (def > 1)
{
str.AppendLine(text1);
textBox3.Text = str.ToString();
}
else if (def == 1)
{
str.AppendLine(text1);
textBox2.Text = str.ToString();
}
str = new StringBuilder();
def = 0;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog() { Filter = "Текстовые файлы(*.txt)|*.txt" };
if (openFileDialog1.ShowDialog() == DialogResult.OK)
filename = openFileDialog1.FileName;
}
ПРИМЕР РАБОТЫРАЗРАБОТАННОЙ ПРОГРАММЫ
Далее описывается пример работы с программой. Каким образом она запускается, что нужно нажать, чтобы получить результат, скриншоты готового результата с пояснениями.
Представить пару вариантов тестирования программы для разных входных данных.
А) Чтобы запустить программу, необходимо запустить среду разработки Visual Studio и открыть файл программы. После чего скомпилировать программу(комбинация клавиш (ctrl + F5)
Рисунок №1. Интерфейс запущенной программы.
Б) Чтобы программа давала результат нужно загрузить документ, в котором находятся номера Гонконга и номера, содержащие одну ошибку.
Рисунок №2. Пример работы программы.