Файл: Отчет по лабораторным работам оп. 04 Основы алгоритмизации и программирование ккоо. Оаип4211121. 000 Студент Самойлова К. А.docx
Добавлен: 06.11.2023
Просмотров: 174
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования Московской области
Государственное бюджетное профессиональное образовательное учреждение Московской области «Колледж «Коломна»
09.02.07
ОТЧЕТ
По лабораторным работам
ОП.04 Основы алгоритмизации и программирование
ККОО.ОАИП4211121.000
Студент Самойлова К.А
Преподаватель Тихонова А. А.
Дата защиты_______ Оценка________
2023
СОДЕРЖАНИЕ
Лабораторная работа №9. Методы работы с элементами одномерного массива
Часть 1. Массив как параметр
1. Заданы массивы А1(6), А2(7), А3(4), А4(6), состоящие из положительных и отрицательных чисел. Найти минимальное значение положительных чисел массива и определить максимальное среди них. Нахождение минимального значения положительных чисел массива, заполнение массивов и вывод на печать оформить в виде методов.
2. using System;
3. using System.Collections.Generic;
4. using System.Linq;
5. using System.Text;
6. using System.Threading.Tasks;
7.
8. namespace laba9
9. {
10. internal class Program
11. {
12. static void Metod1(int LeghtMas)
13. {
14. Console.WriteLine($"Массив A ({LeghtMas})");
15. int[] myArray = new int[LeghtMas];
16. Random rnd = new Random();
17. for (int i = 0; i < LeghtMas; i++)
18. {
19. myArray[i] = rnd.Next(-100, 100);
20. Console.WriteLine($"{myArray[i]} ");
21. }
22.
23. int Min = 999;
24. int Max = 0;
25. for (int i = 0; i < myArray.Length; i++)
26. {
27. if (myArray[i] < Min && myArray[i] >= 0) Min = myArray[i];
28. if (myArray[i] > Max) Max = myArray[i];
29. }
30. Console.WriteLine($"мин полож число A({LeghtMas}) - {Min}, a макс - {Max}");
31.
32. }
33.
34.
35. static void Main(string[] args)
36. {
37. Metod1(6);
38. Metod1(7);
39. Metod1(4);
40. Metod1(6);
41. Console.ReadLine();
42.
43.
44.
45.
46. }
47. }
48. }
2. Заданы массивы А(7), B(4), C(12), состоящие из положительных и отрицательных чисел. Определить, в каком месте больше среднее арифметическое положительных чисел. Подсчет среднего арифметического положительных чисел массива оформить в виде метода. Заполнение массивов и вывод на печать оформить в виде методов.
namespace ConsoleApp2
{
internal class Program
{
static void Print(int[] a)
{
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
}
static void Input(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rnd.Next(-10, 10);
}
}
static double Cnt(double[] a, double mid)
{
double sum = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i] > 0)
{
sum += a[i];
}
}
mid = sum / a.Length;
return mid;
}
static void Max3(int a, int b, int c)
{
if (a < b)
{
if (b < c)
{
Console.WriteLine($"Максимальное среднего арифметического положительных чисел массива С = {c}");
}
else
{
Console.WriteLine($"Максимальное среднего арифметического положительных чисел массива B = {b}");
}
}
if (a < c)
{
if (b < c)
{
Console.WriteLine($"Максимальное среднего арифметического положительных чисел массива С = {c}");
}
else
{
Console.WriteLine($"Максимальное среднего арифметического положительных чисел массива B = {b}");
}
}
else
{
Console.WriteLine($" Максимальное среднего арифметического положительных чисел массива A = {a}");
}
}
static void Main(string[] args)
{
int[] A = new int[7];
int[] B = new int[4];
int[] C = new int[12];
Input(A);
Input(B);
Input(C);
Print(A);
Print(B); ;
Print(C);
Max3(Cnt(A), Cnt(B), Cnt(C));
Console.ReadKey();
}
}
}
3. Заданы массивы А(7), В(4),С(9), состоящие из положительных и отрицательных чисел. Определить, в каком массиве больше отрицательных элементов. Подсчет количества отрицательных элементов оформить в виде метода. Заполнение массивов и вывод на печать оформить в виде методов.
{
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
}
static void Input(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rnd.Next(-10, 10);
}
}
static int NegativeCnt(int[] a)
{
int cnt = 0;
for(int i = 0; i < a.Length; i++)
{
if (a[i] < 0)
{
cnt ++;
}
}
return cnt;
}
static void Max3(int a, int b, int c)
{
if(a < b)
{
if(b < c)
{
Console.WriteLine($"Максимальное число отрицательных элементов в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число отрицательных элементов в массиве B = {b}");
}
}
if(a < c)
{
if (b < c)
{
Console.WriteLine($"Максимальное число отрицательных элементов в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число отрицательных элементов в массиве B = {b}");
}
}
else
{
Console.WriteLine($"Максимальное число отрицательных элементов в массиве A = {a}");
}
}
static void Main(string[] args)
{
int[] A = new int[7];
int[] B = new int[4];
int[] C = new int[9];
Input(A);
Input(B);
Input(C);
Print(A);
Print(B);;
Print(C);
Max3(NegativeCnt(A), NegativeCnt(B), NegativeCnt(C));
Console.ReadKey();
}
4. Заданы массивы X(8),Y(7),Z(9), состоящие из положительных и отрицательных чисел. Найти максимальное значение отрицательных чисел в каждом массиве и определить минимальное среди них. Определение максимального значения отрицательных чисел в массиве оформить в виде метода. Заполнение массивов и вывод на печать оформить в виде методов.
{
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
}
static void Input(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rnd.Next(-10, 10);
}
}
static int NegativeNum(int[] a)
{
int sum = 0;
for(int i = 0; i < a.Length; i++)
{
if (a[i] < 0)
{
sum += a[i];
}
}
return sum;
}
static void Min3(int x, int y, int z)
{
if(x > y)
{
if(y > z)
{
Console.WriteLine($"Минимальное число отрицательных элементов в массиве Z = {z}");
}
else
{
Console.WriteLine($"Минимальное число отрицательных элементов в массиве Y = {y}");
}
}
else if(x > z)
{
if (y > z)
{
Console.WriteLine($"Минимальное число отрицательных элементов в массиве Z = {z}");
}
else
{
Console.WriteLine($"Минимальное число отрицательных элементов в массиве Y = {y}");
}
}
else
{
Console.WriteLine($"Минимальное число отрицательных элементов в массиве X = {x}");
}
}
static void Main(string[] args)
{
int[] X = new int[8];
int[] Y = new int[7];
int[] Z = new int[9];
Input(X);
Input(Y);
Input(Z);
Print(X);
Print(Y);;
Print(Z);
Min3(NegativeNum(X), NegativeNum(Y), NegativeNum(Z));
Console.ReadKey();
}
5. Заданы массивы А(15), В(7),С(10), состоящие из положительных и отрицательных чисел. Определить в каком массиве, больше четных чисел. Подсчет количества четных чисел оформить в виде метода. Заполнение массивов и вывод на печать оформить в виде методов.
static void Print(int[] a)
{
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
}
static void Input(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rnd.Next(-10, 10);
}
}
static int Even(int[] a)
{
int cnt = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i] % 2 == 0)
{
cnt++;
}
}
return cnt;
}
static void Max3(int a, int b, int c)
{
if (a < b)
{
if (b < c)
{
Console.WriteLine($"Максимальное число чётных чисел в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число чётных чисел в массиве B = {b}");
}
}
if (a < c)
{
if (b < c)
{
Console.WriteLine($"Максимальное число чётных чисел в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число чётных чисел в массиве B = {b}");
}
}
else
{
Console.WriteLine($"Максимальное число чётных чисел в массиве A = {a}");
}
}
static void Main(string[] args)
{
int[] A = new int[15];
int[] B = new int[7];
int[] C = new int[10];
Input(A);
Input(B);
Input(C);
Print(A);
Print(B); ;
Print(C);
Max3(Even(A), Even(B), Even(C));
Console.ReadKey();
}
6. Заданы массивы А(6),В(7),С(14). Найти какой из массивов имеет наибольшее число отрицательных элементов. Нахождение количества отрицательных элементов массива оформить в виде метода. Заполнение массивов и вывод на печать оформить в виде методов.
static void Print(int[] a)
{
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
}
static void Input(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rnd.Next(-10, 10);
}
}
static int NegativeCnt(int[] a)
{
int cnt = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i] < 0)
{
cnt++;
}
}
return cnt;
}
static void Max3(int a, int b, int c)
{
if (a < b)
{
if (b < c)
{
Console.WriteLine($"Максимальное число отрицательных чисел в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число отрицательных чисел в массиве B = {b}");
}
}
if (a < c)
{
if (b < c)
{
Console.WriteLine($"Максимальное число отрицательных чисел в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число отрицательных чисел в массиве B = {b}");
}
}
else
{
Console.WriteLine($"Максимальное число отрицательных чисел в массиве A = {a}");
}
}
static void Main(string[] args)
{
int[] A = new int[6];
int[] B = new int[7];
int[] C = new int[14];
Input(A);
Input(B);
Input(C);
Print(A);
Print(B); ;
Print(C);
Max3(NegativeCnt(A), NegativeCnt(B), NegativeCnt(C));
Console.ReadKey();
}
7. Заданы массивы А(15), В(7),С(10), состоящие из положительных и отрицательных чисел. Определить в каком массиве, больше нечетных чисел. Подсчет количества нечетных чисел оформить в виде метода. Заполнение массивов и вывод на печать оформить в виде методов.
static void Print(int[] a)
{
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
}
static void Input(int[] a)
{
Random rnd = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rnd.Next(-10, 10);
}
}
static int NoEven(int[] a)
{
int cnt = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i] % 2 != 0)
{
cnt++;
}
}
return cnt;
}
static void Max3(int a, int b, int c)
{
if (a < b)
{
if (b < c)
{
Console.WriteLine($"Максимальное число чётных чисел в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число чётных чисел в массиве B = {b}");
}
}
if (a < c)
{
if (b < c)
{
Console.WriteLine($"Максимальное число чётных чисел в массиве С = {c}");
}
else
{
Console.WriteLine($"Максимальное число чётных чисел в массиве B = {b}");
}
}
else
{
Console.WriteLine($"Максимальное число чётных чисел в массиве A = {a}");
}
}
static void Main(string[] args)
{
int[] A = new int[15];
int[] B = new int[7];
int[] C = new int[10];
Input(A);
Input(B);
Input(C);
Print(A);
Print(B); ;
Print(C);
Max3(NoEven(A), NoEven(B), NoEven(C));
Console.ReadKey();
}
Лабораторная работа №10. Двумерные массивы
Цель: использование двумерных массивов для выполнения консольных
приложений расчетного характера.
Задание 1.
Разработать консольное приложение в соответствии с
условием задания. Задания выполнить с применением целочисленного
двумерного массива. Размерность массива вводить с клавиатуры. Способ
заполнения массива выбрать самостоятельно.
-
подсчитать среднее арифметическое элементов;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp3
{
internal class Program
{
private static double mid;
//Заполнение массива
static void Input(out int[,] a)
{
Random rnd = new Random();
Console.Write("n = "); //Кол-во строк
int n = int.Parse(Console.ReadLine());
a = new int[n, n];
for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке
{
for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце
{
a[i, j] = rnd.Next(-100, 100);
}
}
}
//вывод массива
static void Print(int[,] a)
{
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
Console.Write("{0,5} ", a[i, j]);
}
Console.WriteLine(); //переход на новую строку
}
}
static void Cnt(ref int[,] a)
{
double huh = 0;
double sum = 0;
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
sum += a[i, j];
}
}
huh = sum / a.Length;
Console.WriteLine($" Среднее арифметическое элементов массива = {huh}");
}
static void Main()
{
int[,] A;
Input(out A);
Console.WriteLine("Массив A");
Print(A);
Cnt(ref A);
Console.ReadKey();
}
}
}