Реферат

Реферат Загальні можливості мови AWK

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 14.11.2024


Міністерство освіти України

Львівський державний університет ім. І. Франка

Факультет прикладної математики

та інформатики

Звіт

про виконання практичного завдання з курсу

"ДРФМД"

Львів - 1998

Приклади роботи з системою UNIX

  1. Скопіювати усі текстові файли (з розширеням .txt) в каталог TextDir

cp *.txt TextDir

  1. Дозволити читання усіх файлів каталогу AccessDir заданих шаблоном.

UNIX-скріпт в файлі changeaccess виглядає таким чином:

cd AccessDir

chmod +r $1

cd ..

Приклад виклику: changeaccess “m*.*”дозволяє читання усіх файлів, що

починаються буквою m. Шаблон обовязково вказується у лапках.

  1. Приклад з мовою awk. Потрібно розв’язати квадратні рівняння типу

Ax2 + Bx + C = 0 якщо коефіціенти A, B та C задані у вхідному файлі

Вміст файлу на мові awk sqrt.awk

{

a = 2 * $1;

b = $2;

c = $3;

d = b * b - 2 * a * c;

if (((a == 0) && (b == 0)) || (d < 0))

printf(" Unable to calculate ")

else

if (a == 0)

printf(" x = %f ", c / b)

else

if (d == 0)

printf(" x = %f ”, - b / a)

else

printf(" x1 = %f, x2 = %f ",

(- b - sqrt(d)) / a, (- b + sqrt(d)) / a)

}

Вміст файлу з UNIX-скріптом для запуску awk-програми sqrtcalc

awk -f sqrt.awk $1

Приклад роботи програми: нехай файл koef.txt містить таки коефіціенти:

  1. 0 -1

1 0 1

2 4 2

0 0 5

1 -3 2

  1. 1 -2

Набравши в командному рядку sqrtcalc koef.txtотримаємо результат:

x1 = -1, x2 = 1

Unable to calculate

x = -1

Unable to calculate

x1 = 1, x2 = 2

x = 2

Теоретична частина. Загальні можливості мови awk

awkінтерпретуюча мова програмування, що підтримується операційною системою UNIX. Виклик програми здійснюється командою awkf program file, де program є назвою файлу з awk-програмою, а file – файл даних. Не порушуючи логіки системи UNIX команда awk забезпечує потоковий ввід-вивід. who | awk -f program означає, що як файл даних використовується результат виконання команди who. Синтаксис awk-програм схожий із синтаксисом мови Cі, найбільша різниця між awk та Сі заключається в тому, що змінні в awk не типівізовані як в BASIC або тип Variant в Delphi.

Текст програми пишеться у операторних дужках { } перед яким може стояти шаблон BEGIN або END. BEGIN означає, що дана частина коду виконується до початку обробки вхідних даних, ENDпісля закінченя. Якщо шаблон не вказано, код виконується для кожного рядка з вхідного потоку.

BEGIN{ n = 1 }

{

a[n] = $1;

b[n] = $2;

n++

}

END{

for (i = 1; i <= n; i++)

printf(“a[i] + b[i] = %f\n”, a[i] + b[i])

}

В даному прикладі код {

a[n] = $1;

b[n] = $2;

n++

} виконається стільки разів, скільки рядків містить вхідний потік.

Арифметичні та логічні операції в awk:

awk

Pascal

z = x + y

z := x + y

z = x – y

z := x – y

z = x * y

z := x * y

z = x / y

z := x / y

z += y

z := z + y

z = x % y

z := x mod y

-=, *=, /=, %=

Аналогічно

x++

inc(x)

x--

dec(x)

x && y

x and y

x || y

x or y

! x

not x

x == y

x = y

x != y

x <> y

x < y

x < y

x > y

x > y

x ~ y

x in y

x = (w) ? y : z

if w then x := y else x := z


1. Реферат на тему Digital Television Essay Research Paper Digital TelevisionOn
2. Реферат на тему Русский консерватизм
3. Реферат на тему Citizen
4. Книга на тему Основы теории и технологии контактной точечной сварки
5. Реферат Венский арбитраж
6. Реферат Образ Чехова в прозе И. С. Шмелёва
7. Диплом на тему Розробка двохсмугової активної акустичної системи з сабвуфером
8. Реферат на тему Clockwork Orange Essay Research Paper The freedom
9. Реферат на тему Machine Learning In Artificial Intelligence Essay Research
10. Реферат на тему Работа над действенным анализом пьесы У Сарояна Эй кто нибудь