admin / 07.06.2018
Это способ создания графики без использования компилятора. Это обычный текстовый файл, должен быть в DOS – формате.
Шрифты: Windows, ANSI. Их понимает и обрабатывает любой броузер (Internet Explorer, Netscape).
Любой броузер – интерпритатор, исполняюший последовательно файл и исполняет его.
HTML быстро развивается и не все броузеры одинаково обрабатывают эти файлы. Сейчас все ориентируются на Internet Explorer 7.0 в Microsoft Wista.
Язык содержит перечень тегов, один тег – команда интерпритатору, но она пишется исходя из общих правил записи тегов.
ЗДЕСЬ ТОЖЕ НЕТ СТАНДАРТОВ!
Все веб-сайты состоят из нескольких HTML-файлов и нескольких графических файлов
Рекомендуется писать в обычном текстовом редакторе и сохранять как HTML-файл.
Недостатки:
1. Файл будет сильно большим;
2. Интерпритатор его обработает гораздо медление.
По традиции файл входа в сайт называется index.
<html> — начало тэга
</html> — конец тэга
<head> — заголовок
<body> — тело.
Структура HTML-файла:
<HTML>
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
В HEAD расположена различная вспомогательная информация общая для всего BODY. Ее писать не обязательно, но обычно пишут следующее:
<title>…</title> — содержимое заголовка.
Помимо этого в HEAD указывают версию html, для которой писалось BODY, и указывается как закрашивать фон.
Содержимое BODY – это просто очередность строк, в которую вставляют различные управляющие тэги, прежде всего это информация которую нужно вывести на страницу. Тэги управляют изображением этой информации.
Особенности восприятия текста BODY в браузере:
Теги:
Тэги управляют способами изображения информации, они все графические.
Примеры тэгов:
……<BR>…… — это указание оборвать связь на новую строку;
……<P>…</P>…… — абзац (между абзацами вставляются строки);
……<DIV>…</DIV>…… — абзац (между абзацами строки не вставляются);
Управление жирностью.
<B> Текст </B> — повышенная жирность
<I></I> — наклонный текст
<U> </U> — подчеркнутый текст
<S> </S> — перечеркнутый текст
<SUP> </SUP> — верхний индекс
<SUB> </SUB> — нижний индекс
<BLINK> </BLINK> — текст внутри мигает (создавался для Netscape, Explorer его не выполняет).
<tt> </tt> — ширина букв одинаковая
<big> </big> — увеличения на 1
<small> </small> — уменьшения на 1
Содержание
Существует 6 типов заголовков:
<H1>….</H1> //Текст в 4 раза больше
<H2>….</H2>
….
<H6>….<H6> //в 2-3 раза меньше, чем обычно
<EM> Текст </EM>
<CODE > Текст программы </CODE>
<ADDRESS></ADDRESS> — Internet адрес
Не все текстовые символы можно изображать браузером, которые создаются в текстовом редакторе:
 ….. – вставить пробел;
<….. – < ;
>….. – > ;
&….. – & ;
—… – — ;
&guot….. – ” ;
«… – << ;
»… – >> ;
Ω>… – W ;
β>… – b ;
‘>… – a ;
∑>… – S ;
НЕТ ОБЩЕГО СТАНДАРТА!!!
<P align = “left” > Текст </P>
“center”
“right”
“justify”
<pre> </pre> — так же как и в web выводит текст на экран;
чтобы вставить в текст рисунок, нужно написать следующий тэг в том участке текста, куда необходимо вставить рисунок или анимацию:
<IMG src = “ * ”>
*.gif, *.jpg, *.png – можно использовать любое из этих расширений.
Простейший способ вставить рисунок – рассположить его в том же катологе где находиться HTML-страничка.
Widht = “N” – в пикселях
“K”- в процентах
Height =“N”
“K”
Hspace = “N”
“K”
Vspace = “N”
“K”
<img dynsrc = “ *.avi ”
Для указания количества воспроизведений нужно вставить loop = “N” после названия файла, где N-число.
Пример.
Требуется вывести картинку по центру экрана и подписать его.
<HTML>
<HEAD>
<TITLE> Мой ….. <.TITLE>
</HEAD>
<BODY>
<P align = center>
<IMG scr = “my.gif”>
<BR>1…<BR>2
<BR>3 … <BR>
</P>
</BODY>
</HTML>
Это выполнение оператора go to;
Особенность web-странице – віполняется в диалоге , во время перемещения стрелочки, она заменяется на изображение и нажатием на левую кнопку мышки переходит на другую web-страницу. Это самый главный инструмент при работе с web. В классической программе – нужно все время следить за положением курсора и обрабатывать сообщения Windows.
Web-страници никаких обработок не делают.
<A href = адрес куда переход>текст ссылки </A>
Варианты записи адресса:
текст – тот текст в html на который перейдет курсор, при нажатиии на изображение;
___.gif – картинка, связаная с текстом;
___.html – движение по web-сайту;
Myweb.com.ua – на интернет адресс.
Текст ссылки может быть обычным текстом, а может быть и обычным рисунком. Имеется возможность нарисовать различные ссылки к различным частям рисунка.
Основной элемент анимации – это использования gif-анимации. Можна выводить и avi-файлы.
Недостаток – пользователь должен сохранить эти файлы, а это дорого.
Анимация средствами html
В html нет граффических операторов, функций графики.
<MARQUEE параметры>
____
____
<IMARQUEE>
1. Direction = right, left, up, down.
Если нужно что бы движение было под каким-то углом, то достаточно двух параметров.
2. Loop = INFINITE; (бесконечно)
Loop = 0;
Loop = N; (анимационный повтор N раз)
3.Behavior = scroll; изображение двигается слева направо и наоборот
Behavior = slide; движение до конца строки
Behavior = alternative; движение из одного конца строки в другой.
Width = Dx
Height = Dy
Align = middle; (top) перемещение по центру, по верхней части экрана
bgcolor = цвет; цвет фона, области движения
scrollmount = K; скорость движения
scrolldelay = M; величина задержки между движениями.
1.текст + рисунок
2.текст
Пример:
___<HR>___
По умолчанию появится линия на весь экран, толщина линии 1 пиксель.
Возможно управление, есть 2 параметра:
Width = N – ширина линии
Size = H – толщина линии
Color = — цвет
Для начала нужно иметь звуковой файл.
Фоновый звук – открывается страничка и сразу играет звук.
<BGSOUND src = .mid loop = N>
.wav
Параметры:
Loop = N – количество проигрований музыки
Balance = “___” — ±10000 дополнительная регулировка, определяет смещение по ролику относительно начала, конца файла.
Volume = “___” – громкость
“0” – максимальная громкость.
“10000” – звук выключен.
Есть возможность выводить мультимедиа проигрователь.
Электронно-вычислительная машина непосредственно выполняет программы на машинном языке программирования данной ЭВМ.
При этом программа представляет собой набор отдельных команд для компьютера. Эти команды являются достаточно простыми (например, сложение, умножение, сравнение или пересылка отдельных данных и др.). Каждая команда содержит в себе сведения о том, какая операция должна быть выполнена (код операции), с какими операндами (адреса данных или непосредственно сами данные) выполняются вычисления и куда (адрес) должен быть помещен результат.
Машинные языки были первыми языками программирования. Программирование на них затруднительно ввиду того, что, во-первых, эти языки различны для каждого типа ЭВМ, во-вторых, являются трудоемкими для большинства пользователей по причине необходимости знания особенностей конкретной ЭВМ и большого количества реализуемых ею операций (команд). Человеку свойственно формулировать и решать задачи в выражениях более общего характера, чем команды ЭВМ. Поэтому с развитием программирования появились языки, ориентированные на более высокий уровень абстракции при описании решаемой на ЭВМ задачи.
Язык программирования — это формальная знаковая система, предназначенная для записи программ (строится в соответствии с той или иной базовой моделью вычислений, т.е. совокупностью стратегий, методов, подходов и понятий, определяющих стиль программирования). Программа обычно представляет собой некоторый алгоритм записанный в форме, понятной для исполнителя (компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах (условиях). Лексика (словарный запас) является центральной частью языка, именующей, формирующей и передающей знания об объектах реальной действительности. Синтаксис – сторона языка программирования, которая описывает структуру программ как наборов символов. Семантика в программировании – это система правил, определяющих поведение отдельных языковых конструкций (определяет смысловое значение предложений алгоритмического языка).
Создатели языков по-разному толкуют понятие «язык программирования». К наиболее распространенным утверждениям, признаваемым большинством разработчиков, относятся следующие. Язык программирования предназначен для написания компьютерных программ, применяемых для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствам. Язык программирования – это способ передачи команд, приказов, четкого руководства к действию. Язык программирования использует специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений. В отличие от естественных языков, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила синтаксиса и семантики, как и для любого формального языка, однозначно и четко сформулированы.
Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. Терминология «низкий уровень» означает близость операторов языка к машинному коду. Наиболее используемый и популярный язык низкого уровня — ассемблер.
Каждый оператор этого языка представляет в виде мнемокодов команду микропроцессора (что позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка – обычно английских). Для каждого типа микропроцессора создаётся свой ассемблер, поддерживающий все его команды. При помощи языков низкого уровня создаются компактные и быстродействующие программы, так как программист получает доступ ко всем возможностям процессора (однако, при этом необходимо хорошо понимать устройство компьютера, а написанная программа не может быть использована на компьютере с процессором другого типа). Такие языки программирования применяются для написания небольших системных приложений, драйверов устройств, модулей стыков с нестандартным оборудованием, когда важны компактность, быстродействие, прямой доступ к аппаратным ресурсам.
Языки программирования, которые имитируют естественные и обладают укрупненными командами, удобными для использования программистом, называют языками высокого уровня. Основная черта таких языков — это абстракция (введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, которые воспроизвести на низкоуровневом языке программирования весьма затруднительно). Особенности конкретных компьютерных архитектур в них не учитываются, поэтому исходные тексты программ легко переносимы на другие платформы, имеющие трансляторы этого языка. Короче говоря, высокоуровневые языки стремятся не только облегчить решение сложных задач программирования (программы на языках высокого уровня с помощью понятных и мощных команд писать значительно проще, а число ошибок, допускаемых в процессе программирования, намного меньше), но и упростить портирование (переносимость) программного обеспечения. Использование разнообразных трансляторов и интерпретаторов обеспечивает связь программ, написанных при помощи языков высокого уровня, с различными операционными системами и оборудованием. Однако, «оторванность» высокоуровневых языков от аппаратной реализации компьютера помимо плюсов имеет и минусы. В частности, она не позволяет создавать простые и точные инструкции к использованию оборудования. Следствием этого становится нормой добавление поддержки современных профессиональных высокоуровневых языков программирования языком низкого уровня (языком ассемблера).
Современной тенденцией является появление языков программирования ультра высокого уровня. Такого рода языки характеризуются наличием дополнительных структур и объектов, ориентированных на прикладное использование. Прикладные объекты, в свою очередь, требуют минимальной настройки в виде параметров и моментально готовы к использованию. Использование ультра-высокоуровневых языков программирования снижает временные затраты на разработку программного обеспечения и повышает качество конечного продукта за счет, опять таки, уменьшения объема исходных кодов.
Кроме того, языки программирования могут быть разделены на компилируемые и интерпретируемые. Программа, написанная на компилируемом языке, при помощи компилятора (переводящего текст программы с высокоуровневого языка программирования в эквивалентную программу на машинном языке) преобразуется в набор инструкций для данного типа процессора и далее записывается в исполняемый модуль, который может быть запущен на выполнение как отдельная программа (при этом осуществляется поиск синтаксических ошибок, выполняется семантический анализ, нередко производится оптимизация с помощью набора методов, позволяющих повысить быстродействие программы и др.). Если программа написана на интерпретируемом языке, то интерпретатор (осуществляющий пооператорную обработку исходной программы) непосредственно выполняет ее (по тексту) без предварительного перевода. При этом программа сохраняет исходный текст (язык) и не может быть запущена без интерпретатора. Короче говоря, компилятор переводит программу, написанную на высокоуровневом языке, на машинный язык сразу и целиком, создавая при этом отдельную программу, а интерпретатор переводит на машинный язык прямо во время исполнения программы.
Как правило, скомпилированные программы выполняются быстрее и не требуют для этого (своего выполнения) дополнительных программ, так как уже переведены на машинный язык. Вместе с тем при каждом изменении текста программы требуется ее перекомпиляция, что создает определенные трудности. Кроме того, скомпилированная программа может выполняться только на том же типе компьютеров и, как правило, под той же операционной системой, на которую был рассчитан компилятор. Чтобы создать исполняемый файл для машины другого типа, требуется новая компиляция. Интерпретируемые языки обладают некоторыми специфическими возможностями (непосредственно исполняют текст без предварительного перевода), поэтому программы на них можно запускать сразу же после изменения. Программа на интерпретируемом языке может быть зачастую запущена на разных типах машин и операционных систем без дополнительных условий. Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые и, кроме того, они не могут выполняться без дополнительной программы-интерпретатора.
Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка (например, Pascal) можно написать интерпретатор, а для любого интерпретируемого языка можно создать компилятор (например, Lisp – изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений). В реальных системах программирования (например, Java) смешаны технологии компиляции и интерпретации. В процессе отладки такие программы можно выполнять по шагам (трассировать), а результирующий код не обязательно будет машинным. Он может быть, например, аппаратно-независимым промежуточным кодом абстрактного процессора, который в дальнейшем будет транслироваться в различных компьютерных архитектурах с помощью интерпретатора или компилятора в соответствующий машинный код. Этот подход позволяет использовать плюсы как интерпретаторов, так и компиляторов.
Итак, процесс создания программы в общем виде включает:
· составление исходного кода программы на языке программирования;
· этап трансляции, необходимый для создания объектного кода программы;
· построение загрузочного модуля, готового к исполнению.
Все перечисленные действия требуют наличия специальных программных средств, совокупность которых образует систему программирования. К ним относятся:
· текстовый редактор;
· компилятор;
· редактор связей;
· отладчик;
· библиотеки функций;
· справочная система.
©2015-2018 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Нарушение авторских прав и Нарушение персональных данных
Можно сказать, что машина Тьюринга представляет собой простейшую вычислительную машину с линейной памятью, которая согласно формальным правилам преобразует входные данные с помощью последовательности элементарных действий.
Элементарность действий заключается в том, что действие меняет лишь небольшой кусочек данных в памяти (в случае машины Тьюринга — лишь одну ячейку), и число возможных действий конечно. Несмотря на простоту машины Тьюринга, на ней можно вычислить всё, что можно вычислить на любой другой машине, осуществляющей вычисления с помощью последовательности элементарных действий. Это свойство называется полнотой.
Один из естественных способов доказательства того, что алгоритмы вычисления, которые можно реализовать на одной машине, можно реализовать и на другой, — это имитация первой машины на второй.
Имитация заключается в следующем. На вход второй машине подаётся описание программы (правил работы) первой машины и входные данные , которые должны были поступить на вход первой машины. Нужно описать такую программу (правила работы второй машины), чтобы в результате вычислений на выходе оказалось то же самое, что вернула бы первая машина, если бы получила на вход данные .
Как было сказано, на машине Тьюринга можно имитировать (с помощью задания правил перехода) все другие исполнители, каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.
На машине Тьюринга можно имитировать машину Поста, нормальные алгоритмы Маркова и любую программу для обычных компьютеров, преобразующую входные данные в выходные по какому-либо алгоритму. В свою очередь, на различных абстрактных исполнителях можно имитировать Машину Тьюринга.
Исполнители, для которых это возможно, называются полными по Тьюрингу (Turing complete).
Есть программы для обычных компьютеров, имитирующие работу машины Тьюринга. Но следует отметить, что данная имитация неполная, так как в машине Тьюринга присутствует абстрактная бесконечная лента. Бесконечную ленту с данными невозможно в полной мере имитировать на компьютере с конечной памятью (суммарная память компьютера — оперативная память, жёсткие диски, различные внешние носители данных, регистры и кэш процессора и др. — может быть очень большой, но, тем не менее, всегда конечна).
⇐ Предыдущая12345678910Следующая ⇒
Дата публикования: 2015-02-03; Прочитано: 677 | Нарушение авторского права страницы
12345
Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке), но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.
Языки программирования — это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарньш’запас, грамматику и синтаксис, а также семантику. ‘
Алфавит — разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного языка.
Синтаксис — система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика — система правил однозначного толкования каждой языковой конструкции, позволяющих производить процесс обработки даннх.
Взаимодействие синтаксических и семантических правил определяет основные понятия языка, такие как операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличие от естественных, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила грамматики и семантики, как и для любого формального языка, явно однозначно и четко сформулированы.
Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентированы на конкретные команды процессора.
Языком самого низкого уровня является ассемблер. Программа, написанная на нем, представляет последовательность команд машинных кодов, но записанных с помощью символьных мнемоник. С помощью языков низкого уровня создаются компактные оптимальные
319программы, так как программист получает доступ ко всем возможностям процессора. С другой стороны, при этом требуется хорошо понимать устройство компьютера, а использование такой программы на компьютере с процессором другого типа невозможно. Такие языки программирования используются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнее компактность, быстродействие, прямой доступ к аппаратным ресурсам.
Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня. Чем выше уровень языка, тем ближе структуры данных и конструкции, использующиеся в программе, к понятиям исходной задачи. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому исходные тексты программ легко переносимы на другие платформы, имеющие трансляторы этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, число ошибок, допускаемых в процессе программирования, намного меньше. В настоящее время насчитывается несколько сотен таких языков (без учета их диалектов).
Таким образом, языки программирования высокого уровня, ориентированные на решение больших содержательных прикладных задач, являются аппаратно-независимыми и требуют использования соответствующих программ-переводчиков для преобразования текста программы в машинный код, который в итоге и обрабатывается процессором.
Компиляторы и интерпретаторы
С помощью языка программирования создается текст программы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо либо весь ее текст перевести в машинный код (это действие и выполняет программа — компилятор) и затем передать на исполнение процессору, либо сразу выполнять команды языка, переводя на машинный язык и исполняя каждую команду поочередно (этим занимаются программы — интерпретаторы).
Интерпретатор функционирует следующим образом: берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. Если один и тот же оператор в программе выполняется несколько раз, интерпретатор всякий раз воспринимает его так, будто встретил впервые. Поэтому программы, в которых требуется произвести большой объем повторяющихся вычислений, будут работать медленно. Для выполнения программы на другом компьютере также необходимо установить интерпретатор, так как без него программа представляет собой набор слов и работать не может.
Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический аналиЪ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (говорят: генерируют объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы.
Сгенерированный объектный код обрабатывается специальной программой — сборщиком или редактором связей, который производит связывание объектного и машинного кодов.
Текст программы преобразуется в готовый к исполнению ЕХЕ-файл (исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
Основной недостаток компиляторов — трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, заранее неизвестной или динамически меняющейся во время работы программы. Для таких программ в машинный код вводятся дополнительные проверки и анализ наличия ресурсов операционной системы, средства динамического захвата и освобождения памяти компьютера, что на уровне статически заданных машинных инструкций осуществить достаточно сложно, а для некоторых задач практически невозможно.
С помощью интерпретатора, наоборот, для исследования содержимого памяти допустимо в любой момент прервать работу программы, организовать диалог с пользователем, выполнить любые слож-
II Информатика
321ные преобразования данных и при этом постоянно контролировать программно-аппаратную среду, что и обеспечивает высокую надежность работы программы. Интерпретатор при выполнении каждой команды подвергает проверке и анализу необходимые ресурсы операционной системы, при возникающих проблемах выдает сообщения
об ошибках.
В реальных системах программирования смешаны технологии компиляции и интерпретации. В процессе отладки программу можно выполнять по шагам (трассировать), а результирующий код не обязательно будет машинным, он может быть, например, аппарат-но-независимым промежуточным кодом абстрактного процессора, который в дальнейшем будет транслироваться в различных компьютерных архитектурах с помощью интерпретатора или компилятора в соответствующий машинный код.
Системы программирования
Процесс создания программы включает:
• Составление исходного кода программы (рис. 6.21) на языке программирования.
• Этап трансляции, необходимый для создания объектного кода
программы.
• Построение загрузочного модуля, готового к исполнению.
Все перечисленные выше действия требуют наличия специальных программных средств.
Исходны!П| Трансляция ЦрбГектныйЦ РедакторII Загрузочный
^’ """ Ч ~ II МОДУЛЬ
Код
Код
связей
модуль
Рис. 6.21. Процесс создания программы, готовой к исполнению Совокупность этих программных средств входит в состав системы программирования:
• Текстовый редактор (необходимый для создания и редактирования исходного кода программы на языке программирования).
• Компилятор.
• Редактор связей.
• Отладчик.
• Библиотеки функций.
• Справочная система.
12345
FILED UNDER : IT