Русское просвещение: основные черты и особенности

Автор работы: Пользователь скрыл имя, 30 Октября 2014 в 12:13, реферат

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

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

Содержание

Введение…………………………………………………………………………..2
Глава 1. Языки программирования высокого уровня………………………..3
1.1. Понятия о языках программирования высокого уровня.
1.2. Метаязыки описания языков программирования.
1.3. Грамматика языков программирования.
Глава 2. Обзор современных языков программирования высокого уровня…13
2.1. Паскаль как язык структурно–ориентирования программирования.
2.2. Бейсик как язык проблемно–ориентированного программирования.
2.3. Общая характеристика языка программирования СИ.
2.4. Основы логического программирования на языке Пролог.
2.5. Введение в функциональное программирование на языке Лисп.
2.6. Введение в объектно–ориентированное программирование.
Глава 3. Индивидуальное задание………………………………………….… 35
Выводы и предложения…………………………………………………………38
Список используемой литературы……………………………………………40

Вложенные файлы: 1 файл

Курсовой проект(новый).docx

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

 

 

 

 

 

 

Реферат

ПО ДИСЦИПЛИНЕ «КУЛЬТУРОЛОГИЯ»

НА ТЕМУ: «РУССКОЕ ПРОСВЕЩЕНИЕ: ОСНОВНЫЕ ЧЕРТЫ И ОСОБЕННОСТИ»

 

 

 

 

 

 

 

 

 

 

Содержание

Введение…………………………………………………………………………..2

Глава 1. Языки программирования высокого уровня………………………..3

    1. Понятия о языках программирования высокого уровня.
    2. Метаязыки описания языков программирования.
    3. Грамматика языков программирования.

Глава 2. Обзор современных языков программирования высокого уровня…13

    1. Паскаль как язык структурно–ориентирования программирования.
    2. Бейсик как язык проблемно–ориентированного программирования.
    3. Общая характеристика языка программирования СИ.
    4. Основы логического программирования на языке Пролог.
    5. Введение в функциональное программирование на языке Лисп.
    6. Введение в объектно–ориентированное программирование.

Глава 3. Индивидуальное задание………………………………………….… 35

Выводы и предложения…………………………………………………………38

Список используемой литературы……………………………………………40

 

 

 

 

 

 

                                    Введение

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

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

Цель работы – изучить алгоритмические языки и методы программирования.

Поставленная цель предполагает решение следующие задачи:

- изучить алгоритмические языки;

- узнать методы программирования.

 

 

 

 

 

Глава 1. Языки программирования высокого уровня

    1. Понятия о языках программирования высокого уровня.

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

  • алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

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

  • конструкции команд (операторов) отражают содержательные виды обработки данных и задаются в удобном для человека виде;

  • используется аппарат переменных и действия с ними;

  • поддерживается широкий набор типов данных.

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

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

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

        Язык БНФ (называемый также языком нормальных форм) представляет компактную форму в виде некоторых формул, похожих на математические. Для каждого понятия языка существует единственная метаформула (нормальная форма). Она состоит из левой и правой частей. В левой части указывается определяемое понятие, а в правой - задается множество допустимых конструкций языка, которые объединяются в это понятие. В формуле используют специальные метасимволы в виде угловых скобок, в которых заключено определяемое понятие (в левой части формулы) или ранее определенное понятие (в ее правой части), а разделение левой и правой частей указывается метасимволом «::=», смысл которого эквивалентен словам «по определению есть».

Например, метаформулы

<переменная>::=А]В

<выражение>::=<переменная>|<переменная>+<переменная>|<переменная><переменная>-<переменная>

Означают, что в том (сугубо модельном) языке, на который эта метаформула распространяется, под термином <переменная> понимается любая из букв А или В, а под термином <выражение> - любая из следующих десяти записей: А; В; А+А; А+В; В+А; В+В; А-А; А-В: В-А; В-В Знак 1 следует читать «или». Правая часть метаформулы может содержать правило построения допустимых последовательностей. Допускаются рекурсивные определения терминов и понятий, т.е. когда в правой части формулы участвует понятие, определяемое левой частью. Например, пусть необходимо ввести понятие <двоичный код>, под которым понимался любая непустая последовательность цифр 0 и 1. Тогда простое и компактное рекурсивное определение с помощью метаформул выглядит так:

<двоичная цифра>::= 0|1

<двоичный код>::=<двоичная цифра>|<двоичный код> <двоичная цифра>

Рекурсия здесь не мешает конструктивному построению понятия <двоичный код>, так как по принятым правилам при первом обращении к рекурсивно определяемому понятию следует ограничиться нерекурсивной частью формулы, т.е. под двоичным кодом понимать двоичную цифру - 0 или 1. Но при втором обращении к метаформуле, определяющей двоичный код, мы имеем варианты (конечно, неполные) понятия <двоичный код>, и можем применить рекурсию, которая даст нам следующие варианты этого понятия: 0 1 00 01 10 11, т.е. все возможные одно- и двухцифровые двоичные коды. Очевидно, что при следующих применениях рекурсии мы получим любой возможный двоичный код. Для задания синтаксических конструкций произвольной длины часто используют фигурные скобки как метасимволы. Фигурные скобки означают, что конструкция может повторяться нуль или более раз. В частности, термин <двоичный код> можно определить по другому, а именно:

<двоичный код>::=<двоичная цифра><двоичная цифра>

И еще, для полноты множества синтаксических конструкций, необходимо определить конструкцию <пусто>:

<пусто>::=.

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

       Синтаксическая диаграмма является графическим представлением значения ме-тапеременной метаязыка. Диаграмма состоит из основных символов или понятий языка.

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

Для сравнения с метаформулами приведем несколько примеров.

Синтаксическая диаграмма

<переменная>:: =

цсвивалентна метаформуле <переменная>::= А\В.

Еще примеры:

 

         Читатель может поупражняться в составлении синтаксических диаграмм для известных ему языков программирования.

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

    1. Грамматика языков программирования.

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

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

<буква>::= AaBbCcDd и т.д.

<цифра>::=0 1 2 3 4 5 6 7 8 9

<знак арифметической  операции>::=* / + -

<разделитель>::=. , ; : ( ) { } [ ] ‘ :=

<служебное слово>::= begin end if и т.д.

<спецсимвол>::=<знак арифметической операции> | <разделитель> | <служебное слово>

<основной символ>::=<буква> | <цифра> | <спецсимвол>

<комментарий>::=<любая последовательность символов>

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

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

Информация о работе Русское просвещение: основные черты и особенности