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

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

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




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

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