Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. С таким умыслом первоначально задумывался C. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. С таким умыслом предварительно задумывались средства, добавленные к C для создания C++.
Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Как и в случае с естественными языками, есть огромная польза быть по крайней мере двуязычным. Язык предоставляет программисту набор концептуальных инструментов; если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств.
Cистема типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством.
Постановка задачиНаписать информационную систему по учёту автомобилей. Организовать автостоянки по районам. Осуществлять поиск автомобилей на конкретной автостоянке и по всем автостоянкам по владельцу, по номеру автомобиля, по марке автомобиля.
Добавление, удаление автомобилей со стоянок.
Для реализации поставленной задачи используется система классов, организующая интерфейс работы с базой данных: добавления, удаления, изменения и получения записей, хранящихся в, базе данных.
3. Структура выходных и входных данныхПрограмма использует 4 файла для хранения информации о районах, стоянках, автомобилях и марках машин. Каждый из файлов имеет структуру, представленную ниже:
Смещение в файле | Описание |
0х00 | Индефикатор файла ( “AM” ) |
0х02 | Количество столбцов |
0х03 | Номер автоувеличивающегося столбца |
0х04 | Номер последнего автоувеличения |
0x06 | Описание полей базы (размер, название) |
Область с данными (информация о длине берётся из описания полей). |
Для хранения информации о марках машин используется файл models.bas. Структура файла представлена ниже:
id | model |
“id”- индефикатор марки машины
“model ”- название марки машины
Для хранения информации о районах используется файл districts.bas. Структура файла представлена ниже:
id | district |
“id”- индефикатор района
“district”- название района
Для хранения информации о стоянках используется файл stations.bas. Структура файла представлена ниже:
id | station | sid |
“id”- индефикатор стоянки
“station”- название стоянки
“sid”- индефикатор района, к которому принадлежит стоянка
. Для хранения информации о автомобилях используется файл cars.bas. Структура файла представлена ниже:
id | model | number | owner | cid | did |
“id”- индефикатор автомобиля
“ model ”- модель автомобиля
“ number ”- номер автомобиля
“ owner ”- имя владельца автомобиля
“ cid ”- индефикатор стоянки, в котором стоит автомобиль
“ did ”- индефикатор района, в котором стоит автомобиль
Диаграмма классов
... : в зоне запрещающих знаков, на тротуаре, газоне) Рекламную компанию планируется проводить за неделю до открытия стоянки. Гарантийное обслуживание: За сохранность автомобилей автостоянка несет материальную ответственность, если по вине организации проезда или постановки транспортного средства был нанесен вред автомобилю. Для информирования клиентов планируется подавать объявления в Калужские ...
по серии 1.415–1 вып. 1 0,71 1,8 18 12,78 3 Колонна К60–36 по серии 1–423 вып. 3 1,1 2,8 96 105,60 4 Стеновая панель ПСЛ 24–311 по серии 1.432–14/80 вып. 1 1,7 2,2 32 54,40 5 Ригель по серии 1.020–1/3 вып. 1 1,04 2,6 105 109,20 6 Панель перекрытия и покрытия ИИ15–6 по серии 1.020–1 вып. 1 0,95 2,4 192 182,40 7 Лестничный марш ЛМ ...
... финансовые средства для малого бизнеса, которые можно условно разделить на четыре основные группы: - краткосрочные и долгосрочные кредиты банков и другие кредитные ресурсы (основой кредитных отношений юридических и физических лиц с банком является кредитный договор); - привлеченные финансовые средства инвестора (средства от продажи акций, паевые и иные взносы членов трудовых коллективов, ...
... не развит. Практикуются лишь экскурсии в отдельные монастыри и церкви, которые по длительности не превышают несколько часов. Рассмотрев все данные, я пришла к выводу, что развитие паломнического и религиозно-познавательного туризма в Новгородской области имеет большое будущее. В этой области обнаружилось великолепное сочетание важных исторических памятников, огромное количество почитаемых святынь ...
0 комментариев