Семинар_1_Динамические_массивы_Программирование_2семестр (1273142)
Текст из файла
Семинар 1. Динамические массивы
Цель семинара: Овладение навыками разработки, кодирования на Си и отладки циклических алгоритмов, использующих динамические массивы.
1. Задание
-
Вспомните задачи 2 и 3 из семинара 1 прошлого семестра нашего курса «Программирование и основы алгоритмизации»: разработка циклических алгоритмов с одномерными массивами (задача 2 – задачи приведены также в разделе 2 этого семинара) и с матрицами (задача 3 – условия также есть в разделе 3 этого семинара). Напишите и отладьте программы с динамическими массивами для решения этих задач, используя примеры лекции 1 этого семестра.
-
Вспомните задачу семинара 2 прошлого семестра нашего курса «Программирование и основы алгоритмизации»: функции и многофайловые программы; условие этой задачи также приведено в разделе 4 данного семинара. Исправьте решение этой задачи в соответствии с полученными замечаниями; это очень важно, так как решение этой задачи лежит в основе курсовой работы. Измените программу, используя динамические массивы – см. примеры лекции 1 текущего семестра. Ответьте на вопрос: какие преимущества дает использование динамических массивов?
-
Отчет по выполнению задания обязательно должен содержать условия задач, анализ данных (возможно, в виде таблицы «Состав данных»), блок-схемы семинаров прошлого семестра (возможно, с исправленными ошибками), коды приложений с локальными массивами (прошлого семестра) и с динамическими массивами.
Жду отчетов по индивидуальным заданиям разделов 2, 3, 4. Напоминаю, что отчет по выполнению задания обязательно должен содержать условие задачи, анализ данных (возможно, в виде таблицы «Состав данных»), блок-схему, программу (в двух вариантах: с локальными и с динамическими массивами).
Отчеты надо пересылать через возможность «письменные работы» СДО «Прометей».
2. Варианты индивидуальных заданий на проектирование алгоритма обработки одномерных массивов (раздел 6 семинара 1 прошлого семестра)
В приведенных ниже задачах значения A, B (если они есть в варианте) и вектора X и (или) Y задаются вводом; n — размер каждого из векторов X и Y.
-
Каждая пара (Xk ,Yk) представляет координаты одной из n точек на плоскости. Определить, у какого числа точек положительна как абсцисса Xk, так и ордината Yk; для прочих точек найти среднее расстояние до начала координат.
-
Рассмотрев все пары (Xk,Yk), подсчитать случаи равенства элементов пары; найти также среднее арифметическое чисел вектора X.
-
Получить вектор T по правилу Tk = max (Xk ,Yk), k = 1,2, … ,n; подсчитать элементы Tk, получившие значения элементов Xk.
-
Изменить каждый положительный элемент вектора T, поделив элемент на его номер, а отрицательные элементы – подсчитать.
-
Каждая пара (Xk, Yk) задает длины сторон прямоугольника; найти число тех прямоугольников, площадь которых больше A.
-
Найти число n1 отрицательных элементов вектора X и их сумму C1 и число n2 положительных элементов вектора Y и их сумму C2.
-
Получить вектор T по правилу
а также подсчитать число нулей в полученном векторе T. -
Найти число и произведение положительных элементов вектора X, удовлетворяющих требованию sin Xk ≤ 0.
-
Пара (Xk, Yk) представляет координаты одной из n точек на плоскости. Найти число точек, у которых ордината Yk больше абсциссы Xk, и сумму расстояний от первой точки до остальных точек.
-
Найти сумму и число элементов вектора X, для которых ||Xk–A|<B.
-
Найти сумму и число элементов вектора X, для которых ||Xk–A|<B.
-
Заменить каждый неположительный элемент вектора X абсолютной величиной имеющего тот же номер элемента вектора Y и подсчитать число таких замен.
-
Пара (Xk, Yk) представляет координаты одной из n точек на плоскости. Найти число точек, находящиеся вне круга диаметром B, центр которого имеет координаты X0, Y0.
-
Получить вектор T по правилу
а также подсчитать число неотрицательных элементов Xk. -
Найти среднее арифметическое положительных элементов вектора X, имеющих четный номер, и среднее арифметическое отрицательных элементов вектора Y, имеющих нечетный номер.
-
Найти
, где Sx, Sy – средние арифметические положительных элементов векторов X и Y соответственно.
-
В векторе X подсчитать число нулей и заменить отрицательные элементы их абсолютными величинами.
-
Пара (Xk , Yk) представляет координаты одной из n точек на плоскости. Подсчитать, сколько из них лежит в квадрате с длиной стороны A, центр симметрии которого находится в начале координат, а стороны параллельны координатным осям.
-
Найти среднее арифметическое элементов вектора X, исключая нули, и число неположительных элементов вектора.
-
Найти отдельные суммы S1, S2 и количества n1, n2 элементов Xk, значения которых соответственно больше A и меньше –A.
-
Вычислить куб суммы и общее число элементов вектора X, удовлетворяющих условию Xk < A/2 или условию A < Xk < B.
-
Подсчитать число отрицательных элементов вектора X, а каждый положительный его элемент изменить, умножив на предыдущий элемент. Первый элемент должен быть отрицательным.
-
Определить число произведений Xk·Yk, удовлетворяющих требованию Xk·Yk < A (номер k у элементов одинаков) и сумму S этих произведений.
-
Найти среднее арифметическое тех элементов вектора X, которые удовлетворяют требованию Xk < X1, и среднее арифметическое всех элементов вектора X.
-
Найти сумму и число положительных элементов вектора X, каждый из которых больше имеющего тот же номер элемента вектора Y.
-
В векторе X изменить значения положительных элементов, умножив на B, а отрицательные элементы уменьшить вдвое; затем подсчитать, сколько окажется элементов, абсолютная величина которых не превышает A.
-
Задать значения Yk тем элементам Xk, для которых выполняется условие |Xk – Yk| < A, и подсчитать число измененных элементов.
-
Заменить значения элементов вектора Y по правилу
подсчитать случаи равенства исходных значений Xk и Yk .
-
Варианты индивидуальных заданий на проектирование алгоритма обработки матриц
Дана матрица А из n строк и m столбцов. Способ задания n и m определяется средой программирования и указаниями преподавателя. Матрицу A необходимо вводить и выводить (если ее элементы были изменены) построчно.
-
Определить число нулевых элементов в каждой строке матрицы.
-
Заменить элементы матрицы, равные нулю, на заданное значение.
-
Найти среднее арифметическое элементов матрицы, меньших заданного значения.
-
Вывести индексы элементов матрицы, равных нулю.
-
Для каждой строки матрицы найти произведение отрицательных элементов.
-
Для каждого столбца матрицы вычислить среднее арифметическое элементов, меньших первого элемента этого столбца
-
Определить число отрицательных и число положительных элементов матрицы.
-
Элементы матрицы, абсолютная величина которых больше заданного значения C, разделить на С.
-
Определить число элементов, меньших заданного значения, для каждого столбца матрицы.
-
В каждом столбце матрицы заменить нулевые элементы значением первого элемента этого столбца, который предполагается не равным нулю.
-
Для каждого столбца матрицы найти среднее арифметическое элементов, больших нуля, но меньших единицы.
-
Найти номера строк матрицы, сумма элементов которых меньше 0.
-
Вычислить произведение положительных элементов для каждого столбца матрицы.
-
Определить число отрицательных и число положительных элементов в каждой строке матрицы.
-
Найти число строк матрицы, сумма элементов которых меньше 0.
-
Вычислить произведение тех элементов матрицы, которые больше Е, но меньше Н (Е и Н заданные значения, Е < Н).
-
Вычислить общую сумму элементов тех строк матрицы, первый элемент которых положителен.
-
Все отрицательные элементы матрицы заменить квадратом их значений.
-
Для каждой строки матрицы определить число элементов, больших первого элемента этой строки.
-
Определить число столбцов матрицы, сумма элементов которых положительна.
-
Для каждой строки матрицы определить произведение элементов, меньших последнего элемента этой строки.
-
Вывести номера столбцов, произведение элементов которых меньше единицы.
-
Отрицательные элементы матрицы заменить на нуль. Определить число замен, сделанных в каждой строке
-
Вывести номера тех строк матрицы, в которых число положительных элементов больше m/2.
-
Вычислить общую сумму элементов тех строк матрицы, последний элемент которых равен нулю.
-
Положительные элементы матрицы увеличить в 2 раза, а отрицательные заменить на нуль.
-
Для каждого столбца найти произведение элементов, больших первого элемента столбца.
-
Для каждой строки определить число элементов, равных последнему элементу этой строки.
4. Индивидуальное задание на разработку и использование функций Си (из семинара 2 курса «Программирование)»
Разработайте программу, выделив в ней одну или несколько подпрограмм (функций). Требования к составляемым подпрограммам:
-
каждая подпрограмма является функционально завершенной и должна вызываться более одного раза с разными фактическими параметрами;
-
подпрограмма обработки не должна содержать ввод (вывод) данных;
-
в подпрограммах не рекомендуется использовать глобальные переменные.
Варианты:
-
Если сумма SA положительных элементов главной диагонали матрицы A (7×7) больше единицы, вывести значение SA /SB, где SB — сумма положительных элементов главной диагонали матрицы B (5×5).
-
Определить индексы минимального элемента (в предположении, что он единственный) в каждой из трех матриц A (7×5), B (3×7), C (4×5).
-
Даны матрицы A (5×5), B (7×7), C (4×4). Вычислить значение выражения PA + PB – PC, где PA (PB, PC) — произведение положительных элементов главной диагонали матрицы A (B, C).
-
В каждой из двух матриц A (7×7), B (5×5) определить минимальное значение среди положительных элементов главной диагонали.
-
Если среднее арифметическое SA положительных элементов матрицы A (5×4) больше среднего арифметического SB положительных элементов матрицы B (4×6), найти сумму SA + SB, иначе найти разность SA – SB.
-
В матрицах A (7×7) и B (5×5) заменить каждый положительный элемент, стоящий выше главной диагонали, на нуль.
-
Даны матрицы A (4×4), B (5×5), C (3×3). Вычислить значение выражения (PA + PB)PC, где PA (PB, PC) — произведение положительных элементов матрицы A (B, C), стоящих выше главной диагонали.
-
Для каждой строки матрицы A (5×8) определить число элементов, больших D, а для каждой строки матрицы B (7×5) определить число элементов, больших Q; D, Q — заданные значения.
-
Проверить, есть ли среди элементов главной диагонали матрицы A (5×5) отрицательные элементы, а среди элементов главной диагонали матрицы B (3×3) — элементы, меньшие 2,7.
-
В каждой из матриц A (4×3), B (5×4) поменять местами две строки: в A вторую и третью строки , в B — первую и третью.
-
Для каждой строки матрицы A (6×5) найти среднее арифметическое положительных элементов, а для каждой строки матрицы B (4×7) — среднее арифметическое элементов больших единицы.
-
Даны матрицы A (5×4), B (5×5), C (3×7). Найти значение выражения PA + 2PB – PC, где PA (PB, PC) — произведение положительных элементов матрицы A (B, C), не лежащих на главной диагонали.
-
Определить максимальные значения для каждого столбца каждой из трех матриц A (4×5), B (5×7), C (3×4).
-
Заменить в третьем столбце матрицы A (5×7) все нули на единицы, а в пятом столбце матрицы B (4×5) — все единицы на нули.
-
Проверить, есть ли в матрице A (6×5) элементы, большие 10, а в матрице B (5×7) — элементы, большие 5.
-
Даны целочисленные матрицы A (4×5) и B (5×7). В первой строке матрицы A найти число нулевых элементов, а в третьей строке матрицы B — число элементов, равных 5.
-
Для матрицы A (7×3) вычислить общую сумму элементов строк, первый элемент которых положителен, а для матрицы B (6×4) — общую сумму элементов строк, в которых первый элемент больше единицы.
-
Проверить, все ли элементы главной диагонали матрицы A (5×5) положительны и все ли элементы главной диагонали матрицы B (4×4) больше единицы.
-
Для каждой из матриц A (4×5) и B (5×3) определить количество строк, сумма элементов которых положительна.
-
Даны матрицы A (4×4), B (5×5), C (3×3). Вычислить значение выражения Amin Bmin – Cmin, где Amin (Bmin, Cmin) — минимальный элемент главной диагонали матрицы A (B, C).
-
Даны целочисленные матрицы A (4×5) и B (3×7). Проверить, есть ли в матрице A элементы, равные D, а в матрице B — элементы, равные Q, где D, Q — заданные значения.
-
Для каждой строки матрицы A (4×5) вычислить сумму и количество отрицательных элементов, а для каждой строки матрицы B (3×7) — сумму и количество элементов, значения которых меньше 5.
-
Даны целочисленные матрицы A (4×5) и B (3×7). Для матрицы A найти число элементов, стоящих ниже главной диагонали и равных D, а для матрицы B – число элементов, стоящих ниже главной диагонали и равных Q, где D и Q — заданные значения.
-
Проверить, есть ли в матрице A (5×4) строки с отрицательной суммой и есть ли в матрице B (4×5) строки, сумма элементов которых меньше 5.
-
Для матрицы A (3×7) найти число строк, произведение элементов которых больше единицы, а для матрицы B (4×5) — число строк, произведение элементов которых больше заданного значения Q.
-
Для каждой из матриц A (4×5), B (3×7) найти число столбцов, сумма элементов которых меньше их произведения.
-
Даны матрицы A (5×4), B (5×5), C (3×7). Вычислить значение выражения Amax + Bmax – Cmax, где Amax (Bmax, Cmax) — максимальный из элементов, лежащих ниже главной диагонали матрицы A (B, C).
-
Для каждой из матриц B (5×4), C (4×6) проверить, во всех ли столбцах сумма элементов положительна.
-
Проверить, упорядочены ли по возрастанию элементы третьего столбца матрицы A (4×6) и элементы пятого столбца матрицы B (5×5).
7
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.