В Линуксе:
1. Написать программу, которая для двух заданных углов определяет, являются ли они смежными (углы вводятся с клавиатуры). Использовать оператор if.
2. Написать программу печати таблицы значений функции y=x*x с шагом 1. Число значений в таблице и начальное значение x задается с клавиатуры. Использовать оператор while.
3. Написать программу, которая выводит текущее число и время и зпрашивает: вывести снова дату или нет (y/n). Использовать оператор until.
4. Написать программу, которая выводит на экран и в файл пронумерованный список имен всех файлов с Рабочего стола c полным путем. Использовать оператор for.
Понятно, что они элементарные, если изучить тему, но у меня около 90 заданий по лабораторкам, сил просто на все не хватает!
Помогите чайнику с неск. заданиями по UNIX-подобным системам!
ну а язык какой?
Лабораторка называется "Язык интерпретатора Shell"
Лабораторка называется "Язык интерпретатора Shell"
Тут никто не поможет, этому можно научиться только самостоятельно.
Разве что найдётся хорошо знающий shell молодой человек.
У меня tcsh, а bash я не люблю. Для начала просмотрите "man bash",
останавливаясь на заголовках прописными буквами, а вообще лучше найти
книгу на русском и начать что-то делать.
Пётр.
Я знаю, что лучше самой, но у меня нет на это времени, к сожалению, помимо этих заданий, есть еще 90 других :( Спасибо!
TanyaV1988, что за ВУЗ, если не секрет?
не надо было на уроках спать
TanyaV1988, если еще актуально, то помогу.
Остальные, а что все "добрые" такие? Задания проще не придумаешь, а тут маны, ссылки, на уроках не спать... :o
DrSterling!
Вот когда такая божья придурь будет работать в паре с тобой,
тогда и расскажешь, какими добрыми и отзывчивыми следывает быть джентльменам.
upd:
У нас на лабах была такая Анжелика из Мурманска - препод спрашивал, мол, а чё она у вас вечно ни хрена не делает -
на что мы с напарником гордо отвечали - она у нас не для эфтаго. Выводы делайте сами.
Я вообще заочница, дали задания- и до свидос! DrSterling - была бы оч признательна! И вообще, что все так взъелись-остальные задания я делаю сама, с этими хотела схалявничать :) Chars67 - знала бы, что здесь в основном такие чокнутые программисты обитают-и спрашивать бы не стала! а то тут многие чересчур умные!
TanyaV1988, здесь все разные, отсюда и самобытность ресурса :)
Только не обижайтесь, и спокойно рассматривайте Форум не со стороны, говоря "здесь", а как участник(ца), для чего лучшая формулировка "у нас".
TanyaV1988, ну вот примерно где-то так.
Первые 2 задачи подробно достаточно прокомментированны в самом листинге. 3 и 4 - только в сложных, на мой взгляд, местах для новичка.
Будут вопросы "почему там ВОТ ЭТО?" - пиши.
#1
#!/bin/bash
# triangle - Copyright (C) 2010 DrSterling <haasker@gmail.com>
#1. Написать программу, которая для двух заданных углов определяет,
# являются ли они смежными (углы вводятся с клавиатуры).
# Использовать оператор if.
echo -n 'Введите значение первого угла: ' # выводим на экран текст-приглашение
read abc # считываем введенное пользователем число
echo -n 'Введите значение второго угла: ' # и тут тоже самое
read bcd # считываем еще одно число
# проверяем являются ли углы смежными через условие if, т.е. составляет ли их сумма 180 градусов
if [ `expr $abc + $bcd` -eq 180 ] # вычисляем сумму углов и проверяем равняется ли она 180
then echo 'Ответ: углы смежные' # если равняется, выводим...
else echo 'Ответ: углы несмежные' # если НЕ равняется, выводим...
fi
#2
#!/bin/bash
# table - Copyright (C) 2010 DrSterling <haasker@gmail.com>
#2. Написать программу печати таблицы значений функции y=x*x с шагом 1.
# Число значений в таблице и начальное значение x задается с клавиатуры.
# Использовать оператор while.
echo -n 'Введите количество значений: ' # без комментариев. см. задачу №1
read m # ---
echo -n 'Введите стартовое значение X: ' # ---
read x # ---
i=1 # инициализируем счетчик
while [ $i -le $m ] # проверяем условие цикла: пока i<= количеству значений m
do
echo `expr $x '*' $x` # рассчитываем функцию
x=`expr $x + 1` # увеличиваем x на наш шаг
i=`expr $i + 1` # увеличиваем наш счетчик и возвращаемся к условию цикла
done
#3
#!/bin/bash
# data - Copyright (C) 2010 DrSterling <haasker@gmail.com>
#3. Написать программу, которая выводит текущее число и время и
# cпрашивает: вывести снова дату или нет (y/n).
# Использовать оператор until.
until false
do
echo `date`
echo -n 'Вывести дату опять? (y - да, n - нет): '
read x
if [ $x != y ]
then echo 'До свидания!' ; break
fi
done
#4
#!/bin/bash
# desktop - Copyright (C) 2010 DrSterling <haasker@gmail.com>
#4. Написать программу, которая выводит на экран и в файл
# пронумерованный список имен всех файлов с Рабочего стола c полным путем.
# Использовать оператор for.
n=1
for i in $HOME/"Рабочий стол"/*
do
echo $n $i >> list.txt # подразумевается, что файл list.txt не существует или пустой.
n=`expr $n + 1`
done
cat list.txt
Уважаемому сообществу, просьба прокомментировать. Я не Линукс-гуру, да и bash использую лишь изредка, при необходимости. Поэтому уверен, что могут быть и более элегантные решения. Я исходил из того факта, что целью решения задач было изучение циклов и условий.
Особенно интересует №4. Мне там и самому не все нравится, но это ответ на поставленную задачу )