Добавление новых функций работы с массивами



    Составленная программа выводит только суммы элементов массивов. Можно увеличить функциональность программы, добавив другие функции. Например, для двухмерного массива можно выполнить:

произведение элементов ,

сумму произведений элементов строк ,

произведение разностей элементов строк

и т.д. Здесь а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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!