как называется программа которая переводит в машинный код сразу всю программу и строит исполняемый
Трансляторы и их виды
Поскольку текст, записанный на языке программирования, непонятен компьютеру, то требуется перевести его на машинный код. Такой перевод программы с языка программирования на язык машинных кодов называется трансляцией, а выполняется она специальными программами – трансляторами.
В настоящее время трансляторы разделяются на три основные группы: ассемблеры, компиляторы и интерпретаторы.
Вместе с тем, язык ассемблера, кроме аналогов машинных команд, содержит множество дополнительных директив, облегчающих, в частности, управление ресурсами компьютера, написание повторяющихся фрагментов, построение многомодульных программ. Поэтому выразительность языка намного богаче, чем просто языка символического кодирования, что значительно повышает эффективность программирования.
Эмуляторы используются достаточно часто в самых различных целях. Например, при разработке новых вычислительных систем, сначала создается эмулятор, выполняющий программы, разрабатываемые для еще несуществующих компьютеров. Это позволяет оценить систему команд и наработать базовое программное обеспечение еще до того, как будет создано соответствующее оборудование.
Очень часто эмулятор используется для выполнения старых программ на новых вычислительных машинах. Обычно новые компьютеры обладают более высоким быстродействием и имеют более качественное периферийное оборудование. Это позволяет эмулировать старые программы более эффективно по сравнению с их выполнением на старых компьютерах.
Макропроцессоры используются и с языками высокого уровня. Они увеличивают функциональные возможности таких языков как PL/1, C, C++. Особенно широко макропроцессоры применяются в C и C++, позволяя упростить написание программ. Макропроцессоры повышают эффективность программирования без изменения синтаксиса и семантики языка.
Любой транслятор выполняет следующие основные задачи:
- анализирует транслируемую программу, в частности определяет, содержит ли она синтаксические ошибки;
— генерирует выходную программу (ее часто называют объектной) на языке машинных команд;
— распределяет память для объектной программы.
Транслятор – это программа, которая переводит в машинные коды текст программ, написанных на языке высокого уровня.
1.Интерпретатор: анализирует текст программы по частям, сразу выполняет обработанную команду.
Компилятор: переводит всю программу в машинный код, строит исполняемый файл.
14) Алгоритм, его свойства и способы записи.
1. Алгоритм – это однозначное, точное и полное описание последовательности элементарных действий для решения данной задачи.
Слово алгоритм происходит от имени арабского математика Аль-Хорезми (точнее – латинизи-рованной формы его имени – Аlgorithmi), который еще в IX веке сформулировал правила выполнения четырех арифметических действий. Эти правила называли правилами Аль-Хорезми (algorithmi), а позднее просто стали называть алгоритмом.
p>3. Способы записи алгоритма
2) на алгоритмическом языке (или языке программирования: Бейсик, Паскаль и т.д.),
3) на языке блок–схем.
15) Что такое блок – схема алгоритма. Основные блоки и структуры.
1. Блок–схема алгоритма – это графический способ записи алгоритма, представляющий собой систему определенным образом связанных блоков, изображаемых в виде плоских геометрических фигур.
Элементы блок –схемы располагаются сверху вниз, линии соединения отдельных блоков показывают направление процесса обработки схемы. Каждое такое направление называют ветвью.
2. Основные блоки
3. Структурами называют ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
Блок–схема алгоритма – это графический способ записи алгоритма, представляющий собой систему определенным образом связанных блоков, изображаемых в виде плоских геометрических фигур.Элементы блок – схемы располагаются сверху вниз, линии соединения отдельных блоков показывают направление процесса обработки схемы. Каждое такое направление называют ветвью.
Перечислим типы блоков:
1. “Начало” и “конец” алгоритма изображаются овалом:
2. Блок “действия” изображается прямоугольником. Внутри его указываются необходимые вычисления и присваивания результата:
3. Блок “условия” изображаются ромбом. Внутри блока записываются условия выбора направления действия алгоритма:
4. Блоки “ввода” и “вывода” информации изображаются параллелограммами. С их помощью вводят исходные данные задачи, выводят результат решения:
Структурами называют ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий. Алгоритмы “собирают” из трех основных (базовых) структур:
1. Структура “ следование” состоит из двух (или более) блоков “действие”:
2.Структура “развилка” состоит из логического элемента с проверкой некоторого условия и функциональных блоков, которые в простейшем случае есть блок “действие”.
“Развилка” может быть двух видов:
а) полная условная конструкция: б) неполная условная конструкция:
3. Структура “цикл” состоит из логического элемента с проверкой условия и функционального блока, называемого телом цикла. Ясно, что тело цикла может выполняться неоднократно. Данная структура может быть двух видов:
цикл – ПОКА цикл – ДО
В случае “цикл – ПОКА” функциональный блок размещен после проверки условия, поэтому может оказаться, что тело цикла не выполниться ни разу. Однако если условие выполняется – выполняется и весь цикл. Проще говоря, “цикл – ПОКА” выполняется, пока выполняются условие.
В “цикле – ДО” функциональный блок размещен до проверки выполнения условия, так что в этом варианте тело цикла в любом случае будет выполнено, по крайней мере, один раз. Условие в данном случае является условием выхода из цикла. Проще говоря, “цикл – ДО “ выполняется до наступления выполнения условия.
16) Компьютерная сеть и типы сетей.
1. Компьютерная сеть – это группа компьютеров, соединенных линиями связи.
Компьютерные сети – «за» и «против»
u внешние устройства
Сервер –это компьютер, предоставляющий свои ресурсы в общее использование.
Клиент – это компьютер, использующий ресурсы сервера.
17) Протокол в компьютерной сети. Пакетный режим передачи и состав пакета.
1. Пакетный режим был наиболее распространен при централизованной организации решения экономических задач, когда большой удельный вес занимали задачи отчетности о производственно-хозяйственной деятельности экономических объектов разного уровня управления.
2. Протокол в компьютерной сети. Сетевым протоколом называется набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть компьютерами. Фактически разные протоколы зачастую описывают лишь разные стороны одного типа связи; взятые вместе, они образуют так называемый стек протоколов. Названияитакже указывают на программное обеспечение, которым реализуется протокол.
Протокол – это набор правил и соглашений, определяющих порядок обмена данными.
Шлюз (конвертер) – устройство, которое объединяет сети с разными протоколами.
18) Топология компьютерной сети (определение и примеры)
1. Топология сети – геометрическая форма и физическое расположение компьютеров по отношению к друг другу. Топология сети позволяет сравнивать и классифицировать различные сети. Различают три основных вида топологии:
Шина – это линия связи, которую несколько устройств используют для обмена данными.
4. «Дерево» = многоуровневая звезда
19) Локальная сеть и типы локальных сетей.
1. Локальная сеть объединяет компьютеры в одном или нескольких соседних зданиях.
LAN (Локальная сеть/локальные сети) – это компьютерная сеть, которая, дает возможность нескольким подключаться к сети интернет, используя единую точку доступа.
Сетевая ОС поддерживает:
2. Типы локальных сетей:
Сети с выделенным сервером
Сервер — специальный управляющий компьютер, предназначенный для: хранения данных для всей сети; подключения периферийных устройств; централизованного управления всей сетью и определения маршрутов передачи сообщений.
20) Маска подсети. Нахождение адреса сети и номера компьютера в сети по IP адресу.
TCP (Transfer Control Protocol)– протокол управления передачей данных
IP (Internet Protocol) – межсетевой протокол
Протоколы уровня приложений
HTTP (HyperText Transfer Protocol)– передача гипертекста
FTP (File Transfer Protocol) – передача файлов
SMTP (Simple Mail Transfer Protocol) – отправка эл. почты
POP3 (Post Office Protocol Version 3) – приём эл. почты
IMAP (Internet Message Access Protocol) – приём эл. Почты
21) Доменные имена и серверы доменных имен.
Доменное имя — это уникальное сочетание символов латинского алфавита, по которому можно идентифицировать ваш сайт среди множества других. Кроме букв, в домен могут входить цифры от 1 до 9 и символы дефиса «-», но дефис не может находиться в начале и в конце домена. Длина домена может быть от 2 до 63 символов. Для того чтобы конкретному цифровому IP-адресу поставить в соответствие символьное доменное имя вашего сайта, существуют специальные DNS-серверы(программы, осуществляющая преобразование доменного имени в цифровой IP-адрес и наоборот).
Каждое доменное имя состоит из нескольких частей, разделённых точками — это домены разных уровней. Число уровней доменов, как правило, ограничивается двумя-тремя. Длинное доменное имя и большое число уровней домена неудобны для использования. Крайнее правое поле называется Доменом верхнего уровня, далее, справа налево, следуют имена доменов более низкого уровня.
O Домены верхнего уровня (доменными зонами).
Все домены верхнего уровня можно разделить на две группы:
— национальные или географические домены, они определяют принадлежность сайта к той или иной стране или географической территории.
— домены общего пользования. Они могут устанавливать принадлежность сайта к определенной категории или виду деятельности.
O Домены второго уровня
Второй и все последующие уровни домена имеют важное ограничение — они должны быть уникальны в группе своего родительского домена. Иначе говоря, в Интернет может быть только один домен второго уровня в домене верхнего уровня. Доменные имена второго уровня регистрируются у организаций-регистраторов. Право владения на домен второго уровня выдается организации или человеку только на год, на каждый следующий год заявку надо продлевать.
O Домены третьего уровня
Домены третьего уровня регистрируются у организаций, владеющих доменами второго уровня. Обладатель домена второго уровня имеет возможность создавать неограниченное количество адресов третьего и далее уровней. Обычно, услугу регистрации домена третьего уровня предоставляют провайдеры– поставщики интернет услуг.
22) Информационная безопасность и защита информации.
1. Информационная безопасность — это защищённость информации от любых действий, в результате которых владельцам или пользователям информации может быть нанесён недопустимый ущерб.
2. Защита информации — это меры, направленные на то, чтобы не потерять информацию, не допустить её искажения и неправомерного доступа к ней.
Статьи к прочтению:
Daphne Koller: Was wir vom Online-Lernen lernen
Похожие статьи:
Человеку в жизни и практической деятельности приходится решать множество различных задач. Решение каждой из них описывается своим алгоритмом, и…
Введение Интернет полностью меняет то, как мы работаем, живем, развлекаемся и учимся. Эти изменения будут происходить в уже известных нам областях…
Информатика 10 класса Системы программирования
1. Отметьте все языки программирования высокого уровня.
Паскаль
Си
Python
2. Отметьте языки программирования, которые используются для создания Web-сайтов в Интернете.
Javascript
PHP
Perl
3. Как называется программа, которая переводит в машинные
коды тексты программ, написанных на языке высокого уровня?
компилятор
4. Как называется программа, которая переводит в машинные
коды символьную запись машинных команд?
5. В чем преимущества трансляторов-интерпретаторов в сравнении с компиляторами?
программы легче отлаживать
программы переносимы на любую платформу, для которой есть интерпретатор
6. Назовите тип транслятора, который переводит в машинный код сразу всю программу и строит исполняемый файл.
однопроходный компилятор (??)
7. Как называется промежуточный исполняемый код, который выполняется виртуальной машиной?
байт-код
8. Как называется программа, которая собирает разные части (модули) создаваемой программы и функции из стандартных библиотек в единый исполняемый файл?
линковщик (linker)
9. Как называется программа для поиска ошибок в других программах?
отладчик
10. Как называется программа, позволяющая оценить время работы каждой процедуры и функции во время выполнения программы?
профайлер (profiler)
11. Каким термином называется набор стандартных структур данных и функций операционной системы или сервиса, которые программисты могут использовать в своих программах?
интерфейс программирования приложений
12. Отметьте все программы, которые обычно входят в состав интегрированной среды разработки программ (IDE).
текстовый редактор
компоновщик
отладчик
профилировщик (??)
13. Как называются среды программирования, нацеленные на высокую скорость и низкую стоимость разработки программ?
среды быстрой разработки приложений
14. Отметьте языки программирования, программа на которых может быть переведена в псевдокод, выполняемый в виртуальной машине.
Урок 15
Системное программное обеспечение. Системы программирования
§40. Системное программное обеспечение. §41. Системы программирования
Содержание урока
§40. Системное программное обеспечение
§41. Системы программирования
Трансляторы
§41. Системы программирования
Трансляторы
Основа любой системы программирования — транслятор.
Транслятор — это программа, которая переводит в машинные коды тексты программ, написанных на языке высокого уровня.
Существуют два типа трансляторов: интерпретаторы и компиляторы.
Интерпретатор анализирует текст программы по частям. Разобрав очередной фрагмент, он немедленно выполняет описанные в нем действия и переходит к обработке следующего фрагмента.
Достоинства интерпретаторов:
• программы переносимы (программа будет работать в любой системе, где установлена программа-интерпретатор);
• удобно отлаживать программу.
Есть и существенные недостатки.
• программу невозможно выполнить, если не установлен интерпретатор;
• программы выполняются медленно (в цикле из 100 шагов каждая строчка 100 раз «разбирается» интерпретатором);
• в тех частях программы, которые не выполнялись во время отладки, могут оставаться синтаксические ошибки.
Второй тип трансляторов — компиляторы. Они, в отличие от интерпретаторов, сразу переводят всю программу в машинный код и строят исполняемый файл, готовый к запуску.
Достоинства компиляторов:
• чтобы запустить программу, не нужно устанавливать транслятор;
• поскольку программа уже переведена в машинные коды, она выполняется значительно быстрее, чем при использовании интерпретатора.
Недостатки тоже есть:
1 Многие программы, разработанные для ОС Windows, могут быть запущены в Linux с помощью программы-оболочки Wine (www.winehq.org).
Чтобы как-то совместить достоинства интерпретаторов и компиляторов, была предложена идея компиляции программы в некоторый промежуточный исполняемый код (псевдокод, P-код), а не сразу в команды конкретного процессора. Для выполнения такого псевдокода нужна специальная среда — виртуальная машина, которую в принципе можно разработать для любого процессора и любой операционной системы.
Программа сначала обрабатывается компилятором, который строит псевдокод, а потом этот псевдокод выполняется интерпретатором.
Таким образом,
• при компиляции в псевдокод проверяются все синтаксические ошибки, поэтому при выполнении такую проверку делать не нужно; это значительно ускоряет работу программ в сравнении с интерпретацией;
• обеспечивается переносимость программ — можно выполнять программу (псевдокод) на любом компьютере, где есть виртуальная машина.
Байт-код — это разновидность псевдокода, в котором команда занимает 1 байт, а далее следуют её аргументы (или их адреса). Современные версии интерпретируемых языков Perl, РНР, Python используют компиляцию в байт-код для ускорения выполнения программы.
Готовые программы на Java распространяются в виде байт-кода, поэтому для их выполнения необходимо установить виртуальную Java-машину. При этом для ускорения работы часто используется JIT-компиляция (англ. JIT — just-in-time — в это самое время), при которой байт-код «на лету» преобразуется в команды конкретного процессора. Тогда при повторном выполнении команды трансляция уже не нужна.
Следующая страница Состав системы программирования
Cкачать материалы урока
Преобразование программы в машинные коды. Интерпретаторы и компиляторы
Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.
Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом.
Транслирующие программы делятся на две категории: интерпретаторы и компиляторы.
Интерпретатор преобразует небольшой фрагмент исходной программы в машинные команды и, лишь дождавшись, когда компьютер их выполнит, переходит к обработке следующего фрагмента.
Компилятор, наоборот, транслирует всю программу, написанную на языке высокого уровня, и помещает команды в память компьютера, не выполняя их; компилированную программу можно сохранить, чтобы в дальнейшем использовать.
Каждый из этих способов преобразования имеет свои достоинства и недостатки.
Компилированные программы выполняются быстрее, чем интерпретируемые; однажды компилированная программа не требует в дальнейшем компилятора, и компьютеру не приходится исхитряться, чтобы одновременно и транслировать, и выполнять программу.
Программы, написанные на языках, ориентированных на интерпретацию, требуют присутствия в памяти компьютера интерпретатора, который осуществляет трансляцию программы в ходе ее выполнения.
Благодаря построчной трансляции интерпретатор полезен как при отладке, так и при трансляции программ, подверженных частым изменениям; исправленную программу можно сразу запустить, чтобы проверить ее работу. При использовании компилятора исправленную программу приходится перекомпилировать.
Как компилятор, так и интерпретатор должны соответствовать правилам конкретного языка высокого уровня, который они транслируют. Подобно тому, как правила грамматики описывают естественный язык, правила формального языка управляют работой программиста, указывая, как можно соединять слова и символы, используемые в языке, при построении сложных выражений и задавая правила форматирования, в том числе употребления пробелов и знаков пунктуации. В транслирующих программах грамматика является основой преобразования понятий исходной программы в машинный код.