Три составляющие алгоритмического языка — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

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

Три составляющие алгоритмического языка

2021-04-18 139
Три составляющие алгоритмического языка 0.00 из 5.00 0 оценок
Заказать работу

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

Эти понятия принято выражать тремя составляющими:

· алфавитом;

· синтаксисом;

· семантикой.

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

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

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

Запись текста на любом алгоритмическом языке представляет собой строго линейную последовательность символов (литер), т.е. не допускается использование верхних и нижних индексов (записей типа х2 или ai, k), дробей вида а/b и т.п. Это требование связано, главным образом, с необходимостью ввода текста в память машины (в случае машинной его обработки, например с целью его редактирования или трансляции на какой-либо другой язык), а на современных ЭВМ любые вводимые данные должны быть представлены в виде линейной последовательности литер.

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

 

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

В начале всегда разрабатывается способ решения задачи и по нему определяется алгоритм действия, а затем этот алгоритм записывается на одном из языков, понятном компьютеру. В итоге получается законченное и детальное описание алгоритма на языке программирования. Затем текст этой программы специальными служебными программами, которые называются ТРАНСЛЯТОРАМИ, переводится в машинный код и исполняется.

Определение 3. Язык программирования – это искусственный язык с ограниченным числом слов, значения которых строго и однозначно фиксированы транслятором и подчинены строгим правилам записи команд.

 

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

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

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

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

 В реальных машинах технологии компиляции и интерпретации перемешаны или обобщены одной программой – транслятором.

 

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

 

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

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

Определение. 5. Язык программирования низкого уровня близок к машинному коду и ориентирован на конкретный тип процессора.

Примером языка низкого уровня является язык АССЕМБЛЕР, созданный по принципу: «одна инструкция – одна строка».

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

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

Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы:

· машинные языки- языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

· машинно-ориентированные языки- языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);

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

· процедурно-ориентированные языки- языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);

· проблемно-ориентированные языки- языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);

· интегрированные системы программирования.

К языкам высокого уровня можно отнести следующие языки программирования:

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

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

Algol (алгол) - компилируемый язык предназначался для замены фортрана, но из-за более сложной структуры не получил широкого распространения.

Pascal (паскаль) - во многом похож на Алгол, но имеет более жесткие требования к структуре программы и имеет более широкие возможности по созданию крупных проектов

Basik (бэйсик) – язык, имеющий и компиляторы и интерпретаторы, занимающий первое место по популярности.

C (Си) – создан был для замены ассемблера с целью создания программ независимо от типа используемого процессора.

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

Языки программирования баз данных

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

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

1. Сохранение и удаление таблиц или их частей.

2. Поиск и сортировка записанной информации по различным признакам

1. Изменение существующих записей.

Для работы с базами данных созданы следующие языки:

СУБД – система управления базами данных, предназначен для управления и эффективной обработки баз данных.

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

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

Эти языки имеют интерпретаторы и разработаны специально для Интернета, называются скрипт-языками.

Примеры языков Интернета:

НТМL – Язык для оформления документов.

Perl – язык для работы с массивами данных и системной информацией.

2. СИСТЕМЫ ПРОГРАММИРОВАНИЯ

2.1. Средства создания программ.

Для создания программы необходимы следующие компоненты:

- текстовый редактор;

- компилятор;

-  редактор связей;

- библиотеки функций.

Текстовый редактор. В этом редакторе записывается текст программы и набор стандартных символов для записи различных операций. Позволяет определять правильность синтаксического набора непосредственно во время набора программы.

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

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

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

2.2 Среды быстрого проектирования

В последние годы в программировании используется визуальный подход: создание различных графических элементов управления и контроль за их режимом работы. Примером для этого может служить различные графические приложения, используемые в операционной системе Windows. Создавать графические элементы программным методом очень трудоемко. Чтобы облегчить этот процесс, были созданы среды быстрого проектирования (Rapid Application Development – создание повторяющихся приложений) RAD – среды. В дальнейшем все необходимые элементы управления создаются с помощью копирования ранее созданных визуальных компонент с помощью перетаскивания мышью в проектируемое окно. Их свойство и особенности управления настраиваются с помощью их редакторов, визуально показывающих характеристики объекта.

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

2. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ

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

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

3.1. Команды описания данных

Данные могут быть разделены по следующим типам:

- переменные величины, которые могут менять свое значение в ходе выполнения программы;

- постоянные величины, которые не меняют своего значения;

- вещественные величины, имеющие как целочисленное, так и дробное значение;

- целочисленные величины;

- массивы.

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

Например, при описании данных на языке Алгол указывается:

Real- вещественное число

Integer- целое число

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

3.2. Арифметические операции

К основным арифметическим операциям относятся:

+ сложение;

- вычитание;

* умножение;

/ деление.

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

3.3. Логические выражения.

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

true – истина

false - ложь

При этом истина соответствует 1, а ложь – 0.

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

Операция

Варианты написакния

Бэйсик, Паскаль СИ
Равно = ==
Не равно <> !=
Меньше < <
Меньше или равно <= <=
Больше > >
Больше или равно >= >=

 В следующей таблице приведен синтаксис логических операций.

Операция

Варианты написакния

Бэйсик СИ
И AND &
Или OR | |
Нет NOT !

 

3.4. Операторы программирования

Каждая команда в программе представлена одним оператором. А каждый оператор имеет знаки отделения их друг от друга. Так например, операторы в Паскале отделяются друг от друга;, а операторы в Бейсике:.

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

В Алголе для этого используют ключевые слова

       Begin

группа операторов

       End;

В языке Си – фигурные скобки { группа операторов }

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

Например, его значение в Паскале:

:=

Этот знак отличается от знака равенства =.

Если знак равенства указывает сравнение операций, то знак присвоения указывает значение переменной после совершения операций.

Пример.

Х=У - результат сравнения переменных Х и У

Х:= У – в ячейку с именем Х записать значение У, т.е. Х присвоить значение У.

Условные операторы.

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

ПРИМЕР

 На языке Паскаль имеем следующую запись:

If (a=0) d:= 0

Else d:= 1;

Данный оператор выполняет следующую команду:

Если а= 0, то d присвоить значение 0, иначе d присвоить значение 1.

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

Такие операторы цикла состоят из трех частей:

1- переменная счетчика вычислений.

2-определение конечного числа счетчика

3- определение приращение счетчика.

ПРИМЕР

На языке Паскаль оператор цикла имеет вид:

For i:= 1 to 100 do

a[i]:= 0

Что означает:

Для переменной i от 1 до 100 выполнить следующее действие с переменной массива А: любому ее элементу присвоить нулевое значение.

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

Например, на Алголе оператор ввода имеет вид:

Input (1, A, B)

Что означает: Ввести с бумажного носителя (перфоленты) значение переменных А и В.

Оператор вывода имеет вид:

Output (4, A, B)

Что означает: вывести на широкую бумажную ленту результаты вычислений переменных А и В.

 

 


Поделиться с друзьями:

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

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

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.05 с.