Документ: от печати до выписок из базы данных. От...

42
Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному. «Архитектура вычислительных систем» Акоев Марк Анатольевич 7 семестр 14 часов, зачет http://akoev.blogspot.com/search/label/Computing

Upload: marcus-akoev

Post on 08-May-2015

1.505 views

Category:

Design


1 download

TRANSCRIPT

Page 1: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Документ: от печати до выписок из

базы данных. От аппликативного

программирования к

функциональному.«Архитектура вычислительных систем»

Акоев Марк Анатольевич

7 семестр

14 часов, зачет

http://akoev.blogspot.com/search/label/Computing

Page 2: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Документ

Page 3: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

PostScript

Page 4: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному
Page 5: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

%!PS-Adobe-1.0

% По умолчанию, постскрипт использует единицу измерения 1 пункт=1/72 дюйма,

% а нам нравятся миллиметры.

72 25.4 div % 1 мм = 72/25.4 пунктов

dup % дублировать значение на вершине стека

scale % растянуть в это количество раз по обеим координатам

100 100 translate % установить начало координат в (100мм, 100мм)

/Times-Roman findfont % взять шрифт Times-Roman

10 scalefont % растянуть до размера 10 (у нас единица измерения - мм!)

setfont % установить выбранный шрифт

0 30 330 { % цикл для углов от 0 до 330 с шагом 30

gsave % запомнить текущее преобразование координат

rotate % повернуть систему координат (угол в градусах берём с вершины стека)

15 0 moveto % перейти в точку (15мм, 0мм)

(Wikipedia) show % написать слово текущим шрифтом

grestore % вернуть преобразование координат

} for % конец цикла for

showpage % вывести страницу

Page 6: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

WikipediaWikipedia

Wik

iped

ia

Wik

iped

iaW

ikip

ediaWikipedia

WikipediaWikipedia

Wikipedia

Wikipedia

Wikipedia

Wikipedia

Page 7: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Display PostScript

Page 8: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Quartz 2D

Page 9: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Cairo (graphics)http://cairographics.org/

Page 10: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

SVG - Scalable Vector Graphics

Page 11: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

предмет «Интернет-технологии»Тема 10. Расширение изобразительныхвозможностей клиента. Версия: 0.9.0 1

Литература

1. SVG http://www.w3.org/TR/2000/CR-SVG-20001102/

Изображения

18?9>:=;< <imgsrc="pic/compaq.gif"alt="compaq"width="100"height="40"border="0">

28?9>:=;< Объекты

<OBJECTdata="pic/compaq.gif"width="100"height="40"border="0"type="image/gif">compaq

</OBJECT>

38?9>:=;< Чувствительные области

<img src="pic/extend.gif"width="200"height="150"usemap="#map"border="0">

<map name="map"><area shape="rect" coords="12,12,77,59" href="#"><area shape="circle" coords="153,52,27" href="#"><area shape="poly" coords="85,76,122,114,75,114,61,140,17,130,23,99" href="#">

</map>

48?9>:=;< SVG

<embed src="pic/extend_01.svg"width="378"height="113">

</embed>

58?9>:=;< Групировки

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN"

"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"><svg width="5cm" height="5cm">

<desc>Two groups, each of two rectangles</desc><g id="group1" style="fill:red"><rect x="1cm" y="1cm" width="1cm" height="1cm" /><rect x="3cm" y="1cm" width="1cm" height="1cm" />

</g><g id="group2" style="fill:blue"><rect x="1cm" y="3cm" width="1cm" height="1cm" /><rect x="3cm" y="3cm" width="1cm" height="1cm" />

</g></svg>

Page 12: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

предмет «Интернет-технологии»Тема 10. Расширение изобразительныхвозможностей клиента. Версия: 0.9.0 1

Литература

1. SVG http://www.w3.org/TR/2000/CR-SVG-20001102/

Изображения

18?9>:=;< <imgsrc="pic/compaq.gif"alt="compaq"width="100"height="40"border="0">

28?9>:=;< Объекты

<OBJECTdata="pic/compaq.gif"width="100"height="40"border="0"type="image/gif">compaq

</OBJECT>

38?9>:=;< Чувствительные области

<img src="pic/extend.gif"width="200"height="150"usemap="#map"border="0">

<map name="map"><area shape="rect" coords="12,12,77,59" href="#"><area shape="circle" coords="153,52,27" href="#"><area shape="poly" coords="85,76,122,114,75,114,61,140,17,130,23,99" href="#">

</map>

48?9>:=;< SVG

<embed src="pic/extend_01.svg"width="378"height="113">

</embed>

58?9>:=;< Групировки

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN"

"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"><svg width="5cm" height="5cm">

<desc>Two groups, each of two rectangles</desc><g id="group1" style="fill:red"><rect x="1cm" y="1cm" width="1cm" height="1cm" /><rect x="3cm" y="1cm" width="1cm" height="1cm" />

</g><g id="group2" style="fill:blue"><rect x="1cm" y="3cm" width="1cm" height="1cm" /><rect x="3cm" y="3cm" width="1cm" height="1cm" />

</g></svg>

Page 13: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Flash

Page 14: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Forth

Page 15: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному
Page 16: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному
Page 17: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному
Page 18: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

ЙОДЫ МАГИСТРА РЕЧИ ТАЙНА

ОТКРЫТА:

НА ФОРТЕ ПРОГРАММЕР ЕСТЬ

СТАРЫЙ ОН ПРОСТО.

Page 19: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Проблемы:

1. Остатки в вершине стека

2. Как манипулировать значениями на

произвольной глубине стека?

Page 20: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

EPS

Page 21: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Язык для описания языков

предметной области

Page 22: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Аппликативное программирование

Page 23: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

APL

Page 24: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

combination of symbols, as primitives. Most primitives are either functions or operators. Coding APL islargely a process of writing non-primitive functions and (in some versions of APL) operators. However a fewprimitives are considered to be neither functions nor operators, most noticeably assignment.

Main article: APL syntax and symbols

Examples

This displays "Hello, world":

'Hello, world'

The following expression sorts a word list stored in matrix X according to word length:

X[⍋X+.≠' ';]

The following function "life", written in Dyalog APL, takes a boolean matrix and calculates the newgeneration according to Conway's Game of Life:

In the following example, also Dyalog, the first line assigns some HTML code to a variable "txt" and thenuses an APL expression to remove all the HTML tags, returning the text only as shown in the last line.

The following expression finds all prime numbers from 1 to R. In both time and space, the calculation isO(R²).

(~R∊R∘.×R)/R←1↓⍳R

Executed from right to left, this means:

ιR creates a vector containing integers from 1 to R (if R = 6 at the beginning of the program, ιR is 1 23 4 5 6)Drop first element of this vector (↓ function), i.e. 1. So 1↓ιR is 2 3 4 5 6Set R to the new vector (←, assignment primitive), i.e. 2 3 4 5 6Generate outer product of R multiplied by R, i.e. a matrix which is the multiplication table of R by R(°.× function), i.e.

4 6 8 10 126 9 12 15 188 12 16 20 24

10 15 20 25 3012 18 24 30 36

APL (programming language) - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/APL_(programming_language)

Стр. 8 из 13 05.12.2009 9:45

Page 25: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Форматирование текста

Page 26: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

предмет «Интернет-технологии»Тема 6. Основы SGML/XML Версия: 0.9.2 1

Литература

1. http://www.w3.org/

2. Гуссенс, Мишель, Миттельбах, Франк. Путеводитель по пакету Latex и его web-приложениям: Пер. с англ. /М.Гуссенс, Ф. Миттельбах. - М.: Мир, 2001. - 604 с. - (Библиотека издательских технологий). - ISBN 5-03-003387-4.

3. http://www.planetpdf.com/

4. http://www.planetdjvu.com/

5. На сайте Боба Ковера собирается множество ссылок на различные ресурсы вокруг SGML и XML в частности: [http://www.oasis-open.org/cover/ ]

18?9>:=;<Заголовок

АвторОрганизация

Адрес

Дата публикации

АннотацияЧасть 1. Название частиНазвание разделаТекст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст текст текст текст текст [1] текст текст текст ключевое понятиетекст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст тексттекст текст текст текст текст см также ссылка текст текст текст текст текст текст текст текст ключевое понятие тексттекст текст текст текст текст.

Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст тексттекст текст текст текст текст текст текст текст см также ссылка текст текст текст текст текст текст текст текст ключевоепонятие текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текстключевое понятие текст текст текст текст текст текст текст текст текст текст текст текст [2] текст текст текст текст тексттекст текст текст текст текст.

Список

- Первый элемент списка

- Второй элемент списка

- Третий элемент списка

Литература

1. Источник первый

2. Источник второй

28?9>:=;<<?xml version="1.0" encoding="windows-1251"?><ARTICLE><!-- это комментарий --><TITLE>Заголовок</TITLE><AUTHOR>Автор</AUTHOR><ORGANIZATION>Организация</ORGANIZATION><ADDRESS>Адрес</ADDRESS><DATE>Дата публикации</DATE><ABSTRACT>Аннотация</ABSTRACT><CHAPTER>Название части</CHAPTER><PART>Название раздела</PART><PARA>

Текст текст текст <BIBLREF IDREF="book1"/> текст текст текст <KW>ключевое понятие</KW>текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст<LINK IDREF="link1">см также ссылка</LINK> текст текст текст текст текст текст текст тексттекст текст текст <KW>ключевое понятие</KW> текст текст текст текст текст текст.

</PARA><ITEMIZE>

<PARA>Список</PARA><ITEM ID="link1">Первый элемент списка</ITEM><ITEM>Второй элемент списка</ITEM><ITEM>Третий элемент списка</ITEM>

</ITEMIZE><REFERENCES>

<PARA>Литература</PARA>

Page 27: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

2 Версия: 0.9.2предмет «Интернет-технологии»

Тема 6. Основы SGML/XML

<BIBL ID="book1">Источник первый</BIBL><BIBL>Источник второй</BIBL>

</REFERENCES></ARTICLE>

38?9>:=;<

48?9>:=;< Абсолютные единицы измерения

in дюймы (1 дюйм = 2.54 см = 25.4 мм =72 точки = 6 пик)

cm сантиметры (1 см = 10 мм = 0.39 дюй-ма = 2.36 пики = 28.35 точки)

mm миллиметры (1 мм = 0.1 см = 0.039дюйма = 0.24 пики = 2.84 точки)

pt точки (1 точка = 1/12 пики = 1/72 дюй-ма = 0.035 см = 0.35 мм)

pc пики (1 пика = 12 точек = 1/6 дюйма= 0.423 см = 4.23 мм)

58?9>:=;< Относительные единицы измерения

em размер (font-size) соответствующегошрифта

ex высота строчных букв (x-height) соот-ветствующего шрифта

px пиксели (размер зависит от устройстваотображения)

68?9>:=;<<?xml-stylesheet type="text/css" href="exampl.css"?>

78?9>:=;</*

комментарий*/ARTICLE, TITLE, AUTHOR, ORGANIZATION, ADDRESS, DATE, ABSTRACT,CHAPTER, PART, PARA, ITEMIZE, REFERENCES { display: block }

TITLE { font-size: 1.3em }

ITEMIZE {margin-left: 2em;

}

REFERENCES PARA {font-weight: bold;

}

ITEM { display: list-item;}

BIBL {display: list-item;list-style-type: decimal ;

}

TITLE {font-size: 1.5em;font-weight: bold;text-align: center;

}

AUTHOR, ORGANIZATION, ADDRESS, DATE {text-align: center;}

AUTHOR {font-style: italic;}

ORGANIZATION {font-style: oblique ;}

CHAPTER {font-size: 1.25em;font-weight: bold;

}

BIBLREF, KW, LINK { display: inline; }

KW {font-style: oblique ;background-color: lawngreen ;

}

LINK {font-style: italic;color: blue;

}

88?9>:=;<

margin-topborder-width border-top-width

padding-top border-right-widthmargin-left padding-left содержимое padding-right margin-right

border-left-width padding-bottomborder-bottom-widthmargin-bottom

98?9>:=;< Resource Description Framework (RDF)

CSS XSL\ /RDF

-----XML|

браузер

Page 28: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

2 Версия: 0.9.2предмет «Интернет-технологии»

Тема 6. Основы SGML/XML

<BIBL ID="book1">Источник первый</BIBL><BIBL>Источник второй</BIBL>

</REFERENCES></ARTICLE>

38?9>:=;<

48?9>:=;< Абсолютные единицы измерения

in дюймы (1 дюйм = 2.54 см = 25.4 мм =72 точки = 6 пик)

cm сантиметры (1 см = 10 мм = 0.39 дюй-ма = 2.36 пики = 28.35 точки)

mm миллиметры (1 мм = 0.1 см = 0.039дюйма = 0.24 пики = 2.84 точки)

pt точки (1 точка = 1/12 пики = 1/72 дюй-ма = 0.035 см = 0.35 мм)

pc пики (1 пика = 12 точек = 1/6 дюйма= 0.423 см = 4.23 мм)

58?9>:=;< Относительные единицы измерения

em размер (font-size) соответствующегошрифта

ex высота строчных букв (x-height) соот-ветствующего шрифта

px пиксели (размер зависит от устройстваотображения)

68?9>:=;<<?xml-stylesheet type="text/css" href="exampl.css"?>

78?9>:=;</*комментарий

*/ARTICLE, TITLE, AUTHOR, ORGANIZATION, ADDRESS, DATE, ABSTRACT,CHAPTER, PART, PARA, ITEMIZE, REFERENCES { display: block }

TITLE { font-size: 1.3em }

ITEMIZE {margin-left: 2em;

}

REFERENCES PARA {font-weight: bold;

}

ITEM { display: list-item;}

BIBL {display: list-item;list-style-type: decimal ;

}

TITLE {font-size: 1.5em;font-weight: bold;text-align: center;

}

AUTHOR, ORGANIZATION, ADDRESS, DATE {text-align: center;}

AUTHOR {font-style: italic;}

ORGANIZATION {font-style: oblique ;}

CHAPTER {font-size: 1.25em;font-weight: bold;

}

BIBLREF, KW, LINK { display: inline; }

KW {font-style: oblique ;background-color: lawngreen ;

}

LINK {font-style: italic;color: blue;

}

88?9>:=;<

margin-topborder-width border-top-width

padding-top border-right-widthmargin-left padding-left содержимое padding-right margin-right

border-left-width padding-bottomborder-bottom-widthmargin-bottom

98?9>:=;< Resource Description Framework (RDF)

CSS XSL\ /RDF

-----XML|

браузер

Page 29: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

TEX / LATEX

Page 30: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

\begin{slide}

\begin{center}

\section{\Huge $\TeX$ / $\LaTeX$}

\end{center}

\end{slide}

Page 31: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

HTML

Page 32: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

SGML

Page 33: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Описание разметки + Кодировка

символов -> Markup

Описание разметки, вариант по умол-

чанию <тег>

Машиночитаемость

Человекочитаемость

Page 34: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

XML

Page 35: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

<?xml version="1.0" encoding="windows-1251" ?>

<XML>

<тег>тег</тег>

<xml></xml>

<lc></LC>

</XML>

Page 36: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

XSLT

Page 37: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

10 Версия: 0.9.6

предмет «Интернет-технологии»Тема 13. Построение информационных

систем на основе web<BBB ZZ="11">

<CCC WW="22" XMLNS="http://zvon.org/uppercase"/></BBB><UPPER:BBB SSS="***" XNUMBER:S111="???"/><XNUMBER:X111/>

</AAA>

XSLT

798?9>:=;< Исходный XML<source>

<title>XSL</title><author>John Smith</author>

</source>

Результат<h1>XSL</h1><h2>John Smith</h2>

808?9>:=;<<XSL:STYLESHEET VERSION=’1.0’

XMLNS:XSL=’http://www.w3.org/1999/XSL/Transform’><XSL:TEMPLATE MATCH="/">

<H1><XSL:VALUE-OF SELECT="//title"/>

</H1><H2>

<XSL:VALUE-OF SELECT="//author"/></H2>

</XSL:TEMPLATE></XSL:STYLESHEET>

818?9>:=;< Исходный XML<source>

<employee><firstName>Joe</firstName><surname>Smith</surname>

</employee>

</source>

Результат<b>JoeSmith</b>

828?9>:=;<<xsl:stylesheet version = ’1.0’

xmlns:xsl=’http://www.w3.org/1999/XSL/Transform’>

<xsl:template match="employee"><b>

<xsl:value-of select="."/></b>

</xsl:template>

<xsl:template match="surname"><i>

<xsl:value-of select="."/></i>

</xsl:template></xsl:stylesheet>

838?9>:=;< Исходный XML<source>

<employee><firstName>Joe</firstName><surname>Smith</surname>

</employee>

</source>

Результат<b>Joe</b><b><i>Smith</i>

</b>

848?9>:=;<<xsl:stylesheet version = ’1.0’

xmlns:xsl=’http://www.w3.org/1999/XSL/Transform’>

<xsl:template match="employee"><b>

<xsl:apply-templates select="firstName"/></b><b>

<xsl:apply-templates select="surname"/></b>

</xsl:template>

<xsl:template match="surname"><i>

<xsl:value-of select="."/></i>

</xsl:template>

</xsl:stylesheet>

Page 38: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

2 Версия: 0.9.6

предмет «Интернет-технологии»Тема 13. Построение информационных

систем на основе webXPath

68?9>:=;< 1 <AAA>2 <BBB/>3 <CCC/>4 <BBB/>5 <BBB/>6 <DDD>7 <BBB/>8 </DDD>9 <CCC/>10 </AAA>

78?9>:=;</AAA

88?9>:=;</AAA/CCC

98?9>:=;</AAA/DDD/BBB

108?9>:=;< 1 <AAA>2 <BBB/>3 <CCC/>4 <BBB/>5 <DDD>6 <BBB/>7 </DDD>8 <CCC>9 <DDD>10 <BBB/>11 <BBB/>12 </DDD>13 </CCC>14 </AAA>

118?9>:=;<//BBB

128?9>:=;<//DDD/BBB

138?9>:=;<

//CCC/*/BBB

148?9>:=;< 1 <AAA>2 <BBB/>3 <BBB/>4 <BBB/>5 <BBB/>6 </AAA>

158?9>:=;</AAA/BBB[1]

168?9>:=;</AAA/BBB[last()]

178?9>:=;< 1 <AAA>2 <BBB id="b1"/>3 <BBB id="b2"/>4 <BBB name="bbb"/>5 <BBB/>6 </AAA>

188?9>:=;<//BBB[@id]

198?9>:=;<//BBB[@name]

208?9>:=;<//BBB[@*]

218?9>:=;<//BBB[not(@*)]

228?9>:=;< 1 <AAA>2 <BBB id="b1"/>3 <BBB name="bbb "/>4 <BBB name="bbb"/>5 </AAA>

238?9>:=;<//BBB[@id=’b1’]

248?9>:=;<//BBB[@name=’bbb’]

258?9>:=;<//BBB[normalize-space(@name)=’bbb’]

Page 39: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Функциональные языки

Page 40: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Редукция графов

Page 41: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Карринг

Page 42: Документ: от печати до выписок из базы данных. От аппликативного программирования к функциональному

Вопросы