Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Языки различаются по зависимости от аппаратной части.

 

1. машинофиксированный (ассемблеры): имеют жесткую ориентацию на определенный тип компьютеров. Также называются языки низкого уровня. yt nht,e.n rjvgbkzwbb/

аторитмические: ориентированы на систему операторов, характерных для замен определенного класса алгоритмов; языки высокого уровня

Компилятор – проги, переводящие текст на машинный язык.

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

1. неструктурный;

2. структурный;

3. логический;

4. объектно-ориентированный;

5. функциональный.

Рассмотрим перечисленные стили подробнее.

Неструктурное программирование допускает использование в явном виде команды безусловного перехода (в большинстве языков GOTO). Типичные представители неструктурных языков - ранние версии Бейсика и Фортрана. Данный стиль вызван особенностями выполнения машиной программы в кодах и унаследован от программ на языке ассемблера, поскольку там команда перехода является обязательной. Однако в языках высокого уровня наличие команды перехода влечет за собой массу серьезных недостатков: программа превращается в "спагетти" с бесконечными переходами вверх-вниз, ее очень трудно сопровождать и модифицировать. Фактически неструктурный стиль программирования не позволяет разрабатывать большие проекты. Ранее широко практиковавшееся первоначальное обучение программированию на базе неструктурного языка (обычно Бейсика) приводило к огромным трудностям при переходе на более современные стили. Как отмечал известный голландский ученый Э. Дейкстра, "программисты, изначально ориентированные на Бейсик, умственно оболванены без надежды на исцеление".

 

Структурный стиль был разработан в середине 60-х - начале 70-х гг. В его основе лежат две идеи:

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

как доказал Э. Дейкстра, любой алгоритм можно реализовать, используя лишь три управляющие конструкции: последовательное выполнение, ветвление и цикл (рисунок 1.1; обратите внимание на обозначения в соответствии с действующим стандартом). Данное обстоятельство позволяет при наличии соответствующих операторов исключить из языка команду перехода GOTO.

а) Последовательное б) Ветвление в) Цикл выполнение

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

 

Логическое программирование представляет собой попытку возложить на программиста только постановку задачи, а поиски путей ее решения предоставить транслятору. Логические языки (Пролог, Симула) имеют специальные конструкции для описания объектов и связей между ними. Например, если дано:

 

БРАТЬЯ ИМЕЮТ ОДНОГО ОТЦА

ДЖОН - ОТЕЦ ДЖЕКА

МАЙК - БРАТ ДЖЕКА

то система логического программирования должна сделать вывод: ДЖОН - ОТЕЦ МАЙКА.

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

 

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

Например, рассмотрим простейший объект - точку на экране. Она имеет как минимум три поля (координаты и цвет) и методы вроде "ChangeColor" (поменять цвет), "MoveXY" (переместиться в точку х, у) и т.д. Объектно-ориентированный подход является в настоящее время доминирующим и позволяет сократить время разработки и увеличить надежность больших проектов. Однако программы в данном стиле отличаются громоздким синтаксисом; в целом идеология объектно-ориентированного подхода весьма неочевидна часто воспринимается с трудом (особенно это характерно для языка Си, который и в своем первоначальном виде отличается крайне неудобочитаемым синтаксисом) и переход к его использованию труден или невозможен для большого числа программистов.

 

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

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

К языкам искусственного интеллекта (сокращенно обозначается AI - artificial intelligence) относят такие языки, которые способны в зависимости от набора исходных данных модифицировать алгоритм работы, т.е. "на ходу" менять программу (поговорка гласит, что на языках искусственного интеллекта программируют те, кому не хватает интеллекта естественного).

 

 

Язык программирования - это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Языки программирования являются искусственными языками, в которых синтаксис и семантика строго определены. Поэтому при применении их по назначению они не допускают свободного толкования выражения, характерного для естественного языка [Толковый,1989].

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

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

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

В данном пособии Вам предлагается изучать язык программирования Pascal (диалект TURBO Pascal, версия 3.0). Pascal - это императивный язык программирования высокого уровня, имеющий строгую типизацию данных и переменных. Автором языка Pascal является профессор, директор Института информатики Швейцарской высшей политехнической школы Никлаус Вирт, работавший над созданием этого языка в 1965-1971 гг. Язык программирования Pascal был назван в честь Блеза Паскаля, выдающегося французского математика и философа, жившего в 1623-1662 гг.

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

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

1. редактор текстов программ;

2. компилятор;

3. компоновщик (компонует исполняемый код программы);

4. отладчик (используется для отладки программ).

Среда программирования Turbo Pascal – интерактивная, работа с которой выполняется с помощью команд меню или управляющих клавиш.

Структура программы: программа состоит из трех частей:

1. заголовок программы(Program имя программы);

2. описательная часть – объявляются все объекты, которые будут использованы в программе с указанием имен и типов данных. Раздел описаний состоит из подразделов:

· uses – список имен, подключенных в стандартных библиотеках;

· uses crt – стирание предыдущих выводов на экран;

· label – описание меток (Label M1, M2);

· const – описание констант (const p=3,1415);

· type (a: array [1..10] of real);

· var – объявление переменных (var a, b, c: real; x, y: integer;);

· procedure – объявление процедурного пользователя;

function – объявление функций пользователя;

3. раздел операторов (Begin … End.).

Алфавит и словарь языка Pascal. Алфавит содержит:

1. строчные и заглавные буквы латинского алфавита

2. десятичные цифры (от 0 до 10)

3. специальные символы + - * / > < =; # ‘.,: { } [ ] ()

Примечание: буквы русского алфавита и другие символы можно написать только в строковых константах (‘…’).

Словарь Pascal содержит зарезервированные слова [имеют фиксированное написание и навсегда определяют смысл(begin, end, type и т.д.)].Стандартные идентификаторы используются для обозначения встроенных в язык функций, процедур и т.д.

Идентификаторы - имена тех объектов программы, которые создает и называет программист (до 127 символов).

 

 

Date: 2016-02-19; view: 470; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию