Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / Задания по программированию.pdf
Скачиваний:
142
Добавлен:
27.05.2015
Размер:
1.68 Mб
Скачать

Часть 3

Во всех заданиях требуется использовать компоненты класса (TLabel / Label) для подписи компонентов ввода и вывода. Обеспечить функционирование «горячих клавиш» и невозможность изменения пользователем результатов расчета. Расчет активизировать с использованием компонента класса

(TButton / Button).

3.1 Самостоятельная работа 1

Задание: Составить программу, предусматривающую использование компонента класса (TStringGrid / DataGridView) для ввода или вывода матриц или одномерных массивов. Задание размеров матриц или одномерных массивов с исходными данными осуществлять с помощью компонентов (TSpinEdit / NumericUpDown). Считать, что в матрицах n m имеется n строк и

mстолбцов (n>1, m>1).

1.Дана матрица A размером n m. Некоторый элемент этой матрицы назовем седловой точкой, если он является одновременно наименьшим в своей строке и наибольшим в своем столбце. Найти индексы всех седловых точек матрицы A. Если седловых точек нет, вывести в компонент вывода строку «Седловых точек нет».

2.Дана матрица A размером n m. Сформировать одномерный массив по следующему правилу. Если элементы i-ой строки матрицы образуют возрастающую последовательность, то i-ый элемент массива равен единице, если убывающую – минус один, иначе – нулю.

3.Дана матрица A размером n m. Упорядочить столбцы матрицы A по убыванию количества нулевых элементов в столбце.

4.Дана матрица A размером n m. Найти все элементы, значение которых меньше суммы номеров строки и столбца, в которых они расположены, и вывести их в виде возрастающей последовательности. Если таких элементов нет, вывести в компонент вывода строку «Искомых элементов нет».

5.Дана квадратная матрица A порядка n, в которой нет нулевых элементов. Сформировать одномерный массив B по следующему правилу. Если элемент i-ой строки матрицы, принадлежащий главной диагонали, отрицателен,

то bi равен сумме элементов i-ой строки матрицы, расположенных до этого элемента; если положителен или ноль – то bi равен сумме элементов i-ой строки матрицы, расположенных после этого элемента. Если таких элементов нет, считать сумму равной нулю.

6.Дана матрица A размером n m. Сформировать одномерный массив по следующему правилу. Если сумма элементов i-ой строки матрицы больше за-

59

данного числа k, то, то i-ый элемент массива равен единице, если меньше – минус один, если равна – нулю.

7.Дана квадратная матрица A порядка n. Если два симметричных относительно главной диагонали элемента матрицы A равны между собой, то заменить элемент, расположенный выше диагонали – на 1, а элемент, расположенный ниже диагонали – на 2. В противном случае заменить оба элемента нулями.

8.Дана матрица A размером n m. Сформировать одномерный массив, представляющий собой индексы столбцов, упорядоченные по возрастанию суммы элементов соответствующего столбца.

9.Дана квадратная матрица A порядка n. Сформировать одномерный массив, состоящий из тех элементов матрицы A, которые расположены ниже главной диагонали и больше любого из элементов, расположенных выше главной диагонали. Если таких элементов нет, вывести в компонент вывода строку «Искомых элементов нет».

10.Дана квадратная матрица A порядка n. Заменить элементы главной диагонали по следующему принципу: ноль, если x=y; минус один – если x<y; единица – если x>y, где x – сумма элементов данной строки до главной диагонали, y – суммы элементов данной строки после главной диагонали. Если таких элементов нет, считать сумму равной нулю.

11.Дана матрица A размером n m. Получить матрицу B размером n–1m–1 путем удаления из матрицы A строки и столбца, на пересечении которых находится минимальный элемент матрицы A.

12.Дана матрица A размером n m. Сформировать массив B, i-ый элемент которого является полусуммой максимального и минимального элементов i-ой строки матрицы A.

13.Дана матрица A размером n m. Сформировать массив B, i-ый элемент которого равен единице, если в i-ой строке матрицы A нет одинаковых чисел, расположенных в соседних столбцах, и нулю – в противном случае.

14.Дана матрица A размером n m. Преобразовать матрицу, заменив aij элемент на среднее арифметическое среди элементов, расположенных в i-ой

строке и имеющих номер столбца j.

15.Даны две матрицы A и B размером n m. Сформировать одномерный массив, i-ый элемент которого равен сумме минимального элемента i-ой строки матрицы A и максимального элемента i-ой строки матрицы B.

16.Даны два одномерных массива A и B размерами n и m соответствен-

но. Сформировать матрицу C размером n m, каждый элемент которой cij является минимальным значением из четырех чисел: i, j, ai, bj.

17. Дана матрица A размером n m. Сформировать матрицу B, имеющую m столбцов, элементы первой строки которой задаются по формуле a1j=j, а остальные строки формируются на основе тех строк матрицы A, элементы которых образуют возрастающую последовательность.

60

18.Дана матрица A размером n m. Сформировать одномерный массив B,

i-ый элемент которого рассчитывается по формуле: bi=xi·xni+1, где xk – максимальное значение среди элементов k-ой строки матрицы A.

19.Дана целочисленная матрица A размером n m. Сформировать массив B, i-ый элемент которого равен большему из двух чисел x и y, где x – сумма четных элементов i-ой строки матрицы , а y – сумма нечетных элементов i-ой строки матрицы.

20.Дана матрица A размером n m. Сформировать одномерный массив B, включающий элементы тех строк матрицы A, которые образуют убывающую последовательность (элементы выводить в порядке расположения в строке; строки просматривать с 1 до n). Если строк, образующих убывающую последовательность, нет, вывести в компонент вывода строку «Искомых строк нет».

21.Дана матрица A размером 2n, которая хранит координаты n точек на плоскости. Определить номер точки, суммарное расстояние от которой до всех остальных наибольшее.

22.Дана квадратная матрица A порядка n. Модифицировать матрицу, заменив все элементы, расположенные ниже главной диагонали, на разность между самими элементами и числом х, где х – сумма элементов матрицы, расположенных выше главной диагонали.

23.Дана квадратная матрица A порядка n. Модифицировать матрицу, заменив все отрицательные элементы, на сумму положительных элементов, расположенных выше в том же столбце. Если таких элементов нет, то считать, что сумма равна нулю.

24.Дана квадратная матрица A порядка n. Модифицировать матрицу, упорядочив по возрастанию элементы в каждой из строк. Сформировать одномерный массив B состоящий из элементов главной диагонали модифицированной матрицы A.

25.Дана матрица A размером n m. Сформировать одномерный массив B, каждый i-ый элемент которого представляет собой минимальное из положительных элементов i-ой строки матрицы A. Если таких элементов в строке нет, считать минимальное значение 1. Упорядочить массив B по убыванию.

3.2 Самостоятельная работа 2

Задание: Модифицировать решение задачи самостоятельной работы 1 следующим образом:

добавить заполнение исходных данных случайным образом, используя для этого (функцию Random / класс Random) и условия формирования, описанные ниже в задании;

добавить запись исходных данных в двоичный файл «source.dat», располагающийся в том же каталоге, что и сама задача;

61

добавить чтение исходных данных из двоичного файла «source.dat», располагающегося в том же каталоге, что и сама задача;

добавить запись результатов в текстовый файл «result.txt», располагающийся в том же каталоге, что и сама задача.

Примечание: Функция Random (Delphi) имеет один параметр n целого типа, задающий диапазон 0…n–1, из которого будет выбрано целое число случайным образом (т.е. параметр n задает количество чисел, из которых производится выбор). Например, оператор x:=Random(5); присвоит переменной x одно из следующих значений 0,1,2,3,4, выбранное случайным образом. В начале процедуры заполнения исходных данных случайным образом целесообразно один раз выполнить команду Randomize, настраивающую генератор случайных чисел.

Также в Delphi может быть использована функция RandomRange, позволяющая сразу получать случайное число из заданного диапазона.

Класс Random (Visual C#) представляет генератор случайных чисел. Класс обладает методом Next(n), позволяющим получить целое число из диапазона 0…n–1. Перед использованием генератора его нужно создать, например:

Random rnd = new Random(); // Создание генератора

int x = rnd.Next(100); // Получение случайного числа

1.n в диапазоне 2…5, m в диапазоне 3…6, значения матрицы в диапа-

зоне –100…100.

2.n в диапазоне 2…7, m в диапазоне 2…4, значения матрицы в диапа-

зоне 15…75.

3.n в диапазоне 2…8, m в диапазоне 3…5, значения матрицы в диапа-

зоне –1…1.

4.n в диапазоне 2…6, m в диапазоне 3…5, значения матрицы в диапа-

зоне –10…15.

5.n в диапазоне 2…5, значения матрицы в диапазоне –20…25.

6.n в диапазоне 3…6, m в диапазоне 2…4, k в диапазоне 70…150, значения матрицы в диапазоне –5…45.

7.n в диапазоне 4…6, значения матрицы в диапазоне 20…25.

8.n в диапазоне 2…4, m в диапазоне 3…6, значения матрицы в диапа-

зоне –30…55.

9.n в диапазоне 3…6, значения матрицы в диапазоне –10…35.

10.n в диапазоне 4…6, значения матрицы в диапазоне –45…–5.

11.n в диапазоне 3…5, m в диапазоне 2…6, значения матрицы в диапа-

зоне 20…155.

12.n в диапазоне 3…7, m в диапазоне 2…4, значения матрицы в диапа-

зоне –30…30.

62

13.n в диапазоне 3…4, m в диапазоне 3…5, значения матрицы в диапа-

зоне 25…30.

14.n в диапазоне 2…5, m в диапазоне 2…7, значения матрицы в диапа-

зоне –25…60.

15.n в диапазоне 3…5, m в диапазоне 3…4, значения матриц в диапазоне

–45…15.

16.n в диапазоне 3…4, m в диапазоне 2…6, значения массивов в диапа-

зоне –5…10.

17.n в диапазоне 2…6, m в диапазоне 2…3, значения матрицы в диапа-

зоне –35…45.

18.n в диапазоне 3…5, m в диапазоне 2…4, значения матрицы в диапа-

зоне 35…75.

19.n в диапазоне 3…5, m в диапазоне 3…6, значения матрицы в диапа-

зоне 15…55.

20.n в диапазоне 2…5, m в диапазоне 2…3, значения матрицы в диапа-

зоне 15…55.

21.n в диапазоне 3…7, значения матрицы в диапазоне 10…25.

22.n в диапазоне 2…6, значения матрицы в диапазоне –20…30.

23.n в диапазоне 3…5, значения матрицы в диапазоне –35…35.

24.n в диапазоне 2…5, значения матрицы в диапазоне –75…–35.

25.n в диапазоне 3…5, m в диапазоне 2…4, значения матрицы в диапа-

зоне –45…35.

63

Учебное издание

Составители:

Вадим Иванович Кожемяченко Владислав Юрьевич Климов

ЗАДАНИЯ ПО ПРОГРАММИРОВАНИЮ

Варианты заданий к выполнению практических занятий по дисциплинам

«Информатика», «Программирование»

Специальности 230201 Информационные системы и технологии, 230105 Программное обеспечение

вычислительной техники и автоматизированных систем. Направление подготовки бакалавров 230200 Информационные системы

Редактор Е.Н. Болабонова

Подписано в печать 24.05.2011 Формат бумаги 60х84 1/16. Бумага писчая. Печать офсетная.

Усл. печ. л. 3,78 . Уч.-изд. л. 4,04 . Тираж 50 экз. Заказ _____.

«Сибирский государственный индустриальный университет» 654007, г. Новокузнецк, ул. Крова, 42

Издательский центр СибГИУ