Контрольная работа на тему Программирование
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
Введение 3
Парадигмы программирования 5
Примеры программ, использующих разные парадигмы 11
Императивное программирование 11
Структурное программирование 12
Объектно-ориентированное и событийное программирование 12
Классификация стилей программирования 18
Заключение 21
Список литературы 22
Введение:
Парадигма программирования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ. Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.
Знакомое нам из курса философии слово » парадигма » имеет в информатике и программировании узко профессиональный смысл, сближающий их с лингвистикой. Парадигма программирования как исходная концептуальная схема постановки проблем и их решения является инструментом грамматического описания фактов, событий, явлений и процессов, возможно, не существующих одновременно, но интуитивно объединяемых в общее понятие. Каждая парадигма программирования имеет свой круг приверженцев и класс успешно решаемых задач. В их сфере приняты разные приоритеты при оценке качества программирования, отличаются инструменты и методы работы и соответственно — стиль мышления и изобразительные стереотипы. Нелинейность развития понятий, зависимость их обобщения от индивидуального опыта и склада ума, чувствительность к моде и внушению позволяют выбору парадигм в системе профессиональной подготовки программистов влиять на восприимчивость к новому.
Так как с использованием компьютеров в настоящее время решаются самые разнообразные задачи, выбор стиля программирования играет одну из ведущих ролей. Поэтому обзор стилей программирования (парадигм) с точки зрения их применения для решения тех или иных классов задач, является актуальным.
Целью исследования является обзор основных парадигм программирования.
Объектом исследования является программирование, т.е. создание программ для компьютеров.
Предметом исследования являются парадигмы программирования.
Задачами исследования являются:
1. Обзор основных характеристик различных парадигм программирования;
2. Определение круга задач, наиболее предпочтительных для использования тех или иных парадигм;
3. Определение языков программирования, исповедующих одну или несколько парадигм программирования;
4. Классификация парадигм программирования.
Заключение:
Изучая парадигмы программирования важно знать, что программирование это широкое понятие, включающее в себя различные типы, виды, языки, основанные на ключевых правилах. Не существует идеальных языков программирования. К счастью, язык программирования и не обязан быть идеальным, чтобы быть хорошим инструментом для написания даже огромных систем. В действительности, язык общего применения не может быть идеальным для всех задач. То, что является совершенством для одной задачи, очень часто оказывается недостатком для другой, потому что достижение совершенства в конкретной области подразумевает специализацию.
Не все можно выразить непосредственно, пользуясь встроенными возможностями языка. На практике к этому и не нужно стремиться. Средства языка существуют для поддержки разнообразных стилей и методов программирования. Следовательно, при изучении программирования нужно делать упор не на комплексном освоении программирования, а на освоении стиля, который является родным и естественным для этого языка.
При практическом программирования мало толку от знания самых «тайных» средств языка или от использования максимально возможного количества средств. То или иное средство языка само по себе не представляет большого интереса. Только в контексте общей технологии и других средств оно приобретает смысл и значение. Поэтому подлинной целью глубокого проникновения в язык должно быть стремление научиться использовать средства языка в комплексе, опираясь на хороший стиль программирования и выверенные методы проектирования. Опытный разработчик применяет для этого различные парадигмы по мере необходимости.
Фрагмент текста работы:
Парадигмы программирования
Словосочетания «процедурное программирование», «объектно-ориентированное программирование» и «функциональное программирование» наверняка известны каждому человеку, который хоть немного знаком с компьютерами и программированием. Всё это обозначения различных парадигм (стилей) программирования. В настоящее время существует целый спектр парадигм программирования [3, 4]. Краткие пояснения к существующим парадигмам программирования приведены в табл. 1. Перечислим их с короткими пояснениями
Таблица 1
Краткие пояснения к парадигмам программирования
Название Краткое пояснение
императивное программа = последовательность действий, связанных условными и безусловными переходами
процедурное программа = последовательность процедур, каждая из которых есть последовательность элементарных действий и вызовов процедур, структурированных с помощью структурных операторов if, for и while
объектно-ориентированное программа = несколько взаимодействующих объектов, функциональность (действия) и данные распределяются между этими объектами
функциональное программа = система определений функций, описание того, что нужно вычислить, а как это сделать — решает транслятор; последовательность действий не прослеживается
продукционное (логическое) программа = система определений и правил вида «условие => новый факт»
сентенциальное программа = система правил вида «шаблон => трансформирующее действие»
событийное программа = система правил вида «событие => новые события» + диспетчер событий
автоматное программа = конечный автомат или автомат специального типа
В императивном программировании в условном операторе обычно записываются простые условия на одну или несколько переменных. Более того, обычно, это локальные переменные. И действия, которыми оперирует «императивный» программист обычно просты и касаются изменения небольшого числа локальных переменных. Впрочем, следует отметить что локальность данных типичный но не опеделяющий признак императивного программирования.
В сентенциальном программировании условия формулируются как условия на состояние всех данных, и действие, которое осуществляется при удовлетворении условий может привести к модификации любой части всех данных.
Парадигма программирования проявляется не только в том, как организованы условия и действия, но также в том, как организованны данные в программе. Например, в сентенциальном программировании данные глобальны.
Наличие глобальных переменных, которые активно используются во многих функциях, говорит о том, что эти переменные определяют состояние системы, а это говорит о использовании парадигмы автоматного или сентенциального программирования.
Если наоборот — глобальных переменных нет, и у функций нет никаких побочных эффектов, то скорее всего программист мыслил согласно парадигме функционального программирования.
У функции нет побочных эффектов означает то, что она использует как входные данные, и то, что она вычисляет (выходные данные) явно прописано в её семантике как аргументы и возвращаемое значение.
В первую очередь, это означает, что функция не меняет глобальных переменных.
Можно сказать, что функциональное и автоматное программирование дуальны по отношению к организации данных: в автоматном программировании данные глобальны, а в функциональном — локальны.
Программе в функциональном программировании естественно сопоставить ориентированный граф потока данных, в котором каждая вершина есть функция. В качестве входных данных функция использует результаты тех функций, из которых в неё ведёт стрелочка. Входные данные целиком «закачиваются» в одну из вершин этого графа, а затем по нему «растекаются» и результат вычислений как бы собирается в некоторой точке. Весь это граф с выделенным входом и выходом можно свернуть в вершину и рассматривать как отдельную функцию.