Лабораторная работа №5.3
Циклические алгоритмические структуры
Цель работы
Научиться строить циклические алгоритмы, записывать алгоритмы в виде блок-схемы и на алгоритмическом языке.
Задание к лабораторной работе
По результатам работы необходимо в отчёте привести алгоритм в виде блок-схемы и на алгоритмическом языке (с необходимыми комментариями и пояснениями), а также привести контрольный пример, демонстрирующий правильность работы алгоритма. Форма отчёта приведена ниже.
Студенты, не имеющие с собой отчёта о предыдущей работе, к следующему занятию не допускаются с последующей отработкой пропущенного занятия!
1) Напишите программу, которая проверяет, является ли введенное пользователем целое число простым.
2) Построить и записать алгоритм определения минимального элемента и его индекса в одномерном массиве.
3) Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве. Элементы массива необходимо вводить во время работы программы.
|
|
4) Построить и записать алгоритм определения неотрицательных элементов и их индексов в одномерном массиве.
5) Построить и записать алгоритм определения минимального элемента и его индекса в столбцах матрицы M´N.
6) Построить и записать алгоритм циклического сдвига одномерного массива на N шагов вправо.
7) Построить алгоритм, который определяет количество студентов в группе, чей рост превышает среднее для группы значение.
8) Постройте алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна.
9) Дана действительная матрица размером , все элементы которой различны. В каждой строке выбрать элемент с наименьшим значением, затем среди этих чисел выбрать наибольшее. Указать индексы элемента с найденным значением.
10) Построить и записать алгоритм циклического сдвига одномерного массива на N шагов влево.
11) Касса. В одномерном массиве в порядке убывания представлены достоинства денежных знаков (купюр и монет) валютной системы некоторой страны. Реализовать выдачу в этой системе заданной суммы – m, минимальным числом денежных знаков.
12) Заданы два одномерных массива действительных чисел различных размеров. Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого.
13) Задан массив действительных чисел. Удалить из массива нулевые элементы, передвинув на их место следующие элементы без нарушения порядка их следования. В результате должен получиться массив меньшего размера, не содержащий нулей. Заводить новый массив не разрешается.
14) Отсев. Удалить в заданном массиве действительных чисел «лишние» (кроме первого) элементы так, чтобы оставшиеся образовывали возрастающую последовательность. Преобразование осуществить за один просмотр массива.
|
|
15) Колокол. В массиве действительных чисел наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее место, следующий по величине – на второе место, следующий – на предпоследнее место и так далее – до середины массива.
16) Рассмотрим массив действительных чисел . Упорядочить данный массив по возрастанию, используя сортировку обменами. Алгоритм: Найти наименьшее i такое, что . Поменять и местами, возобновить просмотр с элемента и т.д. Тем самым наибольшее число передвинется на последнее место. Следующие просмотры начинать опять с начала, уменьшая на единицу количество просматриваемых элементов. Массив будет упорядочен после просмотра, в котором участвовали только его первый и второй элементы.
17) Задан массив действительных чисел . Требуется домножить все члены последовательности на квадрат ее наименьшего члена, если , и на квадрат ее наибольшего члена, если .
18) Рассмотрим массив действительных чисел . Упорядочить данный массив по возрастанию, используя сортировку линейным выбором. Алгоритм: найти элемент массива, имеющий наименьшее значение, переставить его с первым элементом, затем проделать то же самое, начав со второго элемента и т.д.
19) Задан массив действительных чисел . Переставить члены последовательности так, чтобы сначала расположились все ее неотрицательные члены, а потом – все отрицательные. Порядок следования, как среди неотрицательных членов, так и среди отрицательных должен быть сохранен прежним.
20) Рассмотрим массив действительных чисел . Упорядочить данный массив по возрастанию, используя сортировку простыми вставками. Алгоритм: просматривать последовательно и каждый новый элемент вставлять на подходящее место в уже упорядоченную последовательность . Это место определяется последовательным сравнением с упорядоченными элементами .
21) Даны натуральное число n, действительные числа . Получить удвоенную сумму всех положительных членов последовательности и удвоенное произведение всех отрицательных членов последовательности, расположенных после максимального члена последовательности.
22) Даны целые числа . Имеются ли в последовательности: два идущих подряд нулевых члена; три идущих подряд отрицательных члена?
23) Даны натуральное число n, действительные числа . В последовательности все неотрицательные члены, не принадлежащие отрезку [1, 2] заменить нулями.
24) У прилавка в магазине выстроилась очередь из n покупателей. Время обслуживания продавцом i-го покупателя равно (i=1, …, n). Пусть даны натуральное n и действительные . Сформировать массив , где - время пребывания i-го покупателя в очереди.
25) Рассмотрим массив действительных чисел . Найти наименьший из положительных четных элементов массива.
26) Задана квадратная матрица действительных чисел A(n, n). Исключить из неё строку и столбец, на пересечении которых расположен максимальный элемент главной диагонали.
27) В заданной действительной матрице размером каждый элемент заменить суммой непосредственно примыкающих к нему элементов по вертикали, горизонтали и диагоналям.
28) Дан массив действительных чисел размером n. Если в результате замены отрицательных членов последовательности их квадратами члены будут образовывать неубывающую последовательность, то получить сумму членов исходной последовательности. В противном случае получить их произведение.
29) Напишите программу, которая проверяет, является ли введенное пользователем целое число простым.
30) Постройте алгоритм, который проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковыми значениями.
|
|
Министерство образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования
«Южно-Уральский государственный университет»
Факультет «Приборостроительный /КТУР/»
Кафедра «Информационно-измерительная техника»
Наименование работы
Отчет
о лабораторной работе №
по дисциплине «Информатика»
Выполнил
студент группы ХХ-ХХХ
_______________/И.О. Фамилия/
(подпись)
______________________20__ г.
(дата)
Отчет принял, (должность)
_______________/И.О. Фамилия/
(подпись)
______________________20__ г.
(дата)
Челябинск 20__