Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




Основные структуры алгоритма

Структура следование – это алгоритм из линейной цепочки действий

 

Структура ветвление – это алгоритм, содержащий одно или несколько условий и соответственно 2е и более ветви

 

да

 

нет

 

если-то (неполное ветвление) если-то-иначе

 

Иногда проверяются несколько условий и указываются действия, которые будут совершаться при выполнении каждого условия

выбор выбор-иначе

 

Цикл – многократное посторенние одного или нескольких действий (тел цикла)

Структура Цикл Для – означает повторение действий несколько раз, сколько умещается между начальным и конечным значениями переменной величины, которая задаёт число повторений и называется параметром цикла (счётчиком).

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


Цикл Пока – действия повторяются до тех пор, пока выполняется определённое условие

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

 

Цикл Пока не – действия повторяются до тех пор, пока не выполнится определённое условие


 

Блок-схема цикла с постусловием

 

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

 

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

Алгоритмический язык – это структурно-стилизованный способ описания алгоритма

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

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

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

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

Базовые типы объектов алгоритмов и, соответственно программ – это данные: Имеется тpи основных вида данных: константы, переменные и массивы.

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

Примеры констант:

числовые: 7.5, 12;

логические: true(истина), false(ложь);

символьные: "А", "+";

строковые: "abcde", "информатика".

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

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

Имя (идентификатор) последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.) – поясняет значение объекта. Имена устанавливает автор алгоритма. Они могут состоять из латинских букв и цифр. Первым символом в идентификаторе должна стоять латинская буква. Иногда длина идентификатора ограничена. Рекомендуется выбирать мнемонические имена, отражающие физическую суть соответствующего объекта задачи (SUMMA, FIO, PI). Общепринято для обозначения счётчиков использовать однобуквенные имена: I, J, K, L, M, N.

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

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

А(10) означает, что даны элементы а1, а2, а3,…, а10

Двумерный массив – для индексации указывают два индекса – сначала № строки (i), затем № столбца (j)

Х(3,4) х1,1 х1,2 х1,3 х1,4

х2,1 х2,2 х2,3 х2,4

х3.1 х3,2 х3,3 х3,4

Возможны не только числовые массивы, но и символьные (напр. список фамилий). В качестве индексов могут использоваться не только константы, но и переменные и даже выражения А(I+2); X(I, J+3). Массив относится к составным (конструируемым) типам данных.

В любом алгоритме (программе) всегда присутствует раздел операторов. Всегда имеется одна точка входа (НАЧАЛО) и одна (в некоторых языках программирования – несколько) точка выхода (КОНЕЦ). В остальном разделы в составе алгоритма могут отличаться в зависимости от используемого языка. В разных языках программирования используются разные записи программы: в одних каждое действие записывается в отдельной строке, в других – через двоеточие и т.д. В некоторых версиях языка Basic, строки нумеруются.

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

Различают простые и составные операторы. Простые: оператор присваивания, оператор перехода, операторы ввода и вывода данных.

Составные: условные операторы, операторы цикла и др.

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

Basic Pascal C++

=:= =

 

В алгоритмах и программах важную роль играют комментарии. Они повышают понятность и наглядность алгоритма и программы, позволяют их документировать и облегчают отладку. В качестве комментария м. б. любой текст, поясняющий строку или блок программы. Комментарии компьютером не исполняются, служат только для человека. Форма обозначения м.б. в разных программах различной: {….}, (….), *….*, /*…*/, иногда открывается ключевым словом REM.

 

Операции. Существуют следующие типы операций:

- арифметические операции: сложение, обозначается символом “+”; вычитание, обозначается символом “-”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp.;

- логические операции: операции “логическое и”, “логическое или”, “логическое не” и др.;

- операции отношения: меньше, обозначается символом “<”; больше, обозначается символом “>”; меньше или равно, обозначается символами “<=”; больше или равно, обозначается символами “>=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.

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

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

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

Различают выражения арифметические, логические и строковые (текстовые).

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

1. Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.

2. Индексы элементов массивов записываются в скобках.

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

4. Операции одного старшинства выполняются слева направо.

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

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

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

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

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

Метод решения задач, при котором объекты разного рода объединяются общим понятием (концепцией), а затем рассматриваются как элементы единой категории называется абстрагированием.

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

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

Программирование – это теоретическая и практическая деятельность решения задачи средствами конкретного языка программирования и оформления полученных результатов в виде программы.

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

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

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

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

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

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

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

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

1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.

2. Если программа большая и повторная компиляция всего исходного текста занимает много времени, разделение ее на части экономит время компиляции.

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

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

 

Первая программа была написана Адой Лавлейс.

 

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

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

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

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

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

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

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

2. Другая классификация делит языки на вычислительные и языки символьной обработки. К первому типу относят Фортран, Паскаль, Алгол, Бейсик, Си, ко второму типу - Лисп, Пролог, Снобол и др.

 

3. Языки программирования делят на процедурные, объектно-ориентированные и декларативные

Процедурное программирование

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

 

Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.

Одним из первых процедурных языков программированиявысокого уровня является Фортран (For mula Tran slation), созданный в середине 50-х годов. Благодаря своей простоте и тому, что на этом языке накоплены большие библиотеки программ, Фортран и в наши дни остается одним из самых распространенных. Он используется для инженерных и научных расчетов, для решения задач физики и других наук с развитым математическим аппаратом. В 2000 г. вышла версия Фортран F2k (стандартная версия HPF (High Performance Fortran) для параллельных суперкомпьютеров

Для решения учётно-экономических задач и управленческих задач был создан язык программирования – Кобол (Co mmon b usiness o riented l anguage)

Разработан в США в 1958-1960 гг. Программа на Коболе имеет вид ряда предложений на английском языке и напоминает обычный текст. Группы после­довательно записанных операторов объединяются в предложения, предложения - в параграфы, параграфы - в секции. Программист присваивает параграфам и секциям имена (метки), что облегчает непосредственное обращение к нужному участку программы. В СССР был принят русский вариант языка. В Коболе были реализованы мощные средства работы с большими объемами данных, хранящи­мися на различных внешних носителях. На этом языке создано много приложений, некоторые из них активно эксплуатируются и сейчас. Достаточно сказать, что одной из высокооплачиваемых категорией граждан в США являются программисты на Коболе.

Алгол (Algo rithmic l anguage) разработан группой зарубежных специалистов в 1960 г., явился результатом международного сотруд­ничества конца 50-х гг. (Алгол-60). Алгол предназначался для запи­си алгоритмов, построенных в виде последовательности процедур, применяемых при решении поставленных задач. В нем впервые введены понятия «блочная структура программы», «динамическое распределение памяти». Внутри блока в Алголе можно вводить локальные обозначения, которые не зависят от остальной части программы. Несмотря на свое интернациональ­ное происхождение, Алгол-60 получил меньшее распространение, чем Фортран. В 1968 г. в результате дальнейшего развития и усо­вершенствования Алгола-60 была создана версия Алгол-68. Это мно­гоцелевой универсальный расширенный язык программирования. Последнее свойство позволяло с помощью одной и той же програм­мы транслятора осуществлять трансляцию с различных расширенных версий языка без дополнительных затрат на приспособление этого языка к различным категориям пользователей, на получение про­блемно-ориентированных диалектов языка. По своим возможностям Алгол-68 и сегодня опережает многие языки программирования, но для него нет хороших компиляторов. В нашей стране в те годы под руководством академика Андрея Петровича Ершова был создан транслятор Альфа, который представлял достаточно удачную русифицированную версию Алгола.

В середине 60-х гг. сотрудники математического факультета Дартмутского колледжа Томас Курц и Джон Кемени создали специали­зированный язык программирования, который состоял из простых английских слов. Новый язык назвали универсальным символическим кодом для начинающих (B eginners A ll-purpose S ymbolic I nstruction C ode) или сокращенно BASIC (Бейсик). 1964 г. считают годом рождения этого языка. Он получил самое широкое распространение при рабо­те на персональных компьютерах в режиме интерактивного диалога. Популярность Бейсика объясняется как простотой его освоения, так и наличием достаточно мощных универсальных средств, пригодных для решения научных, технических и экономических задач, а также задач бытового характера, игровых и т.д. Существует множество версий язы­ка, зачастую мало совместимых друг с другом. Спустя много лет после изобретения Бейсика, он и сегодня самый простой для освоения из десятков языков общецелевого программирования.

 

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

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

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

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

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

 

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

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

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

 

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

Основными концепциями ООП являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием — прототипов).

· Система состоит из объектов

· Объекты некоторым образом взаимодействуют между собой

· Каждый объект характеризуется своим состоянием и поведением

· Состояние объекта задаётся значением полей данных

· Поведение объекта задаётся методами

 

Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

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

 

Прототип — это образцовый объект, по образу и подобию которого создаются другие объекты.

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

 

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

 

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

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

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

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

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

Функциональное программирование не предполагает изменяемость данных

 

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

В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Логическое программирование основано на теории математической логики. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Prolog (PRO gramming in LOG ic – программирование в терминах логики). Этот язык программирования разрабатывался для задач анализа и понимания естественных языков на основе языка формальной логики и методов автоматического доказательства теорем. Prolog является по сути универсальной машиной вывода, работающей в предположении замкнутости мира фактов. Построение логической программы вообще не требует алгоритмического мышления, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста.

Языки описания сценариев предназначаются не для написания приложения с нуля, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Развитие и рост популярности Internet также способствовали распространению языков описания сценариев. Так, для написания сценариев широко употребляется язык Perl, а среди разработчиков Web-страниц популярен JavaScript.

 

Языки программирования баз данных предназначены для обработки больших массивов информации и выборки записей по определённым признакам. В каждой СУБД имеется свой универсальный язык, ориентированный на её особенности. Для управления реляционной базой данных был создан структурированный язык SQL (Structured Query Language).


Basic

Beginner’s All-purpose Symbolic Instruction Code – универсальный язык символических инструкций для начинающих.

Программа на языке Basic состоит из последовательности строк. Каждая строка содержит номер и один или несколько операторов.

Алфавит языка включает:

-- десятичные цифры от 0 до 9

-- cтрочные и прописные буквы от A до Z (используются для операторов, идентификаторов и различных операций.

-- cтрочные и прописные буквы кириллицы от А до Я (используются только в комментариях без кавычек и в символьных константах)

-- знаки и символы + - = * ()< > $ % @ # &:; пробел

Константы (арифметические, символьные, логические)

-- целая константа в диапазоне от -32768 до +32767 (не сдержит десятичной точки)

-- вещественная константа (может содержать знак + - и дробную часть, отделяемую десятичной точкой.

-- форма с фиксированной точкой (естественная форма)

3.2 0.615 -37.149 276.00 +1.54

-- форма с плавающей точкой

- 4.32*10-4 записывается как - 4.32Е – 4

0.761*106 записывается как 0.761Е + 6

Диапазон допустимых значений от -Е + 38 до +Е + 38

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

Идентификаторы – могут содержать латинские буквы, цифры и некоторые символы. В конце идентификатора может быть суффикс –

для имён объектов символьного типа $ (name$ s5$ FIO$)

для целых чисел % (N% i%)

для вещественных чисел – буква или цифра в конце имени (X a PLAN Sum2)

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

20 DIM FIO$ (20) ‘ Список группы

30 DIM STUD$ (20), OCEN% (20, 5) ‘ Информация о студентах

Операции – для вычислительного процесса

-- арифметические операции (в порядке убывания приоритета)

^ возведение в степень

* умножение

/ деление

\ целочисленное деление

MOD получение остатка от деления

+ сложение

- вычитание

-- операции отношения:

= равно <> неравно

> больше < меньше;

>= больше или равно, не меньше

<= меньше или равно, не больше.

Если отношение ложно, результат операции «О», если истинно «-1».

Операции отношения используются при сравнении данных: двух чисел либо двух строк. Сравнить число со строкой нельзя.

- - логические операции

NOT логическое отрицание

AND и, логическое умножение

OR или, логическое сложение

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

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

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

Встроенные функции – стандартные функ

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...