ПО – одно из составляющих информатики, является неоднородным и имеет сложную структуру, включает несколько уровней:
На низшем уровне находятся комплексы программ, осуществляющие интерфейсные функции, т.е. функции распределения различных ресурсов компьютера. Программы этого уровня называются системными. Любые пользовательские программы запускаются под управлением комплексов программ, называемых ОС.
Следующий уровень – служебное ПО. Эти программы выполняют различные функции. Это диагностические программы, используемые для различных устройств, тестовые программы, представленный комплекс программ технического обслуживания, архиваторы, антивирусы.
Инструментальное ПО представляет собой комплексы программ для создания других программ.
Прикладное ПО – самый большой по объёму класс программ. К нему относятся программы конечного пользователя.
ОС, драйверы, дисковые утилиты, архиваторы, антивирусы, диагностические программы;
программы обработки текста, электронные таблицы, СУБД, переводчики, игры, профессиональные пакеты (ППО);
ЧТО ДЕЛАТЬ ЕСЛИ НЕ ПОНИМАЕШЬ ПРОГРАММИРОВАНИЕ | КАК ВЫУЧИТЬ ПРОГРАММИРОВАНИЕ
3. инструментальное ПО:
редакторы программного кода, трансляторы, отладчики, редакторы связей, системы быстрой разработки (RAD).
Компьютерная программа представляет собой логически упорядоченную последовательность команд, предназначенную для управления компьютером. Процессор компьютера – интегральная схема, которая получает данные и команды в виде электрических сигналов. В двоичном коде наличие сигнала обозначается единицей, отсутствие – нулём.
Команды, обрабатываемые процессором можно интерпретировать как ряд чередующихся определённым образом единиц и нулей. Любая команда преобразуется в двоичное число. Т.о. процессор использует программу, представляющую собой последовательность чисел, называемую машинным кодом.
В компьютерах первого поколения используются программы, написанные машинным кодом, причём для каждого компьютера существовал свой собственный машинный код. Числовая кодировка команд, адресов ячеек и обрабатываемых данных, зависимость вида программы от её места в памяти не давали возможности следить за смыслом программы.
Для того, чтобы сделать программу читабельной и иметь возможность следить за её смысловой структурой, придумали символический язык Ассемблер, близкий к машинному, в котором появилось понятие переменной. Ассемблер стал первым полноценным языком программирования, благодаря этому резко сократилось время разработки программ и увеличилась надёжность разрабатываемой программы. Дальнейшее развитие этой идеи привело к созданию языков высокого уровня, в которых длинные и сложные последовательности машинных кодов были заменены одним единственным обозначающих их словом – операторы.
Языки программирования – фундаментальные, формальные и искусственные языки. Как и естественные языки они имеют свой алфавит, словарный запас, грамматику и синтаксис, семантику.
Алфавит – разрешённый к использованию набор символов. С помощью которого могут быть образованы слова и величины данного языка.
Введение в логическое программирование. SWI Prolog. Часть 1
Синтаксис – система правил, определяющая допустимые конструкции языка программирования из букв алфавита.
Семантика – система правил однозначного толкования каждой языковой конструкции. Позволяющих производить процесс обработки данных. Взаимодействие синтаксических и семантических правил определяет основные понятия языка, т.к. операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличии от естественных языков, язык программирования имеет ограниченный словарный запас.
Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называются языками низкого уровня.
Самый низкий уровень – Ассемблер. Программа, написанная на нём представляет собой последовательность команд машинных кодов, но записанных с помощью символьных мнемоник.
Языки программирования, имитирующие естественный язык и ориентированные на человека, называются языками высокого уровня. Чем выше уровень языка, тем ближе структуры данных и конструкций, используемых в программе, к исходной задаче.
Компиляторы и интерпретаторы.
С помощью языка программирования создаётся текст программы, описывающей разработанный алгоритм. Чтобы эта программа была выполнена.
Необходимо либо весь её текст перевести в машинный код, это действие выполняют программы-компиляторы, и уже потом передать на выполнение процессору, либо сразу выполнить команды языка, переводя на машинный язык и выполняя каждую команду поочерёдно. Это делают интерпретаторы. Основной недостаток компиляторов – трудоёмкость трансляции языков программирования, ориентированных на обработку данных сложной структуры. Заранее неизвестной или динамически меняющейся во время работы программы. Для таких программ в машинный код вводятся дополнительные проверки и анализ наличия ресурсов ОС.
С помощью интерпретаторов для исследования памяти допустимо в любой момент прервать работу программы, выполнять любые сложные преобразования данных и при этом постоянно контролировать программно-аппаратную среду, что обеспечивает высокую надёжность программы.
Интерпретатор при выполнении каждой команды подвергает проверке и анализу необходимые ресурсы ОС и при необходимости сообщает об этом.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Компиляторы и интерпретаторы
Компьютерная программа представляет собой логически упорядоченную последовательность команд, предназначенных для управления компьютером. Однако, процессор исполняет программы, представляющие собой последовательность чисел и называемые машинным кодом.
Писать программы в машинных кодах очень сложно и в конце 50-х годов придумали символический язык ассемблер, близкий к машинному. Ассемблер стал первым полноценным языком программирования.
Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке), но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.
Языки программирования – это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.
Алфавит – разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного.
Синтаксис – система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика – система правил однозначного толкования каждой языковой конструкции, позволяющих производить процесс обработки данных.
Взаимодействие синтаксических и семантических правил определяет основные понятия языка, такие как операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличие от естественных, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила грамматики и семантики, как и для любого формального языка, явно однозначно и четко сформулированы.
Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком самого низкого уровня является ассемблер.
Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня.
Языки программирования работают с переменными различных типов. Рассмотрим подробнее некоторые из них.
Реальные данные, которые обрабатывает программа, – это целые и вещественные числа, символы и логические величины. Эти простые типы данных называют базовыми. Все данные, обрабатываемые компьютером, хранятся в ячейках памяти компьютера, каждая из которых имеет свой адрес. Для того чтобы не следить за тем, по какому адресу будут записаны те или иные данные, в языках программирования используется понятие переменной, позволяющее отвлечься от адреса ячейки памяти и обращаться к ней с помощью имени (идентификатора).
Переменная – есть именованный ячейка памяти, которая может изменять свое значение. Имя переменной указывает на значение, а способ ее хранения и адрес остаются скрытыми от программиста. Кроме имени и значения, переменная имеет тип, определяющий, какая информация находится в памяти. Тип переменной задает:
· используемый способ записи информации в ячейки памяти;
· необходимый объем памяти для ее хранения.
Если переменные присутствуют в программе, на протяжении всего времени ее работы – их называют статическими. Переменные, создающиеся и уничтожающиеся на разных этапах выполнения программы, называют динамическими.
Все остальные данные в программе, значения которых не изменяются на протяжении ее работы, называют константами или постоянными. Константы, как и переменные, имеют тип. Значения констант изменять нельзя.
Для повышения производительности и качества работы необходимо иметь данные, максимально приближенные к реальным аналогам. Тип данных, позволяющий хранить вместе под одним именем несколько переменных, называется структурированным.
Массивом называется упорядоченная совокупность однотипных величин, имеющих общее имя, элементы которой адресуются порядковыми номерами (индексами). Элементы массива в памяти компьютера хранятся по соседству, одиночные элементы простого типа такого расположения данных в памяти не предполагают.
Работа с элементами массива происходит поэлементно. Например, ввод элементов одномерного массива осуществляется поэлементно, обычно элементы вводятся в порядке возрастания их индексов. Для двумерного массива необходимо соответственно указать два индекса.
Компиляторы и интерпретаторы
Основу каждой системы программирования составляет транслятор. Это программа, переводящая текст на языке программирования в форму, пригодную для исполнения (на другой язык). Такой формой обычно являются машинные команды, которые могут непосредственно исполняться компьютером. Различают несколько видов трансляторов: компиляторы, интерпретаторы, конверторы.
Компилятор, обрабатывая исходную программу, создает эквивалентную программу на машинном языке, которая называется также объектной программой, или объектным кодом.
Интерпретатор, распознавая, как и компилятор, исходную программу, не формирует машинный код в явном виде. Для каждой операции, которая может потребоваться при исполнении исходной программы, в программе-интерпретаторе заранее заготовлена машинная команда или команды. «Узнав» очередную операцию в исходной программе, интерпретатор выполняет соответствующие команды, потом – следующие, и так всю программу. Интерпретатор – это переводчик и исполнитель исходной программы.
Конвертор – транслятор, переводящий программу не в машинный код, а на другой язык программирования.
Источник: poisk-ru.ru
Программа представляет собой логически упорядоченную последовательность команд, предназначенных для управления компьютером
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 153.29 Kb.
Компьютерная программа представляет собой логически упорядоченную последовательность команд, предназначенных для управления компьютером.
Команды, обрабатываемые процессором, можно интерпретировать как ряд чередующихся определённым образом единиц и нулей. Процессор исполняет программы, представляющие собой последовательность чисел и называемые машинным кодом.
Для того чтобы сделать программу читабельной и иметь возможность следить за её смысловой структурой, придумали символический язык ассемблер, близкий к машинному (конец 50-х — начало 60-х), в котором появилось понятие переменной. Ассемблер стал первым полноценным языком программирования. Благодаря этому заметно уменьшилось время разработки и возросла надёжность программ.
Для записи кодов операций и обрабатываемой информации в ассемблере используются стандартные обозначения, позволяющие записывать числа и текст в общепринятом виде, для кодов команд приняты мнемонические обозначения. Для обозначения величин, размещаемых в памяти, можно применять имена. После ввода программы ассемблер сам заменяет символические имена на адреса памяти, а символические коды команд — на числовые. Использование ассемблера сделало процесс программирования более наглядным. Дальнейшее развитие этой идеи привело к созданию языков программирования высокого уровня, в которых длинные и сложные последовательности машинных кодов были заменены одним единственным обобщающим их словом — операторы.
Яяык программирования
1
Учёба в БелГУ
Высшее образование в БелГУ
Престижное высшее образование
Научная работа
Интересная студенческая жизнь
Источник: topuch.com