Скачать 1.45 Mb.
|
1.3. Классификация языков программирования1. По степени абстракции от архитектуры компьютера: - языки программирования низкого уровня - машинный язык (язык машинных кодов). Используя такой язык, программист должен полностью владеть архитектурой ЭВМ; - языки программирования среднего уровня - язык мнемонических кодов (язык ассемблера – символьная форма машинного языка с возможностями языков высокого уровня). Используя такие языки, необходимо владеть архитектурой ЭВМ, а также иметь специальную программу-переводчика инструкций пользовательской программы на язык машинных кодов, называемую транслятор; - языки высокого уровня, или алгоритмические языки (Паскаль, Алгол, Фортран, Си). Алгоритмические языки имеют свой алфавит и синтаксис, а также трансляторы со встроенной средой программирования, которая обладает развитыми средствами подготовки, редактирования, отладки и выполнения программ. Инструкции программы на алгоритмическом языке записываются в виде операторов. 2. По структурному строению программ: - процедурно-ориентированные языки (Pascal, C и др.) – используется метод разбивки всей задачи на более простые подзадачи (процедуры или функции) и их независимая реализация. Достоинство - создание достаточно сложных программ. - объектно-ориентированные языки (C++, Java и др.) – из области решаемой проблемы выделяются классы, объединяющие связанные каким-либо признаком данные и функции по их обработке. Далее создаются объекты данных классов, которые, взаимодействуя друг с другом, осуществляют решение поставленной задачи. 1.4. Размещение данных и программ в памяти ПЭВМ Данные и программы во время работы ПЭВМ размещаются в оперативной памяти, которая представляет собой последовательность пронумерованных ячеек. По указанному номеру процессор находит нужную ячейку, поэтому номер ячейки называется ее адресом. Минимальная адресованная ячейка (согласно стандарту IBM), с точки зрения программиста, состоит из 8 двоичных позиций, т.е. в каждую позицию могут быть записаны либо 0, либо 1. Объем информации, который помещается в одну двоичную позицию, называется битом. Объем информации, равный 8 битам, называется байтом. Таким образом, в одной ячейке из 8 двоичных разрядов помещается объем информации в один байт. Поэтому объем памяти принято оценивать количеством байт (210 байт = 1024 байт = 1 Кб, 210 Кб = 1048576 байт = 1 Мб). Для помещения данных в такие ячейки производится их запись с помощью нулей и единиц (кодирование). При кодировании каждый символ, введенный с клавиатуры, заменяется последовательностью из 8 двоичных разрядов в соответствии со стандартной кодовой таблицей, т.е. символ занимает один байт. Например, в соответствии с таблицей кодов ASCII D 01000100; F 00100110; 4 00110100; ? 0011110. При кодировании числа преобразуются в двоичное представление. Например, 2 = 121 + 020 = 102; 5 = 122 + 021 + 120 = 1012; 256 = 128 = 1000000002. При работе с числами различают: 1) целые: n; 2) вещественные: - с фиксированной десятичной точкой: n.m; - с плавающей десятичной точкой (экспоненциальная форма): n.mEp, где n, m - целая и дробная части числа, р - порядок; 0.xxxEp - нормализованный вид. С увеличением числа количество разрядов для его представления в двоичной системе резко возрастает, поэтому для размещения большого числа выделяется несколько подряд расположенных однобайтных ячеек. В этом случае адресом такой расширенной ячейки является адрес первого байта. Один бит такой ячейки выделяется под знак числа. Числа, размещенные таким образом - целые. Для хранения вещественных чисел их предварительно приводят к нормализованному виду. Например, 35,6 = 0.35610+2, где 0.356 – мантисса, +2 – порядок. После этого переводят порядок и мантиссу в двоичную систему. Такое число запоминается в комбинированной ячейке, один байт которой содержит порядок, несколько других содержат мантиссу. Числа, размещенные таким образом - вещественные. Программа – это последовательность команд (инструкций), которые помещаются в памяти и выполняются процессором в указанном порядке. Команда размещается в комбинированной ячейке следующим образом. Первый байт содержит код операции (КОП) (например + или – или *), которую необходимо выполнить над содержимым ячеек памяти. В одной, двух или трех ячейках (операндах команды) по 2 или 4 байта содержатся адреса ячеек (А1, А2, А3), над которыми нужно выполнить указанную операцию. Номер первого байта команды называется ее адресом. Последовательность из этих команд называется программой в машинных кодах (рис. 2). Рис. 2 1.5. Программные модули Программист пишет программу на языке высокого уровня, т.е. наиболее удобном для записи алгоритма решения определенного класса задач. Исходный текст программы, введенный с помощью клавиатуры в память компьютера - исходный модуль (sourse code, в языке Си имеет расширение *.cpp). Транслятор - программа, осуществляющая перевод текстов с одного языка на другой, т.е. транслятор переводит программу с входного языка системы программирования на машинный язык ЭВМ, на которой функционирует данная система или будет функционировать разрабатываемая программа; либо на промежуточный язык программирования, уже реализованный или подлежащий реализации. Одной из разновидностей транслятора является компилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинозависимый язык. Интерпретатор представляет собой программный продукт, выполняющий созданную программу путем одновременного анализа и реализации предписанных действий. При использовании интерпретатора отсутствует разделение на две стадии - перевод и выполнение. Большинство трансляторов языка Си, с которыми мы будем работать - компиляторы. Результат обработки исходного модуля компилятором - объектный модуль (object code, в языке Си имеет расширение *.obj). Он не может быть выполнен, т.е. это незавершенный вариант машинной программы, т.к., например, к нему должны быть присоединены модули стандартных библиотек. Здесь компилятор (compiler) - вид транслятора, представляющего программу-переводчик исходного модуля в язык машинных команд. Исполняемый (абсолютный, загрузочный) модуль создает вторая специальная программа - «компоновщик». Ее еще называют редактором связей (Linker). Она и создает модуль, пригодный для выполнения на основе одного или нескольких объектных модулей. Загрузочный модуль (Load module, расширение *.exe) – это программный модуль, представленный в форме, пригодной для загрузки его в память и выполнения. |
Республики Беларусь Учреждение образования белорусский государственный... |
Республики Беларусь Учреждение образования белорусский государственный... |
||
Республики Беларусь Учреждение образования белорусский государственный... |
Государственное образовательное учреждение высшего профессионального... ... |
||
27 июля 2011 г. N 194 о документах об образовании, приложениях к... Овления Совета Министров Республики Беларусь от 19 июля 2011 г. N 969 "О делегировании полномочий Правительства Республики Беларусь... |
М инистерство здравоохранения республики беларусь уо «Гомельский... Гомель, Республика Беларусь, приглашает студентов и молодых ученых Вашего вуза принять участие в III республиканской научно-практической... |
||
Лабораторная работа №2 по дисциплине «Физика-1» Томский государственный университет систем управления и радиоэлектроники (тусур) Факультет дистанционного обучения |
Об утверждении Инструкции о порядке подготовки и выпуска учебных изданий и их использования На основании части второй пункта 9 статьи 94 Кодекса Республики Беларусь об образовании Министерство образования Республики Беларусь... |
||
Министерства образования республики беларусь О внесении изменений и дополнений в постановление Министерства образования Республики Беларусь от 26 февраля 2008 г. №16 |
Положение о проведении республиканского конкурса программ объединений... Планом работы Министерства образования Республики Беларусь на 2013 год, планом основных республиканских мероприятий учреждения образования... |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |