Реферат: Языки программирования. Ассемблеры, языки высокого уровня. Объектно-ориентиро-ванное программирование. Реферат языки высокого уровня программирования


Реферат - Языки программирования. Ассемблеры, языки высокого уровня. Объектно-ориентиро-ванное программирование

 

Delphi(от 1 до 7 версии), QuickBasic, Virtual Basic, Turbo Pascal, Borland Pascal, Java, С++ — всё это языки программирования.

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

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

Языки высокого уровня---например, известные всем BASIC, PASCAL,C++ — в значительно большей степени ориентированы на человека. Команды этих языков — понятные человеку английские слова(goto, ren, list, if).

И пусть каждая из этих команд для человека- всего лишь слово. Но компьютеру для выполнения любой из них придётся проделать уже не одну операцию, как в ассемблере, а несколько. И чем «выше» язык, тем больше этих операций. Например, Одна из самых «высоких» программ в компьютере — системные файлы конфигураций autoexec.bat и соnfig.sys. Каждая строчка-команда в этих файлах требует выполнения отдельных программ — например, запуска программы русификации операционной системы или удаления файла.

Понятно, что повседневным орудием программистов сегодня являются именно языки высокого уровня, такие как С++, Delphi(созданный на основе языка Pascal) или Virtual Basic. И практически все программные пакеты, которыми мы пользуемся сегодня, созданы с помощью именно этих или подобных им языков. Поэтому и обучение программированию начинают именно с таких языков, как Pascal или Basic- они просты и лучше других иллюстрируют принципы программирования. К тому же практически навыки работы с этими языками обязательно пригодятся в будущем.

Существуют как универсальные, так и специализированные языки программирования. Например, вряд ли кто будет создавать бытовые программы для домашнего компьютера, пользуясь языком Java- зато для разработки Интернет-программ он незаменим. Специализированным языком программирования является и язык HTML- на этом языке создаются WWW-страницы Интернет.

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

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

Объектно-ориентированное программирование: Не все языки программирования могут быть объектно-ориентированными. Слово «объектно-ориентированный» стало в области программирования синонимом слово «хорошо». В печати чаще всего встречаются элементы такого вида: «Ada — это хорошо; объектной ориентированности — это хорошо; отсюда следует, что Ada — объектно-ориентированный язык».

Из множества промышленных объектно-ориентированных расширений языков, которых сейчас создается все больше и больше, одним из самых интересных является Prolog++, объектно-ориентированная версия Пролога, созданная Logic Programming Associates (LPA). LPA давно находится в числе основных поставщиков Пролога и имеет версии языка как для PC, так и для Macintosh. Рассмотрим MacObject, версия Prolog ++ для Macintosh. MacObject используется вместе с MacProlog3.1. Итак, что же предлагает Prolog ++ такого, чего не могут предложить другие объектно-ориентированные среды, и как объектно-ориентированное расширение вписывается в язык, основанный на правилах?

Prolog и Prolog ++

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

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

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

Показано, что наиболее удобными для реализации программных систем, разработанных в рамках объектно-ориентированного подхода, являются объектно-ориентированные языки программирования, хотя возможна реализация и на обычных (не объектно-ориентированных) языках (например, на языке C и на языке Fortran).

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

Первый объектно-ориентированный язык программирования Simula 67 был разработан в конце 60-х годов в Норвегии. Авторы этого языка очень точно угадали перспективы развития программирования: их язык намного опередил свое время. Однако современники (программисты 60-х годов) оказались не готовы воспринять ценности языка Simula 67, и он не выдержал конкуренции с другими языками программирования (прежде всего, с языком Fortran). Прохладному отношению к языку Simula 67 способствовало и то обстоятельство, что он был реализован как интерпретируемый (а не компилируемый) язык, что было совершенно неприемлемым в 60-е годы, так как интерпретация связана со снижением эффективности (скорости выполнения) программ.

Но достоинства языка Simula 67 были замечены некоторыми программистами, и в 70-е годы было разработано большое число экспериментальных объектно-ориентированных языков программирования: например, языки CLU, Alphard, Concurrent Pascal и др. Эти языки так и остались экспериментальными, но в результате их исследования были разработаны современные объектно-ориентированные языки программирования: C++, Smalltalk, Eiffel и др.

Наиболее распространенным объектно-ориентированным языком программирования безусловно является C++. Свободно распространяемые коммерческие системы программирования C++ существуют практически на любой платформе. Широко известна свободно распространяемая система программирования G++, которая дает возможность всем желающим разобрать достаточно хорошо и подробно прокомментированный исходный текст одного из образцовых компиляторов языка C++. Завершается работа по стандартизации языка C++: последний Draft стандарта C++ выпущен в июне 1995 г. (он доступен по Internet).

Разработка новых объектно-ориентированных языков программирования продолжается. С 1995 года стал широко распространяться новый объектно-ориентированный язык программирования Java, ориентированный на сети компьютеров и, прежде всего, на Internet. Синтаксис этого языка напоминает синтаксис языка C++, однако эти языки имеют мало общего. Java интерпретируемый язык: для него определены внутреннее представление (bytecode) и интерпретатор этого представления, которые уже сейчас реализованы на большинстве платформ. Интерпретатор упрощает отладку программ, написанных на языке Java, обеспечивает их переносимость на новые платформы и адаптируемость к новым окружениям. Он позволяет исключить влияние программ, написанных на языке Java, на другие программы и файлы, имеющиеся на новой платформе, и тем самым обеспечить безопасность при выполнении этих программ. Эти свойства языка Java позволяют использовать его как основной язык программирования для программ, распространяемых по сетям (в частности, по сети Internet).

 

 

www.ronl.ru

Языки программирования высокого уровня - Информатика

Язык высокого уровня [high-level language] - Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран , ПЛ/1 , Бейсик , Паскаль , Си , Ада, C++, Visual Basic, Java, Python, Ruby, Perl, Delphi (Pascal), PHP.

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

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

Ада [Ada] - Язык программирования высокого уровня, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например, в бортовых (корабельных, авиационных и др.) ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг. Назван в честь английского математика Ады Августы Байрон ( Лавлейс), жившей в 1815-1851 гг.

Дартмутском колледже Томасом Куртом и Джоном Кемени . Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка Фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий Бейсика, которые не полностью совместимы друг с другом. Некоторые реализации Бейсика включают средства обработки данных и наборов данных. Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий. Подробнее о нем см. [429].

Кобол [COBOL - COmmon Buisiness-Oriented Language] - Язык программирования высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач.

Лисп [LISP - LISt Processing] - Алгоритмический язык, разработанный в 1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями элементов данных. Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог .

ЛОГО [LOGO от греч. logos - слово ] - Язык программирования высокого уровня, разработан в Массачусетском технологическом институте в ориентировочно 1970 г. для целей обучения математическим понятиям. Используется также в школах и пользователями ПЭВМ при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем .

Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского математика XVII века Блеза Паскаля. В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие его доработки позволили сделать его хорошим универсальным языком, широко используемым в том числе для написания больших и сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal ) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США).

Пролог [PROLOG - PROgramming in LOGic] - Язык программирования высокого уровня декларативного типа (см. выше декларативное программирование), предназначенный для разработки систем и программ Бейсик [BASIC - Beginner’s All-purpose Symbolic Instruction Code] - Язык программирования высокого уровня , разработанный в 1963 - 1964 гг. в искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в 1971 г. в университете г. Марсель (Франция), относится к числу широко используемых и постоянно развиваемых языков. Последняя его версия Prolog 6.0.

Си [C ] - Многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на миниЭВМ и ПЭВМ. Является базовым языком операционной системы Unix , однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе - Turbo C (фирмы Borland), Microsoft C и Quick C ( фирмы Microsoft ), а также Zortech C (фирмы Symantec ). Многие из указанных версий обеспечивают также работу с Си и Си++ (см. ниже).

Си++ [C++] - Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).

Ключевые слова страницы: как, скачать, бесплатно, без, регистрации, смс, реферат, диплом, курсовая, сочинение, ЕГЭ, ГИА, ГДЗ

referatzone.com

Реферат - Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования

Часть 3.

Алгоритмизация и программирование.

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

Технологии программирования.

Определение:

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

Замечание:

Некоторые действия алгоритма должны быть выполнены последовательно, некоторые могут быть и независимыми и выполняться одновременно (параллельно).

Комментарий.

Слово «алгоритм» образовано от имени персидского учёного аль-Хорезми (al-Khwarazmi).

Ранее часто писали «алгорифм», сейчас такое написание используется редко.

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

Свойства алгоритмов, требования к алгоритмам:

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

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

Понятность - алгоритм содержит команды, понятные исполнителю (которые входят в его систему команд).

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

Массовость - алгоритм должен быть применим к разным наборам исходных данных.

Результативность – работа алгоритма должна завершаться определёнными результатами.

Определение:

Алгоритмизация – процесс построения алгоритма.

Определение:

Программирование - процесс создания программного обеспечения с помощью языков программирования.

Комментарий.

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

Замечание:

Программирование следует отличать от ремесла кодирования программы

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

Анализ поставленной задачи.

Проектирование/разработку комплекса алгоритмов.

Кодирование – реализация алгоритмов - написание исходного текста программы на языке программирования (исходников).

Компиляцию - преобразование исходников в исполнимый код с помощью компилятора.

Тестирование и отладку - выявление и устранение ошибок в программах.

Испытания и сдачу программ.

Сопровождение программ.

Определение:

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

Комментарий.

На сегодняшний день известно более 8500 языков программирования.

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

компилируемые

интерпретируемые

низкоуровневые

высокоуровневые

Определение:

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

Определение:

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

Преимущества:

Компилируемые программы работают значительно быстрей интерпретируемых.

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

Определение:

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

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

Определение:

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

Замечание:

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

Примеры языков высокого уровня:

C, C++, Visual Basic, Java, PHP, Delphi, Pascal, Fortran.

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

Определение:

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

Основные модели (парадигмы) программирования:

Императивное программирование

Структурное программирование

Функциональное программирование

Логическое программирование

Объектно-ориентированное программирование

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

Примеры процедурных языков программирования: Fortran, Basic, Pascal, C.

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

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

^ Функциональное программирование - раздел дискретной математики, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).

Примеры функциональных языков программирования: LISP, Haskell, ML.

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

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

^ Объектно-ориентированное программирование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

Определение:

Класс - это описание устройства объектов (как бы теоретическая модель).

Определение:

Объект - это экземпляр класса (как бы физическая реализация).

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

Замечание:

ООП есть по сути императивное программирование, дополненное принципом инкапсуляции данных и методов в объект и наследованием.

Внимание!

Понятия инкапсуляции и наследования – изучить самостоятельно!!!

Определение:

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

Основные технологии программирования:

восходящее программирование

нисходящее программирование

Определение:

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

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

Определение:

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

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

www.ronl.ru

Реферат Язык программирования высокого уровня

скачать

Реферат на тему:

План:

Введение

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

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

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

Примеры: C, C++, Java, Python, PHP, Ruby, Perl, PureBasic, Delphi, Lisp. Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.

Первым языком программирования высокого уровня считается компьютерный язык Plankalkül, разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 гг. Однако транслятора для него не существовало до 2000 г. Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-1, успешно испытанный в 1954 г. Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур, а транслятор ПП для ЭВМ Стрела-4 уже содержал и компоновщик (linker) из модулей. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957).

1. Переносимость программ

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

К настоящему времени создан целый ряд программных библиотек (например, библиотека Qt или wxWidgets), скрывающих несоответствия системных вызовов различных операционных систем от прикладных программ. Однако такие библиотеки, как правило, не позволяют полностью использовать все возможности конкретных операционных систем. Для некоторых языков (к примеру, PureBasic ), существуют кроссплатформенные библиотеки функций, позволяющие обеспечить переносимость программ на уровне исходного текста, то есть, для того, чтобы перенести программу, например с Windows, на Linux, либо MacOS X, достаточно выполнить компиляцию программы требуемом компиляторе.

2. Новые тенденции

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

Пример:

wreferat.baza-referat.ru


Смотрите также