Абстракция данных
| English | Русский |
|---|---|
| complexity/kəmˈpleksɪti/ | сложности |
| Data abstraction/ˈdeɪtə əbˈstrækʃn/ | Абстракция данных |
| list/lɪst/ | списком |
| abstract data type/ˈæbstrækt ˈdeɪtə taɪp/ | абстрактный тип данных |
| general/ˈdʒenərəl/ | общий |
| abstraction/əbˈstrækʃn/ | абстракцией |
| modeling/ˈmɒdəlɪŋ/ | моделирование |
| model/ˈmɒdl/ | модель |
Сокрытие деталей для управления сложностью
- Реальные программы работают с большим объемом данных.
- Абстракция данных скрывает детали, чтобы мы могли управлять сложностью.
- Вместо того чтобы отслеживать множество мелких элементов отдельно, мы группируем их под одним именем.
- Наиболее распространенным инструментом для этого является список.
Использовать список или одну переменную?
Список (абстракция данных) оправдан, когда у вас много похожих значений; одной переменной достаточно для одного самостоятельного значения.
Абстракция данных помогает программисту тем, что:
Группировка данных под одним именем скрывает ненужные детали.
______ группирует множество значений под одним именем, например, все оценки класса.
Список является наиболее распространенным абстрактным типом данных.
Использование списка делает код универсальным: один и тот же цикл работает для 5 или 500 значений.
Код ссылается на список по имени, а не к каждому значению отдельно.
Списки группируют многие значения
- Список — это абстрактный тип данных, который группирует множество значений под одним именем.
- Один список
scoresможет хранить оценки всего класса — без отдельной переменной для каждого ученика. - Использование списка делает код более универсальным: один и тот же код работает как с 5 значениями, так и с 500.
- Он ссылается на список по имени, а не к каждому значению по отдельности.
Каковы преимущества абстракции данных? (Выберите все подходящие)
Одно понятное имя превосходит пятьдесят отдельных по всем трем показателям.
Почему абстракция полезна
- Меньше повторений — вы пишете логику один раз, а не для каждого значения.
- Легче вносить изменения — добавьте значение в список, и тот же код продолжит работать.
- Меньше ошибок — одно понятное имя проще использовать верно, чем пятьдесят отдельных имен.
- Это именование и группировка составляют суть абстракции.
Модель класса хранит имена, но игнорирует цвет глаз, потому что:
Модель упрощает реальность, оставляя только релевантную деталь.
Со списком добавление шестого ученика не требует новой переменной и новой строки вывода.
Изменяются только данные; тот же цикл обрабатывает их.
Абстракция — это моделирование
- Абстракция данных является формой моделирования.
- Модель упрощает что-либо, чтобы мы могли сосредоточиться на важном.
- Список имен учеников моделирует класс, игнорируя такие детали, как цвет глаз, которые программе никогда не нужны.
Пять баллов. Без абстракции: пять переменных mark1…mark5 и пять строк вывода. Со списком marks: один цикл выводит каждый элемент. Если присоединится шестой ученик, изменятся только данные — не нужна новая переменная, не нужна новая строка.
Абстракция данных скрывает детали для управления сложностью, обычно с помощью списка — абстрактного типа данных, группирующего многие значения под одним именем. Она делает код универсальным (работает для любого размера), уменьшает повторения и ошибки, и представляет собой вид моделирования: оставляйте то, что важно, игнорируйте остальное.