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

Автор: Пользователь скрыл имя, 04 Декабря 2010 в 16:34, контрольная работа

Краткое описание

Языки программирования это формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя.

Файлы: 1 файл

Московский Государственный Медико.docx

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

Московский  Государственный  Медико-Стоматологический

Университет

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

Реферат

На  тему:

«Основные понятия языков программирования» 
 

                    Подготовил:

                    Студент 2 курса 1 группы

                    экономического факультета

                    Тешабаев Чингиз 

Москва, 03.12.2010

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

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

     Языки программирования это формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя.

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

Языки низкого уровня Языки высокого уровня
Машинно-ориентированные  языки

(машинные  коды, Ассемблер)

Алгоритмические языки

вместо  команды ассемблера ADD языки высокого уровня позволяют написать нормальное математическое выражение со знаком «+», например, a=b+c.

   Каждый  язык программирования предназначен для  решения определенного класса задач:

  • Фортран – старейший язык программирования, предназначен для решения математических задач.
  • Кобол – для решения экономических задач
  • Бейсик , Pascal – для обучения
  • Java (джава) – язык сетевого программирования.

Для системного программирования наиболее подходят языки C, C++ и Ассемблер. C и – язык разработанный  для написания операционной системы UNIX (обычно ядро операционных систем писали на Assembler ).  

2. Системы программирования 

     Системы программирования – это комплексы программ и прочих средств, предназначенных для разработки и их эксплуатации на конкретном языке программирования для конкретного вида ЭВМ.

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

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

+ библиотека подпрограмм, + Help

     Выделяют  два вида трансляторов: интерпретаторы и компиляторы.

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

     В отличие от интерпретатора компилятор осуществляет перевод на машинный язык всей исходной программы.

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

     Большинство современных компиляторов работают в режиме трансляции.

     В некоторых языках, вместо машинного  кода генерируется интерпретируемый двоичный код "виртуальной машины", также называемый байт-кодом ( byte-code ). Такой подход применяется в Forth, Lisp, Java , Perl, Python, а также в языках платформы Microsoft .NET.

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

     Среда визуальной разработки — среда разработки программного обеспечения, в которой наиболее распространённые блоки программного кода представлены в виде графических объектов. Применяются для создания прикладных программ и любительского программирование. 

3. Синтаксис и семантика 

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

     Синтаксис – описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию).

     Пример  синтаксической ошибки : употребление оператора цикла For без To или Next, или отсутствие знака равенства в приведенной на рисунке программе.

     Синтаксические  ошибки распознаются встроенным синтаксическим анализатором.

     Синтаксису  языка противопоставляется его  семантика. Синтаксис языка описывает «чистый» язык, в то же время семантика приписывает значения (действия) различным синтаксическим конструкциям.

      Семантика – определяет смысловое значение предложений алгоритмического языка.

     Пример семантической ошибки :

1) For i As Integer = 1 To 10 Step -2

2) Если  надо вычислить , то запись x = a / b * c содержит семантическую ошибку, т.к. приоритет операций деления и умножения одинаков, то вначале а делиться на b , а затем полученный результат умножает на с .

     Поиск этих ошибок происходит с помощью  логического анализа работы программы  и ее тестирования.  

4. Классы языков  программирования

Программирование
Императивное Декларативное
функциональное логическое
 

     Императивные  языки программирования – Бейсик, Паскаль, Си и прочие (включая объектно-ориентированные).

     Императивное  программирование наиболее популярное. Характеризуются последовательным, пошаговым изменением состояния  вычислителя. При этом управление изменениями  полностью определено и полностью  контролируемо.

     Одна  из характерных черт императивного  программирования – наличие переменных с операцией "разрушающего присвоения". То есть, была переменная А, было у нее значение Х. Алгоритм предписывает на очередном шаге присвоить переменной А значение Y. То значение, которое было у А, будет "навсегда забыто".

     Если  задача описывается последовательным исполнением операций ("открыть  кран, набрать воды"), то такие  задачи идеальные кандидаты на императивную реализацию.

     Декларативные языки программирования:

     Функциональные языки программирования – LISP , ISWIM ( If you See What I Mean ), ML ( Meta Language ), Miranda

     В языках функционального программирования основными конструктивными элементами являются функции. Тексты программ на функциональных языках программирования описывают «как решить задачу», но не предписывают последовательность действий для решения.

     Способ  решения задачи описывается при  помощи зависимости функций друг от друга (в том числе возможны рекурсивные зависимости) без указания последовательности шагов.

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

     Логические  языки программирования – Prolog.

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

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

Программирование
Процедурное Объектно-ориентированное
 

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

     Ада, Бейсик, Си, C++, С# (из Microsoft) КОБОЛ, Паскаль, Delphi, Фортран, Java, Перл, Visual Basic, PHP

     Объектно-ориентированные  подход к программированию - это подход к разработке программного обеспечения, основанный на объектах, а не на процедурах.

     Java, Си, Visual Basic

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

     Объект – это базовое понятие ООП. Любой объект принадлежит одному или нескольким классам, которые в свою очередь определяют, описывают поведение объекта.

     Примеры классов : "Гном", "Хоббит", "Маг".

     Примеры объектов : "хоббит по имени Фродо Бэггинс", "маг по имени Гэндальф".

     Каждый  объект характеризуется свойствами, методами и событиями.

     Свойства – описание объекта. Примеры атрибутов: "имя", "рост". Набор конкретных значений определяет текущее состояние объекта.

     Метод – это действие объекта, изменяющее его состояние или реализующее другое его поведение. Пример методов: "назвать свое имя", "стать невидимым".

     Объект, класс, метод, свойства, события – это базовые понятия ООП.

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

Информация о работе Основные понятия языков программирования