Файл: Лабораторная работа 1 по дисциплине Программирование Вариант 15 Проверил к п. н., доцент С. Ж. Козлова Выполнил Т. В. Тепанян.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 14
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное
образовательное учреждение высшего образования
«ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ИМЕНИ М.Т. КАЛАШНИКОВА»
Факультет «информатика и вычислительная техника»
Кафедра «Информационная безопасность в автоматизированных системах»
ЛАБОРАТОРНАЯ РАБОТА №1
по дисциплине «Программирование»
Вариант 15
Проверил
к.п.н., доцент С.Ж. Козлова
Выполнил Т.В.Тепанян
студент группы С22-361-1
ИЖЕВСК, 2023
Задача №15 из 1 таблицы
Дан набор слов, разделенных точкой с запятой «;». Набор заканчивается двоеточием «:». Определить, сколько в нем слов, заканчивающихся буквой «а».
Дано: набор слов, разделенных точкой с запятой «;». Набор заканчивается двоеточием «:».
Найти: количество слов заканчивающихся буквой «а».
-
Анализ данных
Входные данные
№п/п | Тип переменной | Имя переменной | Примечание |
1 | string | text | Исходный текст |
Промежуточные данные
№п/п | Тип переменной | Имя переменной | Примечание |
1 | string | pattern | Регулярное выражение для поиска слов заканчивающихся на а |
2 | int | c | Переменная счетчик количества слов |
3 | String[ ] | words | Массив со словами из текста разделенные “;” |
Выходные данные
№п/п | Тип переменной | Имя переменной | Примечание |
1 | string | text | Исходный текст |
2 | string | c | Количество слов |
3. Анализ исключительных ситуаций
В ходе выполнения программы могут возникнуть исключительные ситуации при считывании файлов
4. Результаты работы программы
5. Листинг
WriteLine("Задание 15 таблица 1");
string loc = (AppDomain.CurrentDomain.BaseDirectory).Replace(@"\bin\Debug", "");
string[] words;
string text = "";
try
{
StreamReader file = new StreamReader(loc + "input.txt", encoding: Encoding.Default);
text = file.ReadToEnd();
}
catch
{
WriteLine("Ошибка при чтении файла");
}
text = text.Replace(":", "");
words = text.Split(';');
WriteLine(String.Format("Входной текст: {0}", text));
string pattern = @"[а-я]+а$";
int c = 0;
foreach (string w in words)
{
if (IsMatch(w, pattern))
{
c++;
}
}
WriteLine(String.Format("В тексте {0} слов(а/о) заканчивающихся на а", c));
Задача №15 из 2 таблицы
Задан текст, содержащий только буквы. Переписать его таким образом, чтобы сначала шли все гласные буквы, а затем согласные буквы в том порядке в каком они встречаются алфавите.
Дано: Задан текст, содержащий только буквы.
Сортировать его таким образом, чтобы сначала шли все гласные буквы, а затем согласные буквы в том порядке в каком они встречаются алфавите.
1. Анализ данных
Входные данные
№п/п | Тип переменной | Имя переменной | Примечание |
1 | string | text | Исходный текст |
Промежуточные данные
№п/п | Тип переменной | Имя переменной | Примечание |
1 | string | pattern1 | Регулярное выражение для поиска гласных букв |
2 | string | pattern2 | Регулярное выражение для поиска согласных букв |
3 | string | gl | Строка для хранения гласных букв из текста |
4 | string | sogl | Строка для хранения согласных букв из текста |
5 | char [ ] | gl_char | Массив для хранения гласных букв |
6 | char [ ] | sogl_char | Массив для хранения согласных букв |
Выходные данные
№п/п | Тип переменной | Имя переменной | Примечание |
1 | string | text | Исходный текст |
2 | string | output | Строка после сортировки |
3. Анализ исключительных ситуаций
В ходе выполнения программы могут возникнуть исключительные ситуации при считывании файлов
4. Результаты работы программы
5. Листинг
static char[] sort(char[] arr)
{
for (int j = 1; j < arr.Length; j++)
{
for (int i = 0; i < arr.Length - 1; i++)
{
if (Convert.ToInt32(Convert.ToChar(Convert.ToString(arr[i]).ToLower())) > Convert.ToInt32(Convert.ToChar(Convert.ToString(arr[i + 1]).ToLower())))
{
char x = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = x;
}
}
}
return arr;
}
string loc = (AppDomain.CurrentDomain.BaseDirectory).Replace(@"\bin\Debug", "");
string text = "";
try
{
StreamReader file = new StreamReader(loc + "inp2.txt", encoding: Encoding.Default);
text = file.ReadToEnd();
WriteLine("Входной текст:\n" + text);
}
catch
{
WriteLine("Ошибка при чтении файла");
}
string sogl = "", gl = "";
string pattern1 = "[АОУЫЭЕЁИЮЯаоуыэеёиюя]?";
string pattern2 = "[^АОУЫЭЕЁИЮЯаоуыэеёиюя]?";
foreach (Match m in Matches(text, pattern1)) { gl += m.Value; }
foreach (Match m in Matches(text, pattern2)) { sogl += m.Value; }
char[] gl_char = gl.ToCharArray();
char[] sogl_char = sogl.ToCharArray();
gl_char = sort(gl_char);
sogl_char = sort(sogl_char);
string output = new String(gl_char) + new String(sogl_char);
WriteLine("текст после сортировки:\n" + output);