Лабораторная работа 4
.docЛабораторная работа № 4
Представление алгоритмов с помощью блок-схем
Цель работы
Получить практические навыки представления алгоритмов с помощью блок-схем.
Порядок выполнения работы
-
Ознакомьтесь с заданием на лабораторную работу. Изучите примеры решения задач.
-
Выполните постановку задачи, опишите метод решения задачи и представьте алгоритм решения задачи в виде блок-схемы.
-
Проверьте результат работы алгоритма «вручную», подобрав в качестве исходных данных небольшие значения или значения, для которых результат известен заранее.
Примеры решения задач
-
Найти сумму всех элементов массива A, больших заданного числа.
Постановка задачи:
Входные данные: A – массив чисел; n – количество элементов массива;
chis – заданное число.
Выходные данные: Sum – сумма чисел.
Метод решения:
Для данной задачи воспользуемся циклом с параметром. Сначала вводим массив из n элементов. Затем вводим заданное число chis. Далее присваиваем Sum значение 0, т.к. в этой переменной мы будем накапливать сумму. Затем в цикле от 1 до n с шагом 1 будем сравнивать элементы массива с заданным числом; если очередной элемент массива A[i] больше chis, то прибавляем его к сумме Sum, иначе – ничего не делаем. В результате, в Sum получим искомую сумму элементов массива.
Блок-схема:
.
Результаты работы
Отчет оформить в текстовом редакторе Word. В отчете должны быть:
-
постановка задачи (входные и выходные данные);
-
метод решения (словесное описание алгоритма);
-
блок-схема.
Варианты заданий
Массивы
-
Упорядочить одномерный массив «пузырьковым алгоритмом».
-
Дан массив из N целых чисел. Осуществить циклический сдвиг массива вправо на К<N элементов. При этом последние К элементов перемещаются на первые К позиций.
-
Дана целочисленная прямоугольная матрица. Найти разность сумм элементов на главной и побочной диагоналях.
-
Дан массив F из n целых чисел. Выбрать из него в массив W все четные элементы, а в массив S – все нечетные.
-
Имеются два одномерных массива целых чисел размером n. Создать из них один одномерный массив, в котором сначала идут отрицательные элементы, затем нулевые и затем положительные.
-
Дан двумерный массив. Переставить первую строку на место последней, при этом вторую, третью, …, последнюю строки поднять.
-
Дан двумерный массив. Удалить строку и столбец, на пересечении которых расположен наименьший по модулю элемент массива.
-
Дан двумерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трём.
-
Дан массив F из n целых чисел. Выбрать из него в массив W все четные элементы, а в массив S – все нечетные.
-
Дана целочисленная прямоугольная матрица. Найти и выдать на экран строку с максимальной суммой элементов.
-
Дан массив действительных случайных чисел а размером n=100. Вывести на экран те элементы массива, индексы которых являются степенями двойки 2, 4, 8, 16…
-
Задан массив A[N], содержащий большое количество нулевых элементов. Группы элементов, состоящие из нечетного количества нулей, замените на один нулевой элемент, а из четного - на два.
-
Задан массив, состоящий из целых положительных и отрицательных чисел. Разбить его на два массива, в одном из которых только положительные числа, в другом - отрицательные.
-
Дан двумерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трём.
-
В массиве натуральных случайных чисел A[N] осуществите сдвиг на K < N элементов вправо без использования дополнительных массивов. Первые K позиций при этом становятся нулевыми, последние K позиций теряются.
-
Написать программу, проверяющую, является ли квадратная матрица A[N][N] магическим квадратом. Матрица является магическим квадратом, если сумма элементов в каждой строке, сумма элементов в каждом столбце и сумма элементов по диагоналям одна и та же.
-
Даны действительные числа , натуральное число . Удалить из элемент с номером (т.е. ) и вставить элемент, равный , так, чтобы не нарушилась упорядоченность.
-
Дана целочисленная прямоугольная матрица. Найти и выдать на экран строку с максимальной суммой элементов.
-
Дан двумерный массив из чётного числа строк. Поменять местами первую строку со второй, третью с четвёртой и т.д.
-
Задан массив S, размерностью n, содержащий большое количество нулевых элементов. Найти длину самой длинной последовательности подряд идущих элементов, равных 0. Вывести также индекс начала этой последовательности.
-
Даны: целочисленная матрица размера n x 3, целые числа k, m (1 k n, 1 m n, k m). Преобразовать матрицу так, чтобы строка с исходным номером k непосредственно следовала за строкой с исходным номером m, сохранив порядок следования остальных строк.
-
Найти сумму всех элементов массива A, больших заданного числа.
-
Дан массив целых чисел. Найти, сколько в нем пар одинаковых соседних элементов.
-
Вставить на k-ое место массива целых чисел элемент, равный наименьшему элементу массива.
Информационные технологии