Правило преобразования функции — Доброе дело

Правило преобразования функции

ПРЕОБРАЗОВАНИЕ ГРАФИКОВ ФУНКЦИЙ

Преобразование графика функции

Параллельный перенос вдоль оси OY на A единиц вверх, если А>0, и на |A| единиц вниз, если А 0, на | a| единиц влево, если a 1, и сжатие в 1/ k раз, если 0 1, и растяжение в 1/ k раз, если 0 < k < 1.

Симметричное отражение относительно оси OX

Часть графика, расположенная ниже оси OX, симметрично отражается относительно этой оси, остальная его часть остается без изменения.

Симметричное отражение относительно оси OY.

Часть графика, расположенная в области x і 0, остается без изменения, а его часть для области x Ј 0 заменяется симметричным отображением относительно оси OY части графика для x і 0.

Законы алгебры логики и правила преобразования логических выражений

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

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

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

Закон

Формулировка

1. Закон тождества

Всякое высказывание тождественно самому себе.

2. Закон исключенного третьего

Высказывание может быть либо истинным, либо ложным, третьего не дано. Следовательно, результат логического сложения высказывания и его отрицания всегда принимает значение “истина”.

3. Закон непротиворечия

Высказывание не может быть одновременно истинным и ложным. Если высказывание Х истинно, то его отрицание НЕ Х должно быть ложным. Следовательно, логическое произведение высказывания и его отрицания должно быть ложно.

4. Закон двойного отрицания

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

5. Переместительный (коммутативный) закон

Результат операции над высказываниями не зависит от того, в каком порядке берутся эти высказывания.

6. Сочетательный (ассоциативный) закон

При одинаковых знаках скобки можно ставить произвольно или вообще опускать.

5. Распределительный (дистрибутивный) закон

(X /\ Y) \/ Z= (X /\ Z) \/ (Y /\ Z)

(X /\ Y) \/ Z = (X \/ Z) /\ (Y \/ Z)

Определяет правило выноса общего высказывания за скобку.

7. Закон общей инверсии Закон де Моргана

Закон общей инверсии.

8. Закон равносильности (идемпотентности)

от латинских слов idem — тот же самый и potens —сильный

Правило преобразования функции

Преобразования графиков функций и уравнений

Как построить график функции y = f ( | x | ) y = f(|x|) ? По определению модуля:

Как построить график функции y = | f ( x ) | y =|f(x)| ? По определению модуля:

Рассмотрим ещё один тип преобразований графиков с модулями.

Как построить множество точек (x, y) таких, что | y | = f ( x ) |y| = f(x) ?

Теперь перейдём к описанию так называемых линейных преобразований графиков. Выделяют, как правило, следующие три типа таких преобразований.

Построим ещё такой график y = | | x − 1 | − 2 | y = ||x − 1| − 2| .

Для этого нужно выполнить цепочку таких действий (рис 23).

Построим график функции y = x 2 − 9 | x | − 3 y = > .

Воспользуемся известным тождеством

Выполняем построения (рис. 24):

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

Правила эквивалентных преобразований структурных схем систем автоматического управления

Выше были рассмотрены математические модели отдельных динамических звеньев. САУ представляет собой систему, состоящую из функциональных элементов, каждый из которых может быть представлен в виде динамического звена. То есть САУ можно представить в виде совокупности динамических звеньев с известными математическими моделями. Рассмотрим структуру типичной САУ –

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

В процессе анализа и синтеза САУ необходимо получать передаточные функции САУ, которые связывают выходную переменную с заданием и возмущением в САУ, по известным структурной схеме и передаточным функциям динамических звеньев, входящих в состав САУ.

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

Решением этих задач мы и займемся в дальнейшем.

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

Правила эквивалентных преобразований позволяют найти необходимую передаточную функцию САУ, свернув структурную схему к одному динамическому звену с искомой передаточной функцией.

Рассмотрим правила эквивалентных преобразований, не изменяющих свойств систем и необходимых для нахождения передаточной функции:

Последовательное соединение динамических звеньев.

Параллельное соединение динамических звеньев.

Замкнутый контур с отрицательной обратной связью.

Замкнутый контур с положительной обратной связью.

Перенос точки ветвления через динамическое звено.

Перенос суммирующего звена через динамическое звено.

Перестановка суммирующих звеньев.

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

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

Принцип суперпозиции (наложения)

Применим рассмотренные правила для упрощения структурной схемы

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

Перенесем суммирующее звено через динамическое звено .

Поменяем местами суммирующие звенья и.

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

Преобразуем замкнутый контур с отрицательной обратной связью ().

Перенесем суммирующее звено вправо.

Преобразуем последовательно включенные звенья..

В соответствии с полученной структурной схемой запишем операторное уравнение –

Уравнение показывает, что является линейной комбинацией изображений входных сигналов, взятых с коэффициентами и . Выясним смысл этих коэффициентов на примере коэффициента . Для этого положим в (1) , тогда получим –

Таким образом, из (2) следует, – это передаточная функция динамического звена, к которому свернута структурная схема в предположении, что изображения всех входных сигналов, кроме , равны нулю.

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

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

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

Рассмотрим использование принципа суперпозиции на примере показанной на рис. 1 структурной схемы.

Полагаем и изобразим соответствующую этому случаю структурную схему.

.

Полагаем и изобразим соответствующую этому случаю структурную схему.

Используя эквивалентные преобразования, получим –

.

Имея , в соответствии с принципом суперпозиции получим «свернутую» структурную схему САУ.

Контрольные вопросы и задачи

Какие задачи позволяют решать правила эквивалентных преобразований структурных схем?

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

Как используют принцип суперпозиции на практике?

.

Определите передаточную функцию, эквивалентную структурной схеме.

.

Определите передаточные функции

по следующей структурной схеме

.

Что такое производная?

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

Это знакомство позволит:

— понимать суть несложных заданий с производной;

— успешно решать эти самые несложные задания;

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

Сначала — приятный сюрприз.)

Строгое определение производной основано на теории пределов и штука достаточно сложная. Это огорчает. Но практическое применение производной, как правило, не требует таких обширных и глубоких знаний!

Для успешного выполнения большинства заданий в школе и ВУЗе достаточно знать всего несколько терминов — чтобы понять задание, и всего несколько правил — чтобы его решить. И всё. Это радует.

Приступим к знакомству?)

Термины и обозначения.

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

Здесь же важно понять, что дифференцирование — это просто математическая операция над функцией. Берём любую функцию и, по определённым правилам, преобразовываем её. В результате получится новая функция. Вот эта новая функция и называется: производная.

Дифференцирование — действие над функцией.

Производная — результат этого действия.

Так же, как, например, сумма — результат сложения. Или частное — результат деления.

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

Обозначается производная с помощью штришка вверху справа над функцией. Вот так: y’ или f'(x) или S'(t) и так далее.

Читается игрек штрих, эф штрих от икс, эс штрих от тэ, ну вы поняли. )

Штрих также может обозначать производную конкретной функции, например: (2х+3)’, (x 3 )’, (sinx)’ и т.д. Часто производная обозначается с помощью дифференциалов, но такое обозначение в этом уроке мы рассматривать не будем.

Предположим, что понимать задания мы научились. Осталось всего ничего — научиться их решать.) Напомню ещё раз: нахождение производной — это преобразование функции по определённым правилам. Этих правил, на удивление, совсем немного.

Чтобы найти производную функции, надо знать всего три вещи. Три кита, на которых стоит всё дифференцирование. Вот они эти три кита:

1. Таблица производных (формулы дифференцирования).

3. Производная сложной функции.

Начнём по порядку. В этом уроке рассмотрим таблицу производных.

Таблица производных.

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

Дифференцирование функций «с нуля», т.е. исходя из определения производной и теории пределов — штука достаточно трудоёмкая. А математики — тоже люди, да-да!) Вот и упростили себе (и нам) жизнь. Они вычислили производные элементарных функций до нас. Получилась таблица производных, где всё уже готово.)

Вот она, эта табличка для самых популярных функций. Слева — элементарная функция, справа — её производная.

Тригонометрические формулы

Определения синуса, косинуса, тангенса и котангенса.

Знаки тригонометрических функций:

Значения тригонометрических функций

Формулы синуса, косинуса, тангенса и котангенса угла (–α):

sin (–α) = – sin α
cos (–α) = cos α
tg (–α) = – tg α
ctg (–α) = – ctg α

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

2. Если в левой части формулы угол равен /2 ± или 3/2±, то синус заменяется на косинус, тангенс на котангенс и наоборот, если угол равен ± или 2, то замены не происходит.

Формулы двойного угла.

Формулы перехода от суммы к произведению.

Формулы перехода от произведения к сумме.

Формулы понижения степени.

Преобразование выражения a·cos + b·sin путем введения вспомогательного аргумента.

,

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

Язык Си, созданный Денисом Ритчи в начале 70-х годов в Bell Laboratory американской корпорации AT&T, является одним из универсальных языков программирования. Язык Си считается языком системного программирования, хотя он удобен и для написания прикладных программ. Среди преимуществ языка Си следует отметить переносимость программ на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи алгоритмов, логическую стройность программ, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке ассемблера. Последнее связано с тем, что хотя Си является языком высокого уровня, имеющим полный набор конструкций структурного программирования, он также обладает набором низкоуровневых средств, обеспечивающих доступ к аппаратным средствам компьютера. С 1989 года язык Си регламентируется стандартом Американского института национальных стандартов ANSI С. В настоящее время, кроме стандарта ANSI C разработан международный стандарт ISO C (International Standard Organization C).

В пособии в разделах 1-6 рассматриваются основные конструкции языка Си (общие для Си и Си++). Примеры программ приведены в разделе 7.

РАЗДЕЛ 1. ОСНОВНЫЕ ПОНЯТИЯ И ДАННЫЕ

Основные понятия языка

Программа, написанная на языке Си, состоит из операторов. Каждый оператор вызывает выполнение некоторых действий на соответствующем шаге выполнения программы.

При написании операторов применяются латинские прописные и строчные буквы, цифры и специальные знаки. К таким знакам, например, относятся: точка (.), запятая (,), двоеточие (:), точка с запятой (;) и др. Совокупность символов, используемых в языке, называется алфавитом языка.

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

Различают видимые и управляющие символы. Первые могут быть отображены на экране дисплея либо отпечатаны на принтере. Вторые вызывают определенные действия в машине, например: звуковой сигнал — код 710, возврат курсора на один шаг — код 810, горизонтальная табуляция — код 910, перевод курсора на новую строку — код 1010, перемещение курсора в начало строки — код 1310 и т.д. Такие управляющие символы имеют десятичные номера 0 — 31, 127.

Для представления каждого символа в персональном компьютере используется один байт, поэтому общее число символов равно 2 8 = 256. Кодовая таблица, которая устанавливает соответствие между символом и его кодом, имеет 256 строк вида:

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

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

  1. Они должны начинаться с буквы латинского алфавита (а. z, А. Z) или с символа подчеркивания (_).
  2. В них могут использоваться буквы латинского алфавита, символ подчеркивания и цифры (0. 9). Использование других символов в идентификаторах запрещено.
  3. В языке Си буквы нижнего регистра (а. z), применяемые в идентификаторах, отличаются от букв верхнего регистра (А. Z). Это означает, что следующие идентификаторы считаются разными: name, NaMe, NAME и т.д.
  4. Идентификаторы могут иметь любую длину, но воспринимается и используется для различения объектов (функций, переменных, констант и т.д.) только часть символов. Их число меняется для разных систем программирования, но в соответствии со стандартом ANSI C не превышает 32 (в Си++ это ограничение снято). Если длина идентификатора установлена равной 5, то имена count и counter будут идентичны, поскольку у них совпадают первые пять символов.
  5. Идентификаторы для новых объектов не должны совпадать с ключевыми словами языка и именами стандартных функций из библиотеки.
  6. В программах на языке Си важная роль отводится комментариям. Они повышают наглядность и удобство чтения программ. Комментарии обрамляются символами /* и */. Их можно записывать в любом месте программы.

    В языке Си++ введена еще одна форма записи комментариев. Все, что находится после знака // до конца текущей строки, будет также рассматриваться как комментарий. Отметим, что компилятор языка Си, встроенный в систему программирования Borland C++, позволяет использовать данный комментарий и в программах на Си.

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

    Типы данных

    Программы оперируют с различными данными, которые могут быть простыми и структурированными. Простые данные — это целые и вещественные числа, символы и указатели (адреса объектов в памяти). Целые числа не имеют, а вещественные имеют дробную часть. Структурированные данные — это массивы и структуры; они будут рассмотрены ниже.

    В языке различают понятия «тип данных» и «модификатор типа». Тип данных — это, например, целый, а модификатор — со знаком или без знака. Целое со знаком будет иметь как положительные, так и отрицательные значения, а целое без знака — только положительные значения. В языке Си можно выделить пять базовых типов, которые задаются следующими ключевыми словами:

  7. char — символьный;
  8. int — целый;
  9. float — вещественный;
  10. double — вещественный двойной точности;
  11. void — не имеющий значения.
  12. Дадим им краткую характеристику:

  13. Переменная типа char имеет размер 1 байт, ее значениями являются различные символы из кодовой таблицы, например: ‘ф’, ‘:’, ‘j’ (при записи в программе они заключаются в одинарные кавычки).
  14. Размер переменной типа int в стандарте языка Си не определен. В большинстве систем программирования размер переменной типа int соответствует размеру целого машинного слова. Например, в компиляторах для 16-разрядных процессоров переменная типа int имеет размер 2 байта. В этом случае знаковые значения этой переменной могут лежать в диапазоне от -32768 до 32767.
  15. Ключевое слово float позволяет определить переменные вещественного типа. Их значения имеют дробную часть, отделяемую точкой, например: -5.6, 31.28 и т.п. Вещественные числа могут быть записаны также в форме с плавающей точкой, например: -1.09e+4. Число перед символом «е» называется мантиссой, а после «е» — порядком. Переменная типа float занимает в памяти 32 бита. Она может принимать значения в диапазоне от 3.4е-38 до 3.4e+38.
  16. Ключевое слово double позволяет определить вещественную переменную двойной точности. Она занимает в памяти в два раза больше места, чем переменная типа float (т.е. ее размер 64 бита). Переменная типа double может принимать значения в диапазоне от 1.7e-308 до 1.7e+308.
  17. Ключевое слово void (не имеющий значения) используется для нейтрализации значения объекта, например, для объявления функции, не возвращающей никаких значений.

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

Модификаторы записываются перед спецификаторами типа, например: unsigned char. Если после модификатора опущен спецификатор, то компилятор предполагает, что этим спецификатором является int. Таким образом, следующие строки:

являются идентичными и определяют объект а как длинный целый. Табл. 1 иллюстрирует возможные сочетания модификаторов (unsigned, signed, short, long) со спецификаторами (char, int, float и double), а также показывает размер и диапазон значений объекта (для 16-разрядных компиляторов).

Переменные и константы

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

В языке различают понятия объявления переменной и ее определения. Объявление устанавливает свойства объекта: его тип (например, целый), размер (например, 4 байта) и т.д. Определение наряду с этим вызывает выделение памяти (в приведенном примере дано определение переменных).

Переменные можно разделять по строкам произвольным образом, например:

Переменные в языке Си могут быть инициализированы при их определении:

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

Отметим, что выполнение программы всегда начинается с вызова функции main( ), которая содержит тело программы. Тело программы, как и тело любой другой функции, помещается между открывающей и закрывающей фигурными скобками.

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

Наряду с переменными в языке существуют следующие виды констант:

  • вещественные, например 123.456, 5.61е-4. Они могут снабжаться суффиксом F (или f), например 123.456F, 5.61e-4f;
  • целые, например 125;
  • короткие целые, в конце записи которых добавляется буква (суффикс) H (или h), например 275h, 344H;
  • длинные целые, в конце записи которых добавляется буква (суффикс) L (или l), например 361327L;
  • беззнаковые, в конце записи которых добавляется буква U (или u), например 62125U;
  • восьмеричные, в которых перед первой значащей цифрой записывается нуль (0), например 071;
  • шестнадцатеричные, в которых перед первой значащей цифрой записывается пара символов нуль-икс (0x), например 0x5F;
  • символьные — единственный символ, заключенный в одинарные кавычки, например ‘О’, ‘2’, ‘.’ и т.п. Символы, не имеющие графического представления, можно записывать, используя специальные комбинации, например \n (код 10), \0 (код 0). Эти комбинации выглядят как два символа, хотя фактически это один символ. Так же можно представить любой двоичный образ одного байта: ‘\NNN’, где NNN — от одной до трех восьмеричных цифр. Допускается и шестнадцатеричное задание кодов символов, которое представляется в виде: ‘\х2В’, ‘\хЗ6’ и т.п.;
  • строковые — последовательность из нуля символов и более, заключенная в двойные кавычки, например: «Это строковая константа». Кавычки не входят в строку, а лишь ограничивают ее. Строка представляет собой массив из перечисленных элементов, в конце которого помещается байт с символом ‘\0’. Таким образом, число байтов, необходимых для хранения строки, на единицу превышает число символов между двойными кавычками;
  • константное выражение, состоящее из одних констант, которое вычисляется во время трансляции (например: а=60+301);
  • типа long double, в конце записи которых добавляется буква L (или l), например: 1234567.89L.
  • Как вводить и выводить информацию

    Операции ввода/вывода в языке Си организованы посредством библиотечных функций (причем их довольно много).

    Самый простой механизм ввода — чтение по одному символу из стандартного входного потока (с клавиатуры) с помощью функции getchar( ). Она имеет следующий прототип (т.е. описание заголовка):

    Здесь определен тип единственного аргумента (void) и тип возвращаемого функцией значения (int).

    присваивает переменной х очередной вводимый символ. Переменная х должна иметь символьный или целый тип.

    Другая функция — putchar(х) выдает значение переменной x в стандартный выходной поток (на экран дисплея). Функция putchar( ) имеет прототип:

    Объявления getchar( ) и putchar( ) сделаны в заголовочном файле stdio.h, содержащем описания заголовков библиотечных функций стандартного ввода/вывода. Чтобы библиотечные функции стали доступны программе, к ней необходимо подключить данный файл. Подключение осуществляется с помощью директивы препроцессора

    помещаемой в начало программы (подробнее см. в разделе 5).

    Заметим, что для функции getchar( ) после выбора символа необходимо нажать клавишу . Иногда это создает определенные неудобства. Функции getch( ) и getche( ) устраняют их. Они имеют следующие прототипы:

    Обе эти функции вводят символ сразу же после нажатия соответствующей клавиши (здесь не надо дополнительно нажимать клавишу ). Отличие между ними заключается в том, что getche( ) отображает вводимый символ на экране дисплея, а getch( ) — нет. Прототипы этих функций содержатся в файле conio.h (консольный ввод/вывод). Для их использования файл conio.h также следует подключить к программе с помощью директивы #include .

    Форматированный вывод данных

    Функция printf( ) (прототип содержится в файле stdio.h) обеспечивает форматированный вывод. Ее можно записать в следующем формальном виде:

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

    Каждая спецификация преобразования начинается со знака % и заканчивается некоторым символом, задающим преобразование. Между знаком % и символом преобразования могут встречаться другие знаки в соответствии со следующим форматом:

    Все параметры в квадратных скобках не являются обязательными.

    На месте параметра c_n (символ преобразования) могут быть записаны:

    с — значением аргумента является символ;
    d или i — значением аргумента является десятичное целое число;
    е — значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1.23e+2;
    Е — значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1.23E+2;
    f — значением аргумента является вещественное десятичное число с плавающей точкой;
    g (или G) — используется, как е или f, и исключает вывод незначащих нулей;
    о — значением аргумента является восьмеричное целое число;
    s — значением аргумента является строка символов (символы строки выводятся до тех пор, пока не встретится символ конца строки или же не будет, выведено число символов, заданное точностью);
    u — значением аргумента является беззнаковое целое число;
    х — значением аргумента является шестнадцатеричное целое число с цифрами 0. 9, а, b, с, d, е, f;
    X — значением аргумента является шестнадцатеричное целое число с цифрами 0. 9, А, В, С, О, Е, F;
    р — значением аргумента является указатель;
    n — применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции строки (отображаемой на экране), в которой записана спецификация %n.

    Необязательные параметры в спецификации преобразования:

  • признак минус (-) указывает, что преобразованный параметр должен быть выровнен влево в своем поле;
  • признак плюс (+) требует вывода результата со знаком;
  • строка цифр, задающая минимальный размер поля (ширина поля). Здесь может так же использоваться символ *, который тоже позволяет задать минимальную ширину поля и точность представления выводимого числа;
  • точка (.), отделяющая размер поля от последующей строки цифр;
  • строка цифр, задающая максимальное число выводимых символов, или же количество цифр, выводимых справа от десятичной точки в значениях типов float или double (точность);
  • символ F, определяющий указатель типа far;
  • символ N, определяющий указатель типа near;
  • символ h, определяющий аргумент типа short int (используется вместе с символами преобразования d, i, о, u, х, Х);
  • символ l, указывающий, что соответствующий аргумент имеет тип long (в случае символов преобразования d, i, о, u, х, X) или double (в случае символов преобразования е, Е, f, g, G);
  • символ L, указывающий, что соответствующий аргумент имеет тип long double (используется вместе с символами преобразований е, Е, f, g, G);
  • символ #, который может встречаться перед символами преобразования g, f, е и перед символом х. В первом случае всегда будет выводиться десятичная точка, а во втором — префикс 0x перед соответствующим шестнадцатеричным числом.
  • Если после знака % записан не символ преобразования, то он выводится на экран. Таким образом, строка %% приводит к выводу на экран знака %.

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

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

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

    \а — для кратковременной подачи звукового сигнала;
    \b — для перевода курсора влево на одну позицию;
    \f — для подачи формата;
    \n — для перехода на новую строку;
    \r — для возврата каретки;
    \t — горизонтальная табуляция;
    \v — вертикальная табуляция;
    \\ — вывод символа \;
    \’ — вывод символа ‘ ;
    \» — вывод символа «;
    \? — вывод символа ?.

    Например, в результате вызова функции:

    сначала выполняется горизонтальная табуляция (\t), т.е. курсор сместится от края экрана, затем на экран будет выведено слово Computer, после этого курсор переместится в начало следующей строки (\n), затем будет выведено целое число i по формату %d (десятичное целое), и, окончательно, курсор перейдет в начало новой строки (\n).

    Напечатать строку символов можно и так:

    Форматированный ввод данных

    Функция scanf( ) (прототип содержится в файле stdio.h) обеспечивает форматированный ввод. Ее можно записать в следующем формальном виде:

    Аргументы scanf( ) должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. Назначение указателей будет рассмотрено далее.

    Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. В нее могут включаться:

  • пробелы, символы табуляции и перехода на новую строку (все они игнорируются);
  • спецификации преобразования, состоящие из знака %, возможно, символа * (запрещение присваивания), возможно, числа, задающего максимальный размер поля, и самого символа преобразования;
  • обычные символы, кроме % (считается, что они должны совпадать с очередными неизвестными символами во входном потоке).
  • Рассмотрим символы преобразования функции scanf( ) (указываются после символа %):

    с — на входе ожидается появление одиночного символа;
    d или i — на входе ожидается десятичное целое число и аргумент является указателем на переменную типа int;
    D или l — на входе ожидается десятичное целое число и аргумент является указателем на переменную типа long;
    е или Е — на входе ожидается вещественное число с плавающей точкой;
    f — на входе ожидается вещественное число с плавающей точкой;
    g или G — на входе ожидается вещественное число с плавающей точкой;
    о — на входе ожидается восьмеричное целое число и аргумент является указателем на переменную типа int;
    О — на входе ожидается восьмеричное целое число и аргумент является указателем на переменную типа long;
    s — на входе ожидается появление строки символов;
    х — на входе ожидается шестнадцатеричное целое число и аргумент является указателем на переменную типа int;
    Х — на входе ожидается шестнадцатеричное целое число и аргумент является указателем на переменную типа long;
    р — на входе ожидается появление указателя в виде шестнадцатеричного числа;
    n — применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции (после ввода), в которой записана спецификация %n;
    u — на входе ожидается беззнаковое целое число и аргумент является указателем на переменную типа unsigned int;
    U — на входе ожидается беззнаковое целое число и аргумент является указателем на переменную типа unsigned long;
    [ ] — сканирует входную строку для получения символов.

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

      F — изменяет указатель, заданный по умолчанию, на указатель типа far;
      N — изменяет указатель, заданный по умолчанию, на указатель типа near;
      h — преобразует аргумент к типу short int (может записываться перед символами d, i, о, u, х);
      l — преобразует аргумент к типу long int (может записываться перед символами d, i, o, u, x);
      L — преобразует аргумент к типу long double (может записываться перед символами е, f, g).

      Ввести целое число (int a;), символ (char b;) и вещественное число (float t;) можно так:

      РАЗДЕЛ 2. ОПЕРАЦИИ И ОПЕРАТОРЫ

      Операции языка Си

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

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

      Смотрите еще:

      • Развод патимат кагировой и рината каримова Ринат Гасанович родился 6 октября в городе Грозный, в музыкальной семье. Его отец являлся художественным руководителем собственного ансамбля, а мать Рината выступала в коллективе в качестве солистки. Именно поэтому и самому Ринату […]
      • Сергеев а п юрист Сергеев, Александр Петрович Добавить иллюстрации. специалист в области интеллектуальной собственности Содержание Родился в 1953 году в Калининской области. В 1979 году окончил юридический факультет Ленинградского государственного […]
      • Таблица для получения субсидии Установленный порядок получения субсидий на оплату услуг ЖКХ Коммунальные услуги сейчас недешевы, и ощущают это на себе даже жильцы не самых больших квартир. К тому же тарифы повышаются с завидной регулярностью, подчас обгоняя рост […]
      • Что нужно знать про увольнение Права работника при увольнении Когда человек трудится по трудовому договору, он имеет определённые права и обязанности. А какие права есть у работника при увольнении? В ст. 77 ТК РФ приведены все основания для прекращения трудовых […]
      • Правило устройства котлована Глава 5. УСТРОЙСТВО ВЫЕМОК И НАСЫПЕЙ § 1. Устройство котлованов Котлованы представляют собой временные выемки, устраиваемые для возведения фундаментов, частей здания и сооружения, расположенных ниже поверхности земли. Котлованы бывают с […]
      • Закон о некоммерческом союзе Статья 11. Ассоциации (союзы) Федеральным законом от 11 февраля 2013 г. N 8-ФЗ наименование статьи 11 настоящего Федерального закона изложено в новой редакции Статья 11. Ассоциации (союзы) См. комментарии к статье 11 настоящего […]
      • Транспортный налог декларация за 2018 год Транспортный налог 2018: изменения Актуально на: 19 декабря 2017 г. Напомним, что транспортный налог устанавливается гл. 28 НК РФ и вводится в действие законами субъектов РФ, а плательщиками налога являются организации и физлица, на […]
      • Патент для иностранных граждан в 2014 Патент для иностранных граждан в 2014 Сколько стоят патенты для трудовых мигрантов из ближнего зарубежья в каждом отдельно взятом регионе Российской Федерации и как рассчитывается его стоимость, смотрите в инфографике «России для […]