Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Размещение многострочного окна вывода (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

 

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

 

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

 

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

Использование компонентов списков и выпадающих списков.

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

Теория.

Для создания списков существуют 2 компоненты ListBox и ComboBox.

Компонент класса TListBox представляет собой стандартный для Windows список выбора, с помощью которого пользователь может выбрать один или несколько элементов выбора. В компоненте предусмотрена возможность программной прорисовки элементов, поэтому список может содержать не только с троки, но и произвольные изображения.

Комбинированный список TComboBox представляет собой комбинацию списка TListBox и редактора TEdit, и поэтому большинство его свойств и методов позаимствовано у этих компонентов. Существует пять модификаций компонента, определяемые его свойством style: csSimple, csDropDown, csDropDownList, csOwnerDrawFixed и csOwnerDrawVariable. Список, отображаемый в поле компонента, можно сформировать во время создания формы или во время работы программы. Чтобы сформировать список во время создания формы, надо выбрать свойство Items, щелкнуть на находящейся в поле значения свойства кнопке и в окне Sring List Editor ввести элементы списка.

Чтобы сформировать список во время работы программы (добавить в список элемент), надо применить метод Add к свойству Items.

Пример 1: По фамилии в списке вывести его должность.

1. Поместите на форму компоненты: 3 Label, ListBox и измените значения их свойств:

Свойство Caption у компоненты Label1- ‘ Список сотрудников’;

Свойство Caption у компоненты Label2- ‘ ‘;

Свойство Caption у компоненты Label3- ‘ Должность’;

2. Расположите компоненты как показано на рисунке 16.1 и введите текст программы для событий OnCreate для компоненты Form1 и OnClick для компоненты ListBox:

 

 

Рисунок 16.1

 

procedure TForm1.FormCreate(Sender: TObject);

begin

ListBox1.Items[0]: =’ Иванов’;

ListBox1.Items[1]: =’ Петров’;

ListBox1.Items[2]: =’ Сидоров’;

end;

 

Procedure TForm1.ListBox1Click(Sender: TObject);

var i: byte;

begin

i: =ListBox1.ItemIndex;

Case i of

0: Label2.Caption: =’ директор ’;

1: Label2.Caption: =’ менеджер ’;

2: Label2.Caption: =’ программист ’;

end;

end;

 

Пример 2: Просмотреть или добавить в список нового сотрудника.

1. Поместите на форму компоненты: 2 Label, ComboBox, Button, Edit и измените значения их свойств:

Свойство Caption у компоненты Label1- ‘ Список сотрудников’;

Свойство Caption у компоненты Label2- ‘ Введите сотрудника‘;

Свойство Caption у компоненты Label3- ‘ Добавить в список’;

2. Расположите компоненты как показано на рисунке 16.2 и введите текст программы для событий OnClick для компоненты Button1:

 

 

Рисунок 16.2

 

procedure TForm1.Button1Click(Sender: TObject);

begin

ComboBox1.Items.Add(Edit1.Text);

end;

 

Задание.

 

Вариант № 1

По введенному дню недели определить, рабочий или выходной день.

Вариант № 2

По введенному номеру месяца определить название месяца.

Вариант № 3

Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего времени года (" зима", " весна" и т.д.).

Вариант № 4

Имеются следующие описания:

Язык=(Паскаль, Ява, Бейсик, Фортран, Лисп)

По русскому названию языка вывести английский эквивалент.

Вариант № 5

Имеются описания:

Сезон=(зима, весна, лето, осень)

Погода=(тепло, холодно)

По сезону ответить какова погода.

Вариант № 6

Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — " плохо", 2 — " неудовлетворительно", 3 — " удовлетворительно", 4 — " хорошо", 5 — " отлично" ).

Вариант № 7

По введенному номеру месяца определить количество дней в месяце (год не високосный).

Вариант № 8

По возрасту человека определить ходит ли он в садик, в школу, на работу или сидит на пенсии, а при Н> 120 «Уже умер».

Вариант № 9

Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах.

Вариант № 10

Имеются следующие описания:

Страна=(Австрия, Болгария, Греция, Италия, Норвегия, Франция, ФРГ)

Столица=(Вена, София, Афины, Рим, Осло, Париж, Бон)

По значению страны определить столицу.

Вариант № 11

Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат.

Вариант № 12

Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах.

Вариант № 13

Группу детей, приехавшую в пионерский лагерь, распределяют по отрядам следующим образом:

6-7 лет – 5 отряд; 7-9 лет – 4 отряд; 9-11 лет – 3 отряд; 11-13 лет – 2 отряд; 13-15 (включительно) – 1 отряд. Определить по вводимому возрасту отряд для ребенка.

Вариант № 15

Имеются следующие описания:

Число=1..31

День недели=(вс, пн, вт, ср, чт, пт, сб, )

Считая, что год не високосный и его 1 января приходится на любой день недели, определить день недели, на который приходится день с введенной датой.

 

Вариант № 16

Робот может перемещаться в четырех направлениях (" С" — север, " З" — запад, " Ю" — юг, " В" — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот направо. Дан символ C — исходное направление робота и число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.

 

Вариант № 17

Элементы окружности пронумерованы следующим образом: 1 — радиус (R), 2 — диаметр (D), 3 — длина (L), 4 — площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения Pi использовать 3.14.

 

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

 

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

2. Компонент ListBox, методы компонента?

3. Компонент ComboBox, методы компонента?

4. Методы для заполнения списка?

 

Лабораторная работа № 19.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-08-31; Просмотров: 544; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.041 с.)
Главная | Случайная страница | Обратная связь