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

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

Язык программирования — язык, используемый для формальной записи алгоритмов. Большинство языков программирования относятся к алгоритмическим языкам. Запись алгоритма на алгоритмическом языке называют программой. Язык, используемый для формальной записи алгоритмов, называется алгоритмическим языком. При описании любого языка (в том числе естественного, например, русского, английского и т.д.) используются следующие понятия: алфавит, синтаксис и семантика. Алфавит языка — это множество простейших знаков, которые могут быть использованы в текстах этого языка. Последовательность символов алфавита называют словом. Правила, согласно которым образуются слова из алфавита, называются грамматикой. Сам же язык — это множество всех слов, записываемых в данном алфавите согласно данной грамматике. Синтаксис — это набор правил, определяющих возможные сочетания (конструкции) из букв алфавита. Для описания синтаксиса языка, как правило, используют другой язык (метаязык) или синтаксические диаграммы. Семантика — это набор правил, определяющих значение (смысл) отдельных конструкций языка. Одним из самых распространенных алгоритмических языков является язык Pascal, который полезен как для начинающих, так и для опытных программистов. Обучение программированию чаще всего основывается на этом языке.

Язык программирования – это знаковая система, предназначенная для описания процессов решения задач и их реализации на ЭВМ. Реализация означает, что описания могут быть введены в ЭВМ и однозначно ею по-няты. К языкам программирования относятся языки команд или машинные языки и языки высокого уровня.

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

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

Читайте также:  Нелинейное программирование решенная задача

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

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

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

8. Запись алгоритмов в форме схам, псевдокодов и программ на Паскале .

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

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

Разветвляющийся алгоритм

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

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

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

Р

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

Алгоритм независимо от его структуры – сложной или простой всегда имеет один «Останов». Все ветви алгоритма должны сойтись при движении по нему на символе «Останов». Схемы применимы в любой предметной области, так как они жестко регламентируют и формализуют только способы изображения переходов от действия к действию.

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

Источник

3. Алгоритмические языки и их классификация

Языки программирования – это искусственные языки записи алгоритмов для исполнения их на ЭВМ. Программирование – составление программы по заданному алгоритму.

Классификация языков программирования представлена на рис.5. В овалах приведены названия наиболее популярных языков. Существуют и другие языки программирования, например к процедурным кроме указанных на схеме относятся языки Алгол, СИ, Бейсик и др.

Языки программи- рования

Процедурные Непроцедурные

Машино- Машино- SQL QBE

ориентированные независимые

Процедурно- Проблемно- Объектно-

ориентированные ориентированые ориентированные

Паскаль Фортран Лисп Пролог Си++ Visual Basic

Алгол Ада Delphi

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

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

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

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

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

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

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

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

Delphi– язык программирования высокого уровня, разработанный фирмой Borland на основе языка Паскаль. Это эффективное средство для быстрого создания приложений. Особое место в таких системах занимают возможности работы с базами данных.

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

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

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

Пролог– язык программирования высокого уровня декларативного типа, предназначенный для разработки систем и программ искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в 1971 г. в университете г. Марсель (Франция), относится к числу широко используемых и постоянно развиваемых языков.

Алгол– язык программирования высокого уровня, ориентированный на описание алгоритмов решения вычислительных задач. Был создан в 1958 г для научных исследований. Версия этого языка Алгол-60 была принята Международной конференцией в Париже (1960 г.) и широко использовалась на ЭВМ 2-го поколения. Версия Алгол-68, разработанная группой специалистов Международной федерации по обработке информации ( ИФИП) в 1968 г., получила статус международного универсального языка программирования, ориентированного на решение не только вычислительных, но и информационных задач. Хотя в настоящее время Алгол практически не используется, он послужил основой или оказал существенное влияние на разработку более современных языков, например, Ада, Паскаль и др.

Источник

Оцените статью