Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример.






Задать массив из 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.Editingtrue;

- Options.goTabstrue;

- Options.go.Alwaystrue.

Для вывода массива на экран будем использовать компоненту 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 на нулевое и найти сумму элементов массива. Массив вывести на экран.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.