русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Арифметические действия


Дата добавления: 2013-12-23; просмотров: 1074; Нарушение авторских прав


В качестве действия могут использоваться уловные арифметические выражения, чтобы вычислить числовые значения. В качестве простого примера предположим, что нужно напечатать плотность населения для каждой страны в файле countries. Так как второе поле - это площадь в тысячах квадратных километров, а третье поле - это население в миллионах, то выражение:

100 * $3 / $2

дает плотность населения на 1 квадратный километр.

Программа:

{print "%10s %6.1f\n", $1,

1000 *$3 / $2}

печатает название страны и плотность населения:

USSR 30.3

Canada 6.2

China 234.6

USA 60.6

Brazil 35.3

Australia 4.7

India 502.0

Argentina 24.3

Sudan 19.6

Algeria 19.6

Арифметические действия выполняются с плавающей точкой. Арифметическими операторами являются:

+, -, *, /, %, ^

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

v = e

где v - переменная или имя поля;

e - выражение.

Например, чтобы вычислить число стран континента "Asia" и общее количество населения, вы должны написать:

$4 == "Asia" { pop = pop = $3; n = n + 1 }

END { print "population of", n,

"Asian countries in million is", pop }

Относительно файла countries эта программа выдает результат:

population of 3 Asian countries in

million is 1765

Действие, связанное с шаблоном $4 == "Asia" выполняет 2 назначения, одно - накопление населения и другое - подсчет стран.

Назначения в предыдущей программе могут быть записаны более сжато с использованием операторов "+=" и "++":

$4 == "Asia" {pop += $3; ++n}



Оператор "+=" заимствован из языка программирования Си, следовательно:

pop += $3

аналогично:

pop = pop + $3

но оператор "+=" короче и работает быстрее.

Операторами назначения являются:

+=, -=, *=, /=, %=, ^=

Операторами приращения являются "++" и "--". Как и в языке Си они могут использоваться как префиксные (++x) или постфиксные (x++) операторы. Если x равно 1, то "i = ++x" увеличивает x, затем устанавливает i равным 2, в то время как "i = x++" устанавливает i равным 1, затем увеличивает x. Аналогичная интерпретация для префиксного и постфиксного операторов "--".

Операторы присвоения, увеличения и уменьшения могут использоваться в арифметических выражениях.

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

maxpop < $3 { maxpop = $3; country = $1 }

END { print country, maxpop }

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

В табл 4 перечислены встроенные арифметические функции.

Таблица 4 Встроенные арифметические функции

Функция Возвращаемое значение
atan2(y,x) Арктангенс y/x в пределах от "-пи" до "пи"
cos(x) Косинус x
exp(x) Экспоненциальная функция x
int(x) Целая часть x с усеченными лидирующими нулями
log(x) Натуральный логарифм x
rang() Случайное число между 0 и 1
sin(x) Синус x
sqrt(x) Квадрат x
srand(x) x - новое начальное значение для rand()

 

Функция rand() возвращает псевдослучайное число с плавающей точкой в диапазоне от 0 до 1, а srand(x) может быть использовано для установки нового начального значения генерирующей программы. Если srand() не имеет аргументов, то начальное значение производится из времени дня.



<== предыдущая лекция | следующая лекция ==>
Встроенные переменные | Строки и строковые функции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.