Файл: Отчет по лабораторным работам оп. 04 Основы алгоритмизации и программирование ккоо. Оаип4211121. 000 Студент Самойлова К. А.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 176

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


{

temp1 = a[j];

}

}

Console.Write(a[15] + "см");

}

static void Main(string[] args)

{

int[] Mas = Input();

Console.Write("Начальный:");

Print(Mas);

Console.WriteLine();

Sort(Mas);

Console.Write("Отсортированный массив:");

Print(Mas);

Console.WriteLine();

Console.Write("Высокий на 10-ом месте :");
Vibor(Mas);

Console.ReadKey();

}

}



Задание 6.

Известны значения максимальной скорости 15 моделей

автомобилей. Определить максимальную скорость автомобиля, являющегося "шестым самым быстрым автомобилем".

namespace ConsoleApp1

{

internal class Program

{

static void Print(int[] a)

{

for (int i = 0; i < a.Length; i++)

{

Console.Write("{0,4} см", a[i]);

}

}

static int[] Input()

{

Random rnd = new Random();

Console.Write("n=");

int n = int.Parse(Console.ReadLine());

int[] a = new int[n];

for (int i = 0; i < a.Length; i++)

{

a[i] = rnd.Next(150, 190);

}

return a;

}

static void Sort(int[] a)

{

int temp;

for (int i = 0; i < a.Length - 1; i++)

{

for (int j = a.Length - 1; j > i; j--)

{

if (a[j] < a[j - 1])

{

temp = a[j];

a[j] = a[j - 1];

a[j - 1] = temp;

}

}

}

}

static void Hot (int[] a)

{

int temp1;

for (int i = 0; i < a.Length; i++)

{

for (int j = 0; j < a.Length; j++)

{

temp1 = a[j];

}

}

Console.Write(a[14] + "см");

}

static void Main(string[] args)

{

int[] Mas = Input();

Console.Write("Начальный:");

Print(Mas);

Console.WriteLine();

Sort(Mas);

Console.Write("Отсортированный массив:");

Print(Mas);

Console.WriteLine();

Console.Write("Рост :");

Hot (Mas);

}

}

}



Контрольная работа. Применение методов сортировки

Задание1

internal class Program

{

static void Print(int[] a)

{

for (int i = 0; i < a.Length; i++)

{

Console.Write("{0,5} кг", a[i]);

}

}

static int[] Input()

{

Random rnd = new Random();

Console.Write("n=");

int n = int.Parse(Console.ReadLine());

int[] a = new int[n];

for (int i = 0; i < a.Length; i++)

{

a[i] = rnd.Next(110, 190);

}

return a;

}

static void Sort(int[] a)

{

int temp;

for (int i = 0; i < a.Length - 1; i++)

{

for (int j = a.Length - 1; j > i; j--)

{

if (a[j] < a[j - 1])

{

temp = a[j];

a[j] = a[j - 1];

a[j - 1] = temp;

}

}

}

}

static void Hot(int[] a)

{

int temp1;

for (int i = 0; i > a.Length; i++)

{

for (int j = 0; j > a.Length; j++)

{

temp1 = a[j];

}

}

Console.Write(a[4] + "кг");

}

static void Main(string[] args)

{

int[] Mas = Input();

Console.Write("Начальный:");

Print(Mas);

Console.WriteLine();

Sort(Mas);

Console.Write("Отсортированный массив:");

Print(Mas);

Console.WriteLine();

Console.Write("Самый легкий :");
Hot(Mas);

}

}



Лабораторная работа №12. Строки

Цель: работа со строками и методами для сравнения, поиска,

сортировки и управления строковыми значениями

При решении задач использовать тип string.

Класс string обеспечивает множество встроенных методов для сравнения, поиска и

управления строковыми значениями. Вот неполный список всех возможностей этого

Empty — свойство, определяющее, пустая ли строка;

Compare() — функция сравнения двух строк;

CompareOrdinal() — сравнивает строки в независимости от региональных настроек;

Concat() — создает новую строку из двух и более исходных строк;

СоруО — создает дубликат исходной строки;

Equals() — определяет, содержат ли две строки одинаковые значения;

Format( ) — форматирует строку, используя строго заданный формат;

InternO — возвращает ссылку на существующий экземпляр строки;

Join() — добавляет новую строку в любое место уже существующей строки;

Chars — индексатор символов строки;

Length — количество символов в строке;

CloneO — возвращает ссылку на существующую строку;

CompareToO — сравнивает одну строку с другой;

CopyToQ — копирует определенное число символов строки в массив Unicode

определяет,

заканчивается

последовательностью символов;

EqualsQ — определяет, имеют ли две строки одинаковые значения;

InsertO — вставляет новую строку в уже существующую;

LastlndexOfQ— возвращает индекс последнего вхождения элемента в строку;

PadLeft() — выравнивает строку по правому краю, пропуская все пробельные

символы или другие (специально заданные);

PadRight() — выравнивает строку по левому краю, пропуская все пробельные

символы или другие (специально заданные);

Remove() — удаляет необходимое число символов из строки;

Split() — возвращает подстроку, отделенную от основного массива определенным

StartsWith() — определяет, начинается ли строка с определенной

Substring() — возвращает подстроку из общего массива символов;

ToCharArray() — копирует символы из строки в массив символов;

ToLower() — преобразует строку к нижнему регистру;

ToUpper() —преобразует строку к верхнему регистру;

TrimQ — удаляет все вхождения определенных символов в начале и в конце

TrimEndO — удаляет все вхождения определенных символов в конце строки;



TrimStartf) — удаляет все вхождения определенных символов в начале строки.

Задание 1 Разработать программу, которая позволяет ввести строку с

экрана и для введенной строки s:

  1. подсчитывает общее число вхождений символов х и y;

static void Main(string[] args)

{

Console.Write("Введите строку символов: ");

string str = Console.ReadLine();

int count1 = str.ToCharArray().Where((x) => x == 'x').Count();

int count2 = str.ToCharArray().Where((x) => x == 'y').Count();

Console.WriteLine("Количество символов: х = " + count1 + "; y = " + count2);

Console.ReadKey();

}



2) определяет, какой из двух заданных символов встречается в строке

чаще всего;

static void Main(string[] args)

{

Console.Write("Введите строку символов: ");

string str = Console.ReadLine();

int count1 = str.ToCharArray().Where((x) => x == 'x').Count();

int count2 = str.ToCharArray().Where((x) => x == 'y').Count();

if (count1>count2)

{

Console.WriteLine("Чаще всего встречается х = " + count1);

}

else

{

Console.WriteLine("Чаще всего встречается y = " + count2);

}

Console.ReadKey();

}



3) выводит на экран символы, которые наиболее часто встречается в

строке;
4) выводит на экран символы, которые встречаются в строке только

один раз;

5) определяет, имеются ли в строке два соседствующих одинаковых

символа;

6) определяет, является ли строка палиндромом;

static void Main(string[] args)

{

Console.WriteLine("Введите слово для проверки");

string input = Console.ReadLine();

char[] obrtext = input.ToCharArray();

Array.Reverse(obrtext);

string finaltext = new string(obrtext);

if (finaltext == input)

{

Console.WriteLine("Слово {0} является палиндромом", input);

}

else

{

Console.WriteLine("Слово {0} не является палиндромом", input);

}

Console.ReadKey();

}



7) определяет, упорядочены ли по алфавиту символы строки;

static void Main(string[] args)

{

Console.WriteLine("Введите буквы для проверки");

string input = Console.ReadLine();

bool FT = true;

char[] nonesorttext = input.ToCharArray();

char[] sorttext = input.ToCharArray();

Array.Sort(sorttext);

for (int i = 0; i < sorttext.Length; i++)

{

if(sorttext[i] == nonesorttext[i])

{

FT = true;

}

else

{

FT = false;

}

}

if (FT == true)

{

Console.WriteLine("Строка упорядочена в алфавитном порядке");


}

else

{

Console.WriteLine("Строка не упорядочена в алфавитном порядке");

}

Console.ReadKey();

}



8) подсчитывает количество букв в строке;

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string input = Console.ReadLine();

int ind = 0;

for (int i = 0; i < input.Length; i++)

{

if (char.IsLetter(input[i]))

ind++;
}

Console.WriteLine("Количество букв равно {0}", ind);

Console.ReadKey();

}



  1. подсчитывает количество цифр в строке;

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string input = Console.ReadLine();

int ind = 0;

for (int i = 0; i < input.Length; i++)

{

if (char.IsNumber(input[i]))

ind++;
}

Console.WriteLine("Количество цифр равно {0}", ind);

Console.ReadKey();

}



  1. подсчитывает сумму всех содержащихся в строке цифр;

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string input = Console.ReadLine();

int sum = 0;

for (int i = 0; i < input.Length; i++)

{

if (char.IsNumber(input[i]))

sum += Convert.ToInt32(input[i].ToString());
}

Console.WriteLine("Количество цифр равно {0}", sum);

Console.ReadKey();

}



11) выводит на экран последовательность символов, расположенных до

первого двоеточия;

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string input = Console.ReadLine();

string[] words = input.Split(':');

Console.WriteLine($"{words[0]}");

Console.ReadKey();

}



12) выводит на экран последовательность символов, расположенных

после последнего двоеточия;

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string input = Console.ReadLine();

string[] words = input.Split(':');

Console.WriteLine($"{words[1]}");

Console.ReadKey();

}



13) выводит на экран последовательность символов, расположенных

между круглыми скобками (считается, что в строке ровно одна пара круглых скобок);

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string input = Console.ReadLine();

string[] words = input.Split('(', ')');

Console.WriteLine($"{words[1]}");


Console.ReadKey();

}



14) находит самую длинную подстроку, состоящую только из цифр;

15) находит самую длинную подстроку, состоящую из повторяющегося

символа.
Краткие теоретические сведения

Класс StringBuilder используется для создания и редактирования строк, обычно

строк из динамического набора данных, например из массива байтовых значений.

Создать объект класса StringBuilder возможно одним из следующих способов:

//создание пустой строки, размер которой по умолчанию 16 символов

StringBuilder a =new StringBuilder();

//инициализация строки и выделение памяти под 4 символа

StringBuilder b = new StringBuilder("abcd");

//создание пустой строки и выделение памяти под 100 символов

StringBuilder с = new StringBuilder(100);

//инициализация строки и выделение памяти под 100 символов

StringBuilder d = new StringBuilder("abcd", 100);

//инициализация подстрокой "bcd" и выделение памяти под 100 символов

StringBuilder d = new StringBuilder("abcdefg", 1, 3,100);

Наиболее важными членами класса StringBuilder являются:

Capacity — определяет число символов, которые способен хранить и обрабатывать

StringBuilder;

Chars — индексатор класса;

Length — определяет длину объекта StringBuilder;

MaxCapacity — определяет максимальное число символов, которые способен

хранить и обрабатывать StringBuilder;

Appendf) — добавляет объект заданного типа в конец StringBuilder;

AppendFormat() — замещает или устанавливает новый формат StringBuilder;

EnsureCapacity() — гарантирует, что StringBuilder имеет емкость не менее

указанной в параметре;

Insert() — вставляет объект некоторого типа в указанную позицию;

RemoveO — удаляет указанный символ;

Replacef) — замещает все экземпляры указанных символов на новые символы.

Очень важной особенностью класса StringBuilder является то, что при изменении

значений в объекте StringBuilder происходит изменение значений в исходной строке, а не

в ее копии.

Задание 2 Разработать программу, которая позволяет ввести строку с

экрана и выполняет следующие действия с введенной строкой:

1) вставляет в строку символ x после каждого вхождения символа y;

2) вставляет в строку подстроку x после каждого вхождения подстроки

y;

3) удваивает каждое вхождение заданного символа x;

4) удваивает каждое вхождение заданной подстроки x;

5) удаляет среднюю букву, если длина строки нечетная