Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/8d12aaa93164ad788899dcd36f5a0cf6 to your computer and use it in GitHub Desktop.
Save anonymous/8d12aaa93164ad788899dcd36f5a0cf6 to your computer and use it in GitHub Desktop.
Программирование общие понятия

Программирование общие понятия


Программирование общие понятия



Лекции по теории языков программирования
Тема 11. Языки программирования (общие понятия)
Общие понятия программирования


























Кафедра математики и экономической информатики. Основные положения о программировании 4. Инструментарий технологии программирования 8. Понятие языка программирования Классификация языков программирования Описание некоторых языков программирования Язык программирования Java Обзор языка Java Процесс создания Java-программы Достоинства языка Java Список использованных источников Когда изучаешь какой-либо вопрос, считаешь, что знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, когда можешь научить этому кого-нибудь другого; и совершенно уверен, когда начинаешь программировать. До середины х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз. Языки программирования этой эры, как и компьютеры на которых они использовались, были разработаны для специфичных задач, таких как научные вычисления. Поскольку машины были дорогими и медленными, то и машинное время было дорого — поэтому скорость выполнения программы стояла на первом месте. Однако в течение х цена на компьютеры стала падать так, что даже небольшие компании могли их себе позволить; скорость компьютеров всё увеличивалась, и наступило время, когда создатели языков программирования все больше стали задумываться об удобстве написания программ, а не только скорости их выполнения. На заре компьютеризации, машинный язык был единственным языком, большего человек к тому времени не придумал. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня то есть немашинные языки. Так программирование сделало колоссальный прорыв: Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов языков программирования и развитие процесса программирования в целом. Основные положения о программировании. Термин программирование означаетпроцесс и искусство создания компьютерных программ с помощью специальных языков программирования. В общем смысле слова, программирование есть формализация предопределенного состояния, по реакции на событие, реализуемого средствами математики или естественных наук. В узком смысле слова, программирование рассматривается как кодирование алгоритмов на заданном языке программирования. В более широком смысле программирование - процесс создания программ, то есть разработка программного обеспечения. Программирование включает в себя:. Проектирование - разработка комплекса алгоритмов. Кодирование и компиляцию - написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора. Тестирование и отладку - выявление и устранение ошибок в программах. Отчасти, искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью или между временем программиста и временем пользователя. Как уже было сказано, изначально, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого, программисты пишут исходный код, и компьютер используя компилятор, интерпретатор или ассемблер, речь о которых пойдёт чуть позже транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Такой подход применяется в Forth, Lisp, Java данному языку посвящена 3 Глава реферата. Это, разумеется, технические аппаратные средства обеспечения программирования - совокупность электрических, электронных и механических компонентов автоматизированных систем составляет их техническое обеспечение в отличие от программных средств, представляющих собой программное обеспечение автоматизированных систем. Например, электронная вычислительная машина ЭВМ или компьютер - комплекс технических и программных средств, основанных на использовании электроники и предназначенных для автоматической или автоматизированной обработки данных в процессе решения вычислительных и информационных задач. В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ. Структурное программирование - методология программирования, базирующаяся на системном подходе к анализу, проектированию и реализации программного обеспечения. Эта методология родилась в начале х годов и оказалась настолько жизнеспособной, что и до сих пор является основной в большом количестве проектов. Основу этой технологии составляют следующие положения:. Сложная задача разбивается на более мелкие, функционально лучше управляемые задачи. Каждая задача имеет один вход и один выход. В этом случае управляющий поток программы состоит из совокупности элементарных подзадач с ясным функциональным назначением. Простота управляющих структур, используемых в задаче. Это положение означает, что логически задача должна состоять из минимальной, функционально полной совокупности достаточно простых управляющих структур. В качестве примера такой системы можно привести алгебру логики, в которой каждая функция может быть выражена через функционально полную систему: Разработка программы должна вестись поэтапно. На каждом этапе должно решаться ограниченное число четко поставленных задач с ясным пониманием их значения и роли в контексте всей задачи. Если такого понимания не достигается, это говорит о том, что данный этап слишком велик и его нужно разделить на более элементарные шаги. Так же как и для структурной технологии программирования, концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:. Функциональная декомпозиция задачи - разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач - модулей. Модули связаны между собой только по входным и выходным данным. Модуль - основа концепции модульного программирования. Модульный подход позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль. Реализуемые решения должны быть простыми и ясными. Если назначение модуля непонятно, то это говорит о том, что декомпозиция начальной или промежуточной задачи была проведена недостаточно качественно. В этом случае необходимо еще раз проанализировать задачу и, возможно, провести дополнительное разбиение на подзадачи. При наличии сложных мест в проекте их нужно подробнее документировать с помощью продуманной системы комментариев. Этот процесс нужно продолжать до тех пор, пока вы действительно не добьетесь ясного понимания назначения всех модулей задачи и их оптимального сочетания. Назначение всех переменных модуля должно быть описано с помощью комментариев по мере их определения. Идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект. ООП основано на трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм. Инкапсуляция - объединение в единое целое данных и алгоритмов обработки этих данных. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами. Наследование - свойство объектов порождать своих потомков. Объект - потомок автоматически наследует от родителей все поля и методы, может дополнять объекты новыми полями и заменять перекрывать методы родителя или дополнять их. Полиморфизм - свойство родственных объектов то есть объектов, имеющих одного общего родителя решать схожие по смыслу проблемы разными способами. Существуют и другие технологии программирования, о которых также следует немного сказать. Прикладное программирование - разработка и отладка программ для конечных пользователей, например бухгалтерских, обработки текстов и т. Системное программирование - разработка средств общего программного обеспечения, в том числе операционных систем, вспомогательных программ, пакетов программ общесистемного назначения, например: Декларативное логическое, продукционное программирование - метод программирования, предназначенный для решения задач искусственного интеллекта. В указанном контексте программа описывает логическую структуру решения задачи, указывая преимущественно, что нужно сделать, не вдаваясь в детали, как это делается. Используются языки программирования типа Пролог. Параллельное программирование - разработка программ, обеспечивающих одновременное параллельное выполнение операций, связанных с обработкой данных. Процедурное процедурно-ориентированное программирование - метод программирования, в соответствии с которым программы пишутся как перечни последовательно выполняемых команд. При этом используются процедурно-ориентированные языки программирования. Функциональное программирование - метод программирования, основанный на разбиении алгоритма решения задачи на отдельные функциональные модули, а также описании их связей и характера взаимодействия. Для функционального программирования наиболее широко используются языки НОРЕ и ML. Элементы функционального программирования реализуются также другими языками, например Си. Эвристическое программирование - метод программирования, основанный на моделировании мыслительной деятельности человека. Используется для решения задач, не имеющих строго формализованного алгоритма или связанных с неполнотой исходных данных. Главная Опубликовать работу О сайте. Сохрани ссылку на реферат в одной из сетей: Казань Содержание Введение 3 1. Основные положения о программировании 4 1. Понятие программирования 4 1. Парадигмы программирования 5 1. Инструментарий технологии программирования 8 2. Языки программирования 11 2. Понятие языка программирования 11 2. Классификация языков программирования 14 2. Описание некоторых языков программирования 17 3. Язык программирования Java 22 3. Обзор языка Java 22 3. Процесс создания Java-программы 23 3. Достоинства языка Java 25 Заключение 28 Список использованных источников 29 Введение Когда изучаешь какой-либо вопрос, считаешь, что знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, когда можешь научить этому кого-нибудь другого; и совершенно уверен, когда начинаешь программировать. Перлис До середины х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз. Основные положения о программировании Понятие программирования Термин программирование означаетпроцесс и искусство создания компьютерных программ с помощью специальных языков программирования. Программирование включает в себя: Парадигмы программирования В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ. Основу этой технологии составляют следующие положения: Так же как и для структурной технологии программирования, концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:


Реферат: Понятие о программировании


Когда изучаешь какой-либо вопрос, считаешь, что знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, когда можешь научить этому кого-нибудь другого; и совершенно уверен, когда начинаешь программировать. До середины х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз. Языки программирования этой эры, как и компьютеры на которых они использовались, были разработаны для специфичных задач, таких как научные вычисления. Поскольку машины были дорогими и медленными, то и машинное время было дорого — поэтому скорость выполнения программы стояла на первом месте. Однако в течение х цена на компьютеры стала падать так, что даже небольшие компании могли их себе позволить; скорость компьютеров всё увеличивалась, и наступило время, когда создатели языков программирования все больше стали задумываться об удобстве написания программ, а не только скорости их выполнения. На заре компьютеризации, машинный язык был единственным языком, большего человек к тому времени не придумал. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня то есть немашинные языки. Так программирование сделало колоссальный прорыв: Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов языков программирования и развитие процесса программирования в целом. Термин программирование означаетпроцесс и искусство создания компьютерных программ с помощью специальных языков программирования. В общем смысле слова, программирование есть формализация предопределенного состояния, по реакции на событие, реализуемого средствами математики или естественных наук. В узком смысле слова, программирование рассматривается как кодирование алгоритмов на заданном языке программирования. В более широком смысле программирование - процесс создания программ, то есть разработка программного обеспечения. Отчасти, искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью или между временем программиста и временем пользователя. Как уже было сказано, изначально, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого, программисты пишут исходный код, и компьютер используя компилятор, интерпретатор или ассемблер, речь о которых пойдёт чуть позже транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Такой подход применяется в Forth, Lisp, Java данному языку посвящена 3 Глава реферата. Это, разумеется, технические аппаратные средства обеспечения программирования - совокупность электрических, электронных и механических компонентов автоматизированных систем составляет их техническое обеспечение в отличие от программных средств, представляющих собой программное обеспечение автоматизированных систем. Например, электронная вычислительная машина ЭВМ или компьютер - комплекс технических и программных средств, основанных на использовании электроники и предназначенных для автоматической или автоматизированной обработки данных в процессе решения вычислительных и информационных задач. В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ. Структурное программирование - методология программирования, базирующаяся на системном подходе к анализу, проектированию и реализации программного обеспечения. Эта методология родилась в начале х годов и оказалась настолько жизнеспособной, что и до сих пор является основной в большом количестве проектов. Основу этой технологии составляют следующие положения:. Каждая задача имеет один вход и один выход. В этом случае управляющий поток программы состоит из совокупности элементарных подзадач с ясным функциональным назначением. Это положение означает, что логически задача должна состоять из минимальной, функционально полной совокупности достаточно простых управляющих структур. В качестве примера такой системы можно привести алгебру логики, в которой каждая функция может быть выражена через функционально полную систему: На каждом этапе должно решаться ограниченное число четко поставленных задач с ясным пониманием их значения и роли в контексте всей задачи. Если такого понимания не достигается, это говорит о том, что данный этап слишком велик и его нужно разделить на более элементарные шаги. Так же как и для структурной технологии программирования, концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:. Модули связаны между собой только по входным и выходным данным. Модульный подход позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль. Если назначение модуля непонятно, то это говорит о том, что декомпозиция начальной или промежуточной задачи была проведена недостаточно качественно. В этом случае необходимо еще раз проанализировать задачу и, возможно, провести дополнительное разбиение на подзадачи. При наличии сложных мест в проекте их нужно подробнее документировать с помощью продуманной системы комментариев. Этот процесс нужно продолжать до тех пор, пока вы действительно не добьетесь ясного понимания назначения всех модулей задачи и их оптимального сочетания. Идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект. ООП основано на трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами. Объект - потомок автоматически наследует от родителей все поля и методы, может дополнять объекты новыми полями и заменять перекрывать методы родителя или дополнять их. Прикладное программирование - разработка и отладка программ для конечных пользователей, например бухгалтерских, обработки текстов и т. Системное программирование - разработка средств общего программного обеспечения, в том числе операционных систем, вспомогательных программ, пакетов программ общесистемного назначения, например: Декларативное логическое, продукционное программирование - метод программирования, предназначенный для решения задач искусственного интеллекта. В указанном контексте программа описывает логическую структуру решения задачи, указывая преимущественно, что нужно сделать, не вдаваясь в детали, как это делается. Используются языки программирования типа Пролог. Параллельное программирование - разработка программ, обеспечивающих одновременное параллельное выполнение операций, связанных с обработкой данных. Процедурное процедурно-ориентированное программирование - метод программирования, в соответствии с которым программы пишутся как перечни последовательно выполняемых команд. При этом используются процедурно-ориентированные языки программирования. Функциональное программирование - метод программирования, основанный на разбиении алгоритма решения задачи на отдельные функциональные модули, а также описании их связей и характера взаимодействия. Для функционального программирования наиболее широко используются языки НОРЕ и ML. Элементы функционального программирования реализуются также другими языками, например Си. Эвристическое программирование - метод программирования, основанный на моделировании мыслительной деятельности человека. Используется для решения задач, не имеющих строго формализованного алгоритма или связанных с неполнотой исходных данных. И наконец, чтобы полностью разобраться в принципе системы программирования, рассмотрим инструментарий технологии программирования , то есть совокупность программ, обеспечивающих технологию разработки, отладки и внедрения программных продуктов. В настоящее время бурно развивается направление, связанное с технологией создания программных продуктов. Это обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, обеспечению гарантированного уровня их качества. CASE -технология Computer - AidedSystem Engineering , представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем. Хотелось бы остановиться на CASE - технологиях более подробно, так как представление о них связано в нашем сознании с чем-то, не имеющим отношения к обычному программированию. В рамках CASE -технологий проект сопровождается целиком, а не только его программные коды. Проектные материалы, подготовленные в CASE -технологии, служат заданием программистам, а само программирование скорее сводится к кодированию — переводу на определенный язык структур данных и методов их обработки, если не предусмотрена автоматическая кодогенерация. Сегодня лидирующей в мире CASE-системой считается Rational Rose корпорации Rational Software. Система Rational Rose нацелена на создание модулей с использованием языка Unified Modeling Language UML. Используя такие технологии, можно интерактивно разрабатывать архитектуру создаваемого приложения, генерировать его исходные тексты и параллельно работать над документированием разрабатываемой системы. Наконец, рассмотрев практически все аспекты процесса программирования, мы переходим к наиболее значимой составляющей - языкам программирования. Докажем верность его высказывания в следующей главе. Процесс работы компьютера заключается в выполнении программы, то есть набора вполне определённых команд во вполне определённом порядке. Машинный вид команды, состоящий из нулей и единиц, указывает, какое именно действие должен выполнить центральный процессор. Значит, чтобы задать компьютеру последовательность действий, которые он должен выполнить, нужно задать последовательность двоичных кодов соответствующих команд. Программы в машинных кодах состоят из тысячи команд. Писать такие программы - занятие сложное и утомительное. Программист должен помнить комбинацию нулей и единиц двоичного кода каждой программы, а также двоичные коды адресов данных, используемых при её выполнении. Гораздо проще написать программу на каком-нибудь языке, более близком к естественному человеческому языку, а работу по переводу этой программы в машинные коды поручить компьютеру. Так возникли языки, предназначенные специально для написания программ, - языки программирования. Язык программирования - это специальный язык, на котором пишут команды для управления компьютером. Языки программирования созданы для того, чтобы людям было проще читать и писать для компьютера, но они затем должны транслироваться транслятором или интерпретатором в машинный код, который только и может исполняться компьютером. Языки программирования можно разделить на языки высокого уровня и языки низкого уровня. Язык низкого уровня - это язык программирования, предназначенный для определенного типа компьютера и отражающий его внутренний машинный код; языки низкого уровня часто называют машинно-ориентированными языками. Их сложно конвертировать для использования на компьютерах с разными центральными процессорами, а также довольно сложно изучать, поскольку для этого требуется хорошо знать принципы внутренней работы компьютера. Язык высокого уровня - это язык программирования, предназначенный для удовлетворения требований программиста; он не зависит от внутренних машинных кодов компьютера любого типа. Языки высокого уровня используют для решения проблем и поэтому их часто называют проблемно-ориентированными языками. Каждая команда языка высокого уровня эквивалентна нескольким командам в машинных кодах, поэтому программы, написанные на языках высокого уровня, более компактны, чем аналогичные программы в машинных кодах. Создатели языков по-разному толкуют понятие язык программирования. Среди общин мест, признаваемых большинством разработчиков, находятся следующие:. Со времени создания первых программируемых машин человечество придумало уже более двух с половиной тысяч языков программирования. Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования. Но создать язык, удобный для написания программ, недостаточно. Для каждого языка нужен свой переводчик. Такими переводчиками являются специальные программы-трансляторы. Транслятор - это программа, предназначенная для перевода программы, написанной на одном языке программирования, в программу на другом языке программирования. Процесс перевода называется трансляцией. Тексты исходной и результирующей программ находятся в памяти компьютера. Примером транслятора является компилятор. Компилятор - это программа, предназначенная для перевода программы, написанной на каком-либо языке, в программу в машинных кодах. Процесс такого перевода называется компиляцией. Компилятор создаёт законченный результат - программу в машинных кодах. Затем эта программа выполняется. Откомпилированный вариант исходной программы можно сохранить на диске. Для повторного выполнения исходной программы компилятор уже не нужен. Достаточно загрузить с диска в память компьютера откомпилированный в предыдущий раз вариант и выполнить его. Существует другой способ сочетания процессов трансляции и выполнения программы. Суть процесса интерпретации состоит в следующем. Вначале переводится в машинные коды, а затем выполняется первая строка программы. Когда выполнение первой строки окончено, начинается перевод второй строки, которая затем выполняется и так далее. Управляет этим процессом программа-интерпретатор. Интерпретатор - это программа, предназначенная для построчных трансляции и выполнения исходной программы. Такой процесс называется интерпретацией. В процесс трансляции входит проверка исходной программы на соответствие правилам используемого в ней языка. Если в программе обнаружены ошибки, транслятор вводит сообщение о них на устройство вывода обычно, на экран дисплея. Интерпретатор сообщает о найденных им ошибках после трансляции каждой строки программы. Это значительно облегчает процесс поиска и исправления ошибок в программе, однако существенно увеличивает время трансляции. Компилятор транслирует программу намного быстрее, чем интерпретатор, но сообщает о найденных им ошибках после завершения компиляции всей программы. Найти и исправить ошибки в этом случае труднее. Поэтому интерпретаторы рассчитаны, в основном, на языки, предназначенные для обучения программированию, и используются начинающими программистами. Большинство современных языков предназначены для разработки сложных пакетов программ и рассчитаны на компиляцию. Иногда один и тот же язык может использовать и компилятор, и интерпретатор. К числу таких языков относится, например, Бейсик. Если вы успели заметить, в тексте уже прозвучали несколько отдельных названий языков программирования. Но перед тем как более подробно их описать, необходимо классифицировать их по группам для удобства восприятия. Во-первых это машинно-ориентированные языки, то есть языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ внутреннего языка, структуры памяти и т. Машинно-ориентированные языки позволяют использовать все возможности и особенности Машинно-зависимых языков:. Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы. Как я уже упоминал, отдельный компьютер имеет свой определенный Машинный язык далее МЯ , ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции. В новых модулях ЭВМ намечается тенденция к повышению внутренних языков машинно - аппаратным путем реализовывать более сложные команды, приближающиеся по своим функциональным действиям к операторам алгоритмических языков программирования. Языки Символического Кодирования далее ЯСК , так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных во внутреннем коде или восьмеричных часто используемых при написании программ цифр, в ЯСК заменены на символы идентификаторы , форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ и в значительной степени облегчает труд программиста. Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды. В различных программах встречаются некоторые достаточно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования информации. Эффективная реализация таких процедур обеспечивается оформлением их в виде специальных макрокоманд и включением последних в язык программирования, доступный программисту. Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму - называется Макрос средство замены. В основном, Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макроопределяющий и исходный текст. Реакция макропроцессора на вызов- выдача выходного текста. Следующий вид языков - машинно-независимые языки. Это средства описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС. Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка задачи, сегменты, блоки и т. Операторы языка описывают действия, которые должна выполнять система после трансляции программы на МЯ. Таким образом, командные последовательности процедуры, подпрограммы , часто используемые в машинных программах, представлены в высокоуровневых языках отдельными операторами. Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма. С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно - ориентированные языки. Эти языки, ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме. Универсальные языки были созданы для широкого круга задач: Первый универсальный язык был разработан фирмой IBM. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнения участков программ. Появление новых технических возможностей поставило задачу перед системными программистами - создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками. Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных не диалоговых языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач. Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам табличные языки и генераторы отчетов , и языков связи с операционными системами. Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены, прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения. Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе. Кобол COBOL - COmmon Business-Oriented Language - язык программирования высокого уровня, разработанный в конце х гг. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач. Лисп LISP - LISt Processing - алгоритмический язык, разработанный в г. Маккарти и предназначенный для манипулирования перечнями элементов данных. Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог. ЛОГО LOGO - язык программирования высокого уровня, разработан в Массачусетском технологическом институте ориентировочно в г. Используется также в школах и пользователями ПК при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем. Паскаль PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature - процедурно-ориентированный язык программирования высокого уровня, разработанный в конце х гг. Никлаусом Виртом первоначально для обучения программированию в университетах. Назван в честь французского математика XVII в. В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие доработки позволили сделать его хорошим универсальным языком, широко используемым в том числе для написания больших и сложных программ. Существует ряд систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland США. Пролог PROLOG - PROgramming in LOGic - язык программирования высокого уровня декларативного типа, предназначенный для разработки систем и программ искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в г. Марселя Франция , относится к числу широко используемых и постоянно развиваемых языков. Си С - многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале х гг. Используется на мини-ЭВМ и ПК. Является базовым языком операционной системы Unix, однако применяется и вне этой системы для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе Turbo С фирмы Borland , Microsoft С и Quick С фирмы Microsoft , а также Zortech С фирмы Symantec. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Фортран FORTRAN - FORmula TRANslation - язык программирования высокого уровня, разработанный фирмой IBM в г. Относится к категории процедурно-ориентированных языков. Наиболее распространенными версиями этого языка являются Фортран IV, Фортран 77 и Фортран Используется на всех классах ЭВМ. В середине х годов г. Язык был основан частично на Фортран II и частично на Алгол, с добавлениями, делающими его удобным для работы в режиме разделения времени и, позднее, обработки текста и матричной арифметики. Бейсик был спроектирован так, чтобы студенты могли писать программы, используя терминалы с разделением времени. Он создавался как решение для проблем, связанных со сложностью более старых языков. В силу простоты языка Бейсик многие начинающие программисты начинают с него свой путь в программировании. Рефал , разработан у нас в России СССР , в г. Этот язык прост и удобен для описания манипуляций над произвольными текстовыми объектами. Рефал широко применяется при разработке трансляторов с алгоритмических языков как универсальных и проблемно - ориентированных, так и автокодов. Вследствие того, что в Рефале программист сам определяет структуру обрабатываемой информации, эффективность программы существенно зависит от удачного или неудачного выбора этой структуры. Правильное использование некоторых переменных также позволяет значительно повысить эффективность Рефал - программы. AppleScript - машинно-зависимый ориентирован на работу с ПК типа Macintosh фирмы Apple , близкий к естественному английскому язык программирования, предназначенный для автоматизации повторяющихся задач, преимущественно связанных с процессами компьютерной графики в том числе обработки результатов сканирования, ввода изображений, цветоделения, составления каталогов, передачи печатных документов в World Wide Web и др. Clipper - язык высокого уровня и система программирования, предназначенные для разработки программ для ПК, преимущественно систем управления большими объемами данных. Владельцем и разработчиком языка и системы Clipper является фирма Nantucket США. Они реализует концепцию открытой архитектуры и представляет собой язык, компилятор и систему разработки программ для ПК, включающую набор команд и функций, препроцессор, компоновщик, набор утилит. Первая версия языка dBASE II вышла в свет в начале х гг. HTML , html HyperText Markup Language - язык разметки гипертекста, разработан в исследовательском центре CERN в г. Он является производным от SGML. HTML устанавливает формат гипермедийных документов в сети WWW. HTML-документы представляют собой ASCII-файлы, доступные для просмотра и редактирования в любом текстовом редакторе. Отличием от обычного текстового файла является наличие в HTML-документах специальных команд - тэгов, которые указывают правила форматирования документа. PostScript - объектно-ориентированный язык, разработанный фирмой Adobe Systems США. Является одним из основных стандартов для печати и передачи документов, работает с изображениями, включая шрифты. Представляет собой набор команд по формированию сложных геометрических фигур из коллекции простейших заготовок круги, прямоугольники, прямые и кривые линии и т. Шрифты и чертежи, выполненные с использованием векторной графики языка PostScript, могут масштабироваться без потери качества их печати или отображения на экране монитора. Используется для управления лазерными принтерами при печати документов и другими устройствами вывода данных. SQL Structured Query Language - язык структурированных запросов - предназначен для обеспечения доступа к реляционным базам данных. Большинство файловых серверов и многие СУБД используют SQL в качестве стандартного средства доступа к данным из приложений-клиентов. VRML Virtual Reality Modelling Language - язык моделирования виртуальной реальности сленговый термин - вермел - предназначен для унификации и упрощения представления трехмерной и подвижной графики, в том числе синхронизации изображения и звука. VRML рассматривается разработчиками как язык хотя и родственный, но альтернативный по отношению к HTML и взаимодействующий с ним. Впервые идея языка была предложена Марком Песке Mark Pesce в г. Данная часть работы посвящена одному из самых перспективных на сегодняшний день языков программирования - языку Java. Технологию по имени Java можно без преувеличения назвать революционной в индустрии разработки программного обеспечения. В чём же перспективность и революционность этой технологии? Сегодня создание программного обеспечения представляет собой чрезвычайно тяжелое занятие. Трудности связаны с разнообразием архитектур машин, операционных систем, графических оболочек и т. Стремительный рост технологий, связанных с сетью Internet, дополнительно усложняет эту задачу. К сети Internet подключены компьютеры самых разных типов - IBM PC, Macintosh, рабочие станции Sun и другие. Все эти системы образуют единую сеть, которая должна работать как одно целое, обеспечивая при этом высокий уровень безопасности информации. Таким образом, современные приложения должны быть безопасны, высокопроизводительны, работать в распределенной среде, быть нейтральны к архитектуре. Созданная компанией Sun Microsystems система разработки Java удовлетворяет всем этим требованиям. Java - объектно-ориентированный язык, удобный и надёжный в эксплуатации благодаря таким своим достоинствам, как многозадачность, поддержка протоколов Internet и многоплатформенность. Язык Java поставляется с достаточно объемной библиотекой классов. Библиотеки классов Java значительно упрощают разработку приложений, предоставляя в распоряжение программиста мощные средстварешения распространенных задач. Программы, разработанные на языке программирования Java, можно разделить по своему назначению и функциональности на две большие группы:. В настоящее время работа Java поддерживается всеми основными компьютерными платформами. Самостоятельное приложение, предназначенное для автономной работы, компилируется и выполняется на локальной машине под управлением системы времени выполнения Java. Апплеты, которые обеспечивают языку его популярность, представляют собой разновидность приложений Java, которые интерпретируются Виртуальной Машиной Java, встроенной практически во все современные браузеры. Каждый апплет - это небольшая программа, динамически загружаемая по сети с Web сервера при открытии в браузере HTML страницы, в которой имеется ссылка на апплет - точно так же, как картинка, звуковой файл или элемент мультипликации. Главная особенность апплетов заключается в том, что они являются настоящими программами, а не очередным форматом файлов для хранения мультфильмов или какой-либо другой информации. Апплет не просто проигрывает один и тот же сценарий, а реагирует на действия пользователя и может динамически менять свое поведение. С помощью апплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Апплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности апплеты в отличие от обычных приложений Java не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web. Исходный файл на языке Java - это текстовый файл, содержащий в себе одно или несколько описаний классов. Транслятор Java предполагает, что исходные тексты программ хранятся в файлах с расширениями java. Получаемый в процессе трансляции байт-код для каждого класса записывается в отдельном выходном файле, с именем совпадающем с именем класса, и расширением class. Именно сlass-файлы, содержащие байт-код, интерпретируются системой времени выполнения Java в машинный код конкретной системы. Прежде всего, байт-код Java загружается в систему времени выполнения загрузчиком классов. Загрузчик классов отвечает за то, чтобы были загружены все классы, необходимые для выполнения приложения. Затем байт-код проверяется верификатором байт-кода на отсутствие операций, которые могли бы нарушить безопасность системы или вызвать в ней аварийную ситуацию. Важно отметить, что загрузчик классов и верификатор байт-кодов не делают никаких предположений относительно происхождения кодов: Верификатор гарантирует, что любой код, прошедший проверку, может быть использован интерпретатором без риска повредить его. После такой проверки на безопасность байт-код интерпретируется в машинный код и запускается на выполнение интерпретатором. Причём классы, полученные локально заслуживающие безусловного доверия , и классы, присланные по сети из остального мира и потенциально враждебные , находятся в разных пространствах имён. При разрешении ссылки на какой-либо класс он ищется прежде всего в локальном пространстве. Это не позволяет "внешним" кодам подменить один из базовых классов в системе. Также в процессе интерпретации происходит подключение необходимых библиотек файлы с расширением jar. Весь описанный процесс исполнения Java программ изображён на рис. Как уже было сказано выше, технология Java предполагает лёгкую переносимость программных продуктов с одной платформы на другую. Такую степень лёгкости переноса не обеспечивает ни какой язык программирования. Если приложение Java или апплет должно работать на нескольких платформах, нет необходимости компилировать его исходные тексты несколько раз. Можно откомпилировать и отладить приложение Java на одной, наиболее удобной платформе. В результате получится байт-код, пригодный для любой платформы, где есть виртуальный процессор Java рис. Язык должен был воплощать следующие качества: Даже если вы никогда не напишете ни одной строки на языке Java, знать о его возможностях весьма полезно, поскольку именно перечисленные выше свойства языка и являются определяющими в его выборе. В популярной литературе наших дней, особенно если речь заходит об Internet, стало модной темой обсуждение вопросов безопасности. Люди уверены, что использование Internet в коммерческой деятельности равносильно написанию номера своей кредитной карточки на стенке телефонной будки. Один из ключевых принципов разработки языка Java заключался в обеспечении защиты от несанкционированного доступа. Программы на Java не могут вызывать глобальные функции и получать доступ к произвольным системным ресурсам, что обеспечивает в Java уровень безопасности, недоступный для других языков. Java ограничивает вас в нескольких ключевых областях и таким образом способствует обнаружению ошибок на ранних стадиях разработки программы. В то же время в ней отсутствуют многие источники ошибок, свойственных другим языкам программирования. В традиционных средах программирования распределение памяти является довольно нудным занятием - программисту приходится самому следить за всей используемой в программе памятью, не забывая освобождать ее по мере того, как потребность в ней отпадает. Зачастую программисты забывают освобождать захваченную ими память или, что еще хуже, освобождают ту память, которая все еще используется какой-либо частью программы. Исключительные ситуации в традиционных средах программирования часто возникают в таких, например, случаях, как деление на нуль или попытка открыть несуществующий файл, и их приходится обрабатывать с помощью неуклюжих и нечитабельных конструкций. Java фактически снимает обе эти проблемы, используя сборщик мусора для освобождения незанятой памяти и встроенные объектно-ориентированные средства для обработки исключительных ситуаций. Специальный процесс сборки мусора - это одна из интереснейших особенностей языка программирования Java и среды выполнения приложений Java, предназначенная для удаления ненужных объектов из памяти. Эта система избавляет программиста от необходимости внимательно следить за использованием памяти, освобождая ненужные более области явным образом. Java создавалась как средство, которое должно удовлетворить насущную потребность в создании интерактивных сетевых программ. В Java реализовано несколько интересных решений, позволяющих писать код, который выполняет одновременно массу различных функций и не забывает при этом следить за тем, что и когда должно произойти. В языке Java для решения проблемы синхронизации процессов применен наиболее элегантный из всех когда-либо изобретенных методов, который позволяет конструировать прекрасные интерактивные системы. Простые в обращении изящные подпроцессы Java дают возможность реализации в программе конкретного поведения, не отвлекаясь при этом на встраивание глобальной циклической обработки событий. Независимость от архитектуры ЭВМ. Вопрос о долговечности и переносимости кода важнее религиозных войн между ПК и Макинтошами. Создатели Java наложили на язык и на среду времени выполнения несколько жестких требований, которые на деле, а не на словах позволяют, однажды написав, всегда запускать программу в любом месте и в любое время. Интерпретация плюс высокая производительность. Необычайная способность Java исполнять свой код на любой из поддерживаемых платформ достигается тем, что ее программы транслируются в некое промежуточное представление, называемое байт-кодом, который, в свою очередь, может интерпретироваться в любой системе, в которой есть среда времени выполнения Java. Большинство ранних систем, в которых пытались обеспечить независимость от платформы, обладало огромным недостатком - потерей производительности Basic, Perl. При этом достигается очень высокая производительность Symantec JIT встроен в Netscape Navigator. Изобретение языка программирования высшего уровня позволило нам общаться с машиной, похоже, даже понимать её. Действительно,если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где-нибудь горбится молодой, никем не признанный специалист и разрабатывает новейшую систему искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с компьютером на ТЫ. Быть может именно язык программирования Java, очень элегантный и красивый язык, станет основой программирования будущего. Ведь именно Java оснащён богатейшей библиотекой классов и в то же время довольно прост для освоения. Необходимо также отметить, что цикл разработки приложений сокращен за счет того, что система построена на основе интерпретатора. Приложение получается автоматически переносимым между множеством платформ и операционных систем. За счет встроенной системы сборки мусора программист освобождается от необходимости явного управления памятью. Приложение легко сопровождается и модифицируется, так как модули могут быть загружены с сети. Встроенная система безопасности, не допускает незаконного доступа и проникновения вирусов. Все эти качества, я считаю, позволят Javaзанять лидирующее место среди языков программирования. Завершая свой труд на такой оптимистичной ноте, хочется сказать, что прогресс науки и техники, высоко-компьютеризированное будущее человечества, как единственного существа на планете, пусть и не использующего один, определенный разговорный язык, но способного так быстро прогрессировать и развивать свой интеллект,позволит в скором времени перейти от многоязыковой системы к всеобщему пониманию. Издательская группа BHV, г. Авиация и космонавтика Административное право Арбитражный процесс 23 Архитектура Астрология 4 Астрономия Банковское дело Безопасность жизнедеятельности Биографии Биология Биология и химия Биржевое дело 68 Ботаника и сельское хоз-во Бухгалтерский учет и аудит Валютные отношения 50 Ветеринария 50 Военная кафедра ГДЗ 2 География Геодезия 30 Геология Геополитика 43 Государство и право Гражданское право и процесс Делопроизводство 19 Деньги и кредит ЕГЭ Естествознание 96 Журналистика ЗНО 54 Зоология 34 Издательское дело и полиграфия Инвестиции Иностранный язык Информатика Информатика, программирование Исторические личности История История техники Кибернетика 64 Коммуникации и связь Компьютерные науки 60 Косметология 17 Краеведение и этнография Краткое содержание произведений Криминалистика Криминология 48 Криптология 3 Кулинария Культура и искусство Культурология Литература: Плохо Средне Хорошо Отлично. Банк рефератов содержит более тысяч рефератов , курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: А также изложения, сочинения по литературе, отчеты по практике, топики по английскому. Понятие о программировании Название: Понятие о программировании Раздел: Рефераты по информатике Тип: Казань Содержание Введение 3 1. Основные положения о программировании 4 1. Понятие программирования 4 1. Парадигмы программирования 5 1. Инструментарий технологии программирования 8 2. Языки программирования 11 2. Понятие языка программирования 11 2. Классификация языков программирования 14 2. Описание некоторых языков программирования 17 3. Язык программирования Java 22 3. Обзор языка Java 22 3. Процесс создания Java-программы 23 3. Достоинства языка Java 25 Заключение 28 Список использованных источников 29 Введение Когда изучаешь какой-либо вопрос, считаешь, что знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, когда можешь научить этому кого-нибудь другого; и совершенно уверен, когда начинаешь программировать. Перлис До середины х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз. Основные положения о программировании 1. Понятие программирования Термин программирование означаетпроцесс и искусство создания компьютерных программ с помощью специальных языков программирования. Программирование включает в себя: Парадигмы программирования В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ. Основу этой технологии составляют следующие положения: Так же как и для структурной технологии программирования, концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений: Существуют и другие технологии программирования, о которых также следует немного сказать. Инструментарий технологии программирования И наконец, чтобы полностью разобраться в принципе системы программирования, рассмотрим инструментарий технологии программирования , то есть совокупность программ, обеспечивающих технологию разработки, отладки и внедрения программных продуктов. В рамках этих направлений сформировались следующие группы программных продуктов: Средства CASE -технологий делятся на две группы: Понятие языка программирования Процесс работы компьютера заключается в выполнении программы, то есть набора вполне определённых команд во вполне определённом порядке. Среди общин мест, признаваемых большинством разработчиков, находятся следующие: Классификация языков программирования Если вы успели заметить, в тексте уже прозвучали несколько отдельных названий языков программирования. Машинно-ориентированные языки позволяют использовать все возможности и особенности Машинно-зависимых языков: Описание некоторых языков программирования Что ж, перейдем, наконец, непосредственно к языкам программирования. Язык программирования Java 3. Обзор языка Java Данная часть работы посвящена одному из самых перспективных на сегодняшний день языков программирования - языку Java. Программы, разработанные на языке программирования Java, можно разделить по своему назначению и функциональности на две большие группы: Процесс создания Java-программы Исходный файл на языке Java - это текстовый файл, содержащий в себе одно или несколько описаний классов. Процесс создания Java-приложения Как уже было сказано выше, технология Java предполагает лёгкую переносимость программных продуктов с одной платформы на другую. Подготовка приложения Java для работы на разных платформах 3. Достоинства языка Java Язык должен был воплощать следующие качества: Заключение Изобретение языка программирования высшего уровня позволило нам общаться с машиной, похоже, даже понимать её. Список использованных источников 1. Технология Java в подлиннике: БХВ - Петербург, г. Где скачать еще рефератов? Кто еще хочет зарабатывать от рублей в день "Чистых Денег"? Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?


Мини игры карты паук
Методы нравственного воспитания детей
Где похоронен михаил филоненко
Как украсить шапку своими руками
С каким животнымвысебя ассоциируете тест
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment