Студопедия Главная Случайная страница Обратная связь

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

Пример. Задать массив из 5-ти элементов





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







Дата добавления: 2014-11-10; просмотров: 1259. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Роль органов чувств в ориентировке слепых Процесс ориентации протекает на основе совместной, интегративной деятельности сохранных анализаторов, каждый из которых при определенных объективных условиях может выступать как ведущий...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия