Министерство образования и науки Российской Федерации
федеральное государственное бюджетное образовательное учреждение высшего образования «Казанский национальный исследовательский
технический университет им. А.Н. Туполева-КАИ»
(КНИТУ-КАИ)
Зеленодольский институт машиностроения и информационных технологий (филиал) КНИТУ-КАИ
Кафедра Машиностроения и информационных технологий
Отчет по лабораторной работе №5
по дисциплине: «Информатика»
на тему: «Методы»
Обучающийся 31204 _______________ Осина.А.С
(номер группы) (подпись, дата) (Ф.И.О.)
Руководитель ст. преподаватель Захаров В.А.
(должность) (Ф.И.О.)
Лабораторная работа зачтена с оценкой ________________
_______________________
(подпись, дата)
Зеленодольск 2017
Тема: «Методы»
Цель: ознакомиться с правилами оформления методов на языке С# и научиться составлять программы, в которых используются методы.
Справочный материал
В самом общем понимании под методом будем понимать часть кода, объединенного вместе под одним именем.
В отличие от других языков программирования, в С# все методы относятся к классам. Метода без класса не существует.
Для того чтобы создать метод, необходимо объявить его имя, указать список параметров и непосредственно реализацию этого метода.
Имя метода можно формировать таким же образом, что и имя переменных. Рекомендуется имя метода, в отличие от имени переменных, начинать с большой буквы.
Параметры метода указываются после имени метода в круглых скобках. Метод может не принимать параметров, тогда скобки остаются пустыми.
Тело метода представляет из себя отдельный блок, который заключен в фигурные скобки.
Синтаксис определения метода описан ниже.
static void MetodName(parameters)
{
Method Body
}
Ключевое слово static означает, что мы можем вызывать метод без создания объекта класса, прямо из функции Main. Любой не статический метод может быть вызван только, когда будет создан объект данного класса. Статический же метод мы можем вызвать и не создавая объект класса.
В примере ниже определено два метода, это методы Main и ExampleMethod.
using System;
class ExampleClass
{
static void ExampleMethod(string Name)
{
Console.WriteLine("Hello "+Name);
}
static void Main ( )
{
Console.WriteLine("Input Name:");
string name=Console.ReadLine();
ExampleMethod(name);
}
}
В этом примере метод Main запрашивает пользователя на ввод имени и вызывает метод ExampleMethod, которому в качестве параметров передает введенное имя. Метод ExampleMethod выдает приветствие на экран.
Для того чтобы выйти из метода и передать управление вызывающему методу, используется оператор return.
Выполнение работы:
1. Для заданных а и b найти все точки с целочисленными координатами, находящиеся внутри эллипса x2/а2+у2/ b<2.
Текст программы :
using System;
namespace primer1
{
class Program
{
public static void Main(string[] args)
{
double x, y, a, b, z1, z2, s ;
Console.WriteLine("Введите число x=");
x = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите число y=");
y = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите число a=");
a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите число b=");
b = Convert.ToDouble(Console.ReadLine());
z1= (x*x)/(a*a);
z2= (y*y) / (b);
s= z1+z2;
if (s<2)
{
Console.WriteLine(true);
}
else
{
Console.WriteLine(false);
}
// TODO: Implement Functionality Here
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
2. Даны действительные числа a1, …, a26. Требуется домножить все члены последовательности a1, …, a26 на квадрат ее наименьшего члена, если , и на квадрат ее наибольшего члена, если a1<0.
Текст программы :
using System;
namespace ConsoleApp13
{
class Program
{
public static void Main(string[] args)
{
var arr = new int[26];
int max = -50, min = 50;
Console.WriteLine("Исходная последовательность");
Random rnd = new Random();
for (uint i = 0; i < 26; i++)
{
var randomNumber = rnd.Next(-51, 51);
arr[i] = randomNumber;
if (arr[i] > max)
max = arr[i];
if (arr[i] < min)
min = arr[i];
Console.Write("{0} ", arr[i]);
}
Console.WriteLine();
Console. WriteLine("Преобразованная последовательность");
int min_2 = min * min;
int max_2 = max * max;
for (uint i = 0; i < 26; i++)
{
arr[i] *= arr[i] >= 0? min_2 : max_2;
Console.Write("{0} ", arr[i]);
}
// TODO: Implement Functionality Here
Console.Write ("Press any key to continue . . . ");
Console.ReadKey (true);
}
}
}
3. Дана действительная матрица размера 6´9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
Текст программы :
4. Даны натуральное число n, символы S1,…,Sn. Получить первое натуральное i, для которого каждый из символов Si b Si+1 совпадает с буквой а. Если такой пары символов в последовательности S1,…,Sn нет, то ответом должно быть число 0.
Текст программы :
using System;
namespace ConsoleApp13
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Введите n");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите a");
char a = Convert.ToChar(Console.ReadLine());
var arr = new int[n];
uint ii = 0;
Random rnd = new Random();
Console.WriteLine("Исходная последовательность");
for (uint i = 0; i < n; i++)
{
var randomNumber = rnd.Next(48, 122);
arr[i] = randomNumber;
Console.Write("{0} ", Convert.ToChar(arr[i]));
}
Console.WriteLine();
for (uint i = 1; i < n; i++)
{
if (arr[i] == arr[i - 1] && arr[i] == Convert.ToInt32(a))
{
ii = i;
break;
}
}
Console.Write("i = {0}", ii);
Console.ReadKey();
}
}
}
5. Даны действительные числа a, b. Получить
u=min (a, b), v=min (ab, a+b), min (u+v2).
Текст программы :
6. Анкетные данные, адреса, телефоны, место работы или учебы, должность знакомых, деловые качества и так далее. Автоматическое формирование поздравления с днем рождения (по текущей дате). Упорядочение по алфавиту и по дате последней корректировки. Поиск по произвольному шаблону.
Текст программы :
7. Даны натуральные числа n и r. Построить квадрат, длина стороны которого равна r. Разместить по одной точке в каждом углу квадрата и по n–1 точек на каждой его стороне. Расстояния между соседними точками на любой из сторон должны быть одинаковыми и равными r/n. Тем самым будет построено всего 4n точек, которые можно занумеровать числами 1, …, 4n (нумерация начинается с левого верхнего угла квадрата и выполняется последовательно). Соединить каждую точку с номером i со всеми точками с номерами j (i, j=1, ... , 4n) такими, что j>i и разность j–i есть число Фибоначчи, меньшее 4n.
Текст программы :
8. Даны натуральные числа n, m. Получить сумму m последних цифр числа n. Для решения задачи воспользоваться элементами управления TextBox, Label.
Текст программы:
using System;
namespace primer_3
{
class Program
{
public static void Main(string[] args)
{
int m, n;
Console.WriteLine("Введите число = m ");
m = int.Parse(Console.ReadLine());
Console.WriteLine("Введите число = n ");
n = int.Parse(Console.ReadLine());
double s=0;
for (int i=0; i < m; i++)
{
s+= n %10;
n/=10;
}
Console.WriteLine(s);
// TODO: Implement Functionality Here
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}