top of page

Лабораторная работа № 15

 

Использование компонентов многострочного редактора для одномерных массивов.

 

Цель работы: Изучить свойства компонента TMemo. Написать программу с использованием массивов.

 

Теория.

Размещение многострочного окна вывода (TMemo)

            Для вывода результатов работы программы обычно используется текстовое окно, которое представлено компонентом (TMemo). Выберите в меню компонентов пиктограмму        и поместите компонент TMemo на форму. С помощью мыши отрегулируйте его размеры и местоположение. После установки с помощью инспектора свойства ScrollBars - SSBoth в окне появятся вертикальная и горизонтальная полосы прокрутки.

            В тексте программы появилась переменная Memo1 типа ТMemo. Информация, которая отображается построчно в окно типа ТMemo, находится в массиве строк Memo1.Lines. Каждая строка имеет тип String.

            Для очистки окна используется метод Memo1.Clear. Для того чтобы добавить новую строку в окно, используется метод  Memo1.Lines.Add (переменная типа String).

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

            Например, если переменная u:=100 целого типа, то метод Memo1.Lines.Add(‘Значение u=’+IntToStr(u)) сделает это и в окне появится строка “Значение u=100”. Если переменная u:=-256,38666 действительная, то при использовании метода Memo1.Lines.Add(‘Значение u=’+FloatToStrF(u.fffixed,8,2)) будет выведена строка “Значение u= -256.39”. При этом под все число отводится восемь позиций, из которых две позиции занимает его дробная часть.

            Если число строк в массиве Memo1 превышает размер окна, то для просмотра всех строк используется вертикальная полоса прокрутки. Если длина строки Memo1 превосходит количество символов в строке окна, то в окне отображается только начало строки. Для просмотра всей строки используется горизонтальная полоса прокрутки.

 

Пример: Найти сумму 5 чисел в одномерном массиве.

Разместите  на форме компоненты  Memo1, 2 – Label, Button, Edit, как на рисунке 15.1

 

 

 

 

 

 

Рисунок 15.1

 

В свойстве MemoLines | TString … удалить текст «Memo1»и «OK». При нажатии на кнопке опишите процедуру :

 

procedureTForm1.Button1Click(Sender: TObject);

var a: array [0..9] of integer;

sum, I : integer;

begin

sum:=0;

for i:=0 to 4 do

begin

a[i]:=StrToInt(Memo1.Lines[i]));

sum:=sum+a[i];

end;

edit1.Text:=IntToStr(sum);

end;

 

Вводите все значения в Memo1 !!!!!

 

Задание 1.

 

Вариант 1. Дан массив размера N. Вывести его элементы в обратном порядке. 

Вариант 2. Дан массив размера N. Вывести вначале его элементы с четными 1|нечетными 2 индексами, а затем -  с нечетными 1| четными 2. 

Вариант 3.Дан действительный массив А(п). Найти максимальный и "минимальный элементы массива.

Вариант 4. Дан целочисленный массив размера N. Вывести вначале все его четные1|нечетные2 элементы, а затем — нечетные1|четные2. 

Вариант 5. Поменять местами минимальный и максимальный элементы массива размера 10. 

Вариант 6. Заменить все положительные1|отрицательные2 элементы целочисленного массива размера 10 на значение минимального3|максимального4. 

Вариант 7. Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами. 

Вариант 8.Дан целочисленный массив А(п) , В(п). Создать новыймассив С(п), элементами которого являются произведениясоответствующих элементов массивов Аи В.

Вариант 9.В массиве В(п), найти сумму всех положительных и произведение всех отрицательных элементов. Результат вывести на экран.

Вариант 10.Дан массив С(п ). Поменять знаки на противоположный увсех отрицательных элементов массива.

Вариант 11. В массиве С(п) все четные элементы заменить на 0, анечетные на 1.

Вариант 12.Дан массив А(п). Создать новый массив, элементамикоторого являются произведение A(i) на максимальный элементмассива А.

Вариант 13. Дан массив А(п). Уменьшить все его элементы на минимальный элемент массива А

Вариант 14.В массиве A(п), состоящий из вещественных чисел,возвести в квадрат все нечетные отрицательные числа, а положительные четные заменить на единицу.

Вариант 15. Дан массив А(п). Вывести в порядке следования: все отрицательные числа, затем все положительные числа.

 

Вариант 16. Дано вещественное число R и массив размера N. Найти элемент массива, который наиболее 1| наименее 2 близок к данному числу. 

Вариант  17.Дан массив А(п), состоящий из целых чисел и натуральное число k. Требуется:

а)удалить из массива k-ыйэлемент;

б)вставить заданное число m в k-ую позицию массива.

Вариант 18.Дан массив А(п), состоящий из целых чисел. Найти количество и сумму тех элементов, которые делятся на 5 и не делятся на 7.

Вариант 19. Дан массив чисел. Найти наибольший элемент, поставить его первым.

Вариант 20. Дан массив чисел. Все элементы массива, начиная с первого положительного, уменьшить на 0.5.

 

Контрольные вопросы :

 

  1. Назначение и определение массива ?

  2. Что означает событие OnKeyPress?

  3. Что означает метод  Show для компоненты Edit1 ?

  4. При определении массива указывается его …. ?

  5. Какой компонент используется для работы с одномерным массивом ?

bottom of page