
- •Д.С.Ситкин
- •Информатика.
- •Программированиевdelphi
- •Лабораторныйпрактикум
- •Содержание
- •Введение
- •Основныепонятияпрограммирования
- •Этапыпрограммирования
- •Средаdelphi.Созданиепростейшегопроекта
- •Формаиеёсвойства
- •Компонентыформыиихсвойства
- •КомпонентLabeledEdit
- •Событиеипроцедураобработкисобытия
- •Пример1.1
- •Компиляцияизапускпроектанаисполнение
- •Структураисохранениепроекта
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Линейныйалгоритм
- •Типыданных
- •Константыипеременные
- •Арифметическиеоперации
- •Правилазаписитиповыхдействий
- •Структурапроцедурыобработкисобытия
- •Пример2.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Подпрограммы
- •Классификацияиструктураподпрограмм
- •Механизмработыподпрограммыиобменапараметрами
- •Пример3.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Структурамодуля
- •Созданиеиподключениемодуля
- •Пример4.1
- •Условныйоператор.Неполнаяформа
- •Условныйоператор.Полнаяформа
- •IfусловиеthenоператорS1elseоператорS2
- •Пример5.1
- •Пример5.2
- •Операторвыбора
- •Пример5.3
- •Содержаниеотчёта
- •Контрольныевопросы
- •Контрольсинтаксисавводимыхданных
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Алгоритмыповторений
- •Операторцикласпредварительнымусловием
- •Пример7.1
- •Операторцикласпараметром(сосчётчиком)
- •Пример7.2
- •Пример7.3
- •Операторцикласпоследующимусловием
- •Пример7.4
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Массивы
- •Объявлениемассива
- •Обработкамассивов
- •Пример8.1
- •Динамическиемассивы
- •Подпрограммасоткрытымпараметром-массивом
- •Пример8.2
- •Целесообразностьвыделенияпамятиподмассивы
- •Контрольсинтаксисаэлементовмассива
- •Задание
- •Обработкамногомерныхмассивов
- •Пример9.1
- •КомпонентStringGrid
- •Пример9.2
- •Сортировкамассивов
- •Пример9.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Внешниефайлы
- •Физическиеилогическиефайлы
- •Классификациялогическихфайлов
- •Процедурыифункцииобработкифайлов
- •Пример 10.1
- •КомпонентыOpenDialog иSaveDialog
- •Пример 10.2
- •Пример 10.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Олабораторнойработе
- •Информатика. Программированиев delphi
Пример5.3
Разработаем справочную систему для расчёта стоимости проез-да в один из пригородов с тремя уровнями комфорта и возможностьюскидки.Исходныеданныепредставленывтабл.5.4.
Таблица5.4
Исходныеданные
Пунктназначения |
Базоваястоимость |
Параметры |
Коэффициент |
0)Подпорожье |
300руб. |
IIIкласс |
1 |
1)Пушкин,2) Всеволожск |
100руб. |
IIкласс |
1,25 |
3)Выборг,4)Приозерск, 5)Гатчина,6)Тосно |
200руб. |
Iкласс |
1,5 |
скидка |
0,75 |
Блок-схема
алгоритма
реше-нияпредставленанарис.5.11.Сначалаповыбранномугородуиз
списка(снумерациейотнуля)определяетсябазоваястоимостьпоездки. Если на момент расчётагородневыбран,тостоимостьимеет нулевое значение и пользо-ватель информируется об ошибке.Затемстоимостькорректируетсяв
зависимостиотклассаиналичия
скидки.Третийкласснеучтён,т.к.онневлияет настоимость.
Дляразмещениянаформесписка городов использован ком-понентListBox(свойства и способформированияспискаописанывработе 1). Для выбора одного изтрёх взаимоисключающих классовразмещены три компонентаRadio-Button(одинизнихследуетвклю-
читьнаэтаперазработкиформы),а для учёта скидки, которая можетбыть предоставлена для любого изклассов,–компонентCheckBox.
Пример работы приложения пред-ставленнарис.5.12.
procedureTForm1.Button1Click(Sender:TObject);
varst:real;n:byte;
begin
n:=ListBox1.ItemIndex;
casenof
0:st:=300;
1,2:st:=100;
3..6:st:=200;
else
begin
st:=0;
ShowMessage('невыбрангород');
end;end;
ifRadioButton2.Checkedthenst:=st*1.25elseifRadioButton3.Checkedthenst:=st*1.5;
ifCheckBox1.Checkedthenst:=st*0.75;
Рис.5.12
Label2.Caption:='вкассу'+FloatToStr(st)+'руб';
end;
Задание
Разработатьалгоритмвычислениязначенияфункции,пред-ставитьеговвиде блок-схемыиреализовать,создавпроект
x,x0 x21,x1
sin(2x)
1,x1
2
y,0x1
y ,x1
yx3,x1
1.
2. cos2x
3.
x,x1
x,x1
0,x1
ex,x0
7 x1,x3
0,x1
y
x
4.yx1,1x0 5.
cos
,0x1
2
6.yx11,
x3
x,
x1
0,x1
7
x1,x3
2
cosx,xx2,x0


x0
y
7.ysinx
x,0x
8.y
9. 0,2x0

x2,x2
1,
x0
Разработать алгоритм определения отношения точкивыделеннойобласти(рис.5.13)иреализоватьего, создавпроект
6. y
1
0 1 x
y y
8. 9.
1
0 1 x
1
0 1 x
Рис.5.13
Разработатьсправочнуюсистемудляинформированияполь-зователяостоимостипроездавсоответствиисвариантомтабл.5.5.
Таблица5.5
Вариантызаданий
№ |
городов |
цен.категорий |
1кл. |
2кл. |
3кл. |
возм.скидка |
иобратно |
1 |
7 |
4 |
1,5 |
1,3 |
0,75 |
25% |
нет |
2 |
8 |
3 |
2 |
1,5 |
0,8 |
нет |
да |
3 |
9 |
5 |
1,5 |
1 |
нет |
30% |
да |
4 |
10 |
5 |
1,4 |
0,8 |
нет |
нет |
да |
5 |
9 |
4 |
1,5 |
1,25 |
0,9 |
30% |
нет |
6 |
8 |
4 |
1,2 |
1,1 |
1 |
50% |
да |
7 |
7 |
5 |
1 |
0,9 |
0,7 |
нет |
да |
8 |
6 |
3 |
1,25 |
0,75 |
нет |
нет |
да |
9 |
7 |
4 |
2 |
1,5 |
1 |
20% |
нет |