|
Delphi. Лабораторная работа № 4.2 (4 часа). «Программирование с использованием прямоугольных массивов». Цели:
|
Ход работы:
1. Изучить (повторить) теоретический материал:
2. В состав задания на данную работу входит 2 задачи, каждая из которых оценивается в 5 баллов. Для отображения массивов на форме использовать компонент StringGrid, из которого необходимо прочитать данные для обработки в численный массив, определив его в программе. Для решения задач можно создать два отдельных проекта, или объединить их в один.
3. Выбрать из списка номер вашего варианта и прочитать условия задач:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
4. Если возникли вопросы по условиям задач, задайте их преподавателю.
5. Скачать, распаковать, открыть и внимательно изучить пример: скачать архив.
6. Разработать приложения для решения задач своего варианта.
7. Протестировать программы.
8. Оформить отчет по лабораторной работе. Для этого следует в строке заголовка главной формы записать:
"ЛР N. Вариант N. Группа. Фамилия Имя." В начале программного модуля главной формы записать как комментарий:
номер, название, цель работы;
номер варианта, условия задач;
дата окончания работы, Фамилия, Имя, группа.
9. Сдать преподавателю выполненную работу:
Работая в локальной сети колледжа, скопировать папку с работой («№группы_Фамилия_№ЛР») в папку на сетевом сервере: \\Server_uch\_БУФЕР\_Aud_27 (на рабочем столе создан ярлык к папке "_ЛР-сдача").
Работая не в колледже, создать файл-архив папки с работой, зайти на сайте "Образовательный портал" в раздел "Обратная связь", заполнить поля формы, прикрепить свой файл-архив и отправить его преподавателю.
10. Оценки по проверенным работам можно посмотреть в электронном журнале:
Работая в локальной сети колледжа, откройте ярлык на рабочем столе "Журнал".
Работая не в колледже, зайти на сайте "Образовательный портал" в раздел "Учебные журналы", открыть журнал текущего семестра.
Индивидуальные задания
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить сумму элементов k-го столбца.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Вычислить средний балл для каждого учащегося и средний балл всей группы.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить сумму элементов k-й строки.
2. Дана сводная ведомость выплаты заработной платы n рабочим за m месяцев (номер строки соответствует порядковому номеру рабочего, номер столбца - порядковому номеру месяца). Определить номер рабочего с максимальным доходом за весь отчетный период.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Вычислить среднее арифметическое элементов k-го столбца.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Вычислить средний балл за каждый урок и средний балл группы за весь период.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Определить количество положительных, отрицательных и нулевых элементов в массиве.
2. Дана сводная ведомость выплаты заработной платы n рабочим за m месяцев (номер строки соответствует порядковому номеру рабочего, номер столбца - порядковому номеру месяца). Определить номер рабочего с минимальным доходом за весь отчетный период.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Определить номер строки с максимальной суммой элементов.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Вычислить сумму пропущенных часов для каждого учащегося, общую сумму по всей группе и среднее значение (час/уч-ся). Учесть, что продолжительность каждого занятия состовляет 2 часа.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Определить номер столбца с минимальной суммой элементов.
2. Даны необходимые данные для создания ведомости начисления заработной платы для n служащих некоторой организации. Номер строки соответствует порядковому номеру служащегося в алфавитном списке, 1-й столбец содержит квалификационный разряд (1<= r <= 16), 2-й столбец - коэффициент ставки (0,5<= k <=2), 3-й столбец - процент премиальных (0<= p <=50). Рассчитать сумму оклада для каждого служащего So = Sb * r * k; сумму премиальных Sp = So * p / 100 и общую сумму начисления S = So + Sp. Sb - это текущий размер базовой величины (задается как исходное данное).
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Определить номер строки с наименьшим количеством положительных элементов.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Вычислить сумму пропущенных часов на каждом уроке, общую сумму за весь период и среднее значение (час/уч-ся). Учесть, что продолжительность каждого занятия состовляет 2 часа.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Определить номер столбца с наибольшим количеством отрицательных элементов.
2. Даны необходимые данные для создания ведомости отчислений из заработной платы для n служащих некоторой организации. Номер строки соответствует порядковому номеру служащегося в алфавитном списке, 1-й столбец содержит значение начисленной суммы S. Рассчитать для каждого служащего прогрессивный процент подоходного налога Pn (9% - если S<=500 тыс. руб.; 12% - если 500 тыс. руб. < S <= 1.5 млн. руб.; 15% - если S > 1.5 млн. руб.), сумму подоходного налога (Sn = S * Pn / 100), сумму отчислений в пенсионный фонд Sp (1% от S) и сумму к выдаче (Sv = S - Sn - Sp).
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Поменять местами i-ую и j-ую строку.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Определить количество уч-ся, имеющих хотя бы одну неудовлетворительную оценку (1 - 4) и их процент от общего числа уч-ся.
1. Составить программу формирования прямоугольного массива А из n строк и m столбцов случайными числами, сделать возможным его редактирование. Поменять местами i-ый и j-ый столбец.
2. Дана таблица результатов футбольного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - проигрыш; 1 - ничья; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Если матча еще не было, то соответствующие ячейки в строковой таблице StringGrid остаются пустыми, а в численном массиве в эти ячейки можно записать -2. Определить сумму набранных очков каждой командой и определить текущего лидера (или несколько лидеров с одинаковой суммой очков). Перед обработкой необходимо проверить корректность данных в таблице.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить сумму элементов, стоящих на главной и побочной диагонали.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Определить количество уч-ся, у которых нет оценок ниже 7 и их процент от общего числа уч-ся.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить сумму элементов, стоящих выше главной и побочной диагонали.
2. Дана таблица результатов футбольного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - проигрыш; 1 - ничья; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Если матча еще не было, то соответствующие ячейки в строковой таблице StringGrid остаются пустыми, а в численном массиве в эти ячейки можно записать -2. Определить для каждой команды количество побед, ничьих и поражений. Перед обработкой необходимо проверить корректность данных в таблице.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить сумму элементов, стоящих ниже главной и выше побочной диагонали.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Определить количество уч-ся, имеющих только отличные оценки (9 - 10) и их процент от общего числа уч-ся.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить сумму элементов, стоящих выше главной и ниже побочной диагонали.
2. Дана итоговая таблица результатов футбольного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - проигрыш; 1 - ничья; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Определить 2 команды с худшим результатом, которые покидают турнир. Обеспечить корректность данных в таблице.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество четных элементов в заданной строке.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Упорядочить данные в порядке убывания среднего балла уч-ся, сохранив при этом их исходные порядковые номера.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество нечетных элементов в заданном столбце.
2. Дана итоговая таблица результатов футбольного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - проигрыш; 1 - ничья; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Определить 2 команды с лучшим результатом, которые выходят из турнира в плей-офф. Перед обработкой необходимо проверить корректность данных в таблице.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество четных элементов выше k-ой строки и выше главной диагонали.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Упорядочить данные в порядке возрастания количества пропущенных часов уч-ся, сохранив при этом их исходные порядковые номера. Учесть, что продолжительность одного занятия составляет 2 часа.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Вычислить количество нечетных элементов ниже k-ой строки и выше главной диагонали.
2. Дана итоговая таблица результатов футбольного турнира среди N команд в два круга (номер строки соответствует номеру команды, в столбцах последовательно записаны: количество побед, ничьих, поражений, забитых и пропущенных голов). Вычислить для каждой команды сумму набранных очков (0 - проигрыш; 1 - ничья; 3 - победа), разность забитых и пропущенных голов, упорядочить данные в порядке занятых мест, сохранив исходные номера команд (при равенстве очков учитывается разность забитых и пропущенных голов). Перед обработкой необходимо проверить корректность данных в таблице (количество игр у каждой команды должно быть равно 2N-2, суммарная разность забитых и пропущенных голов должна равняться 0).
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Построить линейный массив B из модулей отрицательных элементов матрицы А.
2. Дана одна страница учебного журнала некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру урока). Отсутствие оценки за урок в численном массиве обозначить значением 0, в строковом массиве StringGrid.Cells - пустая строка. Отсутствие учащегося на уроке в численном массиве обозначить значением -1, в строковом массиве StringGrid.Cells - буквой "н". Определить количество оценок для каждого уч-ся и среднее значение количества оценок на одного уч-ся по всей группе.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Построить линейный массив B из средних арифметических строк матрицы А.
2. Дана таблица результатов хоккейного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - поражение; 1 - поражение в овертайме или по булидам; 2 - победа в овертайме или по булидам; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Если матча еще не было, то соответствующие ячейки в строковой таблице StringGrid остаются пустыми, а в численном массиве в эти ячейки можно записать -2. Определить сумму набранных очков каждой командой и определить текущего лидера (или несколько лидеров с одинаковой суммой очков). Перед обработкой необходимо проверить корректность данных в таблице.
1. Составить программу формирования квадратной матрицы А n-го порядка (n строк и n столбцов) случайными числами, сделать возможным ее редактирование. Построить линейный массив B из сумм положительных элементов в столбцах матрицы А.
2. Дана сводная ведомость оценок за семестр уч-ся некоторой группы (номер строки соответствует порядковому номеру учащегося в алфавитном списке, номер столбца - порядковому номеру предмета). Вычислить средний балл (Sb) для каждого уч-ся за семестр и коэффициент для начисления стипендии (k), который равен: 0, если Sb<5; 1, если 5<=Sb<=6; 1.2, если 6<Sb<=7; 1.4, если 7<Sb<=9; 1.8, если Sb>9.
1. Составить программу формирования квадратных матриц А и В n-го порядка (n строк и n столбцов) случайными числами, сделать возможным их редактирование. Вычислить сумму матриц (матрица С, в которой Cij = Aij + Bij).
2. Дана таблица результатов хоккейного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - поражение; 1 - поражение в овертайме или по булидам; 2 - победа в овертайме или по булидам; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Если матча еще не было, то соответствующие ячейки в строковой таблице StringGrid остаются пустыми, а в численном массиве в эти ячейки можно записать -2. Определить для каждой команды количество чистых побед, побед и поражений в овертайме или по булидам и поражений. Перед обработкой необходимо проверить корректность данных в таблице.
1. Составить программу формирования смежных матриц А (m строк, n столбцов) и В (n строк, l столбцов) случайными числами, сделать возможным их редактирование. Вычислить произведение матриц, это матрица С, в которой:
2. Дана сводная ведомость выплаты заработной платы n рабочим за m месяцев (номер строки соответствует порядковому номеру рабочего, номер столбца - порядковому номеру месяца). Вычислить размер средней заработной платы за месяц для каждого рабочего и общую по всему списку.
1. Составить программу формирования матриц А и В (n строк, m столбцов) случайными числами, сделать возможным их редактирование. Вычислить матрицу С = 2А + 3В.
2. Дана итоговая таблица результатов хоккейного турнира (номера строк и столбцов определяют номер команды). В ячейке (i, j) записано количество очков полученных i-й командой в игре с j-й командой (0 - поражение; 1 - поражение в овертайме или по булидам; 2 - победа в овертайме или по булидам; 3 - победа). По главной диагонали в строковой таблице StringGrid записывается символ "х" (команда не играет сама с собой), в численном массиве на главной диагонали можно записать -1. Определить 2 команды с лучшим результатом, которые проходят в плей-офф. Перед обработкой необходимо проверить корректность данных в таблице.
1. Составить программу формирования матрицы А (n строк, m столбцов) случайными числами, сделать возможным ее редактирование. Получить вектор B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы А нулевые, иначе 1.
2. Дана сводная ведомость выплаты заработной платы n рабочим за m месяцев (номер строки соответствует порядковому номеру рабочего, номер столбца - порядковому номеру месяца). Вычислить размер средней заработной платы за каждый месяц и общую по всему списку.
1. Составить программу формирования матрицы А (n строк, m столбцов) случайными числами, сделать возможным ее редактирование. Получить вектор B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы А упорядочены по убыванию, иначе 0.
2. Дана итоговая таблица результатов хоккейного турнира среди N команд в один круг (номер строки соответствует номеру команды, в столбцах последовательно записаны: количество побед, побед в овертайме или по булидам, поражений в овертайме или по булидам, поражений, забитых и пропущенных шайб). Вычислить для каждой команды сумму набранных очков (0 - поражение; 1 - поражение в овертайме или по булидам; 2 - победа в овертайме или по булидам; 3 - победа), разность забитых и пропущенных шайб, упорядочить данные в порядке занятых мест, сохранив исходные номера команд (при равенстве очков учитывается разность забитых и пропущенных шайб). Перед обработкой необходимо проверить корректность данных в таблице (количество игр у каждой команды должно быть равно N-1, суммарная разность забитых и пропущенных голов должна равняться 0).