Similar presentations:
ТИ_ Лабораторная работа 10
1. Лабораторная работа 10
Решить задачи слайды 5,8Решить 1 задачу по выбору (слайды 18-26)
Решить 1 задачу по выбору (слайды 32,34,35,37, 40, 42)
На оценку "отлично" решить ещё 1 задачу (слайды 32,34,35,37, 40, 42)
1
2. https://programm.top/c-sharp/algorithm/array-sort/quick-sort/
Быстрая сортировка (quick sort), или сортировка
Хоара – один из самых быстрых алгоритмов
сортирования данных.
Алгоритм Хоара – это модифицированный вариант
метода прямого обмена. Другие популярные
варианты этого метода - сортировка
пузырьком и шейкерная сортировка, в отличии от
быстрой сортировки, не очень эффективны.
Принцип работы алгоритма быстрой сортировки
Идея алгоритма следующая:
Необходимо выбрать опорный элемент массива,
им может быть любой элемент, от этого не зависит
правильность работы алгоритма;
Разделить массив на три части, в первую должны
войти элементы меньше опорного, во вторую равные опорному и в третью - все элементы
больше опорного;
Рекурсивно выполняются предыдущие шаги, для
подмассивов с меньшими и большими
значениями, до тех пор, пока в них содержится
больше одного элемента.
2
3. https://education.yandex.ru/journal/osnovnye-vidy-sortirovok-i-primery-ikh-realizatsii ЗДЕСЬ ВИДЫ СОРТИРОВОК Сортировка массива
пузырьком3
4. Join Использование String.Join() метода Простым решением для объединения нескольких строк с помощью разделителя является
JoinИспользование String.Join() метода
Простым решением для объединения нескольких строк с помощью разделителя является использование
метода String.Join() . Он объединяет элементы указанного списка с указанным разделителем
4
5.
Задать массив А(9) -9,80,0,56,-7,2,3,78,50.Отсортировать его(использовать алгоритм
пузырька и метод sort ). Вывести в консоль.
Сравнить результаты
5
6. Вам необходимо сделать несколько блоков кода, которые делают следующее:
• Блок 1. Выводит все элементы массива.• Блок 2. Выводит все элементы массива в
обратном порядке.
• Блок 3. Выводит чётные элементы массива.
• Блок 4. Выводит все элементы массива
через 1.
• Блок 5. Выводит все элементы массива пока
не встретится элемент -1.
6
7. Блок 2. Выводит все элементы массива в обратном порядке метод Reversive
78.
• Сформировать массив. Вывести его вобратном порядке (использовать Join или
foreach)
8
9. Методы копирования массива в C# С помощью ArrayCopy() С помощью Clone() С помощью CopyTo()
• Clone Результирующий клон должен иметь тот же тип, что и исходныйэкземпляр.Он копирует полное содержимое массива, хранящееся в
новом массиве.
• CopyTo()Этот метод помещает копии демонстрационного класса всех
данных массива в существующий массив. Используется для
копирования одномерного массива в C #. Этот оператор копирует
полное содержимое массива в новый массив, начиная с индекса,
переданного в параметре в C #.
• Copy Метод копирует все текущие элементы массива в указанный
целевой массив в C #. Этот метод должен вызываться из исходного
массива и принимать два параметра. Первый - это массив, в который
вы хотите скопировать, а второй параметр сообщает ему, с какого
индекса целевого массива он должен начать копирование в C#
9
10. метод Clone
1011. метод Copy
1112. метод CopyTo
1213. Двумерные массивы
• int[,] nums1;• int[,] nums2 = new int[2, 3];
• int[,] nums3 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5
} };
• int[,] nums4 = new int[,] { { 0, 1, 2 }, { 3, 4, 5 }
};
• int[,] nums5 = new [,]{ { 0, 1, 2 }, { 3, 4, 5 } };
• int[,] nums6 = { { 0, 1, 2 }, { 3, 4, 5 } };
13
14.
• Дан массив, состоящий из целых чисел. Напишитепрограмму, которая в данном массиве определит
количество элементов, у которых два соседних и,
при этом, оба соседних элемента меньше
данного.
14
15.
Петя впервые пришел на урок физкультуры в новой школе. Перед началом урока ученики
выстраиваются по росту, в порядке невозрастания. Напишите программу, которая определит
на какое место в шеренге Пете нужно встать, чтобы не нарушить традицию, если заранее
известен рост каждого ученика и эти данные уже расположены по невозрастанию (то есть
каждое следующее число не больше предыдущего). Если в классе есть несколько учеников с
таким же ростом, как у Пети, то программа должна расположить его после них.
Входные данные
Сначала задано число N
— количество учеников (не считая Петю)(1≤N≤100
). Далее через пробел записаны N
чисел — элементы массива. Массив состоит из натуральных чисел, не превосходящих 200
(рост учеников в сантиметрах). Затем, на новой строке, вводится рост самого Пети.
Выходные данные
Необходимо вывести единственное число - номер Пети в шеренге учеников.
15
16.
• Дан массив, состоящий из целых чисел.Напишите программу, которая подсчитает
количество элементов массива, больших
предыдущего (элемента с предыдущим
номером).
16
17.
• Дан массив, состоящий из целых чисел. Напишите программу, котораяопределяет, есть ли в массиве пара соседних элементов с
одинаковыми знаками.
• Необходимо вывести слово YES, если существует пара соседних
элементов с одинаковыми знаками. В противном случае следует
вывести слово NO.
17
18.
• Информация о средней суточнойтемпературе воздуха за месяц задана в
виде массива. Определить, температура
скольких дней была ниже среднемесячной.
18
19.
• Рост учеников класса представлен в видемассива. Рост девочек кодируется знаком +,
рост мальчиков знаком -. Определить
средний рост мальчиков.
19
20.
• Дан список оценок по математике 30-тиабитуриентов. Кого больше троечников,
четверочников или пятерочников?
20
21.
• Имеются сведения о количестве проданныхбилетов в 17-ти вагонах поезда. Найти
наименее загруженный вагон, учитывая,
что количество мест в вагоне зависит от
типа вагона: в мягком и купейном вагонах по 36 мест, а в плацкартном - 46.
21
22.
• Известны абсциссы и ординаты 10 точек наплоскости. Написать программу, которая
выдает номера двух наиболее удаленных
друг от друга точек.
22
23.
• Известны температуры каждого из 10-тидней трех декад месяца. Какая декада была
наиболее холодной?
23
24.
• Известно количество денег у каждого из Nучеников, а также стоимость 4 комплексных
обедов в школьной столовой. Вывести
сколько каких обедов будет куплено и
сколько учеников останутся голодными,
если каждый ученик выбирает наиболее
дорогой обед, который он может купить.
24
25.
Дано натуральное число. Получить из негоновое по правилу: если сумма его цифр
больше заданного значения (натурального),
то изменить порядок следования цифр на
обратный. Иначе, заменить исходное число
на ближайшее к нему кратное заданному.
25
26.
Проверить, есть ли в заданномцелочисленном одномерном массиве
простые числа. Если такие есть, то найти
наименьшее и наибольшее из них.
26
27.
2728.
2829. Написать код программы для нахождения произведения всех отрицательных элементов массива A(3,4).Массив задать с использованием
генератора случайных чисел в интервале [-10,10].29
30.
• Дан текст, оканчивающийся точкой. Найтиколичество слов, у которых первый и последний
символы совпадают.
30
31. Убрать предлоги и союзы
3132. Задача
• Организовать ввод текста из консоли.• Посчитать количество предлогов и союзов в тексте(слова, состоящие
из одной буквы, двух, трех)
• Отдельно вывести слова на букву «К». Сколько их?
• Примерный текст:
• Фрактальная графика является на сегодняшний день одним из самых
быстро развивающихся и перспективных видов компьютерной
графики. Логично, что фрактальная графика состоит из фракталов. Но
что это такое? Фрактал-это структура самоподобных элементов. Это
значит, что взяв небольшую часть фрактала, можно получить
информацию обо всем фрактале.
32
33.
• Организовать ввод текста из консоли. Проверить текст на соблюдениеправил ЖИ ШИ, и при наличии ошибок исправить и вывести
правильный текст.
33
34. задача
• Проверить в тексте написание словарных слов и приналичии ошибок, исправить их
• Вывести текст до и после исправления.
• Встретиться на привокзальной площаде, беседовать
наедене, митинг на небольшой площадке, назначьте
дежурных, развивать скорость, приземлиться в степи,
прервать переговоры, предобрый старичок, отказ от
привелегий, сильно преувиличивать, рассердиться на
товарища, преследовать свои интересы, в будущей
профессии, на металлической застежке, вставать
спазаранку, обязанности секретаря, скреплять сургучом.
34
35. Задача
• Создайте строковый массив, состоящий изимен ваших одноклассников.
• Используя метод SORT() отсортируйте
список.
• Иcпользуя метод Reverse() измените
порядок слов и выведите список в консоль
35
36. Заполнение массива символами латинского алфавита и кириллицы
3637. задача
• Сформировать массив символьного типа,состоящий из букв русского алфавита.
Посчитать количество гласных
37
38. Ввод слов. Вывод одного из них случайным образом
3839. Организовать ввод слов. Сформировать фразу
3940. Задача
• Дан массив, состоящий из пяти целыхчисел.
• Вывести сумму старшей и младшей цифр
числа.
• Два способа решения.
• 1.Методы min() max()
• 2.Sort()
40
41. Способы доступа к элементам массива. 1.По номеру. 2.For(можно задать интервал или весь массив) 3. Foreach (только весь массив)
4142. задача
• Объявить и инициализировать массив [3,2]• как на слайде 12.
• Вывести количество четных элементов
массива
• Есть ли нули в матрице? Напечатать
сообщение
• Использовать for, foreach
42
43.
4344. нахождения произведения всех отрицательных элементов массива A(3,4).Массив задать с использованием генератора случайных чисел в
интервале [-10,10].44
45.
4546.
int M, N;
M:
Console.Write("Введите размер таблицы умножения M: ");
{
M = Convert.ToInt32(Console.ReadLine());
}
N:
Console.Write("Введите размер таблицы умножения N: ");
{
N = Convert.ToInt32(Console.ReadLine());
}
Console.Write("╔");
for (int i = 0; i < M - 1; i++)
{
Console.Write("═══════╦");
}
Console.Write("═══════╗\n");
for (int i = 1; i <= M; i++)
{
for (int j = 1; j <= N; j++)
{
Console.Write($"║{i * j}\t");
}
if (i < M)
{
Console.Write("║\n╠");
for (int h = 0; h < M - 1; h++)
{
Console.Write("═══════╬");
}
Console.Write("═══════╣\n"); ;
}
else
{
Console.Write("║\n╚");
for (int h = 0; h < M - 1; h++)
{
Console.Write("═══════╩");
}
Console.Write("═══════╝\n");
Console.ReadKey();
}
}
46