Понятие алгоритма |
Исполнитель алгоритмов |
Основные алгоритмические конструкции |
Разветвляющиеся алгоритмы |
Циклические алгоритмы |
Вспомогательные алгоритмы |
|
||||||||
|
||||||||
Понятие
языка программирования.
Классификация языков программирования. Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать команды, состоящие только из единиц и нулей, т. е. машинный код. На начальной стадии развития ЭВМ человеку было необходимо составлять программы на языке, понятном компьютеру, в машинных кодах. Каждая команда состояла из кода операций и адресов операндов, выраженных в виде различных сочетаний единиц и нулей. Как показала в дальнейшем практика общения с компьютером, такой язык громоздок и неудобен. При пользовании им легко допустить ошибку, записав не в той последовательности 1 или 0. Программу очень трудно контролировать. Кроме того, при программировании в машинных кодах надо хорошо знать внутреннюю структуру ЭВМ, принцип работы каждого блока. И самое плохое в таком языке, что программирование в машинных кодах требует от программиста много времени, труда, повышенного внимания. Это привело к необходимости найти такое средство, которое позволит более просто наладить общение человека и компьютера. И такое средство было найдено: различные символические языки и соответствующие им трансляторы (системы программирования). Транслятор представляет собой
программу, на основе которой машина преобразует вводимые в нее программы
на машинный язык, поскольку вычислительная машина может выполнять программы,
записанные только на языке машины, и алгоритмы, заданные на другом языке,
должны быть перед их выполнением переведены на машинный язык.
Алфавит и синтаксис языков программирования определяется исходя из стремления приблизить их к языку человека, но вместе с тем обеспечить возможность перевода записи алгоритма с языка программирования на машинный язык. В отличие от языка человека языкам программирования свойственна строгость синтаксических и семантических правил. В мире насчитывается несколько сотен символических языков программирования различных структур и возможностей, которые могут быть классифицированы по различным признакам. Главным квалификационным признаком языков и, следовательно, систем программирования является принадлежность к одному из оформившихся к настоящему времени стилей программирования, каждому из которых соответствует своя собственная модель вычислений.
Ведущими разработчиками систем программирования в настоящее время являются фирмы Microsoft и Borland International. Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих те или иные действия. Одним из важнейших квалификационных признаков процедурных языков является их уровень, характеризующий степень близости языка программирования и машинного языка. За начало отсчета уровней принимается машинный язык, уровень которого равен нулю. Язык человека рассматривается как язык наивысшего уровня. Рассмотрим некоторые языки программирования в порядке увеличения их уровня. Двоичный язык - в настоящее время программистами не применяется Существует ряд языков, некогда популярных, но утративших свои позиции в настоящее время:
Языки семейства Algol- не представлены на ПК по не вполне ясным причинам, т. к. обладает богатым набором средств, высокой строгостью и стройностью, но и большой сложностью. Реализация языка надолго затянулась, и он пережил самого себя. Функциональные
языки программирования. Программа
на таком языке представляет собой совокупность описаний функций и выражения,
которые необходимо вычислить. Оно вычисляется посредством редукции (т.
е. серии упрощений). Функциональное программирование не использует концепцию
памяти как хранилища значений переменных. Операторы присваивания отсутствуют,
вследствие чего переменные обозначают не области памяти, а объекта программы,
что полностью соответствует понятию переменной в математике. Наличие стройной
математической основы обеспечивает возможность использования алгебраических
методов создания структуры, преобразования и исследования программ. Это
в какой-то мере приближает их к описанию структуры мышления человека. Логическое программирование Логика и программирование долгое время были непересекающимися областями исследований. Только в 1973 впервые было опубликовано описание языка PROLOG (PROgramming in LOGic- программирование в терминах логики) Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием. Так как вычисления осуществляются методом проб и ошибок (посредством поиска с возвратами). В настоящее время для ПК существует около двух десятков реализации PROLOG’а, некоторые из которых оформлены в виде интегрированных сред. Объектно-ориентированное программирование. Корни объектно - ориентирования уходят в одну из ветвей логики, в которой первичной является не отношение, а объект. Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ ирония с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Как пример объектно-ориентированного языка можно назвать Visual Basic и Delfi. Сейчас уже невозможно представить себе жизнь в мире ПК без Интернета. Язык гипертекстовой разметки-HTML (Hyper Text Markur Language) позволяет создавать программы, с помощью которых можно блуждать по Сети. |