Лабораторная работа Тип string в C#
Оглавление |
|
Пример выполнения задания........................................................................................................... |
4 |
Постановка задачи....................................................................................................................... |
4 |
Выполнение задания.................................................................................................................... |
5 |
Ответы на контрольные вопросы............................................................................................... |
8 |
Задания для самостоятельной работы............................................................................................ |
9 |
Контрольные вопросы.................................................................................................................... |
10 |
3
Пример выполнения задания
Постановка задачи
Составить программу, которая проверяет, является ли строка, введённая с клавиатуры, палиндромом.
Код проверки реализовать в видеметода.
4
Выполнение задания
Исходя из условия задания, спроектируем методisPalindrom со следующими параметрами
Таблица 1: Параметры метода isPalindrom
№ п/п |
Название |
Тип |
Параметр |
Примечание |
1 |
inpStr |
string |
Входной |
Проверяемая строка |
|
|
|
|
|
|
|
|
Выходной |
Флаг проверки true – строка является |
2 |
flag |
bool |
палиндромом, false – в противном |
|
|
|
|
|
случае. |
Для выполнения проверки необходимо:
–удалить из исходнойстроки пробелы;
–сформировать новую строку, которая будет являться «зеркальнойкопией» исходной;
–сравнить полученныестроки;
–в случае, если они совпадают, присвоить переменной flag значение true, в противном случае — false.
Кодметода isPalindrom приведёнв листинге 1.
Листинг 1
1.static bool isPalindrom(string inp_str)
2.{
3.string out_str = String.Empty;
4.bool flag = false;
5.//удаляем ведущие и ведомые пробелы
6.inp_str = inp_str.Trim();
7.//удаляем пробелы внутри строки
8.inp_str = inp_str.Replace(" ", "");
9.//переводим символы строки в нижний регистр
10.inp_str = inp_str.ToLower();
11.Console.WriteLine(inp_str);
12.//формируем "перевёрнутую" строку
13.for (int i = inp_str.Length-1; i >=0; i--)
14.{
15.out_str += inp_str[i].ToString();
16.}
17.Console.WriteLine(out_str);
18.if (inp_str == out_str)
19.{
20. |
flag = true; |
21.}
22.else
23.{
24. |
flag = false; |
25.}
26.return flag;
27.}
5
Где
–в строке 6 удаляются ведомые и ведущие пробелы при помощи вызова методаTrim;
–в строке 8 производится удаление пробелов внутри строки при помощи вызова метода Replace путём ихзамены назначениепустая строка;
–в строке 10 символы исходной строки переводятся в нижний регистр для удобства последующегосравнения;
–в строках 13 — 16 производится формирование новой строки, которая является «зеркальной» копиейисходной;
–в строках 18 — 25 производится сравнение исходной строки и её копии, и если они совпадают, то значениепеременной flag устанавливается в true;
–в строке 26 значениепеременной flag передаётся в основную программу, гденаоснове еёзначения принимается решениеопринадлежности исходнойстроки к палиндрому.
КодметодаMain приведёнв листинге 2.
Листинг 2
1.static void Main(string[] args)
2.{
3.Console.WriteLine("Введите строку текста");
4.string строка = Console.ReadLine();
5.if (isPalindrom(строка) == true)
6.{
7.Console.WriteLine("Строка является палиндромом.");
8.}
9.else
10.{
11.Console.WriteLine("Строка не является палиндромом.");
12.}
13.}
Полный текст программы приведёнв листинге 3
Листинг 3
1.using System;
2.using System.Collections.Generic;
3.using System.Linq;
4.using System.Text;
5.
6.namespace string_app
7.{
8.class Program
9.{
10. |
static bool isPalindrom(string inp_str) |
|
11. |
{ |
|
12. |
string out_str = String.Empty; |
|
13. |
bool flag |
= false; |
14. |
//удаляем |
ведущие и ведомые пробелы |
15. |
inp_str = |
inp_str.Trim(); |
16. |
//удаляем |
пробелы внутри строки |
6
17. |
inp_str = inp_str.Replace(" ", ""); |
18. |
//переводим символы строки в нижний регистр |
19. |
inp_str = inp_str.ToLower(); |
20. |
Console.WriteLine(inp_str); |
21. |
//формируем "перевёрнутую" строку |
22. |
for (int i = inp_str.Length-1; i >=0; i--) |
23. |
{ |
24. |
out_str += inp_str[i].ToString(); |
25. |
} |
26. |
Console.WriteLine(out_str); |
27. |
if (inp_str == out_str) |
28. |
{ |
29. |
flag = true; |
30. |
} |
31. |
else |
32. |
{ |
33. |
flag = false; |
34. |
} |
35. |
return flag; |
36. |
} |
37. |
|
38. |
|
39. |
static void Main(string[] args) |
40. |
{ |
41. |
Console.WriteLine("Введите строку текста"); |
42. |
string строка = Console.ReadLine(); |
43. |
if (isPalindrom(строка) == true) |
44. |
{ |
45. |
Console.WriteLine("Строка является палиндромом."); |
46. |
} |
47. |
else |
48. |
{ |
49. |
Console.WriteLine("Строка не является палиндромом."); |
50. |
} |
51. |
} |
52.}
53.}
Результат работы программы приведённа рисунке 1.
Рисунок 1:
Как видно из результатов лабораторной работы, …..
!!!!!! Сделать самостоятельные выводы по лабораторной работе !!!!!!
7