Файл: Обзор языков программирования высокого уровня ( ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 101

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Сегодня программирование является одной из наиболее бурно развивающихся отраслей производства программных продуктов. Еще в конце прошлого столетия общение с компьютерами реализовывалось исключительно с помощью программирования, именно поэтому программирование стали изучать фактически во всех учебных заведениях. Шло время, информационные технологии развивались, общение с компьютерами стало происходить при помощи готовых компьютерных программ. Современные прикладные пакеты программ содержат также дополнительные средства, при помощи которых пользователи могут расширять функциональные возможности имеющегося программного обеспечения. Так, например, практически в любом пакете Microsoft Office имеется среда программирования языка VBA (Visual Basic for Applications). Таким образом, под программированием понимается принципиально новый подход, который является обязательным пунктом в процессе подготовки специалистов информационных технологий [7].

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

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

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

  • операторы присваивания;
  • операторы ввода и вывода информации;
  • операторы перехода;
  • операторы выбора;
  • операторы циклов.

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

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


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

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

Цель работы – рассмотреть базовые конструкции языков программирования. Для достижения данной цели предстоит решить ряд задач:

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

При написании работы в качестве опорных источников были использованы следующие: М.А. Ревенко – «Практикум по программированию на языке TurboPascal» и Л.И. Долинер – «Основы программирования в среде PascalABC.NET».

ГЛАВА 1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

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

В, настоящее время, перед Россией стоит ряд крупнейших задач в области информатизации, призванных обеспечить ее инновационное развитие. Среди них: создание цифровой экономики – важный и перспективный тренд развития России. Его реализация требует создания множества новых рабочих мест в IT-области, использования существующих и разработки новых компьютерных приложений. Не менее важной и тесно связанной с построением цифровой экономики является решение проблемы обеспечения информационной безопасности страны, предполагающей разработку и внедрения компьютеров, операционных систем, национально-ориентированных баз и хранилищ данных, банковских систем, интернет технологий, и др. российского производства. Решение этих и иных задач требует широкого привлечения в данную область молодежи, ее ориентация к обучению в ВУЗах соответствующим специальностям, требующих высокого уровня знаний математических, технических, информационных и связанных с ними дисциплин. В этой связи, представляется интересным опыт молодежного движения She++, основанного студентками Стэнфордского университета и отражающего уже проявившую себя тенденцию привлечения в сферу IT-индустрии талантливых девушек и молодых женщин. Хотя движение She++ официально оформилось сравнительно недавно – в январе 2012 года, в реальности, оно имеет достаточно глубокие исторические корни.


Можно сказать, что у его истоков находится имя графини Ады Лавлейс, в девичестве Ады Байрон (1815—1852) – дочери знаменитого английского поэта Джорджа Байрона. Побывав на лекциях профессора Кэмбриджского университета Чарльза Бэббиджа и познакомившись с ним лично, она увлеклась идеями создания счетно-аналитической машины, способной производить вычисления с точностью до двадцатого знака (проект которой признан как проект первого в мире компьютера). В своих комментариях к описанию этой машины Ада Лавлейс приводит алгоритм вычисления чисел Бернулли, в настоящее время, признанного первой в мире компьютерной программой, а сама Ада Лавлейс – первым в мировой истории программистом. Впоследствии, ее именем назван алгоритмический язык высокого уровня – язык «АДА», созданный по заказу Министерства обороны США и позволяющий программировать параллельные процессы. А день ее рождения – 10 декабря, наряду с 13(12) сентября отмечается как «День программиста» [1].

Символом же движения She++ является имя Грейс Хоппер (1906-1992). Она обучалась, а затем работала в Йельском университете, где в 1934 году получила степень доктора математических наук. В 1943 году, перейдя на работу в ВМС США, занималась программированием для компьютера MARK I, а затем UNIVAC 1. Под ее руководством и непосредственном участии, создан  первый в истории компилятор «A COMPILER», а затем компиляторы «ARITH-MATIC», «MATH-MATIC» и «FLOW-MATIC».  Грейс Хоппер являлась одним из основных консультантов, а фактически - руководителем создания языка высокого уровня COBOL  (Common Business Oriented Language), предназначенного для создания бизнес приложений. Ее заслуги в области компьютерных наук высоко оценены. В 1985 году ей присваивается звание конр-адмирала ВМФ США, с чем ее лично поздравил президент Рональд Рейган, вручая высшую награду страны за не боевую службу - медаль Defense Distinguished Service Medal. А в 1991 году уже следующий президент Джордж Буш вручил ей Национальную медаль за развитие технологий. Ее именем назван мощнейший супер-компьютер Cray XE-6 Hopper и военный ракетный фрегат USS Hopper (DUG 70), а также, премия Ассоциации вычислительной техники, присуждаемая молодым специалистам, за их достижения в области компьютерных технологий [5].

Говоря о создании первых компьютерных языков высокого уровня, нельзя не упомянуть имя Екатерины Логвиновны Ющенко (1919-2001). Являясь основоположником первой в СССР школы теоретического программирования, она стала первой женщиной в стране, защитившей диссертацию на звание доктора физико-математических наук, посвященной теоретическим вопросам  компьютерных вычислений. Многое объединяет ее с Грейс Хоппер. Как и ее заокеанская коллега, она работала на первой в Европе вычислительной машине МЭСМ, разработала один из первых языков программирования высокого уровня с косвенной адресацией, что позволило создавать программы, функционирующие независимо от места расположения ее в памяти компьютера. Как и Грейс Хоппер, выполняла работы, связанные с  задачами оборонного комплекса страны, в частности, решения задач баллистики для ракетно-космических комплексов. Ее работы опубликованы в стране и за рубежом. Они высоко оценены правительством и научной общественностью. Ей присуждены две Государственные премии УССР, премия Совета Министров СССР, академическая премия Глушкова, она награждена орденом княгини Ольги [3,4].


Выше представлены краткие биографии лишь некоторых женщин ученых, внесших существенный вклад в становление и развитие информатики [6]. Однако, цель широкого привлечения молодых и талантливых женщин к работе в области информационных технологий, впоследствии легшей в основу движения She++, впервые четко поставлена американской ученой, доктором в области компьютерных наук и вычислений Анитой Борг (1949-2003), основавшей в 1997 году Институт по делам женщин и технологий,  впоследствии переименованный в ее честь в Институт Аниты Борг  (Anita Borg Institute - ABI).  Партнерами ABI выступают такие известные фирмы, компании и организации как: Apple, IBM, Microsoft, ORACLE, PayPal, Yahoo,Western Digital, Intel, Google, Hewlett Packard и др., а различные программы ABI охватывают 23 страны мира [2].

Сегодня, многие женщины делают успешную карьеру в IT-cфере. Среди них:  Сафра Кац – генеральный директор корпорации ORACLE;  Вирджиния М. Рометти –  генеральный директор IBM;  Мариса Майер – генеральный директор Yahoo; Урсула Бернса Майер – генеральный директор компании XEROX;  Шерили Кара Сэндберг – исполнительный директор Facebook;  Катерина Фэйк – ко-основатель компании Flickr;  Наталья Касперская – генеральный директор группы компаний Info Watch;  Алиса Чумаченко – основатель компании Game Inside и другие. И хотя, в силу различных обстоятельств, их имена, как и имена Ады Лавлейс, Грэйс Хоппер, Екатерины Ющенко, Аниты Борг не так широко известны, как например, Билл Гейтс, Стив Джобс, Сергей Брин,  Марк Цукерберг, их вклад в становление и развитие информационных технологий – трудно переоценить.

Молодежное движение She++ зародилось в стенах Стенфордского университета при поддержке его профессорско-преподавателского состава, отражая интерес молодежи к области IT-индустрии, ее стремление принять активное участие в информатизации самых различных областей. С другой стороны, ведущие фирмы и институты демонстрируют интерес к такому движению и его поддержке. Так, в 2004 году компания Google учредила стипендию имени Аниты Борг размером 7000 евро для студенток, обучающимся программированию и компьютерным технологиям, которая присуждается исходя из их академической успеваемости и лидерских качеств. В разные годы, в России эту стипендию получали студентки Московского государственного университета им. Ломоносова, Новосибирского государственного университета, Московского физико-технического института, Московского государственного института электронной техники, Московского инженерно-физического института, других ВУЗов.


В октябре 2017 года Институтом Аниты Борг намечено проведение международной конференции памяти Грейс Хоппер и посвященной женщинам в сфере компьютерных наук и вычислений [2].

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

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

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

По степени абстракции от аппаратуры принято выделять следующие виды языков:

  • низкого уровня:
    • машинно-зависимые – представляют собой команды, записанные непосредственно на языке конкретного процессора. Эти команды состоят из нулей и единиц. Фактически, команды таких языков представляют собой свод правил кодирования инструкций для определенного типа ЭВМ при помощи чисел;
    • машинно-ориентированные – команды, записанные на языке близком к процессору. Основное отличие от машинно-зависимых языков заключается в том, что машинные коды в таких языках заменены буквенными обозначениями;
  • высокого уровня – машинно-независимые языки, имитирующие естественный человеческий язык. Данные языки используют некоторые слова разговорного языка, а также общепринятые математические символы. Языки высокого уровня ближе к человеку, а не к компьютеру. Они позволяют записывать команды в текстовом режиме, а также предоставляют возможность определять сложные структуры данных;
  • сверхвысокого уровня – еще один вид машинно-независимых языков программирования. Команды таких языков исполняются на абстрактных машинах, при этом доступ к памяти полностью скрыт.

Еще одним признаком классификации является парадигма программирования. С этой точки зрения все языки программирования делятся на:

  • процедурные – проблемно-ориентированные языки, облегчающие исполнение процедур. Они бывают нескольких видов:
    • структурные – один оператор позволяет записывать целые алгоритмические структуры – циклы, ветвления и т.п.;
    • операционные – используют несколько операторов для записи одной алгоритмической конструкции. Неструктурное программирование позволяет использовать в явном виде оператор безусловного перехода;
    • параллельные – языки реального времени, поддерживающие параллельные вычисления. Программа, написанная на одном из таких языков, представляет собой совокупность описаний процессов, которые могут исполняться одновременно;
  • непроцедурные – описывают саму задачу. Делятся на:
    • функциональные – программы на таких языках обычно вычисляют значение некоторой функции, задающейся в виде композиции более простых функций. Одним из ключевых элементов данного языка является наличие рекурсии;
    • логические – языки, базирующиеся на классической логике. Основным их применением является логический вывод, например, экспертные системы. С точки зрения логического подхода программа представляет собой совокупность логических высказываний и правил[3];
  • объектно-ориентированные – языки, в основе которых лежит понятие объектов и их свойств, а также отношений между этими объектами [4].