Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Основы программирования на языках высокого уровня




 

 

В данном разделе раскрываются основные понятия языков программирования высокого уровня. Рассматриваются основные типы данных и даётся обзор наиболее востребованных операторов.

 

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

 

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

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

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

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

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

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

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

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

Зарезервированные имена – уже имеющие определённый смысл слова, которые не могут использоваться в иных целях. В каждом языке (иногда даже в разных версиях одного и того же языка) существуют свои особенности присвоения имён и зарезервированные слова. Примеры допустимых и недопустимых имён (для языков Бейсик, Паскаль, Си++) приведены в таблице 15.

Таблица 15

Примеры использования имён

Допустимые имена Недопустимые имена (пояснение, почему недопустимо)
а2 2a (начинается с цифры)
аb a b (содержит пробел)
ab_2_cd3 ab-2-cd3 (содержит знак арифметической операции «-»)
Basic C++ (содержит знак арифметической операции «+»)
sinx sin (зарезервированное имя – встроенная функция)
True2 True (зарезервированное – логическое значение истина)

 

Операция (англ. operator) – способ записи некоторых вычислительных действий. Зачастую операция обозначается всего одним знаком. Охарактеризуем наиболее часто встречающиеся практически во всех языках типы операций:

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

- логические операции НЕ, И, ИЛИ, синтаксис обозначения которых устанавливается языком программирования;

-операции отношения (сравнения) – знаки <, >, <=, >=, =, <>;

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

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

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

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

Тип переменной задает не только множество допустимых операций, применимых к данному типу, но и способ записи информации в ячейки памяти (формат представления) и, соответственно, необходимый для ее хранения объем памяти, а также диапазон допустимых значений. Например, в ячейке памяти длиной в 8 бит (или 1 байт) может храниться 256 различных значений в двоичном коде. В зависимости от типа переменной это значение может быть интерпретировано и как целое число в диапазоне от 0 до 255 (byte) или от -128 до 127 (shortint), и как один из символов в кодировке ASCII (char).

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

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

Константами или постоянными называют данные, значения которых заданы в тексте программы и не изменяются при ее выполнении. Константы, как и переменные, хранятся в памяти и имеют тип. Их можно указывать в тексте программы явно (такие константы называются также литералами), или для удобства обозначать идентификаторами, как и переменные. Например, инструкция Const pi = 3.14 задаёт значение константы pi, и это значение во время работы программы изменить нельзя, так как это не переменная. При этом запись 3.14 является литералом. Значения строковых литералов всегда заключаются в кавычки.

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

Арифметические выражения служат для определения числового значения. Например, выражение (1+sin(x))/2 содержит константы 1 и 2, переменную x, функцию sin() и знаки операций +, /. Значение этого выражения при x=0 будет равно 0.5, а при x=pi/2 – единице

Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения – " истина " или " ложь " (" да " или " нет "). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r, определяющее принадлежность точки с координатами (x, y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения – "истина", а при x=2, y=2, r=1 – "ложь".

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

 

Таблица 16





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


Дата добавления: 2015-01-29; Мы поможем в написании ваших работ!; просмотров: 1730 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2257 - | 2144 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.