Чем отличаются компилируемые и интерпретируемые языки программирования? Встраиваемые интерпретируемые языки программирования. Программа, которая печатает эти свойства для int

Желающие освоить язык программирования сталкиваются с такими понятиями, как компилятор и интерпретатор. Компиляция и интерпретация — это основа работы языков программирования.

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

Мы полагаемся на такие инструменты, как компиляция и интерпретация, чтобы преобразовать наш код в форму, понятную компьютеру. Код может быть исполнен нативно, в операционной системе после конвертации в машинный (путём компиляции) или же исполняться построчно другой программой, которая делает это вместо ОС (интерпретатор).

Компилируемые языки

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

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

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

Примерами компилируемых языков являются Pascal, C, C++, Erlang, Haskell, Rust, Go, Ada.

Интерпретируемые языки

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

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

Примерами интерпретируемых языков являются PHP, Perl, Ruby, Python, JavaScript. К интерпретируемым языкам также можно отнести все скриптовые языки.

Многие языки в наши дни имеют как компилируемые, так и интерпретируемые реализации, сводя разницу между ними к минимуму. Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету». Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# — Common Language Runtime.

Перепечатка статьи допускается только при указании активной ссылки на сайт сайт

Хочешь получать новые статьи первым? Вступай в сообщества ITmentor


Notice : Функция get_currentuserinfo с версии 4.5.0 считается устаревшей ! Используйте wp_get_current_user(). in /hlds/web/u138079p19/сайт/htdocs/wp-includes/functions.php on line 3840

Компилируемые и интерпретируемые языки, казалось бы что здесь не так? Компилируемые компилируются в исполняемый код, а интерпретируемые интерпретируются на этапе исполнения. Но не все так однозадачный. Неоднократно при общении с программистами слышал путаницу в терминологии по поводу компилируемых и интерпретируемых языков программирования. Объяснения не всегда логичны и уж тем более объективны (и эта статья возможно тоже).

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

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

Примечание: данная статья имеет анализ, но это не значит что он абсолютно верный, возможно где-то я субъективно интерпретировал понятия))

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

Теперь необходимо понять что такое компиляция, опять обращаемся к вики :

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

Результатом работы компилятора может быть программа на специально созданном низкоуровневом языке, подлежащем интерпретации виртуальной машиной. Такой язык называется псевдокодом или байт-кодом .

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

Разберем теперь понятие интерпретация, опять же обращаемся к вики :

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

Интерпретация исходного кода - пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).

Казалось бы … теперь все понятно, но сомнения все-таки остались. Ну а как же тогда точно расставить все по местам? Ведь даже при таком раскладе получается что практически для любого языка можно написать интерпретатор?

Процесс компиляции состоит из следующих этапов:

  1. Лексический анализ

  2. Синтаксический анализ

  3. Генерация кода

Все-равно мало …

Обратимся еще раз к понятию интерпретация : совокупность значений, придаваемых тем или иным способом элементам какой-либо естественнонаучной или абстрактно-дедуктивной теории. Значит ли это что интерпретация это одна итерация?

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

  • сначала на вход поступает поток символов (исходный код), который разбивается на лексемы, то есть первая итерация интерпретации — делаем понятным поток символом для синтаксического анализатора (интерпретируем для парсера);
  • на этапе синтаксического анализа строим абстрактное синтаксическое дерево (АСТ), то есть вторая итерация — делаем понятными лексемы (не исходный код) для генератора кода (интерпретируем для генератора кода);
  • на этапе генерации кода преобразуем АСТ в код (машинный либо байт-код), то есть третья итерация — делаем понятным АСТ (не лексемы и уж тем более не исходный код) для машины (реальной либо виртуальной) (интерпретация для машины), итог — код.

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

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

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

Ладно, определились, но что тогда в таком случае будет являться интерпретируемым языком программирования? Судя по всему, таковым языком будет тот язык, который имеет только одну итерацию интерпретации . Утверждать не буду, но ИМХО, такой язык лишен высокоуровневости, и будет представлять из себя нечто вроде:

Push 10 push 5 add

То есть некое подобие ассемблера, похожего на байт-код виртуальной машины))

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

Часто скриптовые языки называют интерпретируемыми еще и потому что генератор кода в них называется компилятором, это конечно же не верно, и мы сами неверно назвали в s4g 0.9.2 генератор кода компилятором. Компилятор это нечто большее чем простая интерпретация АСТ в байт-код. В следующих версиях будем исправляться))

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

Если уж компилируемый язык компилируется в машинный код … тогда он будет исполнятся как на Windows так и на Linux с аналогичным железом?))

Итак, запрепим:

Интепретатор — программа исполняющая исходный код пооператорно (построчно, по командно).

Интерпретируемый язык программирования — это язык программирования имеющий один уровень итерации (восприятия) исходного кода. Промежуточное представление кода отсутствует.

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

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

Наиболее широко распространены разновидности следующих трёх: операционного, денотационного (математического) и деривационного (аксиоматического).

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

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

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

Несмотря на то, что большинство языков ориентировано на императивную модель вычислений, задаваемую фоннеймановской архитектурой ЭВМ, существуют и другие подходы. Можно упомянуть языки со стековой вычислительной моделью (Forth, Factor, Postscript и др.), а также функциональное (Лисп, Haskell, ML и др.) и логическое программирование (Пролог) и язык Рефал, основанный на модели вычислений, введённой советским математиком А.А. Марковым-младшим.

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

Компилируемые и интерпретируемые языки

Языки программирования могут быть разделены на компилируемые и интерпретируемые.

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

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

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

Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

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

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

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

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

Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# -- Common Language Runtime.

Подобный подход в некотором смысле позволяет использовать плюсы как интерпретаторов, так и компиляторов. Следует упомянуть также оригинальный язык Форт(Forth) имеющий и интерпретатор и компилятор.

Современные языки программирования рассчитаны на использование ASCII, то есть доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF).

Подробнее по этой теме см.: Переносимый набор символов.

Ранние языки, возникшие в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " :

Заметным исключением является язык APL, в котором используется очень много специальных символов.

Использование символов за пределами ASCII (например, символов KOI8-R или символов Юникода) зависит от реализации: иногда они разрешаются только в комментариях и символьных/строковых константах, а иногда и в идентификаторах. В СССР существовали языки, где все ключевые слова писались русскими буквами, но большую популярность подобные языки не завоевали (исключение составляет. Встроенный язык программирования 1С: Предприятие).

Подробнее по этой теме см.: Русские языки программирования.

Расширение набора используемых символов сдерживается тем, что многие проекты по разработке программного обеспечения являются международными. Очень сложно было бы работать с кодом, где имена одних переменных записаны русскими буквами, других -- арабскими, а третьих -- китайскими иероглифами. Вместе с тем, для работы с текстовыми данными языки программирования нового поколения (Delphi 2006, C#, Java) поддерживают Unicode.

До сих пор мы говорили о том, что программу, написанную на высокоуровневом языке, перед выполнением следует откомпилировать, т. е. перевести на машинный язык, состоящий из двух знаков, соответствующих двум устойчивым состояниям. Компилятор – это тоже компьютерная программа, на вход которой подается файл с исходным текстом, написанным на языке высокого уровня. Этот файл во многих операционных системах называется исходным модулем (source module) . Компилятор переводит программу на машинный язык и записывает ее в другой файл, называемый объектным модулем (object module) .

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

Компоновку выполняет специальная программа, так и называемая «компоновщиком» (linker) или редактором связей. На ее вход подаются файлы с объектными модулями, а на выходе получается исполнимый модуль (executable module) – файл с полностью готовой к выполнению программой. Этот файл загружается в оперативную память и выполняется.

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

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

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

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

В современном программировании разница между компилируемыми и интерпретируемыми языками стирается. Это слияние происходит по двум направлениям. С одной стороны, для интерпретируемых языков создаются компиляторы. Классическим интерпретируемым языком всегда считался язык BASIC , но сейчас для него написано много компиляторов. У программиста есть выбор. Программу, написанную на BASIC , можно интерпретировать и сразу выполнить, а можно предварительно откомпилировать в исполнимый модуль и выполнить в другое, более удобное время.

С другой стороны, интерпретаторы научились сохранять машинный код уже проинтерпретированных и выполненных операторов. При повторном выполнении этих операторов, например, в циклах, интерпретатор использует готовые машинные команды, что значительно ускоряет работу. Такие интерпретаторы называются JIT-интерпретаторами (Just-In-Time) . Они работают значительно быстрее классических интерпретаторов и поэтому приобретают все большее распространение.

Языки программирования могут быть разделены на компилируемые и интерпретируемые.

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

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

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

Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

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

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

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

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

Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# -- Common Language Runtime.

Подобный подход в некотором смысле позволяет использовать плюсы как интерпретаторов, так и компиляторов. Следует упомянуть также оригинальный язык Форт(Forth) имеющий и интерпретатор и компилятор.

Современные языки программирования рассчитаны на использование ASCII, то есть доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF).

Ранние языки, возникшие в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " :

Заметным исключением является язык APL, в котором используется очень много специальных символов.

Использование символов за пределами ASCII (например, символов KOI8-R или символов Юникода) зависит от реализации: иногда они разрешаются только в комментариях и символьных/строковых константах, а иногда и в идентификаторах. В СССР существовали языки, где все ключевые слова писались русскими буквами, но большую популярность подобные языки не завоевали (исключение составляет. Встроенный язык программирования 1С: Предприятие).

Расширение набора используемых символов сдерживается тем, что многие проекты по разработке программного обеспечения являются международными. Очень сложно было бы работать с кодом, где имена одних переменных записаны русскими буквами, других -- арабскими, а третьих -- китайскими иероглифами. Вместе с тем, для работы с текстовыми данными языки программирования нового поколения (Delphi 2006, C#, Java) поддерживают Unicode.

Задание №1

язык программирование семантика компилируемый

1. Для создания на диске D папок первого уровня нужно выполнить следующие действия:

Открыть Мой компьютер, перейти на диск D:

Выбрать пункт меню Файл, Создать, Папку, напечатать имя создаваемой папки П1.

Аналогично создаются папки П2 и П3.

Для создания папок второго уровня необходимо:

Перейти в папку первого уровня, в которой нужно создавать папку второго уровня. Например папку П21 нужно создавать в папке П2, папку П31 - в папке П3 и т.д.

Повторить действия из 1-го пункта при создании папок 3-его уровня нужно папку П311 создавать в папке П31 и т.д.

2. Чтобы переименовать папку нужно

Выбрать папку П31

Выбрать пункт меню Файл, Переименовать, напечатать фамилию Хомченко

Выбрать папку П1 и дать имя Инна.

3. Для переноса 9-ой папки во 2-ю папку нужно

Выбрать папку П312

Выбрать пункт меню Правка, Вырезать

Перейти в нужную папку П2

Выбрать пункт меню Правка, Вставить.

4. Дерево диска D до выполнения пунктов 2-3 будет выглядеть так:

Так выглядит дерево диска D: после выполнения пунктов 2-3:

Пояснения к выполнению задания №4

1. Для форматирования ячеек нужно выполнить следующее:

* выделить ячейку или диапазон ячеек

* выбрать пункт меню Формат, ячейки, выравнивание.

2. Чтобы ввести в ячейку формулу нужно:

* активизировать нужную ячейку

* набрать знак =, а затем нужную формулу вручную на клавиатуре или с использованием мыши.

Например, в ячейку H7 нужно ввести формулу: =G7+C7-F7

3. Для заполнения колонки Примечание 1 нужно использовать функцию

ЕСЛИ(). Таким образом в ячейке К7 будет размещена формула:

ЕСЛИ(I7>=15000;"Очень хорошая работа"; ЕСЛИ(I7>=5000; "Хорошая работа"; ЕСЛИ(I7<0; "Надо больше покупать валюты"; "Надо меньше продавать валюты")))

4. Для заполнения колонки Примечание 2, предварительно необходимо преобразовать условие в таблицу:


Затем в ячейку L7 занести формулу:

ПРОСМОТР(I7;$O$7:$O$12;$P$7:$P$12)

В результате у вас должно получиться такое же значение, как и в колонке Примечание 1;


5. Для использования "автозаполнения" нужно

* выделить ячейку с формулой

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

* не отпуская левой клавиши мыши растянуть выделение на нужный диапазон ячеек.

6. Для заполнения итоговой строки нужно: установите курсор в нужную ячейку и произвести двойной щелчок по кнопке Автосуммирование на панели инструментов.

Описание выполнения пункта №2

Установить курсор в любую свободную ячейку и ввести формулу:

МАКС(F7:F16). Аналогично: =МИН(G7:G16) и =СРЗНАЧ(H7:H16). Формулу можно

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

Для создания имени нужно

* выделить диапазон (например H7:H16)

* выбрать поле имен и задать нужное имя (например Остаток) или выбрать пункт меню Вставка, Имя, Присвоить.

Тогда формула из предыдущего пункта будет выглядеть так:

СРЗНАЧ(Остаток)

Для построения диаграммы нужно

  • ? выделить диапазон данных по которым будем строить диаграмму например В2:D8. Левый столбец и верхняя строка будет использоваться в качестве меток осей.
  • ? вызываем мастер диаграмм.
  • ? выбираем тип диаграммы, например гистограмма, трехмерная.
  • ? Вводим соответствующие надписи для осей и название диаграммы.
  • ? выбираем лист, на котором будем строить диаграмму и выбираем кнопку Готово.

Для распечатки списка имен нужно выбрать пункт меню Вставка, Имя, Вставить, Все имена.

Чтобы получить таблицу с расчетными формулами нужно выбрать пункт меню

Сервис, Параметры, Вид, Параметры окна, Формулы.

Для оформления колонтитулов можно

* выбрать пункт меню Вид, Колонтитулы.

* выбрать пункт меню Файл, Параметры страницы, Колонтитулы.

Чтобы убрать сетку для печати нужно выбрать

Файл, Параметры страницы, Лист и отменить печать сетки.

Для распечатки полученной книги нужно выбрать:

  • ? Файл, Печать или
  • ? соответствующую пиктограмму на панели инструментов

Если диаграмма построена на том же рабочем листе, что и таблица, то печатать следует вместе с таблицей. Если диаграмма построена на новом рабочем листе, то нужно:

  • ? перейти на лист с построенной диаграммой
  • ? выполнить печать как в пункте №5

Пояснения к выполнению задания №5

  • 1. Для того чтобы отсортировать список необходимо:
    • ? установить курсор на то поле списка, по которому нужно провести

сортировку.

  • ? выбрать соответствующую пиктограмму на панели инструментов.
  • 2. Для работы с автофильтром необходимо:

установить курсор в любую ячейку списка.

выбрать пункт меню Данные, Фильтр, автофильтр.

1. выбрать изделия, цена которых <= 100000 и >300000 или расход которых не превышает 100 единиц.

Описание выполнения пункта 1.

  • 1. Включаем Автофильтр.
  • 2. Нажимаем кнопку автофильтра в поле Цена.
  • 3. Выбираем пунк меню Условие:
    • ? задаем условие
    • ? выбираем логическое условие И
    • ? задаем условие >300000
    • ? кнопка ОК



Top