на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программное обеспечение ЭВМ и языки программирования
p align="left">Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.

Языки высокого уровня делятся на [3]:

- алгоритмические (Basic, Рascal, C и др.), которые предназначены для однозначного описания алгоритмов;

- логические (Рrolog, Lisр и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.

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

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

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

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

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

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

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

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

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

Компилятор (англ. compiler - составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется [2].

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

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

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой [2].

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

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

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

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

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

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

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

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

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

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

Система программирования - это система для разр
аботки новых программ на конкретном языке программирования

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

1. компилятор или интерпретатор;

2. интегрированная среда разработки;

3. средства создания и редактирования текстов программ;

4. обширные библиотеки стандартных программ и функций;

5. отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;

6. "дружественная" к пользователю диалоговая среда;

7. многооконный режим работы;

8. мощные графические библиотеки; утилиты для работы с библиотеками

9. встроенный ассемблер;

10. встроенная справочная служба;

11. другие специфические особенности.

Популярные системы программирования - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.

В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений:

1. пакет Borland Delphi (Дельфи) - блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.

2. пакет Microsoft Visual Basic - удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.

3. пакет Borland C++ - одно из самых распространённых средств для разработки DOS и Windows приложений.

4. система программирования на Java, позволяющая компилировать программы для компьютерной платформы, на которой она стоит в том же ключе как и любая другая,. В этом случае главными отличиями Java-программ или Java-applications является использование библиотеки Java-классов, которые обеспечивают разработку безопасных, распределенных систем. Язык Java предназначен для составления программ, которые работают в сетях. Программы, написанные на языке Java, часто используются для создания динамической рекламы в глобальной сети, которые «оживляют» статические картинки Web-страниц и тем самым привлекают внимание пользователей. Достоинством языка является то, что он независим от конкретной архитектуры ЭВМ, и Java-приложения могут работать на различных типах ЭВМ, под управлением различных операционных систем. При работе интерпретатора языка Java исходные тексты транслируются в псевдокод виртуальной Java-машины, который чаще всего называют байт-кодом.

ЛИТЕРАТУРА

1. Акулов О.А. Информатика: учебник / О.А. Акулов, Н.В. Медведев. - М.: Омега-П, 2007. - 270 с.

2. Алексеев А.П. Информатика 2007 / А.П. Алексеев. - М.: СОЛОН-ПРЕСС, 2007. - 608 с.

3. Вьюхин В.В. Информатика и вычислительная техника: учеб. пособие для инженерных специальностей / В.В. Вьюхин; под ред. В.Н. Ларионова. - М.: Дрофа, 1992. - 286 с.

4. Гейн А.Г. Основы информатики и вычислительной техники / А.Г. Гейн. - М.: Просвещение, 1992. - 245 с.

5. Информатика: практикум по технологии работы на компьютере / под ред. Н.В. Макаровой. - 2-е изд. - М.: Финансы и статистика, 1998. - 384 с.

6. Макарова Н.В. Информатика: практикум по технологии работы на компьютере / Н.В. Макарова, С.Н. Рамин. - М.: Академия, 1997. - 384 с.

7. Макарова Н.В. Информатика: учеб. пособие для вузов / Н.В. Макарова, Н.В. Бройдо. - М.: Академия, 2003. - 768 с.

8. Могилев А.В. Информатика: учеб. пособие для вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; под ред. Е.К. Хеннера. - М.: Академия, 2000. - 346 с.

9. Острейковский В.А. Информатика / В.А. Острейковский. М.: Высш. шк., 2000. - 235 с.

10. Угринович Н.Д. Практикум по информатике и информационным технологиям: учеб. пособие для общеобразовательных учреждений / Н.Д. Угринович,

11. Л.Л. Босова, Н.И. Михайлова. - М.: Бином, 2002. - 400 с.

Страницы: 1, 2, 3, 4, 5, 6



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.