Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФЗО-АФК-Моделирование, алгоритмизация, программ...doc
Скачиваний:
160
Добавлен:
15.09.2019
Размер:
320 Кб
Скачать
  1. Программирование

  1. Основные понятия

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

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

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

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

Семантика – система правил толкования конструкций языка.

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

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

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

Технологический процесс разработки программы на некотором языке программирования включает

редактирование

компиляция

отладка

написание и исправление исходного текста программы (или ее части в виде текстового файла)

перевод исходного текста программы в машинные коды

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

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

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

по уровням

по выполнению алгоритма

низкий

высокий

сверхвысокий

вычислительные

символьной обработки

машинные языки и языки символического кодирования (Microcode, Assembler), являются машинно-зависимыми

ориентированы на систему операндов, характерных для записи определенного класса алгоритмов (Pascal, C++, C#, Prolog.), машинно-независимые

упрощенный синтаксис, наличие «syntax sugar» (Python, Lua, Ruby, CoffeeScript), полностью машинно-независимые

выполняют вычисления по заданному алгоритму (Pascal, C++, C#, Prolog, Java, Python)

обрабатывают данные, представленные системами линейных списков символов (S-Lisp, Closure)

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

  • интерпретаторы, которые сканируют и проверяют исходный код в один шаг, и сразу же их выполняют;

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

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

процедурное

непроцедурное

представляет собой определенную последовательность действий

решение не задано определенным детерминированным алгоритмом

структурные

операционные

объектно-ориентированные

функциональные

логические

(Pascal, C и др.), – одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д.

(Фортран, Бейсик) – используют несколько операций

(C++, C#, JavaScript, Java) используют иерархию классов, основными базовыми понятиями являются – объекты, класс объектов, свойства, метод обработки, события

описывают вычисление некоторой функции (одним из основных элементов является рекурсия)

(Пролог) –

не описывают действий, задают данные и соотношения между ними, путем перебора находят ответ на поставленный вопрос

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

Системы программирования обычно содержат –

текстовый

редактор

компилятор

(транслятор и

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

стандартные

библиотеки

подпрограмм

отладчик

запись и редактирование исходного текста программы

компиляция или интерпретация исходного текста программы в машинный код или псевдокод с диагностикой ошибок

набор готовых стандартных функций

поиск ошибок в программе и просмотр хода ее выполнения

  1. Основные понятия в алгоритмических языках.

Данные – величины, обрабатываемые программой, существует тpи основных вида данных: константы, переменные и массивы.

Константы

Переменные

Массивы

данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения. Н-р, числовые: 7.5, 12; логические: true (истина), false (ложь); символьные: «А», «+»; строковые: «abcde», «информатика»

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

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

Выражения – элементы языка, которые предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций, объединенных знаками операций:

арифметические

логические

над строковыми

сложение, вычитание, умножение, деление и дp.

а) отношений - «<»; «>»; «<=»; «>=»; «=»; не равно – «<>»;

б) булевы операции «логическое и», «логическое или», «логическое не» и др

наборами символьных значений дpуг с другом

Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, «многоэтажных» дробей и т. д.).

Общие свойства выражений

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

  • Класс – тип данных, данные или функции.

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

  • Размер – измеряется в байтах.

  • Сериализуемость (для языков высокого уровня) – возможность извлечь объект из памяти в виде набора байт.

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

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

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

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

Группа 76

6