Добавление новых функций работы с массивами
Составленная программа выводит только суммы элементов массивов. Можно увеличить функциональность программы, добавив другие функции. Например, для двухмерного массива можно выполнить:
произведение элементов ,
сумму произведений элементов строк ,
произведение разностей элементов строк
и т.д. Здесь аi,1 и аi,2 – элементы i-й строки 1-го и 2-го столбца.
Для выбора функции из списка можно использовать ниспадающее меню ComboBox. Расположите его на форме и добавьте в его список Items строки:
«сумма элементов»,
«произведение элементов»,
«сумма произведений элементов строк»,
«произведение разностей элементов строк».
В свойство Text можете записать «Выберите функцию».
Рисунок 4
Чтобы определить, какую функцию выбрал пользователь, в программе используется свойство ItemIndex. Например, при нажатии на кнопку «Расчет»:
{Для двухмерного массива М2:}
if ComboBox1.ItemIndex=0 then {Подсчет суммы элементов}
Begin
S:=0;
for i:=1 to NM2 do
for j:=1 to 2 do S:=S+M2[i,j]
end;
if ComboBox1.ItemIndex=1 then { Подсчет произведения элементов }
Begin
S:=1;
for i:=1 to NM2 do
for j:=1 to 2 do S:=S*M2[i,j]
end;
Label2.Caption:='Результат: '+floattostr(S);
Заметьте, что строки меню также нумеруются, начиная с нуля.
Остальные функции запрограммируйте самостоятельно.
Примечание. Вместо нескольких вызовов условия «IF» можно использовать конструкцию «CASE OF», что делает текст программы более понятным:
|
|
case ComboBox1.ItemIndex of
0: {Подсчет суммы элементов}
Begin
S:=0;
for i:=1 to NM2 do
for j:=1 to 2 do S:=S+M2[i,j]
end;
1: {Подсчет произведения элементов}
Begin
S:=1;
for i:=1 to NM2 do
for j:=1 to 2 do S:=S*M2[i,j]
end;
end;
Оформление окна программы
Для более логичного расположения объектов главного окна и улучшения внешнего вида программы можно использовать прямоугольники GroupBox. Для этого расположите два прямоугольника на форме (желательно сбоку от существующих элементов) и измените их заголовки (Caption) на «Одномерный массив» и «Двухмерный массив».
После этого перенесите уже расположенные на форме объекты на соответствующие прямоугольники путем вырезания Ctrl+X и вставки на прямоугольнике Ctrl+V. Разместите все объекты, например, как показано на рисунке 5.
Рисунок 5
Для таблицы StringGrid1 сделайте заголовки. Для появления заголовков необходимо, чтобы при нажатии на кнопку ввода двухмерного массива в соответствующие ячейки записывались значения:
StringGrid1.Cells[0,0]:=’X’;
StringGrid1.Cells[1,0]:=’Y’;
Сохраните проект и проверьте работу программы.
Индивидуальные задания
Вариант 1. Написать программу табулирования тригонометрических функций (sin, cos, tg, ctg). В полях ввода типа Edit вводятся начальное значение аргумента Х, шаг по Х и количество значений; в выпадающем списке выбирается функция; данные выводятся в виде таблицы.
|
|
Вариант 2. Написать программу табулирования функции у = хn. Пользователем вводятся: начальное значение Х, шаг по Х, количество значений в таблице и степень n.
Вариант 3. Написать программу поиска по таблице. Таблица задается в виде трехмерного массива: «Фамилия студента», «Номер зачетки», «Группа». При вводе пользователем в строке поиска фамилии студента программа должна найти его в таблице и вывести его номер зачетки и шифр группы.
Вариант 4. Написать программу, формирующую по базе данных студентов (задается в виде таблицы со столбцами «Ф.И.О. студента», «Номер зачетки», «Группа») выпадающий список со строками вида «Группа - Ф.И.О. Студента». При выборе какой-либо строки программа должна выдать номер зачетки.
Вариант 5. Написать программу, формирующую матрицу размером n*n (n вводится пользователем), в которой единицы и нули расположены в шахматном порядке. Результат выводится в объект StringGrid.
Вариант 6. Написать программу, формирующую матрицу размером n*n (n вводится пользователем), в которой каждый элемент равен сумме элементов, стоящих выше и левее. Элемент в левом верхнем углу матрицы равен «1». Результат выводится в объект StringGrid.
|
|
Вариант 7. Написать программу, располагающую случайным образом «мины» на поле в виде таблицы размером n*n (n вводится пользователем, «мины» обозначаются каким-либо символом, например, звездочкой). Оставшиеся ячейки можно заполнить цифрами - числом «мин», расположенных в окрестности данной ячейки.
Вариант 8. Написать программу, формирующую таблицу символов. Код символа: по срокам - десятки, по столбцам – единицы (используется функция chr(код_символа), возвращающая символ с данным кодом).
Вариант 9. Написать программу, формирующую поле для игры «Морской бой». Корабли (обозначаются какими-либо символами, например, звездочками) размещаются случайным образом. При вводе пользователем координат ячейки программа сообщает: «Мимо» или «Убит».
Вариант 10. Написать программу, построчно заполняющую таблицу размером n*n (n вводится пользователем) последовательными числами.
Вариант 11. Написать программу табулирования n! Определить количество элементов матрицы, значения которых не превышают заданное число.
|
|
Вариант 12. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 13. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 14. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 15. Написать программу для расчета среднего значения и поиска минимального и максимального значений хi.
Вариант 16. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 17. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 18. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 19. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 20. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 21. Написать программу для расчета суммы
и поиска минимального и максимального значений хi.
Вариант 22. Написать программу для расчета суммы
.
и поиска минимального и максимального значений хi.
Вариант 23. Заполнить матрицу А размером n*n случайными числами с помощью функции Random.
Вариант 24. Заполнить матрицу А размером n*n случайным образом буквами «А» и «Б» с помощью функции Random.
Дата добавления: 2018-11-24; просмотров: 294; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!