Лабораторная работа асд. Лабораторные работы_по_АСД. Дисциплина Алгоритмы и структуры данных Отчёт по лабораторной работе
Скачать 3.09 Mb.
|
Блок схема алгоритма решения задачи представлена на рисунке 25: Рисунок 24- Блок схема алгоритма решения задачи 5 Программа на C#: using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("введите размерность массива"); int n = int.Parse(Console.ReadLine()); int m = int.Parse(Console.ReadLine()); int[,] a = new int[n,m]; Console.WriteLine("введите k"); int k = int.Parse(Console.ReadLine()); int[] y = new int[10]; int z = 0; Random rand = new Random(); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { a[i,j] = rand.Next( 0, 10); Console.Write(" " + a[i,j]); } Console.WriteLine(" "); } Console.WriteLine(""); for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if ((a[i, j] <= k) && (a[i, j] > i + j)) { for (int v = 0; v <= n - m; v++) { y[v] = a[i, j]; Console.Write(" " + y[v]); } } } }Console.WriteLine(' '); Console.ReadKey(); } } } Скриншот результата работы программы представлен на рисунке 26. Рисунок 25 - Скриншот результата работы программы задачи 5. Задача 6. Дан массив A(11) и массив Р(6,6). В матрице Р(6,6) найти количество положительных элементов. Если количество положительных элементов больше 14, то массив А( 11) упорядочить по возрастанию. Все используемые идентификаторы представлены в таблице 14 Таблица 14 – Идентификаторы
Блок схема алгоритма решения задачи представлена на рисунке 27: Рисунок 26- Блок схема алгоритма решения задачи 6 Программа на C#: using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("введите размерность массива"); int n = int.Parse(Console.ReadLine()); int m = int.Parse(Console.ReadLine()); int v = int.Parse(Console.ReadLine()); int[,] a = new int[n,m]; int[] y = new int[v]; int z = 0; Random rand = new Random(); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { a[i,j] = rand.Next( 0, 10); Console.Write(" " + a[i,j]); } Console.WriteLine(" "); } Console.WriteLine("второй массив"); for (int x = 0; x < v; x++) { y[x] = rand.Next(0, 10); Console.Write(" " + y[x]); } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i,j] > 0) z += 1; } } Console.WriteLine(" "); if (z > 14) { Console.WriteLine("отсортированный массив"); Array.Sort(y); for (int x = 0; x < v; x++) { Console.Write(" " + y[x]); } } Console.WriteLine(' '); Console.ReadKey(); } } } Скриншот результата работы программы представлен на рисунке 28. Рисунок 27 - Скриншот результата работы программы задачи 6. Лабораторная работа №5. Конструкция условия switch/case. Работа со односвязными и двусвязными списками в C#. Стек, очередь, дек Вариант 15 Номер зачётной книжки Задание 1. 1. Составить блок-схемы алгоритмов решения задач своего варианта, выполнить их реализацию в виде программы на языке программирования и представить скрин экрана с результатом работы программы. 2. Выполнить анализ работы алгоритмов при задании различных вариантов исходных данных и описать возможные ограничения по входным данным. 3. Составить отчёт по выполненной лабораторной работе. Решение Задача 1. Вариант 1. Создать калькулятор со строкой ввода и кнопками +, -, *, /, = и кнопкой стирания влево символа. Вариант 2. Создать калькулятор со строкой ввода и кнопками 0,1,…9, +, -, *, /, =. Все используемые идентификаторы представлены в таблице 15 Таблица 15 – Идентификаторы
Блок схема алгоритма решения задачи представлена на рисунке 29: Рисунок 28- Блок схема алгоритма решения задачи 1 Программа на C#: using System; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { float a, b; int count; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 1; } private void button2_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 2; } private void button3_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 3; } private void button4_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 4; } private void button5_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 5; } private void button6_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 6; } private void button7_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 7; } private void button8_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 8; } private void button9_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 9; } private void button10_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 0; } private void button16_Click(object sender, EventArgs e) { int lenght = textBox1.Text.Length - 1; string text = textBox1.Text; textBox1.Clear(); for (int i = 0; i < lenght; i++) { textBox1.Text = textBox1.Text + text[i]; } } private void button14_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); count = 4; } private void button13_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); count = 3; } private void button12_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); count = 1; } private void button15_Click(object sender, EventArgs e) { switch (count) { case 1: b = a + float.Parse(textBox1.Text textBox1.Text = b.ToString break; case 2: b = a - float.Parse(textBox1.Text); textBox1.Text = b.ToString(); break; case 3: b = a * float.Parse(textBox1.Text); textBox1.Text = b.ToString(); break; case 4: b = a / float.Parse(textBox1.Text); textBox1.Text = b.ToString(); break; default: break; } } private void button11_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); count = 2; } } } Скриншот результата работы программы представлен на рисунке 30. Рисунок 29 - Скриншот результата работы программы задачи 1. Задача 2. Придумать и решить свою программу, используя элементы управления ComboBox, CheckedListBox, NumericUpDown и DomainUpDown, ListView, TreeView. Все используемые идентификаторы представлены в таблице 16 Таблица 16 – Идентификаторы
|