Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТУСУР Информатика вопросы и ответы к экзамену 2016 1-й семестр.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
58 Кб
Скачать
☆

1. Функции в скриптах bash

Функции в скриптах bash Синтаксис Оболочка bash позволяет пользователю создавать собственные функции. Функции ведут себя и используются точно так же, как обычные команды оболочки, т. е. мы можем сами создавать новые команды. Функции конструируются следующим образом: function name () { list }Причем слово function не обязательно, name определяет имя функции, по которому к ней можно обращаться, а тело функции состоит из списка команд list, находящегося между { и }.Этот список команд выполняется каждый раз, когда имя name задано как имя вызываемой команды. Отметим, что функции могут задаваться рекурсивно, так что разрешено вызывать функцию, которую мы задаем, внутри нее самой. Функции выполняются в контексте текущей оболочки: для интерпретации функции новый процесс не запускается (в отличие от выполнения скриптов оболочки). Аргументы Когда функция вызывается на выполнение, аргументы функции становятся позиционными параметрами (positional parameters) на время выполнения функции. Они именуются как $n,где n — номер аргумента, к которому мы хотим получить доступ. Нумерация аргументов начинается с 1, так что $1 — это первый аргумент. Мы можем также получить все аргументы сразу с помощью $*, и число аргументов с помощью $#. Позиционный параметр 0 не изменяется. Если в теле функции встречается встроенная команда return, выполнение функции прерывается и управление передается команде, стоящей после вызова функции. Когда выполнение функции завершается, позиционным параметрам и специальному параметру #возвращаются те значения, которые они имели до начала выполнения функции. Локальные переменные (local)Если мы хотим создать локальный параметр, можно использовать ключевое слово local. Синтаксис ее задания точно такой же, как и для обычных параметров, только определению предшествует ключевое слово local: local name=value.

2. Функции работы со строками в Pascal

string строка символов, на экран выводится как строка символов, коды которых хранятся в последовательности байт, занимаемой выводимой переменной типа STRING; в памяти занимает от 1 до 256 байт – по количеству символов в строке, плюс один байт, в котором хранится длина самой строки.

length(s: string): integer (после двоеточия записан тип значения, возвращаемого функцией, в нашем случае - целое число). Эта функция возвращает длину строки s.

copy(s: string; start: integer; len: integer): string Возвращает вырезку из строковой переменной s, начиная с символа с номером start, длина которой len

pos(s1: string; s: string): byte Ищет подстроку s1 в строке s. Если находит, то возвращает номер символа, с которого начинается первое вхождение s1 в s; если s1 не входит в s, то функция возвращает 0

insert(s1: string; s: string; start: integer) Вставляет строку s1 в строковую переменную s начиная с символа с номером start. delete(s: string; start: integer; len: integer) Удаляет из строковой переменной s фрагмент, начинающийся с символа с номером start и длиной len. str(x,st) : преобразует число, записаное в x (целого типа) в строковой тип и записывает его в st; Например, если в x будет записано число 132, то в st мы получим строчку '132'. val(st,x,er) : обратная процедура к str, то-есть, переводит строковое значение (st) в числовое (x). В переменную er (Integer) записывается код ошибки. Код ошибки необходим, поскольку в строке могут содержатся не только цифры, но и буквы, которые не преобразуются в числа. Поэтому, если в st были не только числа, то в x ничего не запишется, а в er будет не ноль, а какое-то число. Обычно, после этой процедуры проверяют, ноль ли записан в er чтобы убедиться в правильности операции.

ТУСУР Информатика, 1 семестр

каф. ЭП

Билет №22

1. Параметры в оболочке Linux. Разновидности параметров.

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

*, @, #, ?, - (дефис), $, !, 0, _ (подчеркивание).Говорят, что параметр задан или установлен, если ему присвоено значение. Значением может быть и пустая строка. Значения переменным присваиваются с помощью оператора следующего вида

[user]$ name=valueгде name — имя переменной, а value — присваиваемое ей значение (может быть пустой строкой). Значением может быть любой текст. Если значение содержит специальные символы, то его надо взять в кавычки. Присвоенное значение этих кавычек не содержит, естественно. Если переменная задана, то ее можно удалить, используя встроенную команду оболочки unset. Для того чтобы вывести значение одной конкретной переменной, можно воспользоваться командой

[user]$ echo $name (нужно использовать символ $ перед его именем). Так, команда

[user]$ echo name выдаст на экран слово name, а команда

[user]$ echo $name выдаст значение переменной name (если таковое, конечно, задано).

Разновидности параметров.

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