Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Последовательность выполнения работы. Пример 2. Удаление элемента, выделенного в ListBox




Пример 2. Удаление элемента, выделенного в ListBox

Объявление типа запись

Теоретическая часть

ЛАБОРАТОРНАЯ РАБОТА

«ЗАПИСИ»

 

Ростов-на-Дону


Цель работы: изучить понятие записи. Освоить правила работы с записями и их назначение.

 

 

Запись позволяет объединить разнородные элементы.

 

 

type <имя записи>= record

<поля записи>

end;

 

В качестве полей записей могут выступать как переменные, так и методы.

 

type

SexType = (male, female);

Person = record

Name: string;

Age, Weight: integer;

Sex: SexType;

end;

 

Инициализация записи:

 

var p: Person:= (Name: 'Иванов'; Age: 20; Weight: 80; Sex: male);

 

или

 

var p: Person;

begin

p.Age:=20;

p.Name:='Иванов';

end.

 

Операция присваивания для записей:

 

var p,p1: Person;

begin

p.Age:=20;

p.Name:='Иванов';

p1:=p;

end.

 

Для того чтобы при обращении к полям записи не писать каждый раз префикс (p.) можно использовать оператор with.

 

begin

with p do

begin

write('Введите имя '); readln(Name);

write('Введите возраст '); readln(Age);

end;

writeln('Вас зовут ',p.Name,'. Вам ',p.Age,'года\лет');

end.

 

Также можно объявить массив записей. Например:

 

var list:array[1..10] of Person;

i:integer;

begin

for i:=1 to 10 do

begin

readln(list[i].Name);

readln(list[i].Age);

end;

end.

 

или

 

var list:array[1..10] of Person;

i:integer;

begin

for i:=1 to 10 do

with list[i] do

begin

readln(Name);

readln(Age);

end;

end.

 

Записи в качестве параметров можно передавать как в процедуры, так и функции. Функции также могут возвращать запись.

Например:

 

type

SexType = (male, female);

Person = record

Name: string;

Age, Weight: integer;

Sex: SexType;

end;

 

var list:array[1..10] of Person;

i:integer;

 

procedure add(var p:Person);

begin

with p do

begin

readln(Name);

readln(Age);

end;

end;

 

procedure print(p:Person);

begin

with p do

writeln(Name,' - ',Age);

end;

 

begin

for i:=1 to 1 do

add(list[i]);

for i:=1 to 1 do

print(list[i]);

end.

 

Пример 1. Организация меню для консольного приложения

procedure menu; forward;

 

procedure add;

var i:byte;

begin

writeln;

writeln('add');

sleep(2000);

writeln;

menu;

end;

 

procedure menu;

var x:byte;

begin

writeln('1-add');

writeln('2-exit');

readln(x);

case x of

1:add;

2:exit;

end;

end;

 

 

begin

menu;

end.

 

 

uses FormsABC;

var l:listbox;

a:array[1..10] of integer;

b:button;

 

procedure del;

var i:byte;

begin

for i:=l.SelectedIndex+1 to 10-1 do

a[i]:=a[i+1];

a[10]:=0;

l.Items.Clear;

for i:=1 to 10 do l.Items.Add(a[i]);

end;

 

begin

MainForm.SetSize(300,300); //устанавливаем размер формы

MainForm.CenterOnScreen; // устанавливаем, чтобы форма выводилась по центру

l:=new ListBox();

for var i:=1 to 10 do

begin

a[i]:=random(50);

l.Items.Add(a[i]);

end;

b:=new Button('Del');

b.Click+=del;

end.

 

 

 

Создать программу, которая хранит базу данных в виде одномерного массива. Тип элементов массива - запись.

Для данной базы данных необходимо реализовать подпрограммы:

  • добавить запись в базу
  • удалить запись из базы
  • вывод всех элементов базы
  • поиск по ключевому полю.

В программе обязательно должны быть подпрограммы в виде функций и процедур.

 

Для получения не более 7 балов за лаб. раб. достаточно создать консольное приложение, организовав диалог с пользователем с помощью операторов read и write.

 

Для получения от 8 до 10 балов необходимо создать windows приложение, где интерфейс реализован в виде формы и управляющих элементов.

 

Варианты заданий

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

Поиск должен происходить по каждому критерию отдельно.

 

  1. База студентов. О каждом студенте хранится: номер его зачетки, фамилия, имя, группа, год рождения. Организовать поиск по фамилии и номеру зачетки.
  2. База автомобилей. О каждой машине хранится: номер машины, марка, цвет, пробег, год выпуска. Организовать поиск по марке и году выпуска.
  3. База книг. О каждой книге хранится: номер книги, автор, название, год издания, количество страниц. Организовать поиск по автору и году издания.
  4. База лекарств. О каждом лекарстве: название, год выпуска, назначение, вес, тип (таблетки, микстура,...). Организовать поиск по названию и назначению.
  5. База вин. О каждом вине хранится тип вина (сухое, полусладкое,...), название, цвет, год урожая. Организовать поиск по названию и типу.
  6. База оборудования. Об оборудовании тип, наименование, стоимость, состояние (отличное, хор, удовл). Организовать поиск по типу и наименованию.
  7. База сотрудников. О каждом сотруднике фамилия, имя, пол, паспорт, год рождения. Поиск по фамилии и году рождения.
  8. База фильмов. О каждом фильме: название, год выпуска, страна, продолжительность. Поиск по названию и году выпуска.
  9. База программ. О каждой программе: название, назначение, тип (системная, прикладная, инструментальная), год выпуска. Поиск по названию и году выпуска.
  10. База продуктов. О каждом продукте: наименование, тип (молочный, мясной...), стоимость, вес. Поиск по наименованию и стоимости.
  11. База кафе (ресторанов). О каждом кафе: название, адрес (название улицы), уровень, год открытия. Поиск по названию и адресу.
  12. База писем. О каждом письме: фамилия получателя, фамилия отправителя, адрес отправителя, адрес получателя, дата получения. Поиск по фамилии отправителя и дате получения.
  13. База пользователей форума. О каждом пользователе: логин, пароль, фамилия, дата регистрации, дата последнего входа. Поиск по фамилии и дате регистрации.

 

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




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 321; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.