ОПИ4
.docxМіністерство освіти і науки України
Запорізький національний технічний університет
кафедра програмних засобів
ЗВІТ
з лабораторної роботи № 4
з дисципліни «Основи програмної інженерії» на тему:
«РОБОТА З ФАЙЛАМИ»
Виконав:
студент групи КНТ-423 Білевський В.В.
Прийняли: Є.М. Федорченко
2014
4.1 Мета: Вивчити основні принципи роботи з файлами в середовищі Visual studio.
4.2 Завдання до роботи:
4.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;
} }}
Рисунок 4.1-Перша програма.
Рисунок 4.2- Перша програма.
4.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();
}
}
}
Рисунок 4.3- Друга програма.
4.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();
}
}
}
Рисунок 4.4-Третя програма
Висновок: Я вивчив основні принципи роботи з файлами в середовищі Visual studio.