Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Коментарі

A = Intersect(l, m)визначає точку перетинання прямих lі m.

L = Line(A, B)визначає пряму l, що проходить через точки A, B

Circle: ( точка, точка ) →окружність

o = Circle(A, B) визначає окружність о з центром у т. А, що проходить

через т. В.

CircleRad: ( точка, точка, точка ) →окружність

o = CircleRad(A, B, C) визначає окружність о з центром у т. А,

побудовану розчином циркуля c ніжками, встановленими в B, C.

IntersectLines( пряма, пряма ) →точка

IntersectCircles( окружність, окружність )( точка, точка )

(A, B) = IntersectCircles(o, p) визначає пари точок A, B перетинання окружностей o і p.

IntersectLineCircle( пряма, окружність )( точка, точка )

(A, B) = IntersectLineCircle(l, o) визначає пари точок A, B перетинання прямої l і окружності o.

З примітивних типів об'єктів АТД Планіметрія, як з базових, будуються так звані похідні складені типи. Наприклад, тип відрізок можна визначити як пари точок, а тип трикутник - як трійку точок

(вершин):

Відрізок = (точка, точка)

Тим самим відрізок визначається в системі як пари точок – початок і кінець відрізка.

Трикутник = (точка, точка, точка)

Трикутник у системі визначається точками – своїми вершинами.

Для цих типів, у свою чергу, визначаються операції. Наприклад, операції

GetBeginPoint (Відрізок)→Точка

GetEndPoint (Відрізок)→Точка

виділяють відповідно точки – початок і кінець відрізка.

З примітивних (базових) операцій АТД можна визначати похідні операції. Наприклад, операція

ParralelLine: (точка, пряма)→пряма, результатом якої є пряма, що паралельна даній прямій і проходить через дану точку, може бути визначена через примітивні операції і використана потім в алгоритмах розв'язання задач на побудови.

Відзначимо, що реалізацію (інтерпретацію) АТД можна здійснювати окремо, використовуючи структури даних, орієнтовані на структуру пам'яті комп'ютера. Одне з можливих рішень – введення і використання декартової системи координат на площині. Це рішення відноситься тільки до реалізації, оскільки в задачах на побудову системи координат не використовуються.

Таким чином, ядро програмної системи, що вирішує поставлені задачі, має три рівні:

рівень опису додатків АТД Планіметрія;

рівень опису АТД Планіметрія;

рівень реалізації АТД Планіметрія.

 

Рис 3.1. Логічна структура ядра системи Планіметрія.

Середній рівень цієї структури утворює інтерфейс між верхнім і нижчим її рівнями. Додатки тепер можна програмувати в термінах АТД Планіметрія, не вникаючи в проблеми нижнього рівня, пов'язані з реалізацією.

Використання концепції абстрактних типів даних при проектуванні програмних систем у багатьох системах програмування підтримується засобами модульного програмування.

Модульний підхід до алгоритмізації (програмування), полягає в декомпозиції проектованої системи в сукупність окремих модулів (бібліотек) з добре відпрацьованим інтерфейсом.

3.2. Власні типи даних і інструкції в С++

Власні типи даних надаються самою мовою С++. В C++ це прості типи, такі як символьний (character), цілий (integer), з плаваючою точкою (floating - point) і булевою (boolean).

До власних типів відносяться також і похідні від простих типи: масиви (array), покажчики (pointer) і структури (structure). У цій главі ми зосередимося на вивченні простих власних типів даних і інструкцій.

Важливою рисою ТОП є розширюваність типів. Ця можливість мови дозволяє розробляти нові типи відповідно до проблемної області. Для того, щоб функціонувати належним чином, новий тип повинен працювати також, як власні типи мови. У об'єктно-орієнтованому проектуванні створення визначуваних користувачем типів повинне імітувати вид і властивості власних типів.

Елементи програми

Програма складається з елементів, званих лексемами (toren). Лексеми - це набори символів; вони формують базовий словник, розпізнаваний компілятором. Набір символів, використовуваних в мові, включає: Прописні та строчні буквы: ab - z A B – Z, Цифри: 0 1 – 9, оператори: + * = <, знаки пунктуації:;, ' - "

Між лексемами можна залишати порожній простір і вставляти коментарі для легкості читання і докуменування програм. Існує п'ять типів лексем:

· ключові слова (keywords),

· ідентифікатори (identifiers),

· літерали (literals),

· оператори (operators) і знаки пунктуації.

У C++ багаторядковий коментар виглядає так: /* можна декілька рядків */. Крім того, C++ допускає однорядковий коментар: //до кінця рядка.

#include <iostream.h>//заголовний файл введення-виводу

<== предыдущая лекция | следующая лекция ==>
Абстракції даних | Ключові слова
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 299; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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