- •Лабораторная работа №1
- •Теоретические сведения. Среда .Net RunTime и библиотека Framework
- •Процесс компиляции с# - программы:
- •Управляемый и неуправляемый код.
- •Создание проекта.
- •Анатомия программы.
- •Контрольные вопросы.
- •Лабораторная работа №2
- •Теоретические сведения. Операторы условия.
- •Оператор множественного выбора:
- •Форматирование вывода
- •Задание.
- •Контрольные вопросы.
- •Лабораторная работа №3
- •Теоретические сведения.
- •Объявление массивов
- •Значения по умолчанию
- •Обращение к элементам массива
- •Инициализация элементов массива
- •Цикл foreach
- •Инициализация одномерных массивов
- •Практический пример. Одномерный массив.
- •Задание.
- •Контрольные вопросы.
- •Лабораторная работа №4
- •Теоретические положения. Уровни доступа
- •Объявление статических полей и методов класса
- •Пометка и сжатие
- •Форсированная сборка мусора
- •Методы. Передача параметров по значению
- •Методы. Передача параметров по ссылке.
- •Практический пример. Класс Array (одномерный массив).
- •Задание.
- •Контрольные вопросы.
- •Лабораторная работа №5
- •Задание.
- •Список рекомендуемой литературы
Задание.
Самостоятельно изучить возможности языка программирования C# для описания, инициализации и обработки одномерных массивов.
Создать консольное приложение, в котором реализовать следующие вычисления:
объявление заданного массива фиксированной заданной длины (прог.);
инициализацию элементов массива случайными целыми числами в заданном интервале (в одном цикле for);
вывод элементов массива на консоль (в одном цикле foreach);
заданную обработку массива и вывод элементов обработанного массива на консоль.
В качестве результатов вывести исходный и обработанный массивы, а также (если это предполагает задание на обработку) найденное числовое значение.
Выполнить контрольную пошаговую обработку вручную для массива длиной ручн.
Сделать вывод.
Варианты заданий к лабораторной работе №3, 4:
№ варианта |
Длина массива для прог. / ручн. |
Интервал генерации |
Обработка элементов массива |
1 |
50 / 8 |
[-10, 5] |
Определить количество четных положительных элементов и сделать указанные элементы отрицательными |
2 |
70 / 5 |
[-5, 10] |
Найти максимальный положительный элемент и отрицательные элементы увеличить на найденный максимальный положительный элемент |
3 |
65 / 5 |
[-20, 10] |
Определить количество четных элементов больше 5, а нечетные элементы уменьшить на 5 |
4 |
30 / 6 |
[-30, 0] |
Удвоить элементы, меньшие среднего арифметическое значение элементов массива |
5 |
20 / 6 |
[-20, 25] |
Найти максимальный по модулю элемент массива. Положительные элементы сделать отрицательными и увеличить на найденный максимальный элемент |
6 |
50 / 5 |
[-15, 75] |
Найти минимальный по модулю не нулевой элемент и заменить на него нулевые элементы массива |
7 |
100 / 7 |
[-30, 100] |
Определить количество отрицательных элементов массива. Элементы, значение которых меньше найденного количества, увеличить вдвое |
8 |
50 / 8 |
[-40, 20] |
Определить количество нечетных элементов меньше 5, а четные элементы обнулить |
9 |
60 / 3 |
[-40, 60] |
Нечетные элементы уменьшить на минимальный четный элемент |
10 |
25 / 3 |
[-15, 15] |
Вычислить разность количества положительных и отрицательных элементов массива и все элементы увеличить на найденную разность |
11 |
30 / 3 |
[0, 100] |
Поменять местами 1-й положительный элемент с последним положительным элементом, 2-й - предпоследним и т.д. |
12 |
55 / 5 |
[-50, 50] |
Определить количество пар соседних элементов, которые имеют одинаковые абсолютные значения, но противоположные знаки |
13 |
70 / 9 |
[0, 100] |
Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение |
14 |
45 / 4 |
[-50, 50] |
Заменить все элементы с положительными значениями абсолютным значением отрицательного элемента с максимальным абсолютным значением |
15 |
50 / 6 |
[-50, 50] |
Подсчитать количество пар соседних элементов с одинаковыми значениями |
16 |
50 / 4 |
[-100, 100] |
Во всех последовательностях положительных чисел ограничить значения тех элементов, абсолютное значение которых ниже абсолютного среднего для этой последовательности |
17 |
75 / 8 |
[-100, 100] |
Заменить каждый элемент на среднее арифметическое его и его соседей слева и справа. |
18 |
80 / 4 |
[-100, 100] |
Найти ту непрерывную последовательность положительных чисел, сумма элементов в которой максимальная |
19 |
60 / 4 |
[-50, 50] |
Во всех последовательностях отрицательных чисел поменять местами элементы с максимальным и минимальным значениями |
20 |
30 / 3 |
[-100, 100] |
Во всех последовательностях положительных чисел ограничить снизу значения тех элементов, значения которых меньше среднего для этой последовательности |
21 |
40 / 3 |
[-50, 50] |
Подсчитать количество пар соседних элементов, которые имеют противоположные знаки |
22 |
50 / 5 |
[-50, 50] |
Для каждого положительного элемента определить, есть ли в массиве отрицательный элемент с противоположным значением; если да, заменить эти элементы на 0 |
23 |
40 / 7 |
[-100, 100] |
Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой, а нули - между ними |
24 |
100 / 4 |
[0, 100] |
Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов |
25 |
50 / 8 |
[-100, 100] |
Ограничить значения всех элементов, абсолютные значения которых превышают среднее для положительных и отрицательных элементов |
26 |
55 / 6 |
[-50, 50] |
Вывести начальные индексы всех непрерывных знакопеременных последовательностей чисел |
27 |
45 / 3 |
[0, 100] |
Подсчитать количество участков, которые образуют непрерывные последовательности чисел с неуменьшающимися значениями |
28 |
65 / 5 |
[-50, 50] |
Найти из непрерывных последовательностей отрицательных чисел ту, которая имеет наибольшее абсолютное значение среднего арифметического ее элементов |
29 |
40 / 5 |
[-100, 100] |
Во всех последовательностях отрицательных чисел изменить порядок элементов на противоположный и зеркально поменять последовательности местами |
30 |
50 / 5 |
[-50, 50] |
Во всех последовательностях положительных чисел изменить порядок элементов на противоположный |
31 |
75 / 8 |
[0, 100] |
Найти непрерывный участок из 10 элементов, сумма которых максимальна |
32 |
45 / 5 |
[-50, 50] |
Вывести начальные индексы всех непрерывных последовательностей чисел с неувеличивающимися значениями |
33 |
55 / 4 |
[-100, 100] |
Вывести начальные индексы всех непрерывных последовательностей неотрицательных чисел, длина которых больше 5 |
34 |
80 / 7 |
[-100, 100] |
Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов |
35 |
55 / 6 |
[-50, 50] |
Найти непрерывные участки, на которых сумма элементов равна 0 |
36 |
65 / 5 |
[-50, 50] |
Определить среднюю длину непрерывных участков положительных чисел |
37 |
50 / 4 |
[-50, 50] |
Подсчитать количество всех, непрерывных последовательностей положительных чисел, длина которых больше 7 |
38 |
65 / 6 |
[-100, 100] |
Разместить все элементы с нулевыми значениями в левой части массива, элементы с отрицательными значениями - за ними, а за ними - элементы с положительными значениями |
39 |
30 / 4 |
[-100, 100] |
Во всех последовательностях положительных чисел заменить значения элементов с максимальным и минимальным значением на среднее для этой последовательности |
40 |
75 / 5 |
[-100, 100] |
Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента |
