Индивидуальные задания

Индивидуальные задания

К лабораторной работе №5

Задание состоит из двух частей: Часть I и Часть II. Часть I состоит из двух вариантов (по четным и нечетным номерам в журнале группы), Часть II —… Часть I (выполняют все). 1) Продемонстрировать способы переадресации ввода/вывода, которые представлены в методических указаниях к лабораторной…

Часть II.

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

Вариант 1.

Вычислить число сочетаний C(k,n)=n!/(k!∙|n-k|)!), где n>0, k>0, n≠k.

 

Вариант 2.

Вычислить значение функции f(x)=((-1)x+x(2x-1))/(2x-1)!, где x>0.

 

Вариант 3.

Вычислить значение функции f(x,k)=(x(2k+1)+x(5k-1))/(2k+1).

 

Вариант 4.

Вычислить значение функции f(x,k)=(1!∙2!∙3!∙…∙k!)/x!, где x>0, k>1.

 

Вариант 5.

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

Вариант 6.

Выполнить поиск максимального из 8 чисел с использованием поиска большего из двух чисел.

Вариант 7.

Вычислить площадь кольца по значениям внутреннего и внешнего радиусов, используя функцию вычисления площади круга.

Вариант 8.

Вычислить сумму факториалов всех четных чисел от m до n включительно.

Вариант 9.

Вычислить значение функции f(x,k)=((k-x)/(x2))+x!-k!, где x>0, k>x.

Вариант 10.

Вычислить значение функции f(x)= ((-x2/2) ∙ x!)/(x-2)!, где x>3.

Вариант 11.

Посчитать количество слов в строке, введенной пользователем.

Вариант 12.

Вычислить значение функции f(x,k)=((-k)x+k(3x-1))/(3x-1)!, где x>0.

 


Приложение 1

Основы bash программирования

Скрипт должен быть исполняемым файлом и начинаться со строки #!/bin/bash. Кроме случая #!, значок # (”шарп”) - является началом комментария. Строки,… #!/bin/bash # Это комментарий # Это тоже комментарий

Переменные

#!/bin/bash # Переменная S1=Hello!

Конструкция if

if [ условие ]; then блок команд else

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

Операторы сравнения в bash бывают арифметическими (для сравнения чисел) и операторами сравнения строк.

Арифметические операторы состоят из двух символов перед которыми стоит дефис. Ниже представлены арифметические операторы и в скобках их аналогия из языка С.

-lt - less then - меньше (<)

-gt - greater then - больше (>)

-le - less or equal - меньше или равно (<=)

-ge - greater or equal - больше или равно (>=)

-eq - equal - равно (==)

-ne - not equal - не равно (!=)

 

Операторы сравнения строк запомнить легче.

STR1 = STR2 – равно

STR1 != STR2 - не равно

STR1 < STR2 – меньше

STR1 > STR2 – больше

-n STR1 - возвращает 0 если строка ненулевая (имеет хотя бы один символ)

-z STR1 - возвращает 0 если строка нулевой длины.

 

Практический пример. Наберите и выполните в консоли следующую строку (не забывайте о пробелах!):

STR1=aaa; STR2=abc; [ "$STR1" = "$STR2" ]; echo $?

В результате вы получите число 1, которое выведет команда echo $?. Конструкция $? содержит числовой результат выполнения предыдущей команды. Предыдущая команда была [ "$STR1" = "$STR2" ] в случае выполнения условия команда возвратила бы 0, но так как условие не выполняется, то результат выполнения команды отличен от нуля.

В завершение несколько слов об операции проверки файла. Практически в каждом системном скрипте вы встретите конструкцию наподобие [ -a /etc/filename ] или [ -f "$file" ] , где file - это переменная содержащая имя файла. Это операция проверки файла или свойств файла. В качестве параметра в команде используется имя файла.

[ -f "file name" ] - возвращает 0, если файл существует и это регулярный файл

[ -e "file name" ] - возвращает 0, если файл существует

[ -w "file name" ] - возвращает 0, если файл существует и в него есть право записи.

О других вариантах проверки файлов читайте в справке man bash в разделе CONDITIONAL EXPRESSIONS или в описании команды test.


Приложение 2

Циклы и функции bash

Цикл for

  for переменная in последовательность значений do

Цикл while

Общий вид: while выражение do

Цикл until

Похож на while с той лишь разницей, что в нем команды внутри цикла выполняются тогда когда условие не выполняется. Синтаксис такой же только вместо… Пример: #!/bin/bash

Функции в bash

Функции применяются в bash очень широко. Описываются функции двумя способами: с ключевым словом function, и без него. Первый способ: function имя_функции