Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська Політехніка»
Інститут комп’ютерних технологій автоматики та метрології
Кафедра захисту інформації
Звіт
Про виконання лабораторної роботи № 3
« Алгоритмічні мови та програмування»
(Варіант4)
Мета роботи: вивчити оператори мови С# та основні методи введення-виведення даних, навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
Завдання:
Скласти програму для роботи з базою даних (список студентів), яка підтримує можливість додавання нового прізвища в список, вилучення зі списку, пошук, сортування, виведення списку на екран.
Список ідентифікаторів констант, змінних, методів, використаних у блок-схемі алгоритму і програмі та їх пояснення.
static void Main()–головний метод, який керує роботою програми, (з нього починається робота програми).
Console– клас, в якому містяться методи вводу і виводу (WriteLine–виведення з переходом на новий рядок; Write–виведення без переходу на новий рядок; ReadLine–зчитування даних введених з клавіатури; Clear–очищення екрану).
public void text()–метод класу Baza, в якому збережено текст для контакту з користовачем.
public void start()–метод класу Baza, який викликає інші методи програми в залежності від обраної користовачем дії.
string add(string[] s)–метод класу Baza, який забезпечує додавання нових елементів до списку.
string delate(string[] s)–метод класу Baza, який забезпечує видалення елементів зі списку.
void search()–метод класу Baza, який забезпечує пошук елемента у списку одним з двох способів за вибором користовача.
void search1()–метод класу Baza, який забезпечує пошук елемента у списку за іменем.
void search2()–метод класу Baza, який забезпечує пошук елемента за його номером у списку.
void sort()–метод класу Baza, який забезпечує сортування прізвищ у списку в алфавітному порядку.
void print()–метод класу Baza, який забезпечує вивід всього списку на екран.
void exit()–метод класу Baza, який забезпечує вихід.
Блок-схеми:
Блок-схема до методу text() класу Baza:
початок
1-додати 1.
2-видалити
3-знайти
4-сортувати
5-друкувати
6-вихід
Яку дію ви хочете виконати? 2.
кінець
Блок-схема до методу Main() класу Program:
початок
створення об’єкту got 1.
класу Baza
got.start(); 2.
кінець
Блок-схема до методу Start() класу Baza:
початок
Console.Clear(); 1.
text() 2.
ні 3. так
w==”1”
Console.Clear(); 4.
add(Spusok); 5.
6.
start(); 7.
8
4
7
3
ні 8. так
w==”2”
Console.Clear(); 9.
delate(Spusok); 10.
11.
start(); 12.
ні 13. так
w==”3”
Console.Clear(); 14.
search(); 15.
16.
start(); 17.
ні 18. так
w==”4”
Console.Clear(); 19.
sort(); 20.
21.
start(); 22.
ні 23. так
w==”5”
Console.Clear(); 24.
print(); 25.
26.
start(); 27.
27
4
ні 28. так
w==”6”
Console.Clear(); 29.
exit(); 30.
конвертування w до типу int та 31.
присвоєння значення змінній r
ні 32. так
r>6 || r<1
дії з таким кодом 33.
не існує!
34.
start(); 35.
кінець
Блок-схема до методу add(string[] s) класу Baza:
початок
створення масиву стрічок NS
Остаточна версія програми:
using System;
using System.Collections.Generic;
using System.Text;
namespace MyLabs
{
class Baza
{
public int i;
public string[] Spusok = new string[0];
public void text()
{
Console.WriteLine("1-додати\n2-видалити\n3-знайти\n4-сортувати\n5-друкувати\n6-вихiд");
Console.WriteLine("Яку дiю ви хочете здiйснити?\t");
}
public void start()
{
Console.Clear();
text();
string w = Console.ReadLine();
if (w == "1")
{
Console.Clear();
add(Spusok);
Console.ReadLine();
start();
}
if (w == "2")
{
Console.Clear();
delate(Spusok);
Console.ReadLine();
start();
}
if (w == "3")
{
Console.Clear();
search();
Console.ReadLine();
start();
}
if (w == "4")
{
Console.Clear();
sort();
Console.ReadLine();
start();
}
if (w == "5")
{
Console.Clear();
print();
Console.ReadLine();
start();
}
if (w == "6")
{
Console.Clear();
exit();
}
int r = Convert.ToInt32(w);
if (r > 6 || r < 1)
{
Console.WriteLine("Дiї з таким кодом не iснує!");
Console.ReadLine();
start();
}
}
string add(string[] s)
{
string[] NS = new string[s.Length + 1];
for (i = 0; i < s.Length; i++)
{
NS[i] = s[i];
}
Console.WriteLine("Введiть iмя, яке буде додано до списку");
NS[NS.Length - 1] = Console.ReadLine();
Spusok = NS;
Console.WriteLine("До списку було додано нове iмя!");
Console.ReadLine();
Console.Clear();
Console.WriteLine("Продовжити додавати?\n(1-так\t2-ні)");
string e = Console.ReadLine();
if (e == "1")
{
Console.Clear();
add(Spusok);
}
if (e == "2")
{
start();
}
else
{
start();
}
return (Spusok[Spusok.Length - 1]);
}
void search()
{
Console.WriteLine("1-пошук за iменем\n2-пошук за номером у списку\nЯк ви хочете здiйснити пошук?");
string q = Console.ReadLine();
if (q == "1")
{
search1();
}
if (q == "2")
{
search2();
}
int r = Convert.ToInt32(q);
if (r > 2 || r < 1)
{
Console.WriteLine("Такого коду пошуку не iснує");
search();
}
}
void search1()
{
Console.WriteLine("Введiть iмя, яке хочете знайти\t");
string q = Console.ReadLine();
int j = 0;
for (i = 0; i < Spusok.Length; i++)
{
if (Spusok[i] == q)
{
Console.WriteLine(Spusok[i] + "знайдено у списку пiд № " + (i + 1));
j = j + 1;
}
}
if (j == 0)
{
Console.WriteLine("Такого iменi немає у списку!");
}
}
void search2()
{
Console.WriteLine("Введiть номер, який ви хочете знайти");
string q = Console.ReadLine();
int k = Convert.ToInt32(q);
i = k - 1;
Console.WriteLine("#" + k + "-" + Spusok[i]);
if (k > Spusok.Length)
{
Console.WriteLine("Такого номеру немає у списку!");
search();
}
}
void sort()
{
Array.Sort(Spusok);
Console.WriteLine("Список посортовано!");
}
void print()
{
Console.WriteLine("Список прiзвищ:");
for (i = 0; i < Spusok.Length; i++)
{
Console.WriteLine((i + 1) + "\t" + Spusok[i]);
}
Console.WriteLine("Вивiд завершено!");
}
void exit()
{
Console.ReadLine();
}
string delate(string[] s)
{
Console.WriteLine("Введiть номер елемента, який ви хочете видалити");
string q = Console.ReadLine();
int r = Convert.ToInt32(q);
if (r < 1 || r > s.Length)
{
Console.WriteLine("У списку немає елемента з таким номером!");
delate(Spusok);
}
for (i = r - 1; i < s.Length - 1; i++)
{
s[i] = s[i + 1];
}
s[s.Length - 1] = null;
string[] NS = new string[s.Length - 1];
for (i = 0; i < s.Length - 1; i++)
{
NS[i] = s[i];
}
Spusok = NS;
Console.WriteLine("Елемент було вилучено зi списку!");
return (Spusok[Spusok.Length - 1]);
}
}
class Program
{
static void Main(string[] args)
{
Baza got = new Baza();
got.start();
}
}
}