Тема 4. Базовые конструкции современных языков программирования
Программирование последовательных и разветвляющихся процессов. Программирование циклических вычислительных процессов. Рекурсия. Обработка исключений.
Определенные управляющие конструкции, без goto, разбиение программы на меньшие части.
Прямая последовательность, ветвление (полная, неполная и множественная форма), цикл (с пред-условием=цикл-пока, с постусловием=цикл-до, со счетчиком).
o begin-end
o {}
Рис.2. Прямая последовательность.
o if () then {} else {}
o if () then {}
o if () then {} elseif () then {} else {}
o switch-case
Рис.3. Ветвление.
o do while {} loop
o do {} loop while ()
o for ii=1 to n {} next
o for (ii=n-1, i>=0, i--) {} next
o foreach item in arrA {} next
Рис.4. Циклы.
Процедуры и функции – специальные фрагменты кода программы, выполняющие определенные действия. Вызываются по именам, могут иметь параметры, или аргументы.
Концепция модульного программирования. Понятие модуля.
Модули программы могут обрабатываться отдельно друг от друга, например отдельно редактироваться, компилироваться, а потом собираться вместе в готовую программу. Имеют место исходные модули, объектные модули, исполняемые модули.
Концепция объектно-ориентированного программирования. Классы и объекты. Инкапсуляция.
В окружающем мире есть объекты, которые имеют свойства и поведение. В ООП предметная область представляется более естественно: в виде объектов, содержащих сведения о данных и действиях над ними. Есть классы и объекты. Объект – это экземпляр класса. Класс животные имеет объекты волк, лиса, черепаха. Данные и обработка собраны в одном месте, в классе, это инкапсуляция. Содержимое класса защищено от доступа извне его. Повышается защищенность программиста от собственных ошибок. В программах меньше связей по данным. Разработка идет легче, результат лучше.
Основные принципы организации и структурирования программ. Основные виды объектов языков программирования (типы, константы, переменные, процедуры), их назначение и отношения между ними. Средства структурирования программ: модули, разделы, блоки, подпрограммы. Именование объектов и правила их локализации, контекст именования. Организация памяти языковой машины.
Для борьбы со сложностью, программы необходимо разбивать на меньшие части. Независимую функциональность оформлять в виде подпрограмм, тексты программ разность по разным файлам, модулям. Подпрограммы по сути бывают процедуры и функции, терминология в разных языках разная. Данные делятся по типам.. Константа не изменяет значения, переменная меняется во время выполнения программы. Класс собирает в одном месте данные и подпрограммы и изолирует от внешнего воздействия, повышается надежность. Именем можно пользоваться в том блоке, меодуле, где оно определено. Указав контекст именования можно пользоваться в другом месте.
Внешняя память – HDD диски, Tape ленты, CD, DVD. ОЗУ – последовательность байтов, слов, обращение по адресам. Сверхбыстрая память – регистры, их мало, обращен. по номеру.