Stormwave Board Страницы (всего 2): [1] 2 »
Show all 28 posts from this thread on one page

Stormwave Board (http://board.stormwave.ru/index.php)
- Скорая техническая помощь (http://board.stormwave.ru/forumdisplay.php?forumid=24)
-- Программисты есть? Или как ето называется... (http://board.stormwave.ru/showthread.php?threadid=8859)


Posted by Гарм on 07.12.2005 06:26:

Программисты есть? Или как ето называется...

Нужно скоро и технично решыть пару задачек первого курса чего-то такого про программирование. Если кто втыкает, отзовитесь, скину ети уроттские задания.

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by Lionking[st91] on 07.12.2005 11:38:

Ну типа ты кинь задачки и скажи на чём написано должно быть...
*а то бейсика я, к примеру, не знаю...*

__________________
Ведь смерть--это жизнь, но и жизнь--это жизнь © И. Бродский.
Я верю в птиц.
Произошла ошибка! Я не колдун! Я идиот! © А. Белянин
Neon Genesis Evangelion.


Posted by mastakkila[st91] on 07.12.2005 18:11:

Я могу на дельфе и на сях. Что-нибудь относящиеся к теории алгоритмов нежели к графике.


Posted by дыхание on 07.12.2005 18:42:

Программистом решил стать? big grin
Огласил бы список то - глядишь и решились бы твои задачки

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by Korvin on 07.12.2005 18:48:

Присылай свои задачи, знаю С/С++, C#, basic, VB, Java.

__________________
Не убегай от снайпера - умрешь уставшим.


Posted by Гарм on 07.12.2005 19:06:

Как я вам всем рад.

В отщем, ничего страшного, вроде как всё ето в мсдосе делаеццо. Вроде. Я ж ничо не понимаю из етого happy


Командные файлы.

1. Создать пакетный файл, в котором перед запускм Лексикона очищается экран и выдаётся подтверждение запуска программы.

2.Создав предварительно ARJ-архив, создать пакетный файл, который распаковывает архив и проверяет ети файлы на наличие вирусов.

3. Создать пакетный файл, который проверит файлы на вирус и поместит их в zip-архив с удалением оригиналов.

4. Создать пакетный файл, который копирует все файлы из папки А в каталог B, затем переименовывает их в файлы с расширением .doc и архивирует эти файлы.

Доп.: Выполнение всех пакетных файлов сопроводить сообщениями о конце выполнения каждой операции, типа "копирование файлов завершено/, ебать ево фсраку/"

Формальные и фактические параметры.

1. Создать пакетный файл, который выводит на экран содержимое трёх любых файлов из текущего каталога (из любого другого каталога).

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

3. Создать пакетный файл, который создаёт каталог с любым именем и копирует в него любой файл (копирует три файла /тут паччёркнуто/)

4. Создать пакетный файл, который распаковывает каталог с какой-то хуйнёй /то ли игрой, то ли ещщо какой паебенью - неразборчиво/, проверяет извлечённые файлы на вирус, а после выхода из етой хуйни удаляет извлечённые файлы к щорту.

Команда FOR.

1. Вывести на экран содержимое файлов, имена которых /тут было сокращение "кот."/ заданы маской.

2. Скопировать в рабочий каталог любые файлы, имена которых заданы формальным параметром.

Команда GOTO.

1. Создать пакетный файл с использованием GOTO(вперёд) и GOTO(назад) по схеме:

Команда(ы)
GOTO(вперёд)
Метка от GOTO(назад)
Команда(ы)
GOTO(конец)
Метка от GOTO(вперёд)
Команда(ы)
GOTO(назад)
: конец

Команда IF.

1. На диске для каждого пользователя (4-5 чел.) есть свой каталог, название которого совпадает с именем пользователя. При выполнении пакетного файла пользователь указывает свой фактический параметр (своё имя), по которому осуществляется переход в соответствующий каталог и выводится на экран файл пользователя (например, с расписанием на день /ебануца/)

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

3. Создать пакетный файл, предотвращающий при создании файла запись на существующий.

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by Гарм on 11.12.2005 20:46:

Хотя какая-нить сволочь чего сказала бы, а то я ж типа нервничаю.

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by Lionking[st91] on 11.12.2005 21:06:

*подозреваю, что народ Dos и bat файлы не помнит =(.*

__________________
Ведь смерть--это жизнь, но и жизнь--это жизнь © И. Бродский.
Я верю в птиц.
Произошла ошибка! Я не колдун! Я идиот! © А. Белянин
Neon Genesis Evangelion.


Posted by Гарм on 12.12.2005 01:59:

Ну вот и я это подозреваю. Позор, блять!

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by hOvErYaTeJIb on 12.12.2005 09:39:

Тут 1ые 4. Остальные сделаешь по аналогии, функции там те же. Как вытащить список фаилов и как работает FOR я не помню, и времени искать сейчас нет.
Содержимое фаила вытаскивается через more.exe <имя фаила>, но под виндой у меня она не пашет, проверить не могу.


Posted by hOvErYaTeJIb on 12.12.2005 09:41:

Совсем обалдели размеры атачей ужимать. Можно и полкило максимум сделать, хуже не будет.


Posted by hOvErYaTeJIb on 12.12.2005 09:42:

В следующий раз поленюсь разбивать на части.


Posted by Гарм on 12.12.2005 10:47:

Спасибо, конечно. Но вообще больше необходимость в банальном описании "как ето сделать?". Готовое-то и самой можно будет изобразить... Было бы по чему изображать...

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by hOvErYaTeJIb on 12.12.2005 16:23:

Там же в коментах все описаноroll eyes (sarcastic)

choice возвращает переменную errorlevel - цифру, номер выбранного юзером ответа. Варианты ответов пишутся в /c:<варианты>
С goto думаю все ясно.
В if, exist проверяет существование фаила или папки. Можно проверить и условие, например сравнить две переменные(понадобится в 3.1, что бы определить какой юзверь выбран)
if "%var%" == "abc" goto somewhere
:somewhere


Ах да, "фактические параметры" вводятся после имени батника, например:
1.bat <имя юзверя1> <имя юзверя2> <имя юзверя3>

... а внутри батника получаются как %1 %2 %3. Например:
if %1 == "%var%" goto somewhere

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


Posted by дыхание on 12.12.2005 18:03:

MS-DOS, пакетные файлы, Лексикон, arj...по-моему, Гарм, кто-то хочет тебя изнасиловать. Тебе точно нужно лезть в это гавно? MS-DOS - это не операционная система. batch-файлы - это не программирование. Лексикон - это не редактор. arj имеет 5 листингов опций, влияющих друг на друга. И все это давно благополучно сдохло. На носу 2006 года эти задания смотрятся как изощренное издевательство с применением цифровых пыточных орудий прошлого века.

startLexicon.bat
---------------------
cls
@echo off
set /P answer=Start lexicon?
if %answer%==y lexicon.exe
---------------------


команда set /P работает только под XP. Утилита CHOICE, предложенная предыдущим товарищем, убрана из поставки начиная с WindowsNT. Если у тебя ни то ни то не пашет, есть несколько грязных трюков, как получить пользовательский ввод.

checkArchive.bat
---------------------
@echo off
set karantine=%temp%\k%random%\
md %karantine%
arj -y e %1 %karantine%
antivirus.exe %karantine%
pause
rd /q /s %karantine%
---------------------

Извини, больше пока не могу, тошнит.

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by дыхание on 12.12.2005 18:40:

Вообще-то команды MS-DOS как-то описаны в топике "справочник по параметрам командной строки" стандартного виндозного хелпа (который вызывается по Windows-F1), но найти его там не реально happy Потому что это самый ублюдочный хелп на свете. И ево писали инопланетяне. Для себя. У меня вот эта страница перед глазами, и я не могу тебе ее передать - она не видна в содержании, не ищется по ключевым словам в поиске, ссылку на нее можно получить но нельзя вставить. Пидары, одним словом.

Поищи лучше в гугле на "командные файлы MS-DOS" или "пакетные файлы MS-DOS".

А еще лучше - не лезь в это дерьмо.

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by Гарм on 12.12.2005 23:03:

А я и не лезу. Просто надо очень happy

Спасибо, информацию воспринимаю.

2Ховырятель: Звиняй, не нашол я там комментов чот. Плохо смотрел, наверное, исправлюсь.

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by дыхание on 13.12.2005 13:51:

Найди в каталоге Windows файл ntcmds.chm (желательно - в каталоге MUI - тогда будет на русском), и открой. Это хелп к командам MS-DOS

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by дыхание on 16.12.2005 14:39:

Начнем с конца. Задания 1 2 3 для раздела "команда IF".

Формальные параметры - это набор параметров, которые ожидает получить пакетный файл для своей работы.
Фактические параметры - это, что ему передается в каждом конкретном случае.
Например, батник описанный ниже, ожидает один формальный параметр - имя пользователя, по которому он найдет соотвествующий каталог, сместится в него и откроет какой-то там файл.
Фактически же, ему можно передать что угодно - можно его запустить вообще без параметров - тогда его фактическими параметрами будет "пусто", и он отработает неправильно.

1. Создать где-нить несколько папок, названных якобы в честь пользователей. В каждую кинуть по какому-нить текстовому файлу, названному daySchedule.txt. Туда же, где папки, кинуть этот файл:

showSchedule.bat
--------------------------
@echo off
cd %1
type daySchedule.txt | more
--------------------------

Запускать с именем какого-нить пользователя (именем папки)

2. Тоже самое, только запускать:

dayScheduleWithCheck.bat
----------------------------------
@echo off

if "%1%"=="" goto errorNoArgument
if not exist %1% goto errorNotExists
cd %1
type dayschedule.txt | more
goto end

:errorNoArgument
echo User name not specified
goto end:

:errorNotExists
echo User folder doesn't exist

:end
---------------------------------

Если ему скармливать несуществующее имя или вообще запускать без параметров, будет ругаться.


3. У следующего батника нет формальных параметров. Стало быть фактические параметры он будет просто игнорировать. При запуске проверяет, есть ли в том же каталоге файл someFile.txt, и если нет - создает и пишет в него текущее время, а если уже есть - ругается.

createNewFile.bat
-----------------------
@echo off
setlocal

set filename=someFile.txt

if exist %filename% (echo The file already exists) else (echo Created at %TIME% > %filename%)

endlocal
------------------------

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by дыхание on 16.12.2005 14:45:

Да, кстати, неплохой хелп по команде ты получишь, если выполнишь в командной строке <имя_команды> /?
например:
for /?

А список всех допустимых команд можно получить командой help

(На всякий случай: командная строка запускается Пуск -> Выполнить... -> набрать "cmd")

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by дыхание on 16.12.2005 15:08:

Команда GOTO

В этом примере нам предлагается сымитировать вызов процедуры с помощью оператора GOTO. Типа: "выполняем основную программу, скачем в конец, к тексту процедуры, выполняем ее, скачем обратно, продолжаем выполнение главной программы, заканчиваем.

imitateProcedureCall.bat
--------------------------------
@echo off
echo start main program
GOTO subroutine
:back
echo continue main program
GOTO end
:subroutine
echo execute subroutine
GOTO :back
:end
-------------------------------

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by дыхание on 16.12.2005 16:10:

Задания раздела "Команда FOR"

1. Следующий батник напечатает все батники в текущем каталоге. Собственно *.bat - это и есть маска -
шаблон, фильтрующий имена файлов. "*" означает "сколько угодно любых символов". Еще есть "?" - "любой символ".
Ежели "имена которых заданы маской" подразумевало "переданной формальным параметром", то замени "*.bat" на "%1" и запускай батник с параметром "*.bat"

typeFiles.bat
----------------
@echo off
for %%f in (*.bat) do (echo %%f
echo ----------------
type %%f
echo.
echo ----------------
echo.)
---------------

2. Рабочий каталог устанавливается и узнается командой cd.

Рабочий каталог - это каталог, в котором по умолчанию будут происходить операции с файлом, если он задан только по имени (без указания пути).

напрю: copy mamba.txt c:\windows\
Дання команда копирует mamba.txt в каталог windows. Поскольку в имени файла не указан путь (например "C:\mumu\mamba.txt"), то он будет искаться в рабочем каталоге. То есть успех данной команды зависит от каталога, в котором ты ее запускаешь.

copyFilesHere.bat
----------------------
@echo off
for %%f in (%1) do copy %%f
----------------------



ЗЫ: Если че непонятно - спрашивай. Я ж незнаю глубины твоего счастливого неведения. Если тебе это уже не нужно - немедля сообщи. Онанизм приятен в умеренных дозах.

__________________
Хорошая крыша летает сама © Агата Кристи


Posted by Гарм on 16.12.2005 21:57:

Не-не, мне приятно. Нужно и ищщо как. Глубины неведения - безграничны на редкость. Спасибо happy

__________________
"И откуда ж ты такой ехидна?" © Одна старая добрая знакомая Гарм


Posted by rama on 19.12.2005 15:07:

Гарм совет на $1000000
вводишь commnda /?
и получаешь справку!
список комманд

NOT ERRORLEVEL EXIST
DIR
CALL
CHCP
RENAME REN
ERASE
DEL
TYPE
REM
COPY
PAUSE
DATE
TIME
VER
VOL
CD
CHDIR
MD MKDIR
RD RMDIR
BREAK
VERIFY
SET
PROMPT
PATH
EXIT
CTTY
ECHO
LOCK
UNLOCK
GOTO
SHIFT
IF
FOR
CLS
TRUENAME
LOADHIGH LH
LFNFOR

хочешь учи.

__________________
большой апм, плохая игра - это ламер. маленький апм, хорошая игра - это госу. 0 апм всякая игра - это компутер.


Posted by rama on 19.12.2005 15:27:

если хочешь знать нах это вообще учить, то могу сказать что 90% скриптов в 7х патчере написано командами MSDOS, почти все скрипты в 7х маппаке также дело рук *.bat файла.
ну и самое занятное будет глянуть вот на этот экзепляр:
так сказать 1 файлик (adddo.bat) это операция сложения из пакета калькулятора, а второй (timer.bat) небольшой алгоритм который использует эту функцию. т.е. запускать нужно timer.bat

__________________
большой апм, плохая игра - это ламер. маленький апм, хорошая игра - это госу. 0 апм всякая игра - это компутер.


Время на форуме соответствует Гринвичу . Сейчас время - 05:48. Страницы (всего 2): [1] 2 »
Show all 28 posts from this thread on one page

Powered by: vBulletin Version 2.2.8
Copyright © Jelsoft Enterprises Limited 2000 - 2002.