1 семестр / Лб7
.docxМИНОБРНАУКИ РОССИИ
Федеральное государственное образовательное учреждение высшего
образования
«Юго-Западный государственный университет»
Кафедра программной инженерии
Лабораторная работа №7
По дисциплине «Языки программирования»
Выполнил: студент группы ИБ-01б
Бунина А.В.
Проверила: доцент
Белова Т.М.
Курск, 2020
Задание 1. Опишите функцию целого типа min_elem(a, n), которая находит максимальный четный элемент в целочисленном одномерном массиве а размером n. С помощью этой функции найдите максимальные четные элементы в целочисленных массивах b и c, размером nb и nc, соответственно.
1.2 Текст программы
public partial class Form1 : Form
{
public static int max_elem(int[] arr)
{
int max = int.MinValue;
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] % 2 == 0 && arr[i] > max)
{
max = arr[i];
}
}
return max;
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int na = Convert.ToInt32(textBox1.Text);
int[] arr = new int[na];
Random rnd = new Random();
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(10, 99);
textBox2.Text += Convert.ToString(arr[i] + " ");
}
textBox2.Text += Environment.NewLine + Convert.ToString("Наибольшее из четных чисел: ") + max_elem(arr);
}
private void button2_Click(object sender, EventArgs e)
{
int nb = Convert.ToInt32(textBox4.Text);
int[] arr = new int[nb];
Random rnd = new Random();
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(10, 99);
textBox3.Text += Convert.ToString(arr[i] + " ");
}
textBox3.Text += Environment.NewLine + Convert.ToString("Наибольшее из четных чисел: ") + max_elem(arr);
}
private void button3_Click(object sender, EventArgs e)
{
int nc = Convert.ToInt32(textBox6.Text);
int[] arr = new int[nc];
Random rnd = new Random();
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(10, 99);
textBox5.Text += Convert.ToString(arr[i] + " ");
}
textBox5.Text += Environment.NewLine + Convert.ToString("Наибольшее из четных чисел: ") + max_elem(arr);
}
}
1.3 Результат работы программы
Задание 2. Составьте программу вычисления функции y и суммы S, представляющей собой формулу разложения заданной функции y в ряд.
2.2 Текст программы
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public double y(double x)
{
return 1.0 / 4 * Math.Log(1.0 + x / 1.0 - x) + 1.0 / 2 * Math.Atan(x);
}
public double S(double x)
{
double sum = 0;
for (int n = 1; n <= 40; n++)
{
sum += Math.Pow(x, 4 * n - 1) / (4 * n + 1);
}
return sum + x;
}
private void button1_Click(object sender, EventArgs e)
{
double x = 0.1;
for (int i = 0; i < 11; i++)
{
textBox1.Text += Convert.ToString("x = " + x + " | y = " + y(x) + " | S = " + S(x)) + Environment.NewLine;
x += 0.07;
}
}
}
2.3 Результат работы программы
Ответы на контрольные вопросы.
Для чего предназначаются подпрограммы?
Ответ: для структурирования и удобочитаемости.
Что включает в себя заголовок функции?
Ответ: входные параметры/тип выходного параметра, имя функции.
Для чего нужен оператор return?
Ответ: для возврата значения функции.
Как можно передавать параметры в функции?
Ответ: глобально или через параметры, по умолчанию.
Для чего предназначена рекурсия?
Ответ: для вычисления вложенных задач.