Понятие концепции структурирования в программировании
ВВЕДЕНИЕ
Структурированное программирование - это концепция, которая в основном применяется к процедурным языкам и языкам сценариев (например, COBOL). Объектно-ориентированные и функциональные языки могут извлечь выгоду из этого понимания, но правильная структура классов и рекурсия устраняют большую часть необходимости. Структурированное программирование, независимо от языка реализации, начинается с трех конструкций: Последовательность (Сделать А, затем В), Выбор (Если / Иначе) и Итерация (Циклы). Дейкстра провел подробное математическое доказательство того, что все программирование сводится к этим трем и никаким другим. Одна из наиболее важных концепций программирования - это возможность управлять программой так, чтобы выполнялись разные строки кода или чтобы некоторые строки кода выполнялись много раз. Механизмы, которые позволяют нам контролировать поток выполнения, называются управляющими структурами .
Содержание
Введение
1. Основные объекты при составлении программы на языке программирования
1.1 Язык Python
1.2 Язык Java
2. Методология структурного программирования
2.1 Объекты и классы на примере (Java или Python)
2.2 Шаблон стратегии
Заключение
Список литературы
McKinney W. Python for data analysis: Data wrangling with Pandas, NumPy, and IPython. – " O'Reilly Media, Inc.", 2012.
Virtanen P. et al. SciPy 1.0: fundamental algorithms for scientific computing in Python //Nature methods. – 2020. – Т. 17. – №. 3. – С. 261-272.
Бенджамин Дж. Эванс, Джеймс Гоф, Крис Ньюленд. Java: оптимизация программ. Практические методы повышения производительности приложений в JVM. — М.: Диалектика, 2019. — 448 с.
Джошуа Блох. Java. Эффективное программирование = Effective Java. — 3-е. — М.: Диалектика, 2019. — 464 с.
Кеннет Рейтц, Таня Шлюссер. Автостопом по Python : [рус.] = The Hitchhiker`s Guide to Python : [пер. с англ.]. — Издательский дом «Питер», 2017.
Кей С. Хорстманн. Java. Библиотека профессионала, том 1. Основы. 10-е издание = Core Java. Volume I - Fundamentals (Tenth Edition). — М.: «Вильямс», 2017. — 864 с.
Для начала рассмотрим реализацию __dict__ типа. Если посмотреть на определение PyTypeObject (категорически рекомендую почитать!), можно увидеть слот tp_dict, готовый принять указатель на словарь. Этот слот должен быть у всех типов. Словарь туда помещается при вызове ./Objects/typeobject.c: PyType_Ready, который происходит или при инициализации интерпретатора (помните Py_Initialize? Эта функция вызывает _Py_ReadyTypes, которая вызывает PyType_Ready для всех известных типов), или когда пользователь динамически создаёт новый тип (type_new вызывает PyType_Ready для каждого новорожденного типа перед его возвращением). На деле, каждое имя, которые вы определяете в инструкции class оказывается в __dict__ нового типа (строчка ./Objects/typeobject.c: type_new: type->tp_dict = dict = PyDict_Copy(dict);). Не забывайте, что типы — это тоже объекты, т.е. у них тоже есть тип — type, у которого есть слоты с функциями, предоставляющими доступ к атрибутам нужным образом. Эти функции используют словарь, который есть у каждого типа, и на который указывает tp_dict, для хранения/обращения к атрибутам. Таким образом, обращение к атрибутам типа — это, по сути, обращение к приватному словарю экземпляра типа type, на который указывает структура типа.