Акопова ФББ-93 отчет №8. Отчет о выполнении лабораторной работы 8 Тема Строки C# Дисциплина Информатика и программирование
Скачать 309.1 Kb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» ФАКУЛЬТЕТ Бизнеса Кафедра теоретической и прикладной информатики ОТЧЕТ О ВЫПОЛНЕНИИ ЛАБОРАТОРНОЙ РАБОТЫ № 8 Тема: «Строки C#» Дисциплина «Информатика и программирование»
Новосибирск 2020 Цель: Сформировать практические навыки: организации процессов обработки данных с помощью строк C#, использования методов, свойств класса string и операций, определённых на строках. Задание 1 Код программы: char x=' '; StringBuilder a = new StringBuilder(Console.ReadLine()); do { x = a[a.Length-1]; a = a.Insert(0, c); a = a.Remove(a.Length - 1, 1); Console.WriteLine("{0}",a); Console.WriteLine("Завершение - Escape"); } while (Console.ReadKey().Key == ConsoleKey.Enter); Тестирование программы: Задание 2 Код программы: char c = ' '; StringBuilder a = new StringBuilder(Console.ReadLine()); do { c = a[0]; a = a.Insert(a.Length, c); a = a.Remove(0, 1); Console.WriteLine("{0}", a); Console.WriteLine("Завершение - Escape"); } while (Console.ReadKey().Key == ConsoleKey.Enter); Тестирование программы: Задание 3 Код программы: int b; do { Console.WriteLine("Введите строку "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.WriteLine("Насколько позиций нужно сдвинуть? "); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Результат = {0}", Sd(a,b)); Console.WriteLine("Завершение - Escape"); } while (Console.ReadKey().Key == ConsoleKey.Enter) ; } static StringBuilder Sd (StringBuilder a,int b) { char c = ' '; int i = 0; while (i < b) { c = a[a.Length - 1]; a = a.Insert(0, c); a = a.Remove(a.Length - 1, 1); i++; } return a; Тестирование программы: Задание 4 Код программы: int b; do { Console.WriteLine("Введите строку "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.WriteLine("Насколько позиций нужно сдвинуть? "); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Результат = {0}", Sd(a,b)); Console.WriteLine("Завершение - Escape"); } while (Console.ReadKey().Key == ConsoleKey.Enter) ; } static StringBuilder Sd (StringBuilder a,int b) { char c = ' '; int i = 0; while (i < b) { c = a[0]; a = a.Insert(a.Length, c); a = a.Remove(0, 1); i++; } return a; Тестирование программы: Задание 5 Код программы: static void Main(string[] args) { int b; string s; do { Console.WriteLine("Введите строку "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.Write("Насколько позиций нужно сдвинуть? "); b = Convert.ToInt32(Console.ReadLine()); Console.Write("В каком направлении? "); s = Convert.ToString(Console.ReadLine()); Console.WriteLine("Результат = {0}", Sd(a, b, s)); Console.WriteLine("Завершение - Escape"); Console.WriteLine(); } while (Console.ReadKey().Key == ConsoleKey.Enter); } static StringBuilder Sd(StringBuilder a, int b, string s) { char c = ' '; int i = 0; if (s == "влево") { while (i < b) { c = a[0]; a = a.Insert(a.Length, c); a = a.Remove(0, 1); i++; } } else { while (i < b) { c = a[a.Length - 1]; a = a.Insert(0, c); a = a.Remove(a.Length - 1, 1); i++; } }; return a; Т естирование программы: Задание 6 Код программы: do { int b; Console.Write("Введите десятичное число "); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("В 16 - ичной системе - {0}", Wd(b)); } while (Console.ReadKey().Key == ConsoleKey.Enter); } static StringBuilder Wd(int b) { int c; char r; StringBuilder a = new StringBuilder(" "); while (b > 0) { c = b % 16; if (c > 9) { c = c - 10 + 'A'; } else { c = c + '0'; }; r = Convert.ToChar(c); a = a.Insert(0, r); b = b / 16; } return a; Тестирование программы: Задание 7 Код программы: do { double b; Console.Write("Введите десятичное дробное число "); b = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("В 16 - ичной системе - {0}", Wd(b)); } while (Console.ReadKey().Key == ConsoleKey.Enter); } static StringBuilder Wd(double b) { double s,d; int c; char r; StringBuilder a = new StringBuilder(" "); while (b>0 ) { d = b * 16; s = Math.Truncate(d); c = Convert.ToInt32(s); if (c > 9) { c = c - 10 + 'A'; } else { c = c + '0'; }; r = Convert.ToChar(c); a = a.Insert(a.Length-1, r); b = d - s; } return a; Тестирование программы: Задание 8 Код программы: do { Console.Write("Введите 16-ичное число "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.WriteLine("В десятичной системе - {0}", Wd(a)); } while (Console.ReadKey().Key == ConsoleKey.Enter); } static public double Wd(StringBuilder a) { int i = 0,b; double s = 0; while(i { if(a[i]>47 && a[i]<58) { b = a[i] - '0'; } else { b = a[i] - 'A'+10; }; s = s + b * Math.Pow(16, a.Length-1-i); i++; }; return s; Тестирование программы: Задание 9 Код программы: do { Console.Write("Введите 16-ичное число "); StringBuilder x = new StringBuilder(Console.ReadLine()); Console.WriteLine("В десятичной системе - {0}", Wd(x)); } while (Console.ReadKey().Key == ConsoleKey.Enter); } static public double Wd(StringBuilder x) { int i = 2,c; double s = 0; while(i { if(x[i]>47 && x[i]<58) { c = x[i] - '0'; } else { c = x[i] - 'A'+10; }; s = s + c * Math.Pow(16, -(i-1)); i++; }; return s; } Тестирование программы: Задание 10 Код программы: do { Console.Write("Введите 16-ичное число "); StringBuilder a = new StringBuilder(Console.ReadLine()); Console.WriteLine("В десятичной системе = {0}", Wd(a)); } while (Console.ReadKey().Key == ConsoleKey.Enter); } static public double Wd(StringBuilder a) { int i = 0,c; double s = 0; do { if (a[i] > 47 && a[i] < 58) { c = a[i] - '0'; } else { c = a[i] - 'A' + 10; }; s = s + c * Math.Pow(16, a.Length - (a.Length- i)); i++; } while (a[i] != 44); i++; while (i < a.Length) { if (a[i] > 47 && a[i] < 58) { c = a[i] - '0'; } else { c = a[i] - 'A' + 10; }; s = s + c * Math.Pow(16, -(i - 1)); i++; }; return s; } Т естирование программы: |