Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр / Лб7

.docx
Скачиваний:
13
Добавлен:
10.12.2022
Размер:
140.92 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное образовательное учреждение высшего

образования

«Юго-Западный государственный университет»

Кафедра программной инженерии

Лабораторная работа №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 Результат работы программы

Ответы на контрольные вопросы.

    1. Для чего предназначаются подпрограммы?

Ответ: для структурирования и удобочитаемости.

    1. Что включает в себя заголовок функции?

Ответ: входные параметры/тип выходного параметра, имя функции.

    1. Для чего нужен оператор return?

Ответ: для возврата значения функции.

    1. Как можно передавать параметры в функции?

Ответ: глобально или через параметры, по умолчанию.

    1. Для чего предназначена рекурсия?

Ответ: для вычисления вложенных задач.

Соседние файлы в папке 1 семестр