LinuxForum.Fans
Тема

Помогите чайнику с неск. заданиями по UNIX-подобным системам!

Автор: TanyaV1988 13 сообщений 3843 просмотров
#26865

В Линуксе:
1. Написать программу, которая для двух заданных углов определяет, являются ли они смежными (углы вводятся с клавиатуры). Использовать оператор if.
2. Написать программу печати таблицы значений функции y=x*x с шагом 1. Число значений в таблице и начальное значение x задается с клавиатуры. Использовать оператор while.
3. Написать программу, которая выводит текущее число и время и зпрашивает: вывести снова дату или нет (y/n). Использовать оператор until.
4. Написать программу, которая выводит на экран и в файл пронумерованный список имен всех файлов с Рабочего стола c полным путем. Использовать оператор for.

Понятно, что они элементарные, если изучить тему, но у меня около 90 заданий по лабораторкам, сил просто на все не хватает!

#26866

ну а язык какой?

#26868

Лабораторка называется "Язык интерпретатора Shell"

#26926
TanyaV1988 написал:
Лабораторка называется "Язык интерпретатора Shell"

Тут никто не поможет, этому можно научиться только самостоятельно.
Разве что найдётся хорошо знающий shell молодой человек.
У меня tcsh, а bash я не люблю. Для начала просмотрите "man bash",
останавливаясь на заголовках прописными буквами, а вообще лучше найти
книгу на русском и начать что-то делать.

Пётр.

#26937

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

#26970

Я знаю, что лучше самой, но у меня нет на это времени, к сожалению, помимо этих заданий, есть еще 90 других :( Спасибо!

#27122

TanyaV1988, что за ВУЗ, если не секрет?

#27184

не надо было на уроках спать

#27212

TanyaV1988, если еще актуально, то помогу.

Остальные, а что все "добрые" такие? Задания проще не придумаешь, а тут маны, ссылки, на уроках не спать... :o

#27222

DrSterling!

Вот когда такая божья придурь будет работать в паре с тобой,
тогда и расскажешь, какими добрыми и отзывчивыми следывает быть джентльменам.

upd:
У нас на лабах была такая Анжелика из Мурманска - препод спрашивал, мол, а чё она у вас вечно ни хрена не делает -
на что мы с напарником гордо отвечали - она у нас не для эфтаго. Выводы делайте сами.

#27711

Я вообще заочница, дали задания- и до свидос! DrSterling - была бы оч признательна! И вообще, что все так взъелись-остальные задания я делаю сама, с этими хотела схалявничать :) Chars67 - знала бы, что здесь в основном такие чокнутые программисты обитают-и спрашивать бы не стала! а то тут многие чересчур умные!

#27761

TanyaV1988, здесь все разные, отсюда и самобытность ресурса :)
Только не обижайтесь, и спокойно рассматривайте Форум не со стороны, говоря "здесь", а как участник(ца), для чего лучшая формулировка "у нас".

#27797

TanyaV1988, ну вот примерно где-то так.
Первые 2 задачи подробно достаточно прокомментированны в самом листинге. 3 и 4 - только в сложных, на мой взгляд, местах для новичка.
Будут вопросы "почему там ВОТ ЭТО?" - пиши.

#1

text
#!/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
text
#!/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
text
#!/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
text
#!/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. Мне там и самому не все нравится, но это ответ на поставленную задачу )
Войдите или зарегистрируйтесь, чтобы ответить.