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

Автор работы: Пользователь скрыл имя, 14 Октября 2010 в 18:14, Не определен

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

Языки программирования

Файлы: 1 файл

работа.doc

— 257.50 Кб (Скачать файл)

МИНИСТЕРСТВО  НАУКИ И ОБРАЗОВАНИЯРОССИЙСКОЙ  ФЕДЕРАЦИИ

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ

ФИНАНСОВО-ЭКОНОМИЧЕСКИЙ ИНСТИТУТ 
 
 
 
 

Кафедра математики и экономической информатики 
 
 
 
 

РЕФЕРАТ 
 
 
 

Понятие о программировании. Языки программирования 
 
 
 
 
 
 
 

                    Выполнил: Молотов Л.А.

                    Группа110

                    Проверила: доц. Кодолова И.А. 
                     
                     
                     

Казань 2010

Содержание 

    Введение            3

    1. Основные положения о программировании      4

      1.1.Понятие программирования        4

      1.2.Парадигмы программирования       5

      1.3.Инструментарий технологии программирования     8

    2. Языки программирования         11

       2.1. Понятие языка программирования       11

       2.2. Классификация языков программирования     14

       2.3. Описание некоторых языков программирования    17

    3. Язык программирования Java        22

       3.1. Обзор языка Java          22

       3.2.Процесс создания Java-программы       23

       3.3. Достоинства языка Java         25

    Заключение            28

    Список  использованных источников        29 
 
 
 
 
 
 
 
 
 
 
 
 

Введение 

                  Когда изучаешь какой-либо вопрос, считаешь, что  знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, когда можешь научить этому кого-нибудь другого; и совершенно уверен, когда начинаешь программировать. Алан.Дж.Перлис 

    До  середины 60-х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз.

    Языки программирования этой эры, как и  компьютеры на которых они использовались, были разработаны для специфичных задач, таких как научные вычисления. Поскольку машины были дорогими и медленными, то и машинное время было дорого – поэтому скорость выполнения программы стояла на первом месте.

      Однако в течение 60-х цена  на компьютеры стала падать  так, что даже небольшие компании могли их себе позволить; скорость компьютеров всё увеличивалась, и наступило время, когда создатели языков программирования все больше стали задумываться об удобстве написания программ, а не только скорости их выполнения.

    На  заре компьютеризации, машинный язык был  единственным языком, большего человек к тому времени не придумал. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня (т.е. немашинные языки).«Мелкие» (атомарные) операции, выполняемые непосредственно устройствами машины, объединили в более «крупные», высокоуровневые операции и целые конструкции, с которыми человеку куда проще и удобнее работать. Так программирование сделало колоссальный прорыв: новые языки стали своеобразным связующим мостом между человеком и машинным языком компьютера.

    Прогресс  компьютерных технологий определил  процесс появления новых разнообразных знаковых систем для записи алгоритмов (языков программирования) и развитие процесса программирования в целом. 

  1. Основные  положения о программировании
 
    1. Понятие программирования

    Терминпрограммирование означаетпроцесс и искусство создания компьютерных программ с помощью специальных языков программирования.

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

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

    Программирование  включает в себя:

    • Анализ
    • Проектирование - разработка комплекса алгоритмов
    • Кодирование и компиляцию - написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора
    • Тестирование и отладку - выявление и устранение ошибок в программах
    • Испытания и сдачу программ
    • Сопровождение

    Различные языки программирования поддерживают различные стили программирования (так называемые«парадигмы программирования»). Отчасти, искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).

    Единственный  язык, напрямую выполняемый процессором  - это машинный язык (также называемый «машинным кодом»). Как уже было сказано, изначально, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого, программисты пишут исходный код, и компьютер (используя компилятор, интерпретатор или ассемблер, речь о которых пойдёт чуть позже) транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Однако, в некоторых языках, вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, Lisp, Java (данному языку посвящена 3 Глава реферата).

    Теперь, когда мы знаем немного о понятии  «программирование», можно переходить к материальной части процесса создания программ. Это, разумеется, технические (аппаратные) средства обеспечения программирования - совокупность электрических, электронных и механических компонентов автоматизированных систем составляет их техническое обеспечение (в отличие от программных средств, представляющих собой программное обеспечение автоматизированных систем). Например, электронная вычислительная машина (ЭВМ) или компьютер - комплекс технических и программных средств, основанных на использовании электроники и предназначенных для автоматической или автоматизированной обработки данных в процессе решения вычислительных и информационных задач. 

    1. Парадигмы программирования

    В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ.В зависимости от назначения и/или способа написания программ различаютпарадигмы(также известные как подходыили технологии) программирования:

    Структурное программирование - методология программирования, базирующаяся на системном подходе к анализу, проектированию и реализации программного обеспечения.  Эта методология родилась в начале 70-х годов и оказалась настолько жизнеспособной, что и до сих пор является основной в большом количестве проектов. Основу этой технологии составляют следующие положения:

    • Сложная задача разбивается на более мелкие, функционально лучше управляемые задачи. Каждая задача имеет один вход и один выход. В этом случае управляющий поток программы состоит из совокупности элементарных подзадач с ясным функциональным назначением.
    • Простота управляющих структур, используемых в задаче. Это положение означает, что логически задача должна состоять из минимальной, функционально полной совокупности достаточно простых управляющих структур. В качестве примера такой системы можно привести алгебру логики, в которой каждая функция может быть выражена через функционально полную систему: дизъюнкцию, конъюнкцию и отрицание.
    • Разработка программы должна вестись поэтапно. На каждом этапе должно решаться ограниченное число четко поставленных задач с ясным пониманием их значения и роли в контексте всей задачи. Если такого понимания не достигается, это говорит о том, что данный этап слишком велик и его нужно разделить на более элементарные шаги.

    Концепция модульного программирования.Так же как и для структурной технологии программирования, концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:

    • Функциональная декомпозиция задачи - разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач - модулей. Модули связаны между собой только по входным и выходным данным.
    • Модуль - основа концепции модульного программирования. Каждый модуль в функциональной декомпозиции представляет собой «черный ящик» с одним входом и одним выходам. Модульный подход позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль.
    • Реализуемые решения должны быть простыми и ясными. Если назначение модуля непонятно, то это говорит о том, что декомпозиция начальной или промежуточной задачи была проведена недостаточно качественно. В этом случае необходимо еще раз проанализировать задачу и, возможно, провести дополнительное разбиение на подзадачи. При наличии сложных мест в проекте их нужно подробнее документировать с помощью продуманной системы комментариев. Этот процесс нужно продолжать до тех пор, пока вы действительно не добьетесь ясного понимания назначения всех модулей задачи и их оптимального сочетания.
    • Назначение всех переменных модуля должно быть описано с помощью комментариев по мере их определения.

    Объектно-ориентированное  программирование (ООП).Идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект. ООП основано на трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.

    • Инкапсуляция - объединение в единое целое данных и алгоритмов обработки этих данных. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами.
    • Наследование - свойство объектов порождать своих потомков. Объект - потомок автоматически наследует от родителей все поля и методы, может дополнять объекты новыми полями и заменять (перекрывать) методы родителя или дополнять их.
    • Полиморфизм - свойство родственных объектов (т.е. объектов, имеющих одного общего родителя) решать схожие по смыслу проблемы разными способами.

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

    Прикладное  программирование - разработка и отладка программ для конечных пользователей, например бухгалтерских, обработки текстов и т.п.

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

    Декларативное (логическое, продукционное) программирование - метод программирования, предназначенный для решения задач искусственного интеллекта. В указанном контексте программа описывает логическую структуру решения задачи, указывая преимущественно, что нужно сделать, не вдаваясь в детали, как это делается. Используются языки программирования типа Пролог.

    Параллельное  программирование - разработка программ, обеспечивающих одновременное (параллельное) выполнение операций, связанных с обработкой данных.

    Процедурное (процедурно-ориентированное) программирование - метод программирования, в соответствии с которым программы пишутся как перечни последовательно выполняемых команд. При этом используются процедурно-ориентированные языки программирования.

    Функциональное  программирование- метод программирования, основанный на разбиении алгоритма решения задачи на отдельные функциональные модули, а также описании их связей и характера взаимодействия. Для функционального программирования наиболее широко используются языки НОРЕ и ML. Элементы функционального программирования реализуются также другими языками, например Си.

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