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

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

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

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

Добавлен: 06.11.2023

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

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

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

если длина строки четная;

6) удаляет все символы х;

7) удаляет из строки все цифры;

8) удаляет все подстроки substr;

9) заменяет все вхождения подстроки str1 на подстроку str2 (при этом

str1 может являться частью str2);

10) заменяет все группы стоящих рядом точек на многоточие;

11) меняет местами первую букву со второй, третью с четвертой и т.д.;

12) меняет местами первую букву с последней, вторую с

предпоследней и т.д.;

13) определяет, сколько различных символов встречается в строке;

14) удаляет из строки все подстроки, состоящие из цифр;

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

повторяющегося символа.
Контрольная работа. Строки

«удовлетворительно» – решена одна задача;

«хорошо» – решены две задачи, но допущены неточности;

«отлично» – верно решены две задачи.

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

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

4) удаляет все символы х;

static void Main(string[] args)

{

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

string input = Console.ReadLine();

string result = RemoveX(input);

Console.WriteLine("Результат: " + result);

}
static string RemoveX(string input)

{

string output = "";

foreach (char c in input)

{

if (c != 'x')

{

output += c;

}

}

return output;

}



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

если длина строки четная;

static void Main(string[] args)

{

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

string input = Console.ReadLine();
StringBuilder sb = new StringBuilder(input);
int middleIndex = sb.Length / 2;

if (sb.Length % 2 == 0)

{

sb.Remove(middleIndex - 1, 2);

}

else

{

sb.Remove(middleIndex, 1);

}
Console.WriteLine("Результат: " + sb.ToString());

Console.ReadKey();

}


Практикум №9
Задание 1
8. Дан текстовый файл. Напечатать первый символ каждой строки.
static void Main(string[] args)

{

using (StreamReader sr = new StreamReader("C:/Users/Public/Documents/input.txt"))

{

while (sr.Peek() > -1)

{

if (sr.Peek() == ' ')

{

Console.WriteLine("пустота");

break;

}

else

{

Console.WriteLine(sr.ReadLine()[0]);
}

}

}

Console.ReadKey();

}




9 Дан текстовый файл. Напечатать символы с k1 по k2 в каждой строке.


Лабораторная работа 13. Основы объектно-ориентированного программирования





internalclassProgram

{

staticvoid Main(string[] args)

{

Student std= new Student();

std.name = "Кирилл";

std.age = 17;

std.Print();
Student std2 = new Student();

std2.name = "Максим";

std2.age = 17;

std2.Print();

}

}

internalclassStudent

{

publicstring name;

publicint age;

publicvoid Print()

{

Console.WriteLine($"Моёимя{name}, возраст:{age}");
}

}

}


}
Задание. Разработка класса

1) Создайте новый проект, выбрав: шаблон: Консольное приложение, сохраните проект в своей папке.

Напишите мини программку, которая складывает два числа введенных с клавиатуры без использования ООП:



Запустите программу на выполнение (F5).



staticvoid Main(string[] args)

{

int a, b, c;

string bufer;

bufer= Console.ReadLine();

a= Convert.ToInt16(bufer);

bufer= Console.ReadLine();

b= Convert.ToInt16(bufer);

c = a + b;

Console.WriteLine(c);

Console.ReadLine();

}

}

}

2) Создайте новый проект, в котором будет отдельный класс, а в основной программе этот класс будет использован.

Добавьте в проект новый класс (Проект – Добавить класс) и назовите этот класс Worker. В класс добавьте два общедоступных поля: имя и возраст, и одно скрытое поле: вес (обратите внимание, что пространство имен не надо переименовывать):





staticvoid Main(string[] args)

{

Worker wrkr = new Worker();

wrkr.age= 35;

wrkr.name = "Иванов";

Console.WriteLine(wrkr.name+ ", " + wrkr.age+ ", ");

Console.ReadLine();

}

}

}

3) ВтелефункцииMainсоздайтеобъектклассаWorker:


internalclassWorker

{

publicint age = 0;

publicstring name;

publicfloat weight;

}

}

Запустите программу на выполнение.


Попробуйте записать значение в поле weight. Почему данные не записались?

4) Для записи и чтения данных из скрытых полей используют методы. Добавим вовнутрь класса Worker новый метод (действие) который будет отвечать за еду, если человек чего-то там съест, купитьего вес должен будет увеличиться на количество съеденного.

publicvoid eat (float how_much)

{

weight= weight + how_much;

}

Если поле вес скрытое, то мы в него не только писать не можем, но и читать тоже не можем. Для чтения данных из скрытого поля необходимо использовать еще один метод:

publicfloat get_weight()

{

return weight;

}
Почему в последних двух функциях после слова public идут различные слова? Что они обозначают и на что влияют?

internalclassWorker

{

publicint age = 0;

publicstring name;

privatefloat weight;

publicvoid eat (float how_much)

{

weight= weight + how_much;

}

publicfloat get_weight()

{

return weight;

}

}
5) Теперь эти два метода надо использовать в нашей программе. Заставьте рабочего съесть 2, а затем 3 кг пищи, а потом проверьте его вес.



Запустите программу на выполнение. Проверьте работоспособность.



internalclassProgram

{

staticvoid Main(string[] args)

{

Worker sasa = new Worker();

sasa.name = "Кирилл";

sasa.age =17;

sasa.eat(2);

sasa.eat(3);

float ves;

ves = sasa.get_weight();

Console.WriteLine(sasa.age + ", " + sasa.name + ", вес: " + ves);

Console.ReadKey();

}

}

}
internalclassWorker

{

publicint age = 0;

publicstring name;

privatefloat weight = 60;

publicvoid eat(float how_much)

{

weight = weight + how_much;

}

publicfloat get_weight()

{

return weight;

}

}

}

6) Усовершенствуйте метод eat таким образом, что если рабочий за раз съедает более чем 10 кг, то его возраст увеличивается на год, а вес увеличивается только на половину съеденного.



internalclassProgram

{

staticvoid Main(string[] args)

{

Worker sasa = new Worker();

sasa.name = "Кирилл";

sasa.age = 5;

Console.Write("Принесли: ");

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

Console.WriteLine($"{sasa.name} cъел{kg}кг ");

sasa.eat(kg);

float ves;

ves = sasa.get_weight();

Console.WriteLine(sasa.age + ", " + sasa.name + ", вес: " + ves);

Console.ReadKey();

}

}

}

internalclassWorker

{

publicint age = 0;


publicstring name;

privatefloat weight = 60;

publicvoid eat(float how_much)

{

if (how_much > 10)

{

weight = weight + (how_much / 2);

age++;

}

else

{

weight = weight + how_much;

}

}

publicfloat get_weight()

{

return weight;

}

}

}

7) Измените программу так, чтобы имя рабочего и его первоначальный возраст вводились с клавиатуры и вносились в соответствующие переменные.



internalclassProgram

{

staticvoid Main(string[] args)

{

Worker sasa = new Worker();

Console.Write("Зовут: ");

string name = Console.ReadLine();

sasa.name = name;

Console.Write("Емулет: ");

int age = Convert.ToInt32(Console.ReadLine());

sasa.age = age;

Console.Write("Принесли: ");

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

Console.WriteLine($"{sasa.name} cъел{kg}кг ");

sasa.eat(kg);

float ves;

ves = sasa.get_weight();

Console.WriteLine(sasa.age + ", " + sasa.name + ", вес: " + ves);

Console.ReadKey();

}

}

}
internalclassWorker

{

publicint age;

publicstring name;

privatefloat weight = 50;

publicvoid eat(float how_much)

{

if (how_much > 10)

{

weight = weight + (how_much / 2);

age++;

}

else

{

weight = weight + how_much;

}

}
publicfloat get_weight()

{

return weight;

}

}

}

Запустите программу. Проверьте ее работоспособность.

8) Добавьте рабочему еще одно скрытое поле, которое будет отвечать за настроение и будет иметь первоначальное значение равное 10.

Добавьте три метода: гулять (метод должен увеличивать настроение на 1), танцевать (метод должен увеличивать настроение на 2) и работать (метод должен уменьшать настроение на 2).

Дополните основную программу так, чтобы рабочий после еды два раза погулял и три раза потанцевал.

internalclassProgram

{

staticvoid Main(string[] args)

{

Worker sasa = new Worker();

Console.Write("Зовут: ");

string name = Console.ReadLine();

sasa.name = name;

Console.Write("Емулет: ");

int age = Convert.ToInt32(Console.ReadLine());

sasa.age = age;

Console.Write("Принесли: ");

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

Console.WriteLine($"{sasa.name} cъел{kg}кг ");

sasa.eat(kg);

float ves;

ves = sasa.get_weight();

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

Console.WriteLine($"Онтанцевал{dance}раз(а)");

sasa.dance(dance);

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

Console.WriteLine($"Онгулял{walk}раз(а)");

sasa.walk(walk);

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

Console.WriteLine($"Он работал {work} раз(а)");

sasa.work(work);

float mood;

mood = sasa.get_mood();

Console.WriteLine(sasa.age + " лет, " + sasa.name + ", вес: " + ves + ", настроение: " + mood);

Console.ReadKey();

}

}

}

internalclassWorker

{

publicint age;

publicstring name;

privatefloat weight = 50;

privatefloat mood = 10;

publicvoid eat(float how_much)

{

if (how_much > 10)

{

weight = weight + (how_much / 2);

age++;

}

else

{

weight = weight + how_much;

}