Лекция 4 Типы данных, переменные, операции. ТеХ как язык программирования Фактически, когда мы готовим текст на ТеХе, мы пишем программу, подчиняясь строгим.

Презентация:



Advertisements
Похожие презентации
Электронные Таблицы Excel. ввод и редактирование данных; вычисления по формулам; форматирование таблиц; построение графиков и диаграмм; сортировка данных;
Advertisements

План-конспект урока (информатика и икт, 9 класс) по теме: Переменные:тип, имя, значение
Электронная таблица EXCEL. Электронная таблица – это обычная таблица, состоящей из строк и столбцов, на пересечении которых располагаются клетки, содержащие.
Электронная таблица EXCEL. Электронная таблица – это обычная таблица, состоящей из строк и столбцов, на пересечении которых располагаются клетки, содержащие.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Электронные таблицы Excel Что такое таблица? Таблица - это строки и столбцы. Примеры таблиц: –таблица умножения; –таблица Менделеева; –расписание.
Вопросы: Для представления текстовой информации в компьютере необходимо символов? В существующих кодовых таблицах три части. Это коды…… Код одного знака.
Познакомиться с основными понятиями языка Pascal 2.
Логические функции в Calc. Логические функции предназначены для проверки выполнения условия или для проверки нескольких условий.
Электронные таблицы EXCEL Выполнила: Ващук Елена Владимировна.
АЛГОРИТМИЗАЦИЯ. Алгоритм Алгоритм – описание конечной последовательности действий, приводящей от исходных данных к нужному результату. Где встречаются.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Форматирование текста. План: Понятие форматирования текста Основные действия при форматировании текста Работа со шрифтами.
Какие элементы встречаются в окне программы MS Word?
Табличный процессор (электронная таблица EXCEL) Назначение, структура, форматирование, типы данных.
Электронные таблицы (ЭТ) Основные параметры ЭТ, типы и форматы данных.
Электронная таблица EXCEL Половинкина Надежда Владимировна Учитель информатики Тамбовская область р.п. Сосновка МОУ Сосновская СОШ 1.
1 Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Имя Поместится?
Алгоритм. Алгоритм это точно определённая инструкция, последовательно применяя которую к исходным данным, можно получить решение задачи. Для каждого алгоритма.
Транксрипт:

Лекция 4 Типы данных, переменные, операции

ТеХ как язык программирования Фактически, когда мы готовим текст на ТеХе, мы пишем программу, подчиняясь строгим формальным правилам (правда, не всегда явно выписанным, некоторую информацию удается извлечь только из авторского описания ТеХ-машины). Эти правила превращают ТеХ в язык программирования. Как и в других языках, в нем можно найти (очень своеобразные) Типы данных и соответствующие им операции, Переменные, способы их описания и работы с ними, Конструкции условного исполнения, переключателей и циклов, Конструкции обменов с внешней памятью. Некоторые из этих языковых компонент ТеХа и рассмотрены в этой лекции.

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

Запись чисел Десятичное число пишется как обычно. Перед восьмеричным числом ставится апостроф '. В записи шестнадцатеричных чисел кроме цифр используются большие буквы от A до F, а перед числом ставится двойная кавычка ". Одно из важнейших применений этих форм записей задание символов. Базовые таблицы символов в исходном TeX-е включают по 128 позиций, нумеруемых от 0 до 127, или по-восьмеричному от '0 до '177, а в более современном ТеХе, допускающем восьмибитовую входную кодировку до '377. Макрокоманда \char### определяет символ номер ### из текущей таблицы шрифтов. В частности, макрокоманда для знака украинского Г: Ґ выглядит так: \def\Ge{\char128}

Целочисленные переменные В ТеХе есть и аппарат переменных. Вы можете определить новую целочисленную переменную счетчик с помощью команды \newcounter. Например, \newcounter{rx} описывает счетчик rx с начальным значением, равным 0. Установка нового значения счетчика (присваивание) производится оператором \setcounter, а приращение значений оператором \addtocounter. Первым операндом в этих командах является имя счетчика, а вторым число. Для того, чтобы использовать значение счетчика во втором операнде, его надо разыменовать с помощью команды \value : \setcounter{rx}{7} % rx := 7 \addtocounter{rx}{7} % rx +:= 7 \addtocounter{rx}{-3} % rx +:= -3 \setcounter{rx}{\value{ry}} % rx := ry \addtocounter{rx}{\value{ry}} % rx +:= ry

Значение счетчика Для вывода значения счетчика в текст используется команда (автоматически порождаемая), состоящая из \the и названия счетчика. Эта конструкция используется и для других типов переменных, о которых, может быть, еще будет идти речь. В нашем примере командой будет \therx, и текст печатается в установленном в данный момент формате. Для принудительной смены формата числа, записанного в счетчик, используются следующие команды: \newcounter{rx}\setcounter{rx}{17} \arabic{rx} 17 Арабские цифры \roman{rx} xvii Малые римские цифры \Roman{rx} XVII Большие римские цифры \alph{rx} q Малые латинские буквы, до 27 \Alph{rx} Q Большие латинские буквы, до 27

Использование счетчиков Можно предусмотреть иерархию счетчиков, обеспечивающую автоматический сброс подчиненных счетчиков (например, параграфов, рисунков, таблиц и т.д., для их автономной нумерации внутри каждой главы). Вот пример. Я хочу нумеровать упражнения внутри каждой главы. Определим новый счетчик \newcounter{exer}[chapter] \renewcommand \theexer В квадратных скобках подчинение этого счетчика счетчику chapter каждое его изменение обнуляет счетчик exer. Вторая строчка изменяет действие команды \theexer номер упражнения будет печататься с номером главы и разделяю- щей точкой. Обратите внимание на использование слов, содержа- щих это возможно только в особом режиме определений.

Использование счетчиков (продолжение) После этого мы можем использовать счетчик в новой команде; вот так \def\NextExer{\Exercise~\refstepcounter{exer}\theexer} Команда \refstepcounter увеличивает счетчик на 1, обнуляя все подчиненные ему счетчики и гарантируя правильную ссылку на номер счетчика (о чем мы будем говорить отдельно).

Единицы измерения для размеров Линейные величины (размеры) могут выражаться в разных единицах, и TeX допускает использование довольно разнообразных единиц с естественным переводом одних в другие (внутреннее представление одно, отличие только при опреде- лении самих размеров). Нам естественно начать с обычных для нас метрических единиц сантиметра cm и миллиметра mm. Бытовая американская единица это дюйм 2.54 см ( inch), обозначаемый in. Для непосредственного использования в полиграфических целях эти единицы не очень удобны, и традиционно используются более мелкие пункты, формальный размер которых 1/72 часть дюйма.

Пункты В зависимости от того, какой дюйм взят за основу, меняется и размер пункта. Так, в русской полиграфии традиционно исполь- зуется старо-французский пункт dd, введенный основополож- ником измерений в полиграфии Ф. Дидо ( F. Didot), в английской и американской полиграфии либо старо-английский пункт pt (это самая распространенная единица), либо современный пункт bp (называемый еще большим пунктом). Их размеры таковы: 1 dd = mm 1 pt = mm 1 bp = mm Производные от этих размеров пайка или пика (pica, pc ) 12 основных пунктов и, аналогично, цицеро (cicero, cc ) 12 пунктов Дидо. Pica (лат) свод правил для вычисления времени Пасхи и других праздников с переменной датой.

Размеры Рекомендуется не злоупотреблять свободой использования единиц размеров (кстати, это относится и ко всем другим случаям), а выбрать минимальный удобный набор. Теперь, используя названные единицы, можно ввести в употребление размеры как новый тип данных. Размером или явной длиной называется число, записанное в одной из принятых в ТеХе систем записи (мы ограничимся обычными десятичными) и сопровождаемое единицей измерения: 10pt 3cc 17.2cm Имеются еще растяжимые длины, в которых, кроме основного размера, определяются еще возможные приращения с плюсом и минусом. Например, 10pt plus 2pt minus 1pt

Команды с размерами Некоторые команды требуют размера в качестве параметра. Здесь мы можем уже ввести в обращение команды вертикальной и горизонтальной отбивки, т.е. дополнительного пробела; \vspace{4pt} Вертикальная отбивка в 4 пункта \vspace*{4pt} Вертикальная отбивка даже в начале страницы \hspace{4pt} Горизонтальная отбивка в 4 пункта \hspace*{4pt} Горизонтальная отбивка даже в начале строки Можно вводить и переменные типа размер, такая переменная описывается с помощью \newlength, значение ей может присвоить команда \setlength, увеличить - \addtolength. Перевод строки допускает в качестве факультативного параметра размер дополнительного интерлиньяжа, например, \\[6pt] % увеличение \\[-4pt] % уменьшение

Использование размеров Некоторые параметры набора заранее определены как размеры, их значениями можно пользоваться и даже менять внутри файла (однако, так, чтобы не ставить систему в трудное положение). Например, абзацный отступ определяется размером \parindent, а ширина текста размером \textwidth. Чтобы набрать текст с большим абзацным отступом (в 1/4 ширины текста) нужно изменить абзацный отступ: \setlength{\parindent}{0.25\textwidth} Результат будет таким:

Линейки Важный типографский знак, размер которого может задаваться непосредственно, это сплошной прямоугольник, который называется линейкой, так как обычно используется с сильно различающимися шириной и высотой. Тем не менее, и вертикальная и горизонтальная линейка это просто прямоугольники \rule. Пример полезного прямоугольника бабашка квадратный прямоугольник, который сейчас любят ставить в конце доказательства вместо традиционного раньше Q.E.D. Quod erat demonstrandum: \def\QED{\rule{8pt}{8pt}}

Фигуры из линеек Макрокоманда \rule имеет еще факультативный (optional) параметр, задающий подъем нижнего среза линейки над базовой линией набора строки. Этот параметр, когда он используется, задается первым и в квадратных скобках. Пример: \dachshund - прямоугольники немного сдвинуты назад, что достигается важной командой \kern, параметр которой размер сдвига вправо может принимать и отрицательные значения \def\dachshund{\rule[6pt]{10pt}{6pt}\kern-1pt \rule{30pt}{6pt}\kern-2.4pt\rule[6pt]{4.4pt}{12pt}} Нужно еще упомянуть два очень важных размера. Они зависят от текущих установок шрифтов: em и ex. Первый из них это горизонтальный размер, задаваемый \quad в текущем шрифте, а второй вертикальный размер буквы х. Сравните, {{\LARGE M\rule{2em}{1ex}x} и {\Large M\rule{2em} {1ex}x} и {\large\tt M\rule{2em}{1ex}x}}

Условное исполнение Д.Кнут применил в ТеХе очень интересную, в каком-то смысле первобытную, конструкцию для логических переменных. Логическая переменная определяется как условие, при выполне- нии которого должны выполняться те или иные действия. Каждое такое условие имеет имя, состоящее из обязательного \if и произвольного дополнительного идентификатора, возьмем для определенности OK. Условие вводится командой: \newif\ifOK и при этом автоматически описываются две команды OKtrue и OKfalse, устанавливающие состояние выполнения и нарушения этого условия. Условие используется в конструкциях \ifOK Исполняемый текст \fi \ifOK Текст-ДА \else Текст-НЕТ \fi

Применение условного исполнения Вот простое и элегантное использование условной конструкции для того, чтобы варьировать текст в зависимости от того, окончательный это вариант или еще рабочий (Получено по , автор - Richard Tenney) Описывается новое условие: \newif\ifdraft и устанавливается значение черновик \newif\ifdraft \drafttrue для значения чистовик достаточно закомментировать вторую строчку. В следующим за этим тексте можно пользоваться конструкциями \ifdraft текст для черновика \else текст для окончательного набора \fi

Стандартные условия Исходный TeX включает несколько макрокоманд с параметрами и без, вырабатывающих условия. Рассмотрим некоторые из них. Команда \ifmmode вырабатывает условие идет набор математической формулы. Этим условием можно пользоваться для определения знака, который набирается только в математическом наборе, но может использоваться и независимо. Например, \def\bullt{\ifmmode\bullet\else$\bullet$\fi} С помощью макроса \ifodd можно проверить четное число или нечетное. Это важно в двухполосном наборе, т. е. в двухколонном наборе полосы и при различном оформлении страниц разворота книги.

Переменный интерлиньяж Вот пример интерлиньяжа, меняющегося через раз, в восточном бейтовом строении стиха (в газелях, например): \newcounter{glN} \def\glin{\addtocounter{glN}{1}% \ifodd\theglN\\[-2pt]\else\\[10pt]\fi} Дам турчанке из Шираза Самарканд, а если надо\glin Бухару и в благодарность жажду родинки и взгляда.\glin Дай вина. До дна. О, кравчий, ведь в раю уже не будет\glin Муссалы дворцов роскошных и потоков Рукнабада.\glin

Сравнение чисел Два целых числа можно сравнить с помощью макроса \ifnum где параметр может принимать значения или =. Например, \ifnum\thepage>15... \fi

Циклы В ТеХе есть и циклы. Для их организации используется конструкция из двух макрокоманд \loop и \repeat. При этом после \loop должна быть \if -овая команда, а макрос \repeat завершает конструкцию. С помощью цтклов можно нарисовать, например, вот такую картинку

Текст примера с предыдущей страницы \newcounter{spa}\newcounter{i} \def\rulefill{\leaders\hbox{\rule{0.5mm}{6pt}}\hfill} \def\spala{\ifodd\thespa\rulefill\else\hfill\fi \addtocounter{spa}{1}} \def\spaline{\noindent\strut\setcounter{i}{15} \loop\ifnum\thei>0 \spala\addtocounter{i}{-1} \repeat\hfill\strut} \spaline\vskip-6pt\spaline\vskip-6pt \spaline\vskip-6pt\spaline \strut – это линейка нулевой ширины (знак, очень удобный для многих технических действий)

Переключатели. Типичный пример использования конструкции переключателя дает макрокоманда \today, которая использует три системных макроса \day, \month и \year, вырабатывающие соответственно день, месяц и год данного пропуска программы. \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} Первая конструкция этой макрокоманды и есть переключатель. Он начинается с \ifcase, за которым следует целочисленный параметр, в данном случае вырабатываемый макросом \month. За ним следуют действия, соответствующие значениям параметра 0 и т. д., разделяемые макросом \or. Конструкция кончается закрывающей скобкой \fi. Два других числовых параметра предваряются макросом \number, переводящим число в представляющую его строку.

Еще о формате представления даты Программирование в ТеХе не так просто. Посмотрим другую форму представления даты, часто используемую в России: \def\rustoday{\number\day/$\underline{\overline% {\mbox{\rm\uppercase\expandafter{\romannumeral% \month}}}}$--\number\year} Сегодня Здесь потребуются некоторые дополнительные объяснения. Команда \romannumeral аналогична команде \number, но переводит число в последовательность строчных римских цифр. Эти буквы в прописные переводит команда \uppercase{...}. Но, прямая запись \uppercase{\romannumeral\month} работает неправильно, так как команда \uppercase{...} берет следующий за ней текст и воспринимает его как строку. Макрокоманда \expandafter служит для задержки передачи параметра до исполнения следующей команды.