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

Оглавление

1. Введение

2. Современные языкипрограммирования

2.1 Паскаль

2.2 Ассемблер

2.3 Си

2.4 Бейсик

2.5 Лого

2.6 Форт

2.7 Пролог

2.8 Рефал

2.9 Лекс

3 Понятие, назначение исоставные элементы систем программирования

3.1Машинно-ориентированные системы программирования

3.1.1 Машинный язык

3.1.2 Системысимволического кодирования

3.1.3 Автокоды

3.1.4 Макрос

3.2 Машинно-независимыесистемы программирования

3.2.1Процедурно-ориентированные системы

3.2.2Проблемно-ориентированные системы

3.2.3 Диалоговые языки

3.2.4 Непроцедурныеязыки

4 Выводы

5 Практическая часть

6 Список литературы


1.  Введение

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

Неотъемлемаячасть современных ЭВМ – системы программного обеспечения, являющиеся логическимпродолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферуих использования. Основное назначение программного обеспечения – повышениеэффективности труда пользователя, а также увеличение пропускной способности ЭВМпосредством сокращения времени и затрат на подготовку и выполнение программ.

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

Еслипроследить историю используемых сегодня языков программирования, таких как Си иПаскаль (а равно и менее популярных Бэйсик, Фортран или Ада), то окажется, чтовсе они были созданы на рубеже 60-х и 70-х годов. Иными словами, возрастсовременных языков программирования (за исключением Явы, о которой разговорособый), перевалил за третий десяток, что для компьютерной индустрии являетсясроком экстремальным. Современные языки программирования старше Интернета,Windows и персонального компьютера минимум на десятилетие. При этом новые языкине переставали регулярно появляться, однако ни один из них не задержался впрактике программирования, хотя приносимые ими новые идеи дополняли ужеизвестные языки (как это произошло с объектно-ориентированнымпрограммированием).

Другойважной особенностью языкотворчества последних десятилетий можно считатьпрекращение попыток создания «универсального» языка программирования,призванного объединить в себе все последние достижения в области разработкиязыков (из попыток 60-х _ 70-х годов можно вспомнить Алгол, PL/1 или Аду).Крупные «языковые» проекты безвозвратно ушли в прошлое вместе спорожденными ими языками.

Наконец,появление персонального компьютера и ОС с графическим интерфейсом (прежде всегоMacOS и Windows) переместило внимание разработчиков программного обеспечения изсферы языков программирования в другие области средств разработки ПО, такие,как визуальное или объектно-ориентированное программирование, сетевые протоколыили модели баз данных. Программист сегодня использует в качестве инструмента нестолько язык, сколько конкретную систему программирования (например, Delphi), акакой язык является для нее базовым, не так уж важно.

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


2.  Современные языкипрограммирования

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

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


/>
Рис.1. Классификация языковпрограммирования

2.1Паскаль[1]

В1968 году Никлас Вирт (Niklaus Wirth) написал первый компилятор языка Pascal(Паскаль). Этот язык получил название в честь выдающегося французскогоматематика Блеза Паскаля (Blaise Pascal). Язык Pascal — удачный языкобщего применения, подходящий для программирования как научных задач, так изадач, связанных с коммерческой деятельностью. Средства ввода/вывода этогоязыка несколько слабее, чем у таких коммерческих языков, как COBOL, поэтому онникогда не претендовал на его замещение. Тем не менее после первогоопубликования Pascal был довольно основательным языком, который успешносправлялся со своей работой.

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

Втечение 1970-х годов Pascal был «единственным языком программирования, которыйвсех устраивал». Компания IBM с помощью языка PL/I делала попытку создатьчто-то подобное. Так же как и PL/I, Pascal не достиг наивысшей цели.Популярность языка Pascal упала так же быстро, как и выросла. В 1970-хнаблюдался огромный рост применения языка Pascal, а в 1980-х — резкий спадинтереса к нему.

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

2.2Ассемблер[2]

ЯзыкАссемблера — это символическое представление машинного языка. Он облегчаетпроцесс программирования по сравнению с программированием в машинных кодах.Некоторые задачи, например, обмен с нестандартными устройствами обработкиданных сложных структур невозможно решить с помощью языков программирования высокогоуровня. Это под силу ассемблеру. В принципе, язык Ассемблер является машиннымязыком. И программист, реализующий какую-либо задачу на язык высокого уровня, спомощью Ассемблера может определить осмысленно ли решение данной задачи, с точкизрения использования ЭВМ. Ассемблер имеет одну особенность, которая отпугиваетмногих начинающих языков программистов,- ассемблер является машинно-зависимымязыком. Это означает, что пишущий на ассемблере работает непосредственно сресурсами компьютера, что требует хорошего знания его архитектуры, логикиработы операционной системы, а также большой аккуратности при написаниипрограммы.

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

Turbo Assembler, помимополной поддержки транслятора фирмы Microsoft имеет дополнительные возможности, объединённые в режиме,названном разработчиками Ideal.Использование этого режима даёт возможность начинающему программисту применятьболее наглядный и простой стиль разработки программ. Более опытныепрограммисты, пишущие на ассемблере, могут использовать такие возможностирежима Ideal, как вложенные структуры, объединения.

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

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

2.3Си++[3]

Наследник Cязык C++ быстро завоевал поддержку, являясь обновленной версией языка C. C++был разработан шведским программистом по имени Бьярн Страуструп (Bjarne Stroustrup)в начале 1980-х. C++ имеет на вооружении несколько дополнительных команд и операторов,но основное отличие заключается в подходе к программированию.

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

Таккак Си++ восходит, главным образом, к Си. Поэтому сделанного в Си акцента на средствахнизкого уровня достаточно, чтобы справляться с самыми насущными задачами системногопрограммирования. Си, в свою очередь, многим обязан своему предшественнику BCPL.

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

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

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

Популярностьобъектно-ориентированного языка C++ дала начало множеству новых языков для современногоИнтернета. Причиной успешного развития языка Java (Джава) (и его производных, такихкак JavaScript) является широкомасштабное использование в нем языка C++, и хотяC++ не поддерживает достаточной безопасности программирования web-сайтов, его объектно-ориентированнаяприрода делает Java хорошим кандидатом для программирования объектов Интернета.Компания Sun Microsystems изменила язык C++, добавив в него элементы обеспечениядостаточной безопасности и убрав ряд сомнительных возможностей C++. (Примером являетсямножественность наследования, которая позволяет генерацию одного объекта программирования,такого как окно, из набора нескольких родительских окон с различными характеристиками.Подобная концепция сбивает с толку даже при формулировании ее на высоком уровне.)

2.4Бейсик

BASICбыл разработан в колледже города Дартмут (Dartmouth) и предназначался для обученияначинающих. Язык FORTRAN был сложным для студентов нематематических отделений. ДжонКимини (John Kemeny) и Томас Курц (Thomas Kurtz), учившиеся в Дартмуте, при разработкеязыка BASIC в качестве основы использовали FORTRAN. BASIC — сокращение от Beginner’sAll-purpose Symbolic Instruction Code (универсальный код символических инструкцийдля начинающих) — имя, которое говорит само за себя. BASIC, как правило, используетсяс интерпретатором, хотя современные версии BASIC являются компилирующими. Это позволяетновичкам сосредоточиться на языке программирования и не вникать в особенности компиляции.Как и все интерпретируемые языки, BASIC-программы выполняются медленнее, чем откомпилированныепрограммы, поэтому программы на языке BASIC не используются в коммерческих приложениях.

Этотязык стал одним из самых распространённых. Бейсик был первоначально задуман какочень простой язык, который можно было бы очень быстро освоить. В язык были включеныпримитивные средства редактирования, с тем, чтобы избавить пользователя от необходимостиразбираться во всех сложностях базовой операционной системы. Вначале Бейсик использовалсятолько для обработки числовых величин, но позднее был расширен средствами обработкистроковых переменных и снабжен набором процедур простого манипулирования символьнымицепочками, который фактически стал стандартом. Простота Бейсика сделала его наиболееподходящим языком программирования для первых микроЭВМ. В настоящее время он являетсяосновным языком программирования персональных ЭВМ. К сожалению, почти каждая машинаимеет свой собственный диалект Бейсика, поэтому мобильность программ на Бейсикеобеспечить довольно трудно. В настоящее время во многие диалекты Бейсика включаютсясовременные управляющие структуры типа: REPEAT…UNTIL, что вселяет определённый оптимизм.

2.5Лого

ЯзыкЛого был создан с целью обучения школьников основам алгоритмического мышления ипрограммирования. Лого — диалоговый процедурный язык, реализованный на основе интерпретаторас возможностью работы со списками и на их основе с текстами, оснащенный развитымиграфическими средствами, которые доступны для детского восприятия. Этот язык реализовандля большинства ПЭВМ, применяемых в школах. Хотя язык был разработан задолго дотого, как началось массовое распространение персональных компьютеров, именно с ихпоявлением этот язык привлёк внимание и приобрёл популярность.

2.6Форт

ЯзыкФорт относится к числу своеобразных языков. Он весьма популярен среди пользователеймикроЭВМ. Основной чертой языка Форт является его открытость, которая позволяетстроить новые определения функций на базе ранее определённых. Программист можетлегко добавить новые операции, типы данных или определения основного языка. Фортпозволяет поддерживать многозадачный режим работы, широко используя принцип реентерабельности(одновременного доступа) программ. Структура языка позволяет создавать очень компактныетрансляторы (переводчики). Программирование на этом языке требует специальных навыков,поэтому Форт находит применение при решении сложных задач имитационного моделирования,в графических системах, в системах искусственного интеллекта как средство построениябаз знаний, в промышленных разработках.

2.7Пролог

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

2.8Рефал

Несомненнонадо рассказать и о некоторых языках программирования созданных у нас на родине.Один из таких языков является Рефал, разработанный у нас в России (СССР), в 1966г.ИПМ АН СССР. Этот язык прост и удобен для описания манипуляций над произвольнымитекстовыми объектами.

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

Программированиена Рефале имеет специфику, связанную, прежде всего, с тем, что Рефал является языкомфункционального типа в отличие от обычных операторных языков типа Алгол, Фортрани т.д… Если программа на операторных языках – ни что иное, как совокупность приказов-операторов,то программа на Рефале представляет собой по существу описание связей и отношениймежду определенными понятиями.

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

Определеннойспецификой обладают и переменные типа «выражения» имеется в виду их способностьудлиняться при отождествлении. Правильное использование переменных этого типа такжепозволяет значительно повысить эффективность Рефал – программы.


2.9Лекс

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

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

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

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

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


3 Понятие,назначение и составные элементы систем программирования

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

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

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

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

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

3.1Машинно-ориентированные системы программирования[4]

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

·    высокое качество создаваемыхпрограмм;

·    возможность использованияконкретных аппаратных ресурсов;

·    предсказуемость объектногокода и заказов памяти;

·    низкая скорость программирования;

·    невозможность непосредственногоиспользования программ, составленных на этих языках, на ЭВМ других типов.

3.1.1Машинный язык[5]

В такихсистемах программирования отдельный компьютер имеет свой определённый машинный язык.Некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM/370/ и др.) имеют единый машинный язык для ЭВМ разноймощности. В новых моделях ЭВМ намечается тенденция к повышению внутренних языковмашинно-аппаратным путём. Машинный язык является внутренним языком ЭВМ и представляетсобой систему инструкций и данных, которые не требуют трансляции и могут непосредственноинтерпретироваться и исполняться аппаратными средствами ЭВМ.

3.1.2Системы символического кодирования[6]

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

3.1.3Автокоды

Существуютсистемы программирования, использующие языки, которые включают в себя все возможностиязыков символического кодирования, посредством расширенного введения макрокоманд– они называются Автокоды. В различных программах встречаются некоторые достаточночасто использующиеся командные последовательности, которые соответствуют определённымпроцедурам преобразования информации. Эффективная реализация таких процедур обеспечиваетсяоформлением их в виде специальных макрокоманд и включением последних в язык программирования,доступный программисту. Макрокоманды переводятся в машинные команды двумя пу-тями– расстановкой и генерированием. Развитые автокоды получили название Ассемблеры.

3.1.4Макрос

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

3.2Машинно-независимые системы программирования[7]

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

3.2.1Процедурно-ориентированные системы [8]

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

Simula,Слэнг – для моделирования; Лисп, СНОБОЛ – для работы со списочными структурами.

3.2.2Проблемно-ориентированные системы[9]

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

3.2.3Диалоговые языки[10]

Появлениеновых технических возможностей поставило задачу перед системными программистами– создать программные средства, обеспечивающие оперативное взаимодействие человекас ЭВМ их назвали диалоговыми языками. Разрабатывались языки, которые кроме целейуправления обеспечивали бы описание алгоритмов решения задач. Необходимость обеспеченияоперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМкопии исходной программы даже после получения объектной программы в машинных кодах.При внесении изменений в программу система программирования с помощью специальныхтаблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяетосуществить требуемые редакционные изменения в объектной программе.

3.2.4Непроцедурные языки[11]

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


4 Выводы

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

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

· В1970-х самым популярным языком общего применения был Pascal, но в 1980-х его применениерезко сократилось.

· ЯзыкC, разработанный компанией Bell Laboratories, является очень эффективным, но низкоуровневымязыком программирования. Язык C — это основа современных языков.

· Самымбольшим преимуществом языка C++ над его предшественником является поддержка объектно-ориентированногопрограммирования.

· VisualBasic, наследник языка BASIC, обеспечивает наилучшую базу программирования для начинающих.

· Выбориспользуемого языка определяется многими факторами.

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


5 Практическаячасть

1.Используя ППП на ПК, необходимо построить таблицы по приведённым ниже формам (рис.2, 3).

Определитьсредний бал экзаменационной сессии по курсам и по факультету.

Результатыокруглить до одного десятичного знака после запятой, используя функцию ОКРУГЛ. Определитьрейтинг (место по уровню успеваемости) каждого курса.

Ввеститекущее значение даты между таблицей и её названием.

Поданным таблицы на рис.3 (графы 1 и 2) построить круговую диаграмму с заголовком,подписями данных и легендой.

1 курс 2 курс 3 курс 4 курс 5 курс Балл Кол-во оценок Балл Кол-во оценок Балл Кол-во оценок Балл Кол-во оценок Балл Кол-во оценок 1 2 3 4 5 6 7 8 9 10 5 23 5 27 5 32 5 28 5 34 4 57 4 60 4 58 4 63 4 62 3 18 3 14 3 10 3 9 3 6 2 7 2 9 2 4 2 1 2  

Рис.2.Сведения о результатах экзаменационной сессии

Курс Средний балл Рейтинг 1 2 3 1   2   3   4   5   По факультету  

Рис.3Средний балл по курсам и факультету


2.Используя Microsoft Excel, строим таблицы, приведённые на рис.2,3.

Дляопределения среднего бала экзаменационной сессии по курсам используем формулу дляпоиска среднего арифметического значения. Полученные значения заносятся в соответствующиеячейки таблицы 2. Для определения среднего бала экзаменационной сессии по факультетамдействуем аналогично.

Чтобыокруглить результат до одного десятичного знака после запятой, используем функциюОКРУГЛ. Формат команды: ОКРУГЛ(А; В), где А – десятичное число; В – до какого знаканеобходимо округлить.

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

Вводимтекущее значение даты между таблицей и её названием.

С помощьюфункции “мастер диаграмм” строим круговую диаграмму по данным таблицы (рис.3) называемеё “ Средний балл по курсам”.

Далееприведено неформализованное решение задачи и инфологическая модель решения задачи.

/>

Рис.4.Неформализованное решение задачи


/>Рис.5 Инфологическая модель решения задачи

/>

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


Таблица1.

Таблицас исходными данными

1 курс 2 курс 3 курс 4 курс 5 курс балл Кол-во оценок балл Кол-во оценок балл Кол-во оценок балл Кол-во оценок балл Кол-во оценок 1 2 3 4 5 6 7 8 9 10 5 23 5 27 5 32 5 28 5 34 4 57 4 60 4 58 4 63 4 62 3 18 3 14 3 10 3 9 3 6 2 7 2 9 2 4 2 1 2    курс средний балл рейтинг Средний балл Округл. 1 2 3 3,85981 3,9 1 3,9 5 3,92105 3,9 2 3,9 4 4,18182 4,2 3 4,2 3 4,37615 4,4 4 4,4 2 4,69643 4,7 5 4,7 1 Рис.3.Вспомогательная таблица. по факультету 4,2 рис.2. Средний балл по курсам и факультету.

Среднийбал по курсам

/>

1—Среднийбалл по 1-му курсу.

2—Среднийбалл по 2-му курсу.

3--Средний балл по 3-му курсу.

4--Средний балл по 4-му курсу.

5--Средний балл по 5-му курсу.

еще рефераты
Еще работы по информатике, программированию