Конспект по информатике на тему «Языки программирования»
Новый язык назвали «универсальным символическим кодом для начинающих» ( Beginners All — Purpose Symbolic Instruction Code , или, сокращенно, BASIC ). Годом рождения нового языка можно считать 1964 г.
Языки программирования — это формальные языки специально созданные для общения человека с компьютером. Каждый язык программирования, равно как и «естественный» язык (русский, английский и т.д.), имеет алфавит, словарный запас, свои грамматику и синтаксис, а также семантику.
Алфавит — фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.
Синтаксис — система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика — система правил однозначного толкования отдельных языковых конструкций, позволяющих воспроизвести процесс обработки данных.
Описанию грамматики языка предшествует описание его алфавита. Алфавит любого языка состоит из фиксированного набора символов, однозначно трактуемых. Алфавит языков программирования, как правило, связан с литерами клавиатуры печатной машинки. Клавиатуры персональных компьютеров близки к ним по наличию литер.
Алфавиты большинства языков программирования близки друг другу и основываются на буквах латинского алфавита, арабских цифрах и общепринятых спецсимволах, таких как знаки препинания, математических операций, сравнений и обозначений. Большинство популярных языков программирования в своем алфавите содержат следующие элементы:
< служебное слово >:: = begin end if then else for next и т . д .
Оператор — одно из ведущих понятий всех языков программирования (теоретически, за исключением чисто декларативных; но в действительности и они используют родственное понятие). Каждый оператор представляет собой законченную фразу языка и определяет однозначно трактуемый этап обработки данных В соответствии с теорией алгоритмов выделяют основные (базисные) операторы языка: присвоения, условный и безусловный переход, пустой оператор. К производным, не основным, относят составной оператор, оператор выбора, оператор цикла и оператор присоединения.
Все операторы языка в тексте программы отделяются друг от друга явными или неявными разделителями, например:
Операторы выполняются в порядке их следования в тексте программы. Лишь с помощью операторов перехода этот естественный порядок может быть нарушен.
Большая часть операторов ведет обработку величин. Величины могут быть постоянными и переменными. Значения постоянных величин не изменяются в ходе выполнения программы. Величина характеризуется типом, именем и значением. Наиболее распространенные типы величин — числовые (целые и вещественные), символьные, логические. Тип величины определяется ее значением.
Другая важная классификация величин — простые и структурированные. Простая величина в каждый момент может иметь не более одного значения. Ей соответствует одна ячейка памяти (поскольку термин «ячейка» несколько устарел, часто говорят «машинное слово») или ее эквивалент во внешней памяти компьютера. Структурированная величина, имея одно имя, может иметь разом несколько значений. Эти значения представляют собой элементы (компоненты) величины. Самый широкоизвестный пример — массив, у которого элементы различаются по индексам (номерам). Вопрос о структурировании величин — входных, выходных и промежуточных — для успеха решения прикладной задачи не менее важен, чем вопрос о правильном написании последовательности операторов.
Важнейшие характеристики структурированной величины таковы: упорядоченность (да или нет), однородность (да или нет), способ доступа к элементам, фиксированность числа элементов (да или нет). Так, массив является упорядоченной однородной структурой с прямым доступом к элементам и фиксированным их количеством.
Всем программным объектам в языках даются индивидуальные имена. Имя программного объекта называют идентификатором (от слова «идентифицировать»). Чаще всего идентификатором является любая конечная последовательность букв к цифр, начинающаяся с буквы:
Как правило, в большинстве языков программирования в качестве идентификатора запрещается использовать служебные слова языка.
Многим слово «идентификатор» не нравится, и в настоящее время чаще употребляют слово «имя», поскольку
Программисты выбирают имена по своему усмотрению. Принципы выбора и назначения имен программным объектам естественны. Следует избегать мало выразительных обозначений, не гоняться за краткими именами. Имена должны быть понятны, наглядны, отражать суть обозначаемого объекта. Например,
Summa, Time, i, j, integral, init и т . п .
Некоторым идентификаторам заранее предписан определенный смысл и их называют стандартными, например, Sin — это имя известной математической функции.
Основные базовые операторы (команды) языка Бейсик определяют ввод и вывод данных, присвоение, изменение порядка выполнения команд и циклические конструкции.
(служебное слово LET можно не писать) — присвоение;
NEXTx — циклическая конструкция.
Часто используют, так называемый, внутренний ввод данных посредством операторов READ — DATA .
Добавим к этому списку несколько системных команд, с помощью которых программист и пользователь занимаются отладкой и обслуживанием программы:
RUN — команда запуска программы на выполнение;
LIST — команда вывода текста программы на экран дисплея;
SAVE — команда сохранения текста программы в виде файла;
LOAD — загрузка ранее сохраненной программы из существующего файла.
Этих операторов и команд обычно хватает, чтобы написать и отладить любую вычислительную программу.
Общие сведения о языках программирования. Язык программирования Лого.
Любая ЭВМ представляет собой программно-управляемое вычислительное устройство. Даже такие «невычислительные» операции, как обработка текстов или построение графиков, в ЭВМ сводятся к вычислениям. Так, буквы представлены числовыми кодами, графики разложены на точки, координаты и цвет которых также задаются соответствующими числовыми кодами. Процессор выполняет команды, записанные в машинных кодах. Чем выше частота процессора, тем больше он выполняет команд за единицу времени. Машинные коды представляют собой набор 0 и 1. Однако программирование в машинных кодах крайне сложная задача и требует глубокого знания особенностей ЭВМ. Максимально приближен к машинным кодам язык программирования Ассемблер. Команды Ассемблера
представляют собой не набор 0 и 1, а более понятный программисту набор инструкций. Например: MOV АХ,2 поместить 2 в регистр АХ CPU. На Ассемблере программы пишутся в основном тогда, когда требуется обращение к внешним устройствам, обработка прерываний, быстрый вывод информации на экран
Программирование на Ассемблере требует хорошего знания архитектуры ЭВМ и программно-аппаратных средств.
Поэтому для программирования ЭВМ используются в основном языки высокого уровня. На этих языках программирования управление ПЭВМ сводится к заданию команд, записываемых обычными или сокращенными словами, как правило, на английском языке.
Каждая команда на языке высокого уровня запускает в действие несколько десятков, а то и сотен команд в» машинных кодах. Запись программ на языках высокого уровня выглядит гораздо более компактно и понятно, чем в машинных кодах. Например: els. Существуют специальные программы трансляторы, которые программу на языке высокого уровня переводят в машинные коды.
Языки программирования делятся на два обширных класса -компилирующие и интерпретирующие.
Компилирующие языки воспринимают сразу весь текст программы, проверяет его на наличие синтаксических ошибок, и затем транслируют в машинные коды. Откомпилированная программа выполняется быстро и занимает в памяти ЭВМ относительно немного места.
Другой класс языков — интерпретирующие — переводят в машинные коды каждую команду, по мере ее поступления на вход интерпретатора и тут же исполняет ее. Хранить
машинные коды при этом уже не требуется, но нужно постоянно держать в памяти сам интерпретатор. Такой способ замедляет вычисления, поскольку время трансляции входит в полное время вычислений. Но он дает важное достоинство — любую команду или группу команд можно тут же исполнить, а затем, убедившись в правильности работы включить в общую программу.
Сейчас практически любая реализация языка представлена как среда разработки, которая включает в себя следующие основные компоненты:
1. Компилятор или интерпретатор,
2. Простейший текстовый редактор, 3.Отладчик,
4.библиотеку готовых модулей. Лого является специальной программой-интерпретатором. Имеет мощный и гибкий аппарат по обработке разнообразных объектов — чисел, букв, слов, инструкций и т.д. Объекты в Лого рассматриваются с высокой степенью обобщения. Так в Лого нет задания специальных типов целочисленных, с плавающей точкой, символьных и прочих переменных. Значениями переменных являются просто объекты. Лого имеет много команд по обработке и редактированию объектов и списков из них, например, по выделению первого и последнего или заданию по порядку объекта из списка, удалению их, вводу новых объектов и т.д. Лого — язык универсальный. Это означает, что на нем можно решать самые разнообразные задачи как вычислительного, так и не вычислительного характера.
Алфавит Лого, его объекты слова и списки.
В состав алфавита языка входят 2 6 логических прописных букв от А до Z и строчных от a. до z. С помощью этих букв записываются вся информация языка Лого. Команды могут записываться как прописными, так и строчными буквами. Режим русского алфавита можно использовать в текстах и комментариях, а также в именах переменных и процедур.
Для ввода и индикации чисел в алфавит Лого включены 10 арабских цифр (0. 9) и разделительная точка.
С их помощью можно задать как целые числа (123 или 456) так и дробные (123.456). Знак минус используется как для указания знака (-123) так и для задания арифметической операции вычитания. Помимо букв и цифр в алфавит Лого входит ряд специальных знаков ?!=<>+*,/[] ( ) ;
:- указывает на то, что последующая за ним цепочка знаков есть имя переменной. Списки слов заключаются в квадратные скобки. Круглые скобки используются для задания двух параметров в командах.
Объектами Лого называются слова и списки, используемые в качестве входной и выходной информации. Слово — есть просто последовательность букв и цифр. Про любой знак слова, говорят, что он является элементом слова, а слово является элементом списка.
Под переменной в Лого понимают величину, значение которой может меняться в процессе работы программы.
Для обозначения переменных используется буквы латинского и русского алфавита. Имена переменных так же могут состоять из некоторого набора букв и цифр. Например, сочетание pereml также может служить именем переменной, однако любое имя переменной должно обязательно начинаться с буквы.
Числовые константы и переменные величины, объединенные знаками арифметических операций и круглыми скобками, образуют арифметические выражения.
При записи арифметических выражений следует учитывать, что:
1) Вычисление арифметических выражений производится с учетом старшинства операций. Сначала операции умножения и деления потом сложения и вычитания. Если в выражении встречаются несколько операций одинакового старшинства, то действия выполняются слева направо. Например: выражение X/A*Y означает X—Y X
-,но не -—, а выражение А-В+С означает (А-В)+С
A AY
2) Выражения, заключенные в круглые скобки, вычисляются в первую очередь. Если выражение содержащие скобки, само находится в круглых скобках, то вычисления производится, начиная с внутренних скобок. Например: А*(Х-В/(Х+С)).