- •1. Основные этапы развития программирования как науки. Стихийное программирование.
- •2 Этап.
- •3 Этап.
- •4 Этап.
- •2. Структурный подход к программированию.
- •3. Объектный подход к программированию.
- •4. Процедуры с параметрами. Описание, пример.
- •5. Функции с параметрами. Описание, пример.
- •6. Область действия идентификаторов при использ. Проц. И функц.
- •7. Способы передачи параметров. Формальные и фактич. Параметры.
- •Параметры-значения
- •Параметры-константы
- •8. Параметры – значения. Механизм работы.
- •9. Параметры – переменные. Механизм работы.
- •10. Параметры – константы. Механизм работы.
- •11. Рекурсия. Понятия, пример.
- •12. Строки в delphi. Способы реализации строк. Основные процедуры. И функции.
- •13. Записи в delphi. Пример программы.
- •15. Модули в delphi. Понятие, описание, использование.
- •16. Программирование с использованием динамической памяти. Структура оперативной памяти. Понятие указателя.
- •17. Указатели. Описание в программе. Допустимые операции.
- •Операции над указателями
- •Нулевой указатель
- •18. Статические и динамические переменные. Динамические структуры данных.
- •19. Линейные списки. Основные операции над линейными списками.
- •20. Формы хранения информации. Их сравнение.
- •21. Стэк. Понятие, описание в программе, основные операции.
- •22. Очередь. Понятие, описание в программе, основные операции.
- •23. Списки. Понятие, описание в программе, основные операции.
- •25. Постфиксная, префиксная, инфиксная записи выражения.
- •26. Деревья. Понятия бинарного дерева. Способы представления д.
- •27. Бинарное дерево. Способы прохождения дерева.
- •28. Бинарное дерево поиска. Построение, использование.
- •Использование бинарных деревьев поиска Создание примеров деревьев поиска.
- •Симметричный метод прохождения.
- •Дублированные узлы
- •30. Графические средства delphi.
- •31.Понятие объекта. Основные свойства ооп.
- •32. Поля, методы и свойства объекта.
- •33. Использование конструктора и деструктора.
- •35. Основные операторы языка с.
- •36. Операторы инкремента и декремента. Операторы присваивания.
- •37. Функции scanf() и printf().
- •38. Способы задания развветвляющегося алгоритма в с. Пример.
- •39. Циклические алгоритмы. Виды циклов в с. Пример.
- •40. Табулирование функции одной переменной на заданном отрезке. Блок-схема. Программа.
- •41. Алгоритм вывода простых чисел меньше 100 в с.
- •42. Алгоритм разложения числа на простые множители в с.
- •43. Организация средства человеко-машинного интерфейса. Пользовательский интерфейс. Согласованность пи.
- •44. Стиль программирования. Критерии качества программы.
- •45. Тестирование программных продуктов.
1. Основные этапы развития программирования как науки. Стихийное программирование.
В истории развития программирования можно проследить 4 этапа. Первые 2 этапа – этапы становления; 3,4 – этапы, ориентированные на создание программного продукта. При этом 1-3 этапы – этапы процедурного программирования. Деление условно. Доминирующее сейчас ООП не отменяет структурного программирования. Они существуют как две взаимосвязанные части современной программной продукции.
Этапы:
1 этап.
Зачаточное состояние программирования. Время – появление и первоначальное использование ЭВМ. Первые программисты – конструкторы этих машин. Программирование и конструирование ЭВМ непосредственно влияли друг на друга. Конструкторы сами изобретали программные средства и тут же реализовывали их в своих разработках. Программирование велось исключительно в машинных кодах – 2й, 8й и 16й СС.
2 Этап.
К.50х – сер.70х гг. Появились люди, способные писать программы. В то время не существовало практически никакой теории создания программ и программных систем. Каждая программная разработка зависела от опыта, знаний, интуиции исполнителей, у которых перед глазами не было каких-либо существенных примеров. Однако лучшие программисты сумели создать достаточно мощные и надежные программные средства, заложив основу современных теорий программирования, было разработано много трансляторов, операционных и прикладных систем, являющихся хорошей базой современного практического программирования.
3 Этап.
Методология структурного программирования появилась как следствие возрастания сложности решаемых на компьютерах задач, и соответственного усложнения программного обеспечения. В 70-е годы XX века объёмы и сложность программ достигли такого уровня, что «интуитивная» разработка программ перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать, поэтому потребовалась какая-то систематизация процесса разработки и структуры программ. Следование принципам структурного программирования сделало тексты программ нормально читаемыми, появилась возможность разработки программ в нормальном промышленном режиме. Это позволило разрабатывать достаточно крупные для того времени программные комплексы силами коллективов разработчиков, и сопровождать эти комплексы в течение многих лет, даже в условиях неизбежных изменений в составе персонала.
4 Этап.
Настоящее время. При этом подходе общая задача разлагается на связанные между собой подзадачи, каждая из которых становится самостоятельным объектом. Языки программирования основаны на 3х базовых концепциях: инкапсуляция, полиморфизм, наследование.
Инкапсуляция – механизм, объединяющий данные и программный код для их обработки, при этом осуществляется защита от внешнего вмешательства и неправильного использования данных. Полученный в результате инкапсуляции модуль называется объектом. Внутри объекта коды и данные могут быть закрытыми (private) и открытыми (public). Закрытые части недоступны извне объекта.
Полиморфизм – свойство, позволяющее использовать одно и то же имя для решения нескольких технически разных задач. Используется для создания общего интерфейса для группы близких по смыслу действий. Выполнение конкретного действия зависит от данных. Полиморфизм применяется как к функциям, так и к операциям.
Наследование – процесс, посредством которого один объект может приобретать свойства другого и добавлять к ним черты, характерные только для него. Наследование позволяет поддерживать концепцию иерархии.
ООП предполагает оперирование классами (объект – это экземпляр класса). Классы имеют набор свойств, изменяя которые можно строить алгоритм программы. К объектам можно применять методы, определённые для каждого класса.