Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОПИ3

.docx
Скачиваний:
10
Добавлен:
07.02.2016
Размер:
67.91 Кб
Скачать

Міністерство освіти і науки України

Запорізький національний технічний університет

кафедра програмних засобів

ЗВІТ

з лабораторної роботи № 3

з дисципліни «Основи програмної інженерії» на тему:

«РОБОТА З РЯДКАМИ»

Виконав:

студент групи КНТ-423 Білевський В.В.

Прийняли: Є.М. Федорченко

2014

3.1 Мета: Навчитися працювати з рядками в Visual studio.

3.2 Завдання до роботи:

3.2.1 Розробити архіватор: символи строки, що повторюються, замінити на послідовність –{символЧислоПовторювань}, наприклад : «fehhh eryaaa» повинна перетворюватися на строку виду «feh3 erya3». Також реалізувати зворотню функцію програми.

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 laba_3._1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

string a=textBox1.Text+" ";

string b = "";

int K = 1;

for (int i = 0; i < textBox1.Text.Length; i++)

{

if (a[i] == a[i + 1])

K++;

else

{

b += a[i];

if (K != 1)

b += K;

K = 1;

}

}

textBox1.Text = b;}

private void button2_Click(object sender, EventArgs e)

{string a="";

string b = textBox1.Text + " ";

int n;

for (int i =0 ; i < textBox1.TextLength; i++)

if (b[i] >= '0' && b[i] <= '9')

{

n = Convert.ToInt32(textBox1.Text[i]);

for (int k = 50; k <= n; k++)

a += textBox1.Text[i-1];

}

else a += textBox1.Text[i];

textBox1.Text = a;

} }}

Рисунок 3.1-Перша програма.

Рисунок 3.2- Перша програма.

3.2.2 Розробити аналізатор: рядок, що вводиться, інтурпетуетьється програмою, яка виконує потрібні дії задані користувачем у рядку. Реалізувати прості арифметичні операції. Наприклад, при введені строки «2 плюс 5» або «2 + 5» результатом виконання програми повинно бути –«7».

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 _3._2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

string[] a = new string[3];

int c,n1,n2;

char[] S=new char [2];

char[] s = new char[textBox1.TextLength];

int K = 0;

for (int i = 0; i < textBox1.TextLength; i++)

{

if (textBox1.Text[i] != ' ')

a[K] += textBox1.Text[i];

else K++;

}

a[1]=a[1].ToLower();

n1 = Convert.ToInt32(a[0]);

n2 = Convert.ToInt32(a[2]);

if (a[1] == "+" || a[1] == "плюс")

{

c = n1 + n2;

textBox2.Text = c.ToString();

}

if (a[1] == "-" || a[1] == "минус")

{

c = n1 - n2;

textBox2.Text = c.ToString();

}

if (a[1] == "*" || a[1] == "умножить")

{

c = n1 * n2;

textBox2.Text = c.ToString();

}

if (a[1] == "/" || a[1] == "розделить")

{

c = n1 / n2;

textBox2.Text = c.ToString();

}

FileStream file = File.Open("logs.txt", FileMode.Append, FileAccess.Write);

StreamWriter writer = new StreamWriter(file);

writer.WriteLine(textBox1.Text + "=" + textBox2.Text);

writer.Flush();

file.Close();

}

}

}

Рисунок 3.3- Друга програма.

3.2.3 Продемонструвати роботу таких функцій :Empty, Length, Split.

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 laba_3._3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

FileStream file = File.Open("logs.txt", FileMode.Open, FileAccess.Write);

string a,output="";

a = textBox1.Text;

const char space=' ';

const char coma=',';

char[] lw={space,coma};

if (string.IsNullOrEmpty(a))

textBox2.Text = "pustaya";

else textBox2.Text = a.Length.ToString();

a = textBox1.Text;

foreach (string b in a.Split(lw))

{ output += b;

output += "\r\n";

}

textBox1.Text=output;

StreamWriter writer = new StreamWriter(file);

writer.WriteLine(output);

writer.Flush();

file.Close();

}

private void Form1_Load(object sender, EventArgs e)

{

FileStream file = File.Open("logs.txt", FileMode.Open, FileAccess.Read);

StreamReader rd = new StreamReader(file);

textBox1.Text = rd.ReadToEnd();

file.Close();

}

}

}

Рисунок 3.4-Третя програма

Висновок: Я навчився працювати з рядками в Visual studio

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]