русс | укр

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

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

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

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


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

Ход работы


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


Fi

Else

Then

Then

Esac

Необходимые сведения

Лабораторная работа №13. Условные конструкции

Ход работы

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

1. Перейдите в домашний каталог и добавьте его в список путей переменной PATH командой

PATH=$PATH:$PWD.

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

3. Создайте сценарий myscript2, выводящий информацию в виде:

Имя сценария: имя_сценария.

Количество аргументов: кол_во_аргументов

4. Создайте сценарий myscript3, запрашивающий у пользователя имя и фамилию, а затем выводящий строку «Hello, <имя> <фамилия>!» (знак ! обязателен).

5. Создайте сценарий myscript4, которому передаются четыре аргумента. Вывести их на экран в порядке 4,2,3,1, вставив между ними <пробел>:<пробел>.

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

Файл старое_имя был успешно переименован в новое_имя.

7. Создайте сценарий myscript6, осуществляющий переименование файла, имя которого указывается в аргументе. Переименование должно осуществляться переводом всех символов имени в ВЕРХНИЙ регистр.

8. Создайте сценарий myscript7, в котором запрашиваются два числа A и B, после чего вызывается скрипт myscript8, вычисляющий сумму, разность и произведение этих чисел.



 

 

Цель работы: освоить использование операторов case и if.

 

Оператор case служит для выбора одного из нескольких вариантов:

case значение in

шаблон1)

команды1

;;

шаблон2)

команды2

;;

шаблонN)

командыN

;;

*)

команды_по_умолчанию

;;

Принцип действия: среди всех шаблонов ищется первый, совпадающий со значением. Если он найден, то выполняется соответствующий ему список команд, завершенный двумя символами ;. Шаблон и список разделяются символом ). Одному списку команд может соответствовать несколько шаблонов, тогда они разделяются символом |.

Порядок сравнения шаблонов со значением не определен. Первое совпадение прекращает дальнейшее сравнение и приводит к выполнению соответствующего списка команд и выходу из структуры case. Часть *) является необязательной.

Для проверки файлов, сравнения строк и числовых значений используется команда test. Результатом команды является код завершения: 0 — соответствует значению TRUE, 1 — значению FALSE, 2 — значение ERROR. Команда test без аргументов возвращает значение FALSE.

Дляпроверки файлов используется синтаксис

test опции файл.

Для файла осуществляется проверка условий в соответствии с указанными опциями:


-e — файл существует;

-s — файл существует и имеет размер больше 0;

-r — возможно чтение файла;

-w — возможна запись в файл;

-x — возможно выполнение файла;

-z — файл имеет нулевую длину;

-f — обычный файл;

-d — каталог;

-c — байт-ориентированный файл;

-b — бит-ориентированный файл;

-h — символическая ссылка.


Для сравнения чисел используется синтаксис

test аргумент1 операция аргумент2.

Аргументами служат положительные или отрицательные целые числа, а также выражения типа -l строка, значением которых будет длина строки. В качестве операции сравнения могут выступать:


-eq — равно;

-ne — не равно;

-gt — больше;

-lt — меньше;

-ge — больше или равно;

-le — меньше или равно.


Для сравнения строк используется синтаксис

test выражение,

где выражение имеет вид

-z строка — истинно, если строка нулевой длины;

-n строка — истинно, если строка ненулевой длины;

строка1 = строка2 — истинно, если строки совпадают;

строка1 != строка2 — истинно, если строки не совпадают.

В команде test можно использовать составные условия с помощью логических операций: -a — конъюнкция, -o — дизъюнкция, ! — отрицание.

Пример: test –r info.txt –a –x info.txt.

Вместо команды test можно использовать конструкцию вида

[ выражение ].

Квадратные скобки должны быть отделены от выражения разделителями (пробелами). Пример: [ –r info.txt –a –x info.txt ].

 

Для выполнения команд в зависимости от истинности некоторого условия используется оператор if. Синтаксис:

if условие1

команды1

elif условие2

команды2

команды3

Если код возврата условия1 равен 0, то выполняются команды1, иначе проверяется код возврата условия2. Если этот код равен 0, то выполняются команды2. Если условие1, условие2 и все последующие условия веток elif имеют коды возврата не равные 0, то выполняются команды3. В качестве условий обычно используется команда test.

Ключевые слова elif и else использовать необязательно. Если оператор не содержит elif, можно не указывать и else. Ключевых слов elif может быть несколько.

 

1. Создайте сценарий myscript9, запрашивающий у пользователя имя файла и число от 1 до 4 и выполняющий в зависимости от введенного значения следующие действия:

— переименование файла добавлением к имени части _tmp;

— удаление файла;

— вывод полной информации о файле;

— определение типа файла.

2. В случае, если было введено число отличное от 1,2,3,4 вывести соответствующее сообщение.

3. Измените предыдущий сценарий, добавив проверку существования файла с именем, которое ввел пользователь. Если файла не существует. вывести соответствующее сообщение и прекратить выполнение сценария с ошибочным кодом завершения.

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

5. Создайте сценарий myscript10, которому в качестве аргументов передаются три числа. В сценарии определяется максимальное из чисел.

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

 



<== предыдущая лекция | следующая лекция ==>
Необходимые сведения | Ход работы


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


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

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

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


 


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

 
 

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

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