Программирование. Стили программирования

Автор: Пользователь скрыл имя, 20 Ноября 2010 в 14:32, реферат

Описание работы

Программа должна быть легко читаемой, ее структура должна соответствовать структуре и алгоритму решаемой задачи. Для этого необходимо следовать правилам хорошего стиля программирования. Стиль программирования — это набор правил, которым следует программист в процессе своей работы. Очевидно, что хороший программист должен следовать правилам хорошего стиля.

Хороший стиль программирования предполагает:

•использование комментариев;
•использование несущих смысловую нагрузку имен переменных, процедур и функций;
•использование отступов;
•использование пустых строк.

Содержание

1.Введение………………………………………………………………2
2.Программирование…………………………………………………...3
3.Стили программирования……………………………………………3
4.Классификация стилей программирования…………………………4
5.Процедурное программирование…………………………………….5
6.Функциональное программирование………………………………...9
7.Логическое программирование………………………………………11
8.Объектно-ориентированное программирование……………………12
9.Заключение…………………………………………………………….15
10.Список литературы……………………………………………………16

Работа содержит 1 файл

ИВТ.doc

— 109.50 Кб (Скачать)

   В языке Pascal реализован ряд концепций, рассматриваемых  как основа «дисциплинированного» программирования и заимствованных впоследствии разработчиками многих языков. Одним из существенных признаков языка Pascal является последовательная и достаточно полная реализация концепции структурного программирования. Причем это осуществляется не только путем упорядочивания связей между фрагментами программы по управлению, но и за счет структуризации данных. Кроме того, в языке реализована концепция определения новых типов данных на основе уже имеющихся. Этот язык, в отличие от языка С, является строго типизированным. Pascal характеризуется:

    • высоким уровнем;
    • широкими возможностями;
    • стройностью, простотой и краткостью;
    • строгостью, способствующей написанию эффективных и надежных программ;
    • высокой эффективностью реализации на ЭВМ.

   Pascal реализован  на ЭВМ различных типов, но  наиболее распространен и развит  для ПЭВМ. В настоящее время  широко используются такие версии  этого языка для ПЭВМ, как Borland Pascal и Turbo Pascal.  

6.Функциональное программирование

   Сущность  функционального (аппликативного) программирования определена А. П. Ершовым как «... способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции — оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

   Роль  основной конструкции в функциональных языках играет выражение: К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из X в X, где X — множество выражений.

   Аппликативный язык программирования включает следующие  элементы:

   классы  констант, которыми могут манипулировать функции;

   набор базовых функций, которые программист  может использовать без предварительного объявления и описания;

   правила построения новых функций из базовых;

   правила формирования выражений на основе вызовов  функций.

   Программа представляет собой совокупность описаний функций и выражения, которые  необходимо вычислить. Данное выражение  вычисляется посредством редукции, то есть серии упрощений, до тех пор, пока это возможно по следующим правилам: вызовы базовых функций заменяются соответствующими значениями; вызовы не базовых функций заменяются их телами, в которых параметры замещены аргументами.

   Функциональное  программирование не использует концепцию  памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекты программы, что полностью соответствует понятию переменной в математике. В принципе, можно составлять программы и вообще без переменных. Кроме того, нет существенных различий между константами и функциями, то есть между программами и данными. В результате этого функция может быть значением вызова другой функции и может быть элементом структурированного объекта. Число аргументов при вызове функции не обязательно должно совпадать с числом параметров, указанных при ее описании. Перечисленные свойства характеризуют аппликативные языки как языки программирования очень высокого уровня.

   Первым  таким языком был LISP(Лисп) (LISt Processing — обработка списков), созданный  в 1959 году. Цель его создания состояла в организации удобства обработки символьной информации. Существенная черта этого языка — унификация программных структур и структур данных: все выражения записываются в виде списков. 

7.Логическое программирование.

   Новую область — логическое, или реляционное программирование, — открыло появление языка PROLOG (Пролог) (PROgramming in LOGic — программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог. Так, имеется свыше 15 различных его реализаций на ПЭВМ. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта, рассматриваемых в данном учебном пособии.

   Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений  отношений между объектами (в  терминах условий или ограничений) и цели (запроса). Процесс выполнения программы трактуется как процесс общезначимости логической формулы, построен- ной из программы по правилам, установленным семантикой используемого языка. Результат вычисления является побочным продуктом этого процесса. В реляционном программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Это свидетельствует о декларативности языка логического программирования. Она метко выражена в формуле Р. Ковальского: «алгоритм = логика + управление». Языки логического программирования характеризуются:

   высоким уровнем;

   строгой ориентацией на символьные вычисления;

   возможностью  инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные;

   возможной логической неполнотой, поскольку зачастую невозможно выразить в программе  определенные логические соотношения, а также невозможно получить из программы  все выводы правильные.

   Логические  программы, в принципе, имеют небольшое быстродействие, так как вычисления осуществляются методом проб и ошибок, поиском с возвратами к предыдущим шагам. 

8.Объектно-ориентированное программирование.

   Прототипом  объектно-ориентированного программирования послужил ряд средств, входящих в  состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.

   В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: «объект - данные + процедуры». Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение данных и процедур в одном объекте называется инкапсуляцией и присуще объектно-ориентированному программированию.

   Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой  объект можно определить как экземпляр класса.

   Программирование  рассматриваемого стиля заключается  в выборе имеющихся или создании новых объектов и организации  взаимодействия между ними. При создании новых объектов свойства объектов могут  добавляться или наследоваться  от объектов-предков. В процессе работы с объектами допускается полиморфизм — возможность использования методов с одинаковыми именами для обработки данных разных типов.

   К наиболее современным объектно-ориентированным  языкам программирования относятся C++ и Java.

   Язык C++ был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL, Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее — C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации.

   В 1990 году сотрудник корпорации Sun Д. Гослинг  на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка, получила название Java. Первый броузер, который поддерживал язык Java, разработан программистом корпорации Sun П. Нафтоном и получил название HotJava. С января 1995 года Java получает распространение в Internet.

   Согласно  официальному определению авторов, Java является простым объектно-ориентированным  и архитектурно-нейтральным языком интерпретирующего типа, обеспечивающим надежность, безопасность и переносимость, обладающим высокой производительностью в сочетании с многопоточностью и динамичностью.

   Принципиальной  разницей между Java и C++ является то, что  первый из них является интерпретируемым, а второй – компилируемым. Синтаксис языков практически полностью совпадает.

   С точки  зрения возможностей собственно объектно-ориентированных  средств язык Java обладает рядом преимуществ  перед языком C++. Так, язык Java демонстрирует более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что улучшает надежность и понимаемость кода. Язык же C++ обладает сложной, неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, однако, синтаксическая избыточность C++ заставляет и здесь отдать предпочтение языку Java.

   В силу своей конструктивности идеи объектно-ориентированного программирования используются во многих универсальных процедурных языках. Так, например, в состав интегрированной системы программирования на языке PASCAL (корпорации Borland International) версии 5.5 входит специальная библиотека объектно-ориентированного программирования Turbo Vision.

   В последнее  время многие программы, в особенности  объектно-ориентированные, реализуются  как системы визуального программирования. Отличительной особенностью таких  систем является мощная среда разработки программ из готовых «строительных блоков», позволяющая создать интерфейсную часть программного продукта в диалоговом режиме, практически без кодирования программных операций. К числу объектно-ориентированных систем визуального программирования относятся; Visual Basic, Delphi, C++Builder и Visual C++.

 

   9.Заключение.  

   Это далеко не всё, что можно рассказать о стилях программирования, но всё же достаточно для формирования первоначального представления о них.

   Выбор стиля  программирования зависит  от многих факторов, к ним могут относится, знания программиста, удобства в работе, тип программы и т.д. Каждый программист обязан сам выбрать стиль, в котором он будет работать, ведь от этого выбора будет зависеть успех в разработке новой программы.   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

   10.Список литературы. 

  1. Академик  А.П. Ершов. Предварительные соображения  о лексиконе программирования . –  http://www.codenet.ru/progr/cpp/C-Style.php
  2. Д. Гриса Наука програмировать.-http://www.finam.ru/dictionary/wordf02BDA/default.asp?n=32
  3. Ф. Л. Бауэра. Язык широкого спектра. – http://allpasc.narod.ru/pascalbook/glav8.htm
  4. Д. Кнута. Искусство программирования. – http://lectureroom.net/9.html
  5. Шелест В.Д. Программирование. – СПб.: БХВ - Петербург, 2002. – 592 с.: ил.
  6. Назаров С.В., Мельников П.П. Программирование на MS Visual Basic: Учеб. пособие / Под ред. Назарова. – М.: финансы и статистика, 2001. – 320 с.: ил.
  7. Венц. Профессия – программист. – http://www.computer-museum.ru/books/n_collection/teaching.htm
  8. Тарасов. Мир, построенный на вероятности. – http://kainsk.tomsk.ru/g2003/other22/hp.htm
  9. Кормен. Алгоритмы. – www.vzshit.net.ru/index.php?id=8
  10. Вирт. Алгоритмы + Структуры данных = Программы. – distance.ru/files/kursov/tech_programming.pdf

Информация о работе Программирование. Стили программирования