Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Программирование

Определение 1

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

Программирование является:

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

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

К свойствам программ можно отнести:

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

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

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

Определение 2

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

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

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

  • наглядности – должны использоваться в языке по возможности уже существующие символы, хорошо известные и понятные как для программистов, так и для пользователей;
  • единства — должны использоваться одни и те же символы при обозначении родственных понятий в различных частях алгоритма, количество таких символов должно быть минимальным;
  • гибкости — предоставление возможности относительно несложного и удобного описа¬ния распространенных приемов математических вычислений при помощи ограниченного набора изобразительных средств языка программирования;
  • модульности — предоставление возможности описания сложных алгоритмов как со¬вокупности простых модулей, которые в дальнейшем могут быть использованы как отдельно, так и в составе различных алгоритмов;
  • однозначности – должна соблюдаться недвусмысленность при записи любого алгоритма (т.е. отсутствие таковой может привести к неправильному решению задачи). Основными компонентами языка программирования являются алфавит, семантика и синтаксис.
«Программирование» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Определение 3

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

Определение 4

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

Определение 5

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

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

Виды языков программирования

Определение 6

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

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

  • языки низкого уровня (машинные);
  • ассемблеры (машинно-ориентированные);
  • языки высокого уровня (машинно-независимые).

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

Определение 7

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

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

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

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

Трансляторы

Определение 8

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

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

Различают $2$ типа трансляторов: компиляторы и интерпретаторы.

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

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

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

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

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

В настоящее время функционирующие системы программирования используют обе технологии — компиляции и интерпретации.

Таким образом, процесс создания программы состоит из этапов:

  • составления исходного кода программы на языке программирования;
  • трансляции, необходимой для создания объектного кода
  • программы;
  • построения загрузочного модуля.

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

  • текстовый редактор, используемый для создания и редактирования исходного кода программы на языке программирования;
  • компилятор; редактор связей;
  • отладчик, используемый для анализа работы программы в процессе ее выполнения и выполнения программы по шагам;
  • библиотеку функций, состоящую из готовых подпрограмм, реализующих стандартные функции - математические, логические и т.п.;
  • справочную систему.*
Замечание 1

Наиболее распространены в настоящее время системы программирования, удобные в использовании, позволяющие получать эффективные программы, имеющие богатые библиотеки подпрограмм и мощные возможности для отладки. К ним относятся Turbo Pascal, Turbo C++, Microsoft С, Microsoft Basic.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 16.06.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot