Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пример.
Задать массив из 5-ти элементов. Найти произведение элементов массива, превышающих значение 1-го элемента. Переставить местами 1-ый и последний элементы массива. Вывести элементы массива в строку компоненты Memo. Для выполнения задания необходимо выполнить следующие действия. 1. Поместить на форму компоненты: панели Panel1 (в верхней части экрана для ввода информации) и Panel2 (в нижней части для вывода информации) (страница Standard). 2. Для панелей задать свойство Caption – пустое (очистить место для вывода результата). 3. Разместить метки для панелей Label1 и Label2 (страница Standard). 4. Задать Caption для следующих объектов: - Label1 – ввод массива (панель Panel1); - Label2 – результаты (вывод результата в панель Panel2) 5. Разместить кнопку Button1 (страница Standard). 6. Установить для кнопки следующее свойство Caption – Вычислить. 7. Добавить компонент StringGrid1 и задать следующие свойства: - ColCount – 5 (количество столбцов); - FixedCols – 0 (количество фиксированных столбцов); - RowCount – 1 (количество строк); - DefaultRowHeight – 24 (высота строки); - DefaultColWidth – 64 (ширина столбца). 8. Задать опции для редактирования информации (Options): - Options.go.Editing – true; - Options.goTabs – true; - Options.go.Always – true. Для вывода массива на экран будем использовать компоненту Memo1 (Многострочный редактор). Управлять вычислением будет кнопка Button1. Полученная форма будет иметь вид (рис. 1):
Рисунок 1 – Форма с размещенными объектами
Для кнопки Button1 необходимо создать обработчик события OnClick (нажатие кнопки). Двойной щелчок на этой кнопке приводит к появлению на экране окна кода программы. Курсор устанавливается в процедуру-обработчика события, которая должна иметь следующий вид: procedure Tform1.Button1Click(Sender: Tobject); Var a: array[1..5] of integer; // описание массива а pr, I, с: integer; // pr – переменная для вычисления произведения элементов массива, i – индекс элементов массива, с-переменная для перестановки местами 1-го и 5-го элементов массива stroka: string; begin // ввод массива // считаем, если ячейка пустая, то соответствующий элемент массива равен 0 for i: =1 to 5 do if Length (StringGrid1.Cells[i-1, 0])< > 0 then a[I]: = StrToInt(StringGrid1.Cells[i-1, 0]) else a[I]: =0; // проверка наличия значения элемента массива в ячейке компоненты StringGrid1 // Обработка массива Pr: =1; for i: =1 to 5 do if a[i]> a[1] then pr: =pr*a[i]; // вычисление произведения элементов массива // вывод произведения элементов массива в заголовок панели Panel2 Panel2.Caption: =’Произведение элементов=’ +IntToStr(pr); // перестановка местами 1-го и 5-го элементов массива c: =a[1]; a[1]: =a[5]; a[5]: =c; // вывод массива в строку Stroka: =’ ’; // в строку помещаем пробелы Memo1.Lines.Add(‘Массив после обработки’); for i: =1 to 5 do stroka: =stroka+ IntToStr(a[i]); Memo1.Lines.Add(stroka); end;
При нажатии клавиш Ctrl+F9 выполняется компиляция кода программы. Если компиляция выполнена успешно (ошибок нет) то можно выполнить Project1 с помощью клавиши F9. Преобразование значений элементов массива из формы выполняется в соответствии с описанием в тип Integer (StrToInt), а результат – произведение элементов массива при выводе в форму преобразуется в тип String (IntToStr).
Варианты заданий Задание. Создать форму и процедуру обработки процесса выбора по заданному варианту. 1. Найти максимальный элемент в массиве X1, X2,..., Xn и его порядковый номер, n – длина массива. Массив вывести на экран. 2. Для n пар произвольных чисел ai и bi подсчитать mi =2 ai / cbi, где c –наибольшее из чисел ai и bi. Исходные данные: a1, a2,..., an и b1,..., bn массивы, n – длина массивов. Массивы вывести на экран. 3. В массиве X1, X2,..., Xn подсчитать количество чисел, принадлежащих отрезку [ a, b ] и сумму всех остальных. Исходные данные: n – длина массива; a, b – границы интервала, X1, X2,..., Xn – массив. Массив вывести на экран. 4. Найти среднеарифметическое значение элементов вещественного массива A1, A2,..., An, предшествующих первому элементу, большему 50. Исходные данные: n – длина массива, A1, A2,..., An – массив. Массив вывести на экран. 5. В массиве X1, X2,..., Xn найти отрицательные элементы, их количество и поместить их в отдельный массив. Оба массива вывести на экран. 6. Даны два одномерных массива вещественных чисел. Найти в них максимальные элементы и поменять их местами. Массивы вывести на экран. 7. Дан массив радиусов R1, R2,..., Rn. Для нечетных радиусов вычислить площадь круга, а для четных длину окружности. Результаты вывести на экран. 8. В массиве A [ k ] найти минимальный элемент и вывести его на экран. Переставить местами первый и последний элементы массива. Массив вывести на экран до и после перестановки. 9. Найти произведение элементов массива B [ m ] значение которых не равно значению первого элемента. Переставить местами 2 и 3 элементы массива. Массив вывести на экран до и после перестановки. 10. Вычислить объемы 5 цилиндров по формуле V = π Ri2Hi. Исходные массивы: массив радиусов R1, R2, …, R5 и массив высот H1, H2,..., H5. 11. Задан массив A [ n ]. Найти сумму элементов, значение которых превышает значение последнего элемента массива и заменить последний элемент этой суммой. Массив вывести на экран до и после перестановки. 12. Задан массив B [ n ]. Разделить его элементы на второй элемент массива. Найти сумму квадратов элементов вновь полученного массива. Массив и сумму вывести на экран. 13. Вычислить в заданных точках значение полинома по схеме Горнера Pn(x)=(((AnX+An-1)X+An-2)X+...)X+A0, исходные данные A0, A1,..., An – массив коэффициентов; X – переменная; n – степень полинома. 14. Составить программу нахождения элементов в массиве A [ m ], значения которых превышает 20. Переставить местами 1 и 2 элементы массива. Массив вывести на экран. 15. Заменить значения элементов массива, превышающие число 10 на нулевое и найти сумму элементов массива. Массив вывести на экран.
|