Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Классификация языков программирования высокого уровня (УСТРОЙСТВО ПЕРСОНАЛЬНОГОКОМПЬЮТЕРА)

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

Цель курсовой работы – изучение языков программирования высокого уровня и их классификации.

Задачи курсовой работы:

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

1 УСТРОЙСТВО ПЕРСОНАЛЬНОГОКОМПЬЮТЕРА

1.1 Принципы устройства компьютера

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

Группой ученых было предложено конструировать новые компьютеры на основе следующих принципов:

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

Руководил группой ученых математик Джон фон Нейман, поэтому компьютеры, построенные на предложенных принципах, относятся к типу фон – неймановских.

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

Архитектура компьютеров, предложенная фон Нейманом, представлена на рисунке 1.

s1200

Рисунок 1 – Архитектура фон Неймана

Многие современные компьютеры имеют аналогичную архитектуру.

1.2 Аппаратный уровень компьютера

Современный персональный компьютер (ПК) основан на принципах фон Неймана и имеет соответствующую архитектуру.

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

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

Стандартная аппаратная конфигурация персонального компьютера представлена на рисунке 2.

Рисунок 2 – Базовая аппаратная конфигурация

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

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

Магистраль, или системная шина, состоит из трех многоразрядных шин (многопроводных линий):

  • шины данных;
  • шины адреса;
  • шины управления.

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

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

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

Каждая ячейка оперативной памяти или устройство имеет свой адрес. Адрес передаётся по адресной шине, при этом сигналы по ней могут передаваться в одном направлении — от процессора к оперативной памяти и устройствам. Адресная шина является однонаправленной.

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

На рисунке 3 представлена схема магистрально-модульного устройства компьютера.

Рисунок 3 – Магистрально-модульное устройство ПК

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

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

Материнская плата представлена на рисунке 4.

Системная плата

Рисунок 4 – Системная плата компьютера

1.3 Логический уровень компьютера

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

Связь аппаратуры и программного обеспечения настолько тесная, что некоторые программы (к примеру, BIOS – базовая система ввода-вывода информации) реализованы программно.

Различают три большие группы программного обеспечения:

  • системное ПО;
  • инструментальное ПО;
  • прикладное ПО.

Классификация программного обеспечения представлена на рисунке 4.

img-u_RxOz

Рисунок 5 – Классификация программного обеспечения

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

005

Рисунок 6 – Состав системного ПО

Прикладное ПО служит для решения профессиональных задач пользователя. Классификация прикладного ПО представлена на рисунке 6.

img79-197

Рисунок 7 – Классы прикладного программного обеспечения

1.4 Инструментальное программное обеспечение

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

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

Наиболее известными представителями этого класса программного обеспечения являются программы-трансляторы языков программирования.

Транслятор (англ. translator– переводчик) - программа-переводчик, предназначенная для преобразования программы с языка программирования высокого уровня машинные команды.

Транслятор может быть реализован в форме компилятора или интерпретатора, которые существенно различаются по принципам работы.

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

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

К инструментальному ПО, помимо трансляторов, относят:

  • текстовые редакторы кода;
  • интегрированные среды разработки;
  • линковщики;
  • ассемблеры;
  • отладчики;
  • генераторы документации.

2 РАЗВИТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

2.1 Поколения языков программирования

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

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

img-pJFa5P

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

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

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

Таблица 1 – Обобщенные характеристики поколений языков программирования

2.2 Языки программирования первого поколения

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

Рисунок 9 – Программа в машинном коде

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

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

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

022

Рисунок 10 – Программа на ассемблере

2.4 Языки программирования третьего поколения

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

Fortran считают первым процедурно-ориентированным языком программирования высокого уровня. Изначально Fortran имел очень ограниченные средствами обеспечения работы с системой ввода-вывода и с символьной информацией. Но по мере своего развития и появления новых средств обработки данных Fortran одним из самых распространенных языков программирования высокого уровня для компьютеров всех классов — от микро- до супер­ЭВМ. Версии Fortran используются и сегодня, в том числе для вычислительных средств нетрадиционной параллельной архитектуры.

Сегодня насчитывается свыше двух тысяч различных языков программирования высокого уровня. Многие из них являются процедурно-ориентированными языками программирования. Наиболее популярны среди универсальных процедурно-ориентированных языков программирования высокого уровня являются C\C++, Pascal, Basic. Пример программы на языке программирования Fortran представлен на рисунке 11.

plato3

Рисунок 11 – Программа на одной из версий языка программирования Fortran

2.5 Языки программирования четвертого поколения

Языки программирования четвертого поколения обладают ярко выраженным непроцедурным характером. В программах на таких языках программирования разработчик описывает только результат, который должен быть получен в результате программирования, но не способы его достижения. В программах формируются в первую очередь соотношения, а не последовательность шагов при выполнении алгоритма. Такие языки программирования применяются в технологиях искусственного интеллекта. К языкам программирования четвертого поколения относят Prolog, LISP, Langin. Непроцедурные языки программирования имеют минимальное количество синтаксических правил, они лучше понимаются специалистами в произвольной сфере производства, не только программистами.

Также к языкам программирования четвертого поколения относят объектно-ориентированные языки программирования. При объектно-ориентированном подходе программный объект состоит из структур данных и алгоритмов, при этом каждый объект знает, как выполнять операции со своими собственными данными. Технология объектно-ориентированного программирования реализована в современных версиях языков программирования Object Pascal, C++, Visual Basic. К объектно-ориентированным языкам программирования относят Smalltalk, Simula и другие.

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

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

Фрагмент программы на объектно-ориентированном языке программирования третьего поколения Object Pascal в среде Delphi представлен на рисунке 12.

img10

Рисунок 12 – Разработка программы в среде Delphi

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

Пятое поколение языков программирования формируется и развивается в настоящее время. Это языки искусственного интеллекта, экспертных систем и баз знаний, а также естественные языки, не требующие освоения специального синтаксиса. Эта такие языки программирования, как ExpertLisp, IQLisp, SIAL, Q&A и другие.

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

Пример программы на одной из версий языка программирования Lisp представлен на рисунке 13.

TinyLisp

Рисунок 13 – Программа на языке программирования Lisp

2.7 Процедурно-ориентированные языки программирования

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

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

В следующем разделе рассмотрены основные алгоритмические структуры.

3 ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

3.1 От интуитивного программирования к научному подходу

Нидерландский ученый, с именем которого связано превращение программирования из хаотичного интуитивного процесса в упорядоченный научный процесс, — нидерландский ученый Эдсгер Дейкстра (рисунок 14). Он сумел доказать, что программирование является интеллектуальным творчеством и высоким искусством.

Эдсгер Вибе Дейкстра

Рисунок 14 – Эдгер В. Дейкстра

Именно Дейкстра для обеспечения легкости и гибкости программ предложил проектировать и записывать компьютерные программы в соответствии с определенной дисциплиной, названной им структурным программированием. Свои предложения Дейкстра основывал на известной теореме Бема-Якопини, которая утверждает, что любой алгоритм (а, значит, и программу) программу можно построить с использованием трех конструкций: следования, ветвления и цикла.

Графическая иллюстрация теоремы Бема-Якопини представлена на рисунке 15.

Рисунок 15 – Иллюстрация теоремы Бема-Якопини

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

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

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

3.2 Простая команда

Элементарной структурной единицей любого алгоритма является простая команда.

Простая команда представляет один простейший этап переработки или передачи информации.

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

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

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

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

Значение переменной может быть изменено, например, при помощи команды присваивания:

<идентификатор> := <выражение>

Оператор присваивания (:=) дает исполнителю команду вычислить значение выражения, указанного в правой части оператора и присвоить это значение переменной, идентификатор которой указан слева от знака присваивания.

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

В языке программирования PascalABC оператором ввода информации служит команда read() и ее модификации, оператором вывода write() и ее разновидности:

read (a,n); / Ввод значений a,n

writeln(‘a = ‘,a); / Вывод значения переменной a

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

Рисунок 16 – Простая команда

3.3 Составные команды

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

При выполнении алгоритма записанные команды по очереди в естественном порядке их записи.

Общий вид команды следования:

начало

<команда 1> ;

<команда 2> ;

… ;

<команда N>

конец;

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

Блок-схема линейного алгоритма представлена на рисунке 17.

Рисунок 17 – Линейный алгоритм

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

если < условие >

то < команда 1 >

иначе <команда 2 >

все

Блок-схема разветвляющегося алгоритма представлена на рисунке 18.

Рисунок 18 – Разветвляющийся алгоритм

Ветвление используется также и в неполной форме, когда действие предусмотрено только в случае выполнения условия. Блок-схема неполной формы ветвления представлена на рисунке 19.

Рисунок 19 – Неполная форма ветвления

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

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

В программировании используются несколько видов цикла.

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

повторять

< команда >;

Блок-схема бесконечного цикла представлена на рисунке 20.

Рисунок 20 – Бесконечный цикл

Традиционной в программировании выделяют три вида цикла:

  • цикл с предусловием;
  • цикл с постусловием;
  • цикл с параметром.

В цикле с предусловием повторять заданное действие требуется до тех пор, пока верно некоторое условие:

пока < условие > повторять

< команда >;

Блок-схема цикла с предусловием представлена на рисунке 21.

Рисунок 21 – Цикл с предусловием

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

В отличие от цикла с предусловием, цикл с постусловием (цикл – до) предусматривает выполнение команды как минимум один раз:

повторять

< команда >

до < условие >;

Блок-схема цикла с предусловием представлена на рисунке 22.

Рисунок 22 – Цикл с постусловием

На практике очень часто используется третий вид цикла – цикл с параметрами. При использовании такого цикла количество повторений тела цикла определено заранее.

Цикл с параметром используется в различных модификациях:

для всякого элемента х принадлежащего М выполнить

< команда >;

для х принадлежащего М пока < условие > повторять

< команда >;

для х от m до n повторять

< команда >;

для х от m до n шаг h повторять

< команда >;

Блок-схема цикла с предусловием представлена на рисунке 23.

for

Рисунок 23 – Цикл с параметрами

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

3.4 Языки программирования XXI века

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

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

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

Базовая концепция языка программирования Julia заключается в том, что, находясь в границах одного языка, допускается решать как проблемы прототипирования, так и глубокой оптимизации кода, в том числе:

  • просмотр ассемблерного кода;
  • поддержку параллельных и распределенных вычислений.

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

Иерархия числовых типов языка программирования Julia представлена на рисунке 24.

Рисунок 24 Иерархия числовых типов языка Julia

Из рисунка видно, что разнообразие возможных числовых данных удовлетворит даже самого придирчивого специалиста.

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

Int64(’a’) # из символа в целое

Julia поддерживает такие сложные типы данных, как:

  • кортежи;
  • массивы;
  • составные типы;
  • словари;
  • строки.

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

Особенно ярко представлена палитра функций для выполнения действий над матрицами.

В языке программирования Julia реализованы все основные алгоритмические структуры – следование, ветвление и цикл.

В состав среды Julia включены пакеты Gadfly, Winston и PyPlot для построения графиков. Пример графиков представлен на рисунке 25.

Computerworld_Online_julia2_(751)

Рисунок 25 – Построение графических моделей в Julia

Разработчики языка предлагают Julia ученым как альтернативу C.

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

ЗАКЛЮЧЕНИЕ

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

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

Выбор языка программирования для изучения достаточно сложен. Сегодня разработчикам предлагается на выбор множество языков программирования высокого уровня и удобных сред разработки программ. Актуален и тот факт, что языки программирования не являются застывшими объектами, они постоянно развиваются, совершенствуются, подстраиваются под современные требования к разработке программного обеспечения.

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

Цель курсовой работы реализована, задачи выполнены.

СПИСОК ЛИТЕРАТУРЫ

  1. Алексеев Г.В. Компьютерные технологии при проектировании и эксплуатации технологического оборудования. - СПб.: ГИОРД, 2014. - 256 c.
  2. Антонов Т.Е. Введение в язык Паскаль. – М.:Наука, 2015. - 320 c.
  3. Варфоломеев В.И. Программные средства офисного назначения. Практикум. - М.:МГУК, 2015. – 178 с.
  4. Василькова И. В., Васильков Е. М., Романчик Д. В. Основы информационных технологий в Microsoft Office 2018. – М.: ТетраСистемс, 2016. - 144 c.
  5. Голубь Н.Г., Кириленко Е.Г. Алгоритмические языки и программирование: Методические рекомендации по выполнению контрольных и лабораторных работ, часть 1. – Харьков:ХАИ, 2017. – 31 с.
  6. Гусев В.Г. Электроника и микропроцессорная техника: Учебник. - М.: КноРус, 2015. - 800 c.
  7. Дедков А.Ф. Абстрактные типы данных в языке Паскаль. - М.: Наука, 2016. - 200 c.
  8. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. - М.:  Попурри, 2015.- 143 с.
  9. Епанешников А.М.; Епанешников, В.А. Программирование в среде Turbo Pascal 7.0. - М.: ДИАЛОГ-МИФИ, 2016. – 367 c.
  10. Есаян А.Р. Информатикаю - М.: Просвещение, 2015. - 288 c.
  11. Йенсен К., Вирт Н. Паскаль: руководство для пользователя. М.:Наука, 2017.- 207 с.
  12. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на компьютере. М.: Наука, 2016.-200 с.
  13. Культин Н.Б. Turbo Pascal в задачах и примерах. – СПб.: БХВ, 2015. – 256 c.
  14. Мизрохи С.В. TURBO PASCAL и объектно-ориентированное программирование. - М.: Просвещение, 2016.- 318 с.
  15. Могилев А.В. Информатика: Учебное пособие для вузов. - М.: ИД Академия, 2015. – 347 с.
  16. Мюллер С. Ремонт и модернизация ПК. – СПб.: БХВ Петербург, 2019. – 611 с.
  17. Новиков, Ю.В. Основы микропроцессорной техники. - М.: БИНОМ. Лаборатория знаний, 2018. - 357 c.
  18. Онокой Л.С. Компьютерные технологии в науке и образовании: Учебное пособие. - М.: ИД ФОРУМ, ИНФРА-М, 2016. - 224 c.
  19. Прайс Д. Программирование на языке Паскаль: Практическое руководство. - М.: Наука, 2016. – 209 с.
  20. Семашко, Г.Л.; Салтыков, А.И. Программирование на языке Паскаль. - М.: Наука, 2015. - 128 c.